关于matlab编程出现的问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 18:07:33
我用matlab编写一段程序如下:
function [R1]=fun3(B)
L=[1,0.99,0.98,0.97,0.95,0.94,0.90,0.89,0.87,0.86,0.72];
for k=L
for i=1:18
for j=1:18
if B(i,j)>=k
R1(i,j)=1;
else
R1(i,j)=0;
end
end
end
R1
运行时出错:At least one END is missing。我在最后加了end再运行,只输出了一个数组,还是错的,而不是我希望看到的11个结果。
这是怎么一回事,想了半天都不知道,希望大家帮帮我。

这10分是我的,不许和我抢.......
function [R1]=fun3(B)
L=[1,0.99,0.98,0.97,0.95,0.94,0.90,0.89,0.87,0.86,0.72];
for p=1:length(L)
k=L(p);
for i=1:18
for j=1:18
if B(i,j)>=k
R1(i,j)=1;
else
R1(i,j)=0;
end
end
end
end
R1

少了一个END,For循环,If语句等都需要END收尾,而Function则不需要这样,所以不应该在函数的最后加END,而是在前面加,就像楼上那样。
还有弱弱地问下B(i,j)是个数值把,k好像是个矩阵,两个怎么比呢,是不是第一个循环有点问题?还有你说输出的R1会是11个结果,但是你定义的好像是一个18×18的方阵耶,不止11个哦?
呵呵,我Matlab学得不好,胡乱猜的,不要见怪,如果结果还是不对,麻烦把问题再说清楚一点;)