数学建模社区-数学中国

标题: 大家帮我看看我的matlab程序为什么运行不出来呢? [打印本页]

作者: fri-ix    时间: 2014-8-29 22:06
标题: 大家帮我看看我的matlab程序为什么运行不出来呢?
>> clear
syms  a b;
c=[a b]';
A=[89677,99215,109655,120333,135823,159878,182321,209407,246619,300670];
B=cumsum(A);
n=length(A);
for i=1:(n-1)
   C(i)=(B(i)+B(i+1))/2;
end
D=A;
D(1)=[];
D=D';
E=[-C;ones(1,n-1)];
c=inv(E*E')*E*D;
c=c';
a=c(1);
b=c(2);
F=[];
F(1)=A(1);
for i=2:(n+10)
F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
end
G[];
G(1)=A(1);
for i=2:(n+10)
   G(i)=F(i)-F(i-1);
end
t1=1999:2008;
t2=1999:2018;
G
plot(t1,A'o',t2,G)
G[];
|
Error: Unbalanced or unexpected parenthesis or bracket.

>>

123.png (194.07 KB, 下载次数: 245)

123.png


作者: 腐姬呀    时间: 2014-8-29 22:31
楼主你的  G[]; 是什么意思?  你是要定义一个空矩阵么?  如果是,应该为:  G=[];
作者: madio    时间: 2014-8-30 08:45
给你修改了一下
  1. clear
  2. syms  a b;
  3. c=[a b]';
  4. A=[89677,99215,109655,120333,135823,159878,182321,209407,246619,300670];
  5. B=cumsum(A);
  6. n=length(A);
  7. for i=1:(n-1)
  8.    C(i)=(B(i)+B(i+1))/2;
  9. end
  10. D=A;
  11. D(1)=[];
  12. D=D';
  13. E=[-C;ones(1,n-1)];
  14. c=inv(E*E')*E*D;
  15. c=c';
  16. a=c(1);
  17. b=c(2);
  18. F=[];
  19. F(1)=A(1);
  20. for i=2:(n+10)
  21. F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a;
  22. end
  23. G=[];
  24. G(1)=A(1);
  25. for i=2:(n+10)
  26.    G(i)=F(i)-F(i-1);
  27. end
  28. t1=1999:2008;
  29. t2=1999:2018;
  30. G
  31. plot(t1,A,'o',t2,G)
  32. G=[];
复制代码

作者: 腐姬呀    时间: 2014-8-30 12:04
madio 发表于 2014-8-30 08:45
给你修改了一下

站长大神,之前还想问他  A'o'是啥意思
作者: mingtingqing    时间: 2014-10-7 15:58
显示的是G[]报错,如果是要定义矩阵中间要加个等号
作者: 斗志之歌    时间: 2014-12-13 10:40
有一小偷把我的国产山寨手机偷走,被我发现,我就追,追的途中从小偷身上掉下一个iPhone,我捡起来就往回跑,小偷发现之后又到回来追我~~可惜我腿长,他没追到!





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5