我想用Matlab编写求汽车发动机悬置矩阵的固有频率和振型的计算程序,在编写后台程序时候遇到了难题,提示我总是出错。
下面是我写的计算程序
f1=[1,0,0,0,z1,-y1;0,1,0,-z1,0,x1;0,0,1,y1,-x1,0];
f2=[1,0,0,0,z2,-y2;0,1,0,-z2,0,x2;0,0,1,y2.-x2,0];
f3=[1,0,0,0,z3,-y3;0,1,0,-z3,0,x3;0,0,1,y3.-x3,0];
% die Stellungskoordinaten der Aufhaenungen
a1=[cos(u1*pi/180),-sin(u1*pi/180),0;sin(u1*pi/180),cos(u1*pi/180),0;0,0,1];
a2=[1,0,0;0,cos(v1*pi/180),-sin(v1*pi/180);0,sin(v1*pi/180),cos(v1*pi/180)];
a3=[cos(w1*pi/180),-sin(w1*pi/180),0;sin(w1*pi/180),cos(w1*pi/180),0;0,0,1];
t1=a3*a2*a1;
b1=[cos(u2*pi/180),-sin(u2*pi/180),0;sin(u2*pi/180),cos(u2*pi/180),0;0,0,1];
b2=[1,0,0;0,cos(v2*pi/180),-sin(v2*pi/180);0,sin(v2*pi/180),cos(v2*pi/180)];
b3=[cos(w2*pi/180),-sin(w2*pi/180),0;sin(w2*pi/180),cos(w2*pi/180),0;0,0,1];
t2=b3*b2*b1;
c1=[cos(u3*pi/180),-sin(u3*pi/180),0;sin(u3*pi/180),cos(u3*pi/180),0;0,0,1];
c2=[1,0,0;0,cos(v3*pi/180),-sin(v3*pi/180);0,sin(v3*pi/180),cos(v3*pi/180)];
c3=[cos(w3*pi/180),-sin(w3*pi/180),0;sin(w3*pi/180),cos(w3*pi/180),0;0,0,1];
t3=c3*c2*c1;
% die Eulerwinkel der 3 Aufhaengungen im Koordinatensystem der Torsionsachse
k1=[p1,0,0;0,q1,0;0,0,r1];
k2=[p2,0,0;0,q2,0;0,0,r2];
k3=[p3,0,0;0,q3,0;0,0,r3];
% die Steifigkeiten der Aufhaengungen in allen Richtungen
K1=f1' *t1' *k1*t1*f1;
K2=f2' *t2' *k2*t2*f2;
K3=f3' *t3' *k3*t3*f3;
K=K1+K2+K3;
% die Steifigkeitsmatrix des Systems
M=[m,0,0,0,0,0;0,m,0,0,0,0;0,0,m,0,0,0;0,0,0,Jxx,-Jxy,-Jxz;0,0,0,-Jxy,Jyy,-Jyz;0,0,0,-Jxz,-Jyz,Jzz];
% die Massenmarix des Systems
[v,d]=eig(inv(M)*K);
for i=1:6
P(i)=a(i,i);
end
for j=1:5
for i=j+1:6
if P(j)>P(i)
t=P(i);
P(i)=P(j);
P(j)=t;
q=v(:,i);
v(:,i)=v(:,j);
v(:,j)=q
end
end
end
但是运行时候总提示我错误》
??? Error using ==> struct2handle
Error while evaluating uicontrol CreateFcn.
??? Error: File: D:\Matlab2\Matlab\work\Berechnen.m Line: 1070 Column: 44
Missing variable or function.
怎么回事呢
我是Matlab新手,希望大家帮我下,谢谢了 |