第1个回答 2019-05-24
用一个循环语句做递推就可以了:
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)];
%下面是递推公式
for
i
=
1:5
if(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));
else
l(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));
end
end
望采纳,谢谢!
第2个回答 2009-09-13
xls文件没有,没法写
问题是:
首先,xls文件数据是竖排还是横排?如果是竖排,需在a=xlsread('D:\aaa.xls');
b=xlsread('D:\bbb.xls');两行后加上a=a';b=b';
其次,plot改成plot(i,K,'o');
应该没什么问题了本回答被提问者采纳
第3个回答 2009-09-13
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');
我没调试,你自己试试吧