mnbn.net
当前位置:首页 >> MATLAB For 循环 找不出错误在哪 >>

MATLAB For 循环 找不出错误在哪

是下面这段吗? 另外 这段话里面有别的函数,别人也无法运行 通常for的循环指数是从1开始。。。 所以“for j=0:10”会有问题

Px=rand(5,1)*0.2;PPx=zeros(5,1);PPx(1)=Px(1);for i=2:5 PPx(i)=PPx(i-1)+Px(i)end

while n

在matlab中,可以使用beak语句退出for循环,用法与C语言类似。 举例说明如下: for i = 1 : 10 a = sum(1 : i); % 将1到i的累积和存放到变量a中 if a>10 % 如果1到i的累积和大于10,则跳出break循环 break; endend对于以上程序,由于1+2+3+4+5=1...

第一行就错了,,,x(0) 是错误表达,序数最小为1,,改成x(1) 修改如下: %%%%%% if 语句没起到用处,,n = n+ 1不需要,for n = 1:1001已经定义了n 从1到1001 x(1)=100;y(1)=100;p(1)=10;t=1; for n=1:1001; y(n+1)=4*x(n)+(1-0.1*t)*y(n); p(...

你的a,b,c 是竖向量,你却给了横向量的序号,所以matlab读不出来。只要把: l=[a(j);b(j);c(j)]; 改成 : l=[a(j,1);b(j,1);c(j,1)]; 即可。 即: a=normrnd(0,0.8,10,1);a=a+12*ones(10,1); b=normrnd(0,0.8,10,1);b=b+12*ones(10,1); c=normr...

Fx=zeros(M);产生一个M行M列的零矩阵,后面的 for k=1:M Fx(k)=sint(k)+t(k); Fy(k)=2*sint(k)+2*t(k); Fz(k)=3*sint(k)+3*t(k); F(k)=Fx(k)+Fy(k)+Fz(k); end 应该用二重循环 你是想作图作出4条曲线是吧? 将以下 Fx=zeros(M); Fy=zeros(M); Fz...

第二个end的位置不对,直接拖到最后一个end后面就可以了 A=[1 2 3;4 5 6;7 8 9];for i=1:2 for j=1:2 if abs(A(i,j))

直接在后面打上分号 ; 即可使中间过程不显示。 若是后面不加分号 ; 则显示中间过程。

for i=2 to A 这是VB的语法,MATLAB里要把to换成冒号,即 for i=2:A 这种形式是默认i逐次加一,如果每次要加别的数,例如每次i加2,就改成 for i=2:2:A 如果还有问题,就是你if语句里判断矩阵元素是否为null出了问题。

网站首页 | 网站地图
All rights reserved Powered by www.mnbn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com