firefree 发表于 2007-12-19 23:27

求救

function vtb5(tf,delt)
close all;clc
tf=input('tf=');
delt=input('delt=');
fid1=fopen('disp','wt');
M=5*;
C=800*;
K=10^5*;
x0=';
v0=';
bita=1/6;
md=inv(M+delt/2*C+bita*delt^2*K);
m0=inv(M);
=eig(m0*K);
diag(sqrt(F));
for t=0:delt:tf;
    f=';
    if t==0;xdd0=m0*(f-K*x0-C*v0);
    else
      xdd=md*(f-C*(v0+delt/2*xdd0)-K*(x0+delt*v0+(1/2-bita)*delt^2*xdd0));
      x=md*(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/2*(xdd0+xdd);
      xdd0=xdd;v0=xd;x0=x;
      fprintf(fid1,'%10.4f',x0);
      t
    end
    fid2=fopen('disp','rt');
    n=tf/delt;
    x=fscanf(fid2,'%f',);
    t=1:n;
    figure('numbertitle','off','name','weiyi of 1','pos',);
    plot(t,x(1,t)),grid,xlabel('shijian*0.1'),title('x11')
   figure('numbertitle','off','name','weiyi of 2','pos',);
    plot(t,x(2,t)),grid,xlabel('shijian*0.1'),title('x22')
   figure('numbertitle','off','name','weiyi of 3','pos',);
    plot(t,x(3,t)),grid,xlabel('shijian*0.1'),title('x33')
    figure('numbertitle','off','name','weiyi of 4','pos',);
    plot(t,x(4,t)),grid,xlabel('shijian*0.1'),title('x44')
end
18行报错

sigma665 发表于 2007-12-20 09:42

回复 #1 firefree 的帖子

你 怎么啥地方都发呢:@L

无水1324 发表于 2007-12-20 18:43

回复 #1 firefree 的帖子

这里出错你就检查一下m0*(f-K*x0-C*v0)中参数的维数是不是合理的

gxping005 发表于 2007-12-20 21:47

你的问题出在了17行
你可以将17行的分号去掉看一下就知道了
这个语句不能放在那里,否则就会出现18行的维数不一致
页: [1]
查看完整版本: 求救