作业帮 > 综合 > 作业

求解Matlab程序问题,下面程序的 if s1(i,1)>200; l=2;

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/05/05 01:13:22
求解Matlab程序问题,下面程序的 if s1(i,1)>200; l=2;
figure(2);
for i=2:n;
if s1(i,1)>200;
l=2;
for j=1:m;
x1(j,1)=x(i-1,j);y1(j,1)=y(i-1,j);
x2(j,1)=x(i,j);y2(j,1)=y(i,j);
end;
求解Matlab程序问题,下面程序的 if s1(i,1)>200; l=2;
figure(2);
for i=2:n;
if s1(i,1)>200;%%i可以取2,3,4,5...n,s1(i,1)列没变,那么就是s1(2,1),s1(3,1),s1(4,1).s1(n,1)可以看出取的是第一列元素,s1(1,1)没取
l=2;
for j=1:m;
x1(j,1)=x(i-1,j);y1(j,1)=y(i-1,j);%%%j可以认为是内循环,当i=2时,j取1,2,3...m,x(1,1),x(1,2),x(1,3)...x(1,m)取的是x中的第一行元素,x1(1,1),x1(2,1),x1(3,1)...x1(m,1)是x1中的列元素,也就是把x中的行元素的值赋给x1中的列.y1是同样的操作.
x2(j,1)=x(i,j);y2(j,1)=y(i,j);%%j为内循环,i=2,那么j取1,2,3,4...m,那么就是将x中的第二行元素的值赋给x2的第一列.y2是同样的意思.
end;
再问: 你好,你说的这些我都理解,可是为什么if判断之后,循环之前,有一个l=2呢?无法理解,在前面的程序里面没有出现过l这个变量,后面也没有
再答: 我自己设置了一些数进行运行后出现的图。 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% xc=rand(100,1)*10; yc=rand(100,1)*10; s1(1,1)=0; for i=2:n; xci=xc(i,1)-xc(i-1,1);xci=xci*xci; yci=yc(i,1)-yc(i-1,1);yci=yci*yci; si=xci+yci; s1(i,1)=sqrt(si); end; figure(1); for i=1:n z(i)=i; end; zc=z'; plot3(xc,yc,zc,'r.') grid on for i=2:n; if s1(i,1)>3; l=2; for j=1:100; x1(j,1)=x(i-1,j);y1(j,1)=y(i-1,j); x2(j,1)=x(i,j);y2(j,1)=y(i,j); end; figure(l)%%我觉得应该改成这样,当星之间的距离大于3时则显示出来,否则不显示。这样的话说的通 sn=num2str(i);sn=strcat('第',sn,'个冲程'); plot(x1,y1,'r.',x2,y2,'g-') title('sn'); break end; end;
再问: 你知道用C怎么实现这样的图吗?三维,是什么命令?
再答: C画三维直方图我用过bar3d这个函数,其他的没用过!