fish2 发表于 2009-3-5 19:06

求助 x0不为0,为什么画出的图像值为0哪

计算出的x0不为0,为什么画出的图像值为0哪 ?想了好几天不知道为什么,哪位大侠能帮忙看下不胜感激!!
%Wilson - theta 法
function wilson(m ,c ,k ,x0 ,v0 ,time ,delt)
m=; k=; c=;
x0=; v0=; time=100; delt=0.1;
n = time/ delt ; disp = zeros(3 ,n) ; %设定存储位移矩阵
m_inv = inv(m + delt*c/2 +(delt^2) * k/6);
= eig(inv(m)*k) ; diag(sqrt(fre) ) ; %固有频率
i = 1 ; beta = 1.4 ;

for t = 0:delt:time
f = ; %简谐作用力向量,需要根据实际情况确定输入
if t == 0, xdd0=inv(m)*(f-k*x0-c*v0); %初始加速度
else
   xdd=m_inv*(f-c*(v0 +(delt/2)*xdd0)-k*(x0 + delt*v0 + (1/2 - beta) *delt^2 *xdd0) ) ;
   x=m_inv*(m*(x0 + delt*v0 +delt^2/ 3*xdd0) + c*(delt/ 2*x0 + delt^2/3* v0 + delt^3/ 12*xdd0) + delt^2/ 6*f) ; %计算位移
   xd=v0+delt*(xdd0 + xdd)/2 ; %计算速度
   xdd0 = xdd ; v0 = xd ; x0 = x ;
   disp( ': ',i) = x0; %显示质点位移
   i = i + 1 ;
end
end
t = 1:n ;
figure ('numbertitle','off','name','第一层框架位移','pos',) ;
plot (t,disp ( 1,:)) ; grid ;

[ 本帖最后由 ChaChing 于 2009-3-5 23:33 编辑 ]

ydlcsu 发表于 2009-3-6 15:29

disp( ': ',i) = x0; %显示质点位移   

应该是disp( :,i) = x0;吧?不知道你那两个引号怎么来的。

ChaChing 发表于 2009-3-6 21:38

disp( ': ',i) = x0;
什麽意思?:@)
页: [1]
查看完整版本: 求助 x0不为0,为什么画出的图像值为0哪