声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 815|回复: 1

[编程技巧] 有关matlab的编程问题,可以运行,但是结果是错的!

[复制链接]
发表于 2010-6-28 21:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
矩阵D: D.mat (894 Bytes, 下载次数: 6)
Ln=[97    79    50    21     3     3    21    50    79    97];
A=cell(1,10);
for j=1:10:100, for i=1:291
   if(sum(D(i:i+9,j:j+9)==Ln(1,((j-1)/10+1))))
      A{1,((j-1)/10+1)}=D(i:i+9,j:j+9);
   end
end; end
B=cell2mat(A);
上述程序中,D是一个300*100的矩阵,上述程序是为了实现如下功能:
D从1到300行,1到10列,如果有任意10*10的区域数值之和为97即Ln(1),就将这个区域的数值保存在A中;
然后再查找D从1到300行,11到20列的数值,如果有任意10*10的区域数值之和为79即Ln(2),将这个区域的数值保存在A中,直到将所有列查找完毕
以上是我写的程序,可以运行,没有错误提示,结果是A中为空,不知道错误出了哪里?还望高手指点!这里的矩阵D是用随机函数生成的,并且满足Ln这些数值的分布。

[ 本帖最后由 ChaChing 于 2010-6-29 09:18 编辑 ]
回复
分享到:

使用道具 举报

发表于 2010-6-28 23:00 | 显示全部楼层
改成:
if(sum(sum(D(i:i+9,j:j+9)))==Ln(1,((j-1)/10+1)))

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-21 20:54 , Processed in 0.058940 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表