永发信息网

matlab程序出现了错误,不知道哪里出错了

答案:1  悬赏:40  手机版
解决时间 2021-08-22 21:38
matlab程序出现了错误,不知道哪里出错了
这样的程序clear
syms a b ;
c=[a b]';
A=[2.9 3.6 4.5 5.88 8.1];
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=2008:2012;
t2=2008:2017;
G
plot(t1,A,'o',t2,G)

最佳答案

这段程序里面错误太多,很多地方莫名其妙:
1、原代码第10行的圆括号误为全角,即“D(1)”应为“D(1)”;
2、原代码第16行的圆括号误为方括号,即“F[1]”应为“F(1)”;
3、原代码第12行的C未定义,不知道本意是什么,这里试着将其改为c;
4、原代码第2-3行定义符号变量基本上没有作用(因为代码的第8行和15行分别对变量进行了赋值),删掉.原来定义成符号变量的副作用有两个:
(1)c成了列向量,后面用到c的地方要注意转换;
(2)a、b、c都是符号变量,第18行的计算结果也是符号类型,无法保存到F中.
5、原代码第21行的循环,由于t2长度为10,要保证G的长度和t2相同才能画图,所以把n+10改为10.

改后的代码如下(需要说明的是,除前两处错误为语法错误容易判断之外,后面三处错误都属于运行时错误,改动只是尽量猜测错误代码的可能目的是什么,但并不保证和作者的本意相同):
clear
A=[2.9 3.6 4.5 5.88 8.1];
B=cumsum(A);
n=length(A);
for i=1:(n-1)
c(i)=(B(i)+B(i+1))/2;
end
C=c;
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:10
G(i)=F(i)-F(i-1);
end
t1=2008:2012;
t2=2008:2017;
G
plot(t1,A,'o',t2,G)

运行结果:


名师点评:


Redeye639

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
flash 的一个小问题哦
阿凡提与巴依老爷,“巴依老爷”和“阿凡提”
鼓楼区开封宝视达眼镜(省府西街店)这个地址在
有牛奶怎么做隐形墨水,怎么用牛奶制作隐形墨
在哪里能找到一个地方的坐标
为什么用四次元形容金贤重呢?
桂林县的专科学校有哪一所是有广告学的?
上初中是按地区划片儿还是想上那个上那个?
天龙八部善恶可以干什么
在手上绑戴孝布条的方法?
中药材《土元》一千克值多少钱
音标z 的发音 美国
itunes怎么用?会的人用远程帮我下。
QQ三国8级情侣删除时间
幼儿园安全小标语大全,幼儿园语言活动《风婆
推荐资讯
中医学专业文科学什么,高考报考中医 前途如何
表示祝福的数字,用数字表达祝福
请回答补充说明的问题《列子 汤问》将《山海
关于葡萄糖累积量的计算
张根锡在韩国有多红?
当你看到流星从天上划过 你会许下关于哪方面
北京市天成饰品批发市场的饰品贵不贵啊,我去
中站区焦作九牧地址在什么地方,想今天过去办
求山楂树之恋的TXT
本人想用凸透镜自制显微镜(至少放大50倍),
中翻英:需要进入中国市场请找我
谁帮我点丝路英雄图标??
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?