声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 970|回复: 8

求助循环如何改

[复制链接]
发表于 2006-5-28 22:15 | 显示全部楼层 |阅读模式

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

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

x
我是初学者<BR>要做毕设才学matlab的<BR>很多地方都不太会<BR>请大家帮个忙<BR>
<P>我做的东西类似图像匹配<BR>程序是这样的M是原图像M2是7×7的模板<BR>[m,n]=size(M)<BR>m=345<BR>n=500<BR>for i=1:m<BR>for j=1:n<BR>for a=1:(m-6)<BR>for b=a+6<BR>for c=1:(n-6)<BR>for d=c+6<BR>H(i,j)=sum(sum(abs(M2-M(a:b,c:d)))) <BR>但是可能循环太多<BR>程序运行好久都不能结束<BR>请帮帮忙<BR>如何改才好</P>
回复
分享到:

使用道具 举报

发表于 2006-5-29 10:03 | 显示全部楼层
<P>不要用太多的循环吧<BR>再说了<BR> for  循环应该有个 end 的<BR>for i=1:6<BR>a(i)=i;<BR>end<BR></P>
发表于 2006-5-29 10:37 | 显示全部楼层
建个议(to <STRONG><FONT face=Verdana color=#61b713>悠悠心情</FONT></STRONG>):简要介绍一下算法,没准算法错了。很多人没有你这方面的工程背景,如果理解错了,怎么改也不可能得到正确的答案的。[em01]
发表于 2006-5-29 10:45 | 显示全部楼层
循环太多,像b=a+6,d=c+6直接代到式子里就行了吧,而且你的MATLAB在等你输入end呢,如果你这样的话她一辈子都等不来了。<BR>
发表于 2006-5-29 11:10 | 显示全部楼层
算法估计涉及不到吧,这个程序还是简单,但问题确实是犯了显然错误<BR>a,b,c,d都没有必要,保留m,n然后for循环必须要有结束语句,或者你需要有个结束的条件。<BR>没关系,刚开始都是这样的。慢慢的很多东西都顺其自然地注意得到了。
 楼主| 发表于 2006-5-29 15:28 | 显示全部楼层
end我是加了的<BR><BR>那个<FONT face=Verdana color=#000000><STRONG>cdwxg</STRONG>大人<BR>偶做大矩阵里取7×7的不用abcd偶不是很会搞<BR><BR>各位大人偶再回去试试...........</FONT>[em04]
 楼主| 发表于 2006-5-29 20:17 | 显示全部楼层
偶现在改成<BR>for i=1:(m-6)<BR>for j=1:(n-6)<BR>H(i,j)=sum(sum(abs(M2-M(i:(i+6),j:(j+6)))))<BR>end<BR>end<BR>还是运算不能停止<BR>到底是哪里的问题啊555~~~~
发表于 2006-5-29 20:33 | 显示全部楼层

回复:(悠悠心情)求助循环如何改

贴完整代码
 楼主| 发表于 2006-5-29 21:32 | 显示全部楼层
load<BR>M<BR>M2<BR>[m,n]=size(M)<BR>for i=1:(m-6)<BR>for j=1:(n-6)<BR>H(i,j)=sum(sum(abs(M2-M(i:(i+6),j:(j+6)))))<BR>end<BR>end<BR>到这里就进行不下去了..........555~~~
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-25 15:22 , Processed in 0.054731 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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