查看: 222|回复: 3|关注: 0

[已答复] MATLAB中初始变量错误

[复制链接]

新手

7 麦片

财富积分


050


4

主题

14

帖子

0

最佳答案
发表于 2019-3-14 10:43:15 | 显示全部楼层 |阅读模式
c=1;sc=500;S(0)=60;
S=zeros(12,1);
E=zeros(12,1);
Qj=zeros(12,1);
P=xlsread('C:\Users\lenovo\Desktop\zhangdou3.14.xlsx','sheet2','C2:C13');
PET=xlsread('C:\Users\lenovo\Desktop\zhangdou3.14.xlsx','sheet2','D2:D13');
Qs=xlsread('C:\Users\lenovo\Desktop\zhangdou3.14.xlsx','sheet2','E2:E13');
for t=1:12
E(t)=c.*PET(t).*tanh(P(t)/PET(t));
Qj(t)=(S(t-1)+P(t)-E(t)).*tanh((S(t-1)+P(t)-E(t))./sc);
S(t)=S(t-1)+P(t)-E(t)-Q(t);
end
xlswrite('C:\Users\lenovo\Desktop\zhangdou3.14.xlsx','Qs','sheet2','F2:F13')
显示错误如下:
Attempted to access S(0); index must be a positive integer or logical.


论坛优秀回答者

权威

3453 麦片

财富积分



2

主题

3691

帖子

774

最佳答案
  • 关注者: 159
发表于 2019-3-14 10:55:45 | 显示全部楼层
for t=1:12
E(t)=c.*PET(t).*tanh(P(t)/PET(t));
Qj(t)=(S(t-1)+P(t)-E(t)).*tanh((S(t-1)+P(t)-E(t))./sc);
S(t)=S(t-1)+P(t)-E(t)-Q(t)

新手

7 麦片

财富积分


050


4

主题

14

帖子

0

最佳答案
 楼主| 发表于 2019-3-14 14:03:03 | 显示全部楼层
可是我在for循环内或者循环外定义S(0)=60都不行

新手

7 麦片

财富积分


050


4

主题

14

帖子

0

最佳答案
 楼主| 发表于 2019-3-14 21:11:44 | 显示全部楼层
谢谢大佬答复,此问题已经解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表