www.3112.net > mAtlAB For循环的典型结构

mAtlAB For循环的典型结构

虽然没有仔细想你编程解决的问题到底是什么,但是从程序来看,错误在于while循环中使变量i值发生了变化,而for循环变量仍是i,造成嵌套循环变量和外循环变量的冲突.你只需要该一下变量名就可以了,比如while循环该成: while abs(dev)>error; j=i; ff(1,j)=x; x=x-g/h; dev=ff(j+1)-ff(j); j=j+1; end 不知是否帮助到你.

for m=1:1:disp-1 Y=X(j)+X(j+m); X(j)=Y; end 注意这一段,你的Y是在这个for循环中定义的,所以本循环结束后,Y生命周期就结束了,你最好在外面的for循环开始之前定义Y 在单步执行时进不到第二个for循环,你看看你的m=1:1:disp-1语句中disp是不是大于3的?

for循环在循环前应该确定次数,while循环时可以根据调节不执行循环.对于确定大小的数组或矩阵最好在循环前定义好.

prime(200); 直接得到小于200的所有素数.如果一定要用循环,那么用factor函数 j = 1; for i = 1:200 temp = factor(i); if numel(temp) result(j) = i; j = j + 1; end end 这样也可以做.判定依据是,除了一以外的其他素数都只有1和本身两个质因数.这样应该可以.可能需要稍微做调整.

s=0; %求和变量 a=[12,13,14;15,16,17;18,19,20;21,22,23];%统计的求和元素 for k=a %k取a中的每一个值,进行循环 s=s+k %叠加求和 end %for 的对应语句 disp(s') %显示结果(和)

a=[1 2 3 4]; b=[2 1 3 5]; c=[3 8 1 6]; for i=1:4 sum=2.*a(i)+b(i).*c(i); end 要是每次都是随机在a b c中取值则要三个for循环.这里就不在罗嗦了

示例1:x = 0.5878 0.9511 0.9511 0.5878 0.0000 -0.5878 -0.9511 -0.9511 -0.5878 -0.0000 示例2:array = 6 3 7 8 5 1 2 4 9 10 x1 = 0.5878 0.9511 0.9511 0.5878 0.0000 -0.5878 -0.9511 -0.9511 -0.5878 -0.0000 换一个matlab运行就可以

最简单的语句for i=初值:增量:终值 循环体 end 一般就是用在需要用到循环的地方,如累加,累乘等运算,还有搜索,这是用的最多的.其实我觉得一个程序肯定不能光有for循环的,但必须承认for循环可以让整个程序变得简单有效.

用两个变量呗,例如下面的x,用x0保存不变的那个值.x0=100; % 假设的一个值for i=1:10 x=x0; % 每次循环x都恢复成x0 disp(x) x=x+i; % 改变x的值 disp(x)end

clear all;k=1;for i=1:7; for j=(i+1):8; F(k)=i*j; k=k+1; end;end;

友情链接:596dsw.cn | bdld.net | rprt.net | bycj.net | 9647.net | 网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com