zheng720 发表于 2008-3-29 11:37

如何设计循环使之重复计算

我想达到的目的:当我优化算出来的三个值 d1 d2 d3 ,当他们相等时,输出这三个值,当他们不相等时,重新回到原来的程序计算位置进行优化运算,然后再判断是否满足相等的关系,这样循环执行。
大家能不能给点思路?谢谢!
程序如下:if d1==d2& d2==d3 & d3==d1
                     d1
                     d2
                     d3
               else

                   %此行想实现回调到原来计算d1 d2 d3 的位置再次进行计算,然后再次判断是否满足三者相等的关系,最后找到结果

               end

注:本人不是用GUI进行编程的,只是一般的matlab程序,就是在其中加上这种可以进行重复计算的方法。谢谢

[ 本帖最后由 eight 于 2008-3-31 20:02 编辑 ]

w89986581 发表于 2008-3-29 12:35

先给d1,d2和d3赋三个不等的值,然后while循环
例如
d1 = 1;
d2 = 2;
d3 = 3;
ii = 1;
while d1 ~= d2 | d2 ~= d3 & ii<10000
ii = ii + 1;
% 优化程序,其中结果对d1,d2和d3赋值
end

zheng720 发表于 2008-3-29 13:44

楼上的理解错我的意思了,我的意思是:我在其他的程序中计算出d1 d2 d3这三个值之后,想用三者相等来限制这三个量,要是不符合的话,再跳回到我计算这三个值的程序中去,继续迭代找满足三者相等的d1 d2 d3,相等之后就跳出循环,输出三个值。

zheng720 发表于 2008-3-31 16:19

群里的各路朋友,帮忙看看吧,实在是急着用,帮忙了!

zheng720 发表于 2008-3-31 16:22

或者可以这么说:我想实现的是当我执行到某一行之后,想再返回程序中的另外一行进行重新运行的话,我需要怎么编写程序呀?

eight 发表于 2008-3-31 20:02

实在没看懂,matlab 没有 goto 语句,但是2楼的方法应该可以达到你要的效果

chengweifeng 发表于 2008-4-5 14:43

将你的问题用一个子函数模块化,然后递归调用该函数。
页: [1]
查看完整版本: 如何设计循环使之重复计算