| 查看: 1338 | 回复: 7 | |||
[求助]
求大神帮我改一下下面的程序!matlab迭代法的 不知道错在哪里!
|
|
x(1)=210; y(1)=-90; z(1)=-620; p(1)=0.2988; a(1)=-0.1096; b(1)=0.5996; c(1)=0.3507; d(1)=-0.3882; %%设定初值 for i=2:101; a(i-1)=-0.1096+(i-1)*0.002648; b(i-1)=0.5996+(i-1)*0.000269; c(i-1)=0.3507+(i-1)*0.004468; d(i-1)=-0.3882+(i-1)*0.007478; %%第(i-1)的角度值 A(i-1)=x(i-1)+122.9075-48*sin(p(i-1)+0.87)+62*sin(p(i-1))-(2^(-1/2))*(265+375*sin(a(i-1))); B(i-1)=y(i-1)+48.55-48*cos(p(i-1)+0.87)+62*cos(p(i-1))-(2^(-1/2))*(285+375*sin(a(i-1))); C(i-1)=z(i-1)-375*cos(a(i-1)); D(i-1)=x(i-1)-7.9075-48*sin(p(i-1)+0.87)+62*sin(p(i-1))+(2^(-1/2))*(265+375*sin(b(i-1))); E(i-1)=y(i-1)+48.55-48*cos(p(i-1)+0.87)+62*cos(p(i-1))-(2^(-1/2))*(285+375*sin(b(i-1))); F(i-1)=z(i-1)-375*cos(b(i-1)); G(i-1)=x(i-1)-7.9075-48*sin(p(i-1)+0.87)+(2^(-1/2))*(265+375*sin(c(i-1))); H(i-1)=y(i-1)-48.55-48*cos(p(i-1)+0.87)+(2^(-1/2))*(285+375*sin(c(i-1))); K(i-1)=z(i-1)-375*cos(c(i-1)); L(i-1)=x(i-1)+122.9075-48*sin(p(i-1)+0.87)-(2^(-1/2))*(265+375*sin(d(i-1))); M(i-1)=y(i-1)-48.55-48*cos(p(i-1)+0.87)+(2^(-1/2))*(285+375*sin(d(i-1))); N(i-1)=z(i-1)-375*cos(d(i-1)); P(i-1)=375*(2^(1/2)*A(i-1)*cos(a(i-1))+2^(1/2)*B(i-1)*cos(a(i-1))-2*C(i-1)*sin(a(i-1))); Q(i-1)=375*(-2^(1/2)*D(i-1)*cos(b(i-1))+2^(1/2)*E(i-1)*cos(b(i-1))+2*F(i-1)*sin(b(i-1))); R(i-1)=-375*(2^(1/2)*G(i-1)*cos(c(i-1))+2^(1/2)*H(i-1)*cos(c(i-1))+2*K(i-1)*sin(c(i-1))); S(i-1)=375*(2^(1/2)*L(i-1)*cos(d(i-1))-2^(1/2)*M(i-1)*cos(d(i-1))-2*N(i-1)*sin(d(i-1))); T(i-1)=-(A(i-1)*(48*cos(p(i-1)+0.87)-62*cos(p(i-1)))+B(i-1)*(48*sin(p(i-1)+0.87))-62*sin(p(i-1))); U(i-1)=-(D(i-1)*(48*cos(p(i-1)+0.87)-62*cos(p(i-1)))+E(i-1)*(48*sin(p(i-1)+0.87))-62*sin(p(i-1))); V(i-1)=-G(i-1)*48*cos(p(i-1)+0.87)+H(i-1)*48*sin(p(i-1)+0.87); W(i-1)=-L(i-1)*48*cos(p(i-1)+0.87)+M(i-1)*48*sin(p(i-1)+0.87); && A-W的表达式 x(i)=x(i-1)+2*A(i-1)*0.151796/P(i-1)+2*B(i-1)*0.01542/P(i-1)+2*C(i-1)*0.256127/P(i-1)+2*T(i-1)*0.428675/P(i-1); y(i)=y(i-1)+2*D(i-1)*0.151796/Q(i-1)+2*E(i-1)*0.01542/Q(i-1)+2*F(i-1)*0.256127/Q(i-1)+2*U(i-1)*0.428675/Q(i-1); z(i)=z(i-1)+2*G(i-1)*0.151796/R(i-1)+2*H(i-1)*0.01542/R(i-1)+2*K(i-1)*0.256127/R(i-1)+2*V(i-1)*0.428675/R(i-1); p(i)=p(i-1)+2*L(i-1)*0.151796/S(i-1)+2*M(i-1)*0.01542/S(i-1)+2*N(i-1)*0.256127/S(i-1)+2*W(i-1)*0.428675/S(i-1); %%所求的x y z p的表达式 [x(i),y(i),z(i),p(i)] %%输出x y z p end x y z p初值已知,迭代100次 上面这个程序运算出来貌似不是我要的结果。。。迭代循环是不是有问题啊?谢谢大神! [ Last edited by Kevin1987s on 2012-11-15 at 11:03 ] |
» 猜你喜欢
职称评审没过,求安慰
已经有34人回复
垃圾破二本职称评审标准
已经有17人回复
回收溶剂求助
已经有6人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
申请26博士
已经有5人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
聘U V热熔胶研究人员
已经有10人回复
求助文献
已经有3人回复
投稿返修后收到这样的回复,还有希望吗
已经有8人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求助!!求大神帮忙分析一下镁氧水泥的xrd图,万分感谢!
已经有0人回复
投期刊居然让我格式按照手册,怎么办,求助
已经有5人回复
求大神们帮我翻译一下下面的内容,谢谢了!
已经有2人回复
求大神帮我改一下下面的程序!matlab迭代法的
已经有2人回复
【答案】应助回帖
★
感谢参与,应助指数 +1
xzhdty: 金币+1, 谢谢参与 2012-11-15 21:03:40
jjdg: 编辑内容 2012-11-16 10:05
感谢参与,应助指数 +1
xzhdty: 金币+1, 谢谢参与 2012-11-15 21:03:40
jjdg: 编辑内容 2012-11-16 10:05
|
你好,我刚看了你修改过的程序,你的目的应该是一直x,y,z,p的初值,然后经过迭代(经过A-W的中间处理),最后得到迭代100次后的x,y,z,p值,如果正常的话,计算结果应该逐渐趋于某一组值,即收敛。 你的程序中a(i-1)=-0.1096+(i-1)*0.002648是不是应该修改为: a(i-1)=-0.1096+(i-2)*0.002648,因为i=2时,a(1)=-0.1096. 修改后的程序如下: 希望对你有用。 [ Last edited by jjdg on 2012-11-16 at 10:05 ] |
2楼2012-11-15 17:54:28
3楼2012-11-15 19:47:03
4楼2012-11-15 22:02:46
5楼2012-11-15 22:38:14
6楼2012-11-15 22:58:53
7楼2012-11-15 23:18:41
8楼2012-11-16 00:10:17













回复此楼