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

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

[复制链接]

新手

5 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
发表于 7 天前 | 显示全部楼层 |阅读模式
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.


论坛优秀回答者

权威

3195 麦片

财富积分



2

主题

3495

帖子

717

最佳答案
  • 关注者: 148
发表于 7 天前 | 显示全部楼层
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)

新手

5 麦片

财富积分


050


1

主题

4

帖子

0

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

新手

5 麦片

财富积分


050


1

主题

4

帖子

0

最佳答案
 楼主| 发表于 7 天前 | 显示全部楼层
谢谢大佬答复,此问题已经解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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