matlab 求解一个递推公式,请大神指点...
答案:1 悬赏:10 手机版
解决时间 2021-02-17 11:42
- 提问者网友:wodetian
- 2021-02-17 04:46
matlab 求解一个递推公式,请大神指点...
最佳答案
- 五星知识达人网友:笑迎怀羞
- 2021-02-17 05:22
用一个循环语句做递推就可以了:
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
望采纳,谢谢!
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
望采纳,谢谢!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯