24小时热门版块排行榜    

查看: 701  |  回复: 2

Kevin1987s

新虫 (初入文坛)

[求助] 求大神帮我改一下下面的程序!matlab迭代法的

CODE:
x(1)=0;
y(1)=0;
z(1)=-800;
p(1)=0;
a(1)=0.4007;
b(1)=0.4511;
c(1)=0.4512;
d(1)=0.4008;
for      i=2:101
         f=i;
         g=i;
         h=i;
         k=i;
         w=i;
a(f-1)=0.4007+(f-2)*(-0.002455);
b(g-1)=0.4511+(g-2)*0.001754;
c(h-1)=0.4512+(h-2)*0.003463;
d(k-1)=0.4008+(k-2)*(-0.000412);

A1=x(i-1)+122.9075-48*sin(p(w-1)+0.87)+62*sin(p(w-1))-(2^(-1/2))*(265+375*sin(a(f-1)));
B1=y(i-1)+48.55-48*cos(p(w-1)+0.87)+62*cos(p(w-1))-(2^(-1/2))*(285+375*sin(a(f-1)));
C1=z(i-1)-375*cos(a(f-1));

A2=x(i-1)-7.9075-48*sin(p(w-1)+0.87)+62*sin(p(w-1))+(2^(-1/2))*(265+375*sin(b(g-1)));
B2=y(i-1)+48.55-48*cos(p(w-1)+0.87)+62*cos(p(w-1))-(2^(-1/2))*(285+375*sin(b(g-1)));
C2=z(i-1)-375*cos(b(g-1));

A3=x(i-1)-7.9075-48*sin(p(w-1)+0.87)+(2^(-1/2))*(265+375*sin(c(h-1)));
B3=y(i-1)+48.55-48*cos(p(w-1)+0.87)+(2^(-1/2))*(285+375*sin(c(h-1)));
C3=z(i-1)-375*cos(c(h-1));

A4=x(i-1)+122.9075-48*sin(p(w-1)+0.87)-(2^(-1/2))*(265+375*sin(d(k-1)));
B4=y(i-1)-48.55-48*cos(p(w-1)+0.87)+(2^(-1/2))*(285+375*sin(d(k-1)));
C4=z(i-1)-375*cos(d(k-1));

D1=375*(2^(1/2)*A1*cos(a(f-1))+2^(1/2)*B1*cos(a(f-1))-2*C1*sin(a(f-1)));
D2=375*(-2^(1/2)*A2*cos(b(g-1))+2^(1/2)*B2*cos(b(g-1))+2*C2*sin(b(g-1)));
D3=-375*(2^(1/2)*A3*cos(c(h-1))+2^(1/2)*B3*cos(c(h-1))+2*C3*sin(c(h-1)));
D4=375*(2^(1/2)*A4*cos(d(k-1))-2^(1/2)*B4*cos(d(k-1))-2*C4*sin(d(k-1)));

E1=-(A1*(48*cos(p(i-1)+0.87)-62*cos(p(i-1)))+B1*(48*sin(p(i-1)+0.87))-62*sin(p(i-1)));
E2=-(A2*(48*cos(p(i-1)+0.87)-62*cos(p(i-1)))+B2*(48*sin(p(i-1)+0.87))-62*sin(p(i-1)));
E3=-(A3*(48*cos(p(i-1)+0.87))+B3*(48*sin(p(i-1)+0.87)));
E4=-(A4*(48*cos(p(i-1)+0.87))+B4*(48*sin(p(i-1)+0.87)));

J=2*[A1/D1,B1/D1,C1/D1,E1/D1;A2/D2,B2/D2,C2/D2,E2/D2;A3/D3,B3/D3,C3/D3,E3/D3;A4/D4,B4/D4,C4/D4,E4/D4];
q=[x(i-1),y(i-1),z(i-1),p(w-1)]';
s=J*[-0.1407,0.1005,0.1985,-0.0236]';
r=q(i-1)+s(i-1);
end

就是已知初值  求迭代100次后的值,不知道应该用什么程序把这个方程编进去,按上面算的解不出来,麻烦大神了!!!谢谢

[ Last edited by jjdg on 2012-11-15 at 02:22 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csl_2012

捐助贵宾 (初入文坛)

【答案】应助回帖


感谢参与,应助指数 +1
jjdg: 金币+1, 辛苦了 2012-11-15 02:22:28
我看了下你的程序,好像没有实现迭代,因为所谓迭代,就是要在前一次的基础上进行计算,但你的好像没有。
另外,程序中,x,y,z,p只给了初值,却没有函数关系,在之后的引用(如x(i-1))中会出现问题,因为程序不知道它是什么,q也有同样的问题。
2楼2012-11-14 20:49:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Kevin1987s

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by csl_2012 at 2012-11-14 20:49:40
我看了下你的程序,好像没有实现迭代,因为所谓迭代,就是要在前一次的基础上进行计算,但你的好像没有。
另外,程序中,x,y,z,p只给了初值,却没有函数关系,在之后的引用(如x(i-1))中会出现问题,因为程序不知道 ...

那用什么代码可以实现迭代呢?我把程序改了,但不知道迭代的程序。。。谢谢您!

[ 发自手机版 http://muchong.com/3g ]
3楼2012-11-14 22:52:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Kevin1987s 的主题更新
信息提示
请填处理意见