matlab中的for语句怎样编多层循环的程序?
W=2.05;N=49; H=2.78;y=18; A=0.15;E=500; a=-0.06; d=atan(a/H);
M1=zeros(1,50);
M2=zeros(1,50);
M3=zeros(1,50);
M4=zeros(1,50);
M5=zeros(1,50);
M6=zeros(1,50);
for i=1:50
b=(i-1)*(W/(2*N));
c=atan((b+a)/H)-d;
M1(i)=1/(cos(c)-tand*sin(c));
end
for j=1:50
e=(j-1)*(W/(2*N));
f=atan((e-a)/H)+d;
M2(j)=1/(cos(f)+tand*sin(f));
end
for i=1:50
M3(i)= M1(i)* (M1(i)-1);
M4(i)= M2(i)* (M2(i)-1);
M5(i)= M1(i)^2;
M6(i)= M2(i)^2;
end
sum(M3);
sum(M4);
sum(M5);
sum(M6);
F1=zeros(1,50);
F2=zeros(1,50);
for i=1:50
F1(i)=(y-A*E*(sum(M3)+sum(M4))/(sum(M5)+sum(M(6)-1)*M1+A*E*(M1-1);
end
for i=1:50
F2(i)=(y-A*E*(sum(M3)+sum(M4))/(sum(M5)+sum(M(6)-1)*M1+A*E*(M1-1);
end
L=49:1:98;
plot(L,F1)
L=49:-1:0;
plot(L,F2)
不知道参数具体数值无法运行,这里给你指出编程错误。
1
2
3
4
5
6
7
8
9
10
if s1>s2
for i=150:15:0;%应修改为i=150:-15:0
new1=AFFT(im1,i);
s10=AS(new1);
if abs(s10-s2)<0.01
subplot(1,2,1),imshow(new1,[])
subplot(1,2,2),imshow(im2,[])
%这里你是否只需画一幅图?根据你的表达退出所有循环这里要加个break
end
end%最后仍缺个end
修改程序如下:
1
2
3
4
5
6
7
8
9
10
11
if s1>s2
for i=150:-15:0
new1=AFFT(im1,i);
s10=AS(new1);
if abs(s10-s2)<0.01
subplot(1,2,1),imshow(new1,[])
subplot(1,2,2),imshow(im2,[])
break
end
end
end
C=zeros(5,5); %C是全0矩阵,用来保存矩阵A*B的成绩,A为5*3矩阵,B为3*5矩阵
%下面的元素为C的每一个元素求值
for i=1:5
for j=1:5
for k=1:3
%这里是你要实现的关于i,j,k三个变量的语句。
C(i,j)=A(i,k)*B(k,j); %这是一个关于矩阵乘法的循环语句。
end
end
end
希望可以帮助你,祝学习进步!
楼上很专业啊
不错,学习了
matlab里循环语句
ATLAB循环语句的使用(for语句和while语句)1.7.1循环语句简单说明 无论在matlab编程还是其它一些语言编程当中,一个很重要的东西就是循环语句.
怎样顺利安装数学mathlab软件?
找到d:\\matlab7\\toolbox\\ccslink\\ccslink\\info.xml 这个文件(如果Matlab装在C盘则在C盘目录下),一定要用写字板打开这个文件,找到有这样一行<name>Link for Code Composer Studio?\/name>,大概是在第七行吧,把这句的\/name>改成<\/name>,再保存这个文件。10,出现runtime error的问题解决如下: 方案1:“右键”--...