chriswonder 发表于 2008-6-4 11:16

请教用ODE45求解24维2阶方程出错,麻烦看下

function impact_ca
q0 = zeros(48,1);
% 读入初始状态向量
= ode45(@f,,q0);
% 求解冲击响应
if t<=0.006;
    A=c;
else
    A=zeros(24,1);
end
=eig(k,M)
w=sqrt(v)
C=2*1e-2*M*w
function dy = f(t,x)
dy = zeros(48,1);
dy(1:24)=x(25:48);
dy(25:48)=-inv(M)*M*A'-inv(M)*k*x(1:24)'-inv(M)*C*x(25:48)';
end
end
这个是我编织的M函数但是运行老是处错麻烦帮忙看下是什么问题?
??? The function, script, or class impact_cal
cannot be indexed using {} or . indexing.
Error in ==> funfun\private\odearguments at 110
f0 = feval(ode,t0,y0,args{:});   % ODE15I sets args{1} to yp0.
Error in ==> ode45 at 173
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, ...
Error in ==> impact_cal at 4
= ode45(@f,,q0);

ch_j1985 发表于 2008-6-4 12:19

原帖由 chriswonder 于 2008-6-4 11:16 发表 http://www.chinavib.com/forum/images/common/back.gif
function impact_ca
q0 = zeros(48,1);
% 读入初始状态向量
= ode45(@f,,q0);
% 求解冲击响应
if t funfun\private\odearguments at 110
f0 = feval(ode,t0,y0,args{:});   % ODE15I sets args{1}...

LZ的代码写的有点儿乱,自己再看看关于函数定义的基础知识;另外能否把背景知识介绍一下

chriswonder 发表于 2008-6-4 13:53

工程背景是 这个方程组,M是24x24的举证,M和K,C,c都已经算出来了就求震动的响应X

chriswonder 发表于 2008-6-4 13:55

??? The function, script, or class impact_cal
cannot be indexed using {} or . indexing.这个问题主要是出在什么地方?
页: [1]
查看完整版本: 请教用ODE45求解24维2阶方程出错,麻烦看下