马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我用ODE解运动方程:Mx''+Cx'+Kx=f
下面是引用的程序
function tangxioder
clear;clc
x0=zeros(6,1);
[t,x]=ode45(@tangxi,[0,100],x0);
plot(t,x(:,1))
function dx=tangxi(t,x)
f=[sin(t);0;0];
M=eye(3);
C=eye(3)*0.1;
K=eye(3)-0.5*diag(ones(2,1),1)-0.5*diag(ones(2,1),-1);
dx=[x(4:6);inv(M)*(f-C*x(4:6)-K*x(1:3))];
我的问题是:我把f改成这样行不行?
if t<=3,
f1=t*100;
elseif t>3&t<=6,
f1=(6-t)*100;
else
f1=0;
end
f=[f1;0;0];
如果行的话,该如何安插?我试过放在原来的位置取代原来的 f 好像行不通
想了一整天了,烦请各位高手指教,先谢过了!
[ 本帖最后由 tangxi 于 2008-11-11 09:54 编辑 ] |