作业帮 > 综合 > 作业

用matlab编程计算数列an

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 01:08:00
用matlab编程计算数列an
an是有m个数的数列,a1=0,超出的为零(a(m+1)=0)
a1+a3-2*a2=5
a2+a4-2*a3=5
.
a(m-1)+a(m+1)-2*am=5
后面a(m+2)就不能用了,可以编程算出an吗?
可以,先将每个式子左边中的ai按照从小到大排序,比如a1+a3-2*a2=5写成a1-2*a2+a3=5,每个式子都如此处理,以ai作为未知数来求A*a=b,其中A为n-1行n+1列的矩阵,b为n-1行1列矩阵
比如取n=10(当n取其他数时将10改为其他数即可),以下为程序代码
n=10;
A=zeros(n-1,n+1);
for i= 1:n-1
A(i,i)=1;A(i,i+1)=-2;A(i,i+2)=1;
end
A(1,1)=0;A(n-1,n+1)=0;
b=ones(n-1,1)*5;
a=A\b
an=a(n)
得到的结果为
a =
0
-22.5000
-40.0000
-52.5000
-60.0000
-62.5000
-60.0000
-52.5000
-40.0000
-22.5000
0
an =
-22.5000
其中a的每一行代表一个ai(a1到an+1),a(n)即为要求的an