就是求 Kn=a*Kn-1+b 的matlab语句其中a、b都是长度为14的已知数列(或者说一维已知数值的矩阵),K0是已知的初值。大家帮忙看看我写的错在哪儿。。。或者我这个太差的话直接帮忙写个新的。。。感激不尽!!!clear,clc;K(1)=1;for i=1:1:14 a=xlsread('D:\aaa.xls'); b=xlsread('D:\bbb.xls'); K(i+1)=a(i).*K(i)+b(i); end i=1:1:14; plot(i,K(i),'o');
求递推公式的matlab程序还可以用符号运算的方法来解数列的递推公式到一般式的转化问题可以用MATLAB的MuPad解决如图解得 K(n)=C4*a^n - b/(a - 1) 其中C4是一个常数然后就用这个公式代入自己需要的值就行了
用一个循环语句做递推就可以了:d=1;angle=45*pi/180;l0=d*tan(angle);h0=0;x=[1,2,3,4,5];%x是一个数组n=5;h=(pi/2-angle)/n;l=[l0,zeros(1,5)];h=[h0,zeros(1,5)];%下面是递推公式fori=1:5if(i==1)l(i)=(l0*tan(x(i))*tan(angle+i*h)+tan(angle+i*h)*(d-h0))/(1+tan(x(i))*tan(angle+i*h));h(i)=(d*tan(x(i))*tan(angle+i*h)-l0*tan(x(i))+h0)/(1+tan(x(i))*tan(angle+i*h));elsel(i)=(l(i-1)*tan(x(i))*tan(angle+i*h)+tan(angle+i*h)*(d-h(i-1)))/(1+tan(x(i))*tan(angle+i*h));h(i)=(d*tan(x(i))*tan(angle+i*h)-l(i-1)*tan(x(i))+h(i-1))/(1+tan(x(i))*tan(angle+i*h));endend望采纳,谢谢!
xls文件没有,没法写问题是:首先,xls文件数据是竖排还是横排?如果是竖排,需在a=xlsread('D:\aaa.xls'); b=xlsread('D:\bbb.xls');两行后加上a=a';b=b';其次,plot改成plot(i,K,'o');应该没什么问题了
clear,clc;K(1)=1; a=xlsread('D:\aaa.xls'); b=xlsread('D:\bbb.xls');cn=length(a);for i=1:cn-1 K(i+1)=a(i)*K(i)+b(i); end i=1:cn; plot(i,K(i),'o'); 我没调试,你自己试试吧