24小时热门版块排行榜    

查看: 2596  |  回复: 0

815292578

木虫 (著名写手)

[求助] 如何迭代计算编写下面程序(matlab), 求大神帮助.....

已知条件:
Dj=4.14; d=1; k=0.235; t=1/(2*k); angle=46.5*pi/180;

下面思路是:将theta进行n等分,分别迭代计算:
Dj=4.14; d=1; k=0.235; t=1/(2*k); angle=46.5*pi/180; L=d*tan(angle)
a=angle;
b=pi/2;
n=10;
h=(b-a)/n;
i=1:1:n;
theta(i)=angle+i*h;
%根据下面两个式子分别求得x(0)...x(i-1)的值
tan(theta(i-1))*sqrt((1-(2*z-1)/z^2)*(1-1/((2*z-1)^t)^2))=1/((2*z-1)^t)+sqrt((2*z-1)/z^2)
cos(x(i-1))/sin(psaiI-x(j))=sqrt(z^2/(2*z-1))  


其中迭代公式为;
当n=1时:
L1=(tan(theta(1))*d-L)/(1+tan(x(0))*tan(theta(1));  %根据上面的式子可以预先求出x(0)、x(1)、x(2)、...、x(i-1)的值
h1=L1*tan(x(0));
H1=h1;

当n=2时;
L2=(tan(2)*(d-L1*tan(x(0)))-(L+L1))/(1+tan(x(1))*tan(theta(2)));
h2=L2*tan(x(2));
H2=h1+h2;
.....
当n=i时:
L(i)=tan(i)*(d-(L1*tan(x(0))+L2*tan(x(1)+...+L(i-1)*tan(x(i-2))))-(L+L1+L2+...+L(i-1))/(1+tan(x(i-1))*tan(theta(i)))
h(i)=L(i)*tan(x(i-1));
H(i)=h1+h2+...+h(i);

最终目的:求得随着theta的变化,H(i)值的变化,画出曲线。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 815292578 的主题更新
信息提示
请填处理意见