24小时热门版块排行榜    

查看: 2335  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

815292578

木虫 (著名写手)

[求助] matlab计算一个递推公式,请大神指点啊... 已有2人参与

已知条件:
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(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))

由于matlab学习时间不长,对上面的两个递推公式编写了很长时间都没有成功啊,希望高手指点一下,给出相关程序,先谢谢喽....
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

815292578

木虫 (著名写手)

引用回帖:
6楼: Originally posted by hytao2012 at 2014-07-29 17:48:00
你给的变量换了,一开始是angle,后来是theta。还有,我的程序 i 可能比较换乱,需要你自己改正。...

好的,我自己检查一下,谢谢帮忙啊...
7楼2014-07-30 20:28:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
815292578: 金币+10, ★★★很有帮助, 多谢你的回复... 2014-07-29 14:48:40
1stOpt试试:
CODE:
Constant d=1, angle=45*pi/180, L0=d*tan(angle), H0=0, n=5, h_=(pi/2-angle)/n;
LoopConstant x=[1,2,3,4,5], i=[1,2,3,4,5], LL=[L0, L(4)], HH=[H0, H(4)];
Function
L=(LL*tan(x)*tan(angle+i*h)+tan(angle+i*h_)*(d-HH))/(1+tan(x)*tan(angle+i*h_));
H=(d*tan(x)*tan(angle+i*h)-LL*tan(x)+HH)/(1+tan(x)*tan(angle+i*h));

L        H
0.933261546709751        -1.49879649117998E-15
-0.0237958087696211        -0.0197234133869153
5.59451160589342        -0.103821834803187
6.24538579861417        0.160555187260027
-0.248318617485342        1.42828219257098

» 本帖已获得的红花(最新10朵)

2楼2014-07-29 14:39:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

815292578

木虫 (著名写手)

送红花一朵
引用回帖:
2楼: Originally posted by dingd at 2014-07-29 14:39:57
1stOpt试试:

Constant d=1, angle=45*pi/180, L0=d*tan(angle), H0=0, n=5, h_=(pi/2-angle)/n;
LoopConstant x=, i=, LL=, HH=;
Function
L=(LL*tan(x)*tan(angle+i*h)+tan(angle+i*h_)*(d-HH))/(1+tan(x)* ...

十分感谢你的回复啊,1stopt这个软件不会用啊,能否用matlab编写啊?现在在学习matlab软件。
3楼2014-07-29 14:48:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hytao2012

铁杆木虫 (正式写手)

木头虫子

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
815292578: 金币+40, ★★★★★最佳答案, 感谢你的回复,金币不多请见谅。还有点问题请帮忙看一下,谢谢... 2014-07-29 16:40:14
原谅我看不懂里面的关系,但是大致是这样的,你自己可以改
clear; clc;
d=1; n=5;
x=[1,2,3,4,5];
angle=45*pi/180;
h=(pi/2-angle)/n;

L=zeros(5, 1);
H=zeros(5, 1);
L(1)=d*tan(angle);
H(1)=0;
for i=1:4
    L(i+1)=(L(i)*tan(x(i))*tan(angle+(i+1)*h)+tan(angle+(i+1)*h)*(d-H(i)))/(1+tan(x(i+1))*tan(angle+(i+1)*h));
    H(i+1)=(d*tan(x(i))*tan(angle+i*h)-L(i)*tan(x(i))+H(i))/(1+tan(x(i))*tan(angle+(i+1)*h));
end
display(L);
display(H);
4楼2014-07-29 15:23:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见