关于matlab

a=poissrnd(1000,240,1);
b=0.98*a;
c=0.78*a;
d=0.21*a;
e=poissrnd(300,240,1);
h=zeros(100,1);
m=zeros(100,1);
n=zeros(100,1);
l=zeros(100,1);
for i=0:1:1200
if 0<=rem(i,60)<=27
h=b+c+d+e;
else 27<rem(i,60)
h=d+e;
end
m=(h-1200)./3600;
end
for i=0:120
n(i)=sum(m(1,i));
l(i)=(7/3)*n(i);
end
为什么总是报错


clear;clc
a=poissrnd(1000,240,1);
    b=0.98*a;
    c=0.78*a;
    d=0.21*a;
    e=poissrnd(300,240,1);
    h=zeros(100,1);
    m=zeros(100,1);
     n=zeros(100,1);
      l=zeros(100,1);
for i=0:1:1200
       if 0<=rem(i,60)<=27
          h=b+c+d+e;
else 27<rem(i,60)
      h=d+e;
end
     m=(h-1200)./3600;
end
for i=1:120%0改为1,matlab矩阵下标没有0的
       n(i)=sum(m(i,1));%m(1,i)改为m(i,1),m是列向量,只有1列,但是如果只是m(i,1)的话没必要sum,所以这里只保证程序跑起来,不保证跑出的结果是否符合你的要求
      l(i)=(7/3)*n(i);
end

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-06-16
相似回答