作业帮 > 综合 > 作业

一个自编的matlab函数出错

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 14:55:56
一个自编的matlab函数出错
b=zeros(12,12);
t=0;
for m=1:365
if m==1||60||121||182||213||274||335
t=t+1;
for n=1:12
s=0;
for j=0:30
s=s+day(m+j,n);
end
s=s/31;
b(t,n)=s;
end
elseif m==91||152||244||305
t=t+1;
for n=1:12
s=0;
for j=0:29
s=s+day(m+j,n);
end
s=s/30;
b(t,n)=s;
end
elseif m==32
t=t+1;
for n=1:12
s=0;
for j=0:27
s=s+day(m+j,n);
end
s=s/28;
b(t,n)=s;
end
else continue;
end
end
报错说我第九行的程序要访问矩阵b(366,1),但是自己怎么分析都觉得只能到365啊,
1、matlab中用“|”表示或而不是“||”
2、m==91||152||244||305这种语句的结果总是“真”,不恰当的的说,你可以认为是(m==91)|(152),由于后面的值是大于0的,因此结果总是对的,(m==91|m==152|m==244|m==305)才算稳妥