|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
for i=1:n
Mk(i)=L(i)*cos(m(i)); Ml(i)=L(i)*sin(m(i)); %m是一个转角角度数的未知数组%
end
e=cumsum(Mk); f=cumsum(Ml);
MK(1)=e(n)-x(n+1); %x(n+1),y(n+1)前面已求得。(这里可以取任意值,不影响结果)%
MK(2)=f(n)-y(n+1) ; %约束方程(总体法)%
syms m t
R3=input('请输入已知转角数组l=') %已知的转角数组是一个关于变量t的多项式,数组的维数任意%
U=R3; o=length(U); %将上面输入的已知数组覆盖m的前几项,数组m后面的数组不变%
k=o+1; W=m(k:end); s=[U W] ;
u=diff(U,t); a=diff(U,t,2); w=diff(W,t); wa=diff(W,t,2); %对t求导,求出速度, 加速度%
R4=input('请输入初始时刻t0='); t0=R4;
R5=input('请输入终止时刻tend='); tend=R5;
T=[t0 tend];
R6=input('请输入离算次数N='); N=R6;
h=(tend-t0)/N; t(1)=t0; t(N+1)=tend ; %输入时间段,且将其均分为若干个时间点%
for i=1:N-1, t(i+1)=t(i)+h; end
for i=1:N+1 %求解各时间点的速度与加速度%
m(1:o)=subs(U,t(i)); uu(i,:)=subs(u,t(i)); ua(i,:)=subs(a,t(i));
end
m这个未知的数组我定义不出来,后面的求导等都不好做了.输入时间t后经过离散可以求出各时刻m(1)的值,然后回带到约束方程中运用迭代法可以解出m其他元素的值然后可以往后面带求出个时刻的速度与加速度。可是如何迭代求解我做不出来。还请各位大侠帮帮忙!!小弟在此谢过!!
[ 本帖最后由 ChaChing 于 2009-5-2 10:00 编辑 ] |
|