马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
ode45 解一运动微分方程,
ic=[0,0]; tspan=[0,20]; [T,X]=ode45(@sigs,tspan,ic);
运行后出现In an assignment A(I) = B, the number of elements in B and I must be the same.
Error in ==> sigs at 11
dq(2)=(k*y+c*dy-k*q(1)-c*q(2))/m;
估计问题出在y 和dy,因为把chirp换成sin和cos后就可以解,那用chirp的问题出在哪里,或是其他什么原因?
目标函数如下:
function dq=sigs(t,q)
%function to calculate time history of response
m=60;k=44130;c=1485;
% generate input
t = 0:0.001:2;
y = chirp(t,0,1,15); dy=[diff(y),1.001];
%q(1)=displacement;q(2)=velocity
dq=zeros(2,1); dq(1)=q(2); dq(2)=(k*y+c*dy-k*q(1)-c*q(2))/m;
end
[ 本帖最后由 ChaChing 于 2009-7-5 19:19 编辑 ] |