汽车二自由度振动模型计算

建立系统的动力学方程

建立系统的动力学方程的方法:1、牛顿力学:牛顿第二定律;2、分析力学:拉格朗日方程。 以x、θ为两个变量建立二自由度系统动力学方程;3、影响系数法-张量算法 1、 根据牛顿第二定律,

2、 拉格朗日方程,

d∂L idt∂q

-∂L∂qi

=Qi(i=1,2,.....n) -------------拉格朗日第二类方程

L=T-V,称为拉氏函数,泛函;

势能函数:V=V(q1,q2,.......qn);

1,q 2,.......q n); 动能函数:T=T(q

广义坐标qi(i=1,2,.....n)对应的非保守力:Qi(i=1,2,.....n)

d∂L idt∂q

-∂L∂qi

=0(i=1,2,.....n) -------------保守系统的拉氏方程

-------------------利用上诉拉氏方程求解-------------------------------------

T=T=V=

121212

TMq ;V=q(mx

2

2

+Jθ )

12

qKq

T

[k1(x-l1θ)+k2(x+l2θ)]

22

将L=T-V代入拉氏方程可解的:

可见:与牛顿第二定律求得的结果一致。

+Kq=Q;对保守系统Q=0; M q

n

∑(m

j=1

ij

j+kijqj)=Qi(i=1,2,.....n) q

M=(

m0

0J

)

K=(

k1+k2k2l2-k1l1

k2l2-k1l1k1l1+k2l2

2

2

)

q=() θ

j+kijqj)=Qi(i=1,2,.....n)有明确的物理意义:弹性恢复力 +Kq=Q 和∑(mijqM q

j=1n

x

与保守力Q平衡。如张量理论,mij、kij可认为是张量的坐标,kij表-Kq、惯性力-M q

示:使系统仅产生沿qj坐标的单位位移时,沿qi坐标必须施加的外力Qi,或者说Q的i分量在q的j分量上的影响量的投影。

3、影响系数法-张量算法

!!!!!!!下面由张量分量投影计算理论直接求解-----------!!!!!!!! 设

m11 * + k11 k12 * x

m21 θ + k21 k22 θ

k11:仅当x动1单位时,x向的作用力为k1*1+k2*1=k1+k2;

k12:仅当θ动1单位时,x向的作用力为-k1*(l1*1)+k2*(l2*1)=-k1*l1+k2*l2;

k21:仅当x动1单位时,θ向的作用力为-(k1*1)*l1+(k2*1)*l2=-k1*l1+k2*l2;

k22:仅当θ动1单位时,θ向的作用力为 k1*(l1*1)*l1+k2*(l2*1)*l2=k1*l1^2+k2*l2^2;

m11:仅当x”动1单位时,x”向的作用力为m*1;

k12:仅当θ”动1单位时,x”向的作用力为0; %仅绕质心转动时不影响x”向惯性力 k21:仅当x”动1单位时,θ”向的作用力为0; %仅平动时不影响θ”向惯性力??????不过质心时该怎么计算??若旋转中心偏离质心a,则变为

ma

此时,k12: 仅当θ”动1单位时,x”向的作用力为m*(a*1); k21:仅当x”动1单位时,θ”向的作用力为m*1*a;

k22:仅当θ”动1单位时,θ”向的作用力为 (J+m*a^2)*1;

k22:仅当θ”动1单位时,θ”向的作用力为 J*1;

可见与上述结果一致。

对建立的动力学方程更换坐标求偏频

对上述系统建立前后轮纵向位移x1、x2的动力学方程 :x1=x-l1*θ;x2=x+l2*θ。使用matlab的solve(‘x1=x-l1*θ;x2=x+l2*θ’,‘x1’, ‘x2’)可以直接解出: θ=(x1-x2)/(l1+l2);x=(x1*l2+l1*x2)/(l1+l2),代入前面创建的方程组:

消去x1和x2,可得到如下的方程:

ml2+ρl

2

22

2

1+mx

l1l2-ρl

2

2

2+k1x1=0x

m

l1+ρl

2

2

2+mx

l1l2-ρl

2

2

1+k2x2=0x

⎡l22+ρ2⎢m2

l

所以⎢2

⎢ml1l2-ρ

2⎢l⎣

2

2

l1l2-ρ⎤m⎥⎡ 2 1⎤⎡k1xl⨯⎥⎢⎥+⎢22

2⎦⎣0xl+ρ⎥⎣

m12

⎥l⎦

0⎤⎡x1⎤

⎥⨯⎢⎥=0 k2⎦⎣x2⎦

1+η1* 2+ω1*x1=0xx

2

2+η2* 1+ω2*x2=0xx

l1l2-ρ

2

式中,η1=l2+ρ2 联系系数,表示两坐标之间的联系

2η2=

l1l2-ρl1+ρ

2

22

2

2

ω1=

k1l

2

m(l2+ρ)

偏频,表示前后悬挂独立振动时的振动频率,即x1=0时的振动频

率是w2,x2=0时的振动频率是w1,不同于系统的固有频率(2自由度独立时才相等)。 ω2=

22

m(l1+ρ)

k2l

2

ρ=

J

m 汽车绕质心轴的回转半径

在汽车设计中,希望行车时一个悬挂的振动不传到另一个悬挂上,为此,应使车身质量分布和前后轮位置满足:

质量分配系数ε=ll=1,这时η1=η2=0

12ω1=

k1lml2k2lml1

2

ρ

2

=

m1 k2

k1

ω2=

=

m2

2

2

J=mρ

=m1l1+m2l2

ε≠1

对于一般质量分配系数的耦合情况,可以用模态分析法求固有频率及其通解:

x1=A11sin(p1t+ϕ1)+A12sin(p2t+ϕ2)x2=A21sin(p1t+ϕ1)+A22sin(p2t+ϕ2)=β1A11sin(p1t+ϕ1)+β2A12sin(p2t+ϕ2)

⎡x1⎤⎡1即⎢x⎥=⎢β⎣2⎦⎣11⎤⎡A11sin(p1t+ϕ1)⎤⎡1⎥⎢⎥=⎢β2⎦⎣A12sin(p2t+ϕ2)⎦⎣β11⎤⎡xp1⎤

⎥⎥⎢

β2⎦⎣xp2⎦

可见,特征向量阵(模态矩阵)ф组成坐标变换矩阵(由老基到新的主坐标基的坐标变换矩阵),xp=фx为主坐标,主振动的坐标,在该坐标系上,各自由度独立振动(解耦)。

⎡1⎤⎡1⎤

⎢⎥⎢⎥⎣β1⎦⎣β2⎦

T

分别是新的主坐标基的两个基矢量在老基下的投影坐标。

在新的主坐标基下,Mp=фMф为主质量阵(主质量组成的对角阵);Kp=фKф为主刚度阵(主刚度组成的对角阵)。这种矩阵变换的本质是张量的坐标变换。

+Kpx=0 主坐标方程组为解耦方程组。 Mp x

T

T

利用特征值分解找到系统的主坐标基,通过坐标变换进行解耦、简化计算、然后再变换回去,这是坐标变换的意义所在。

用matlab特征值分解法求平等与转动主模态(振型)

%SH760小轿车空载主要参数 m=1340; a=1.54;

b=1.29;

Ic=2395; %绕质心的转动惯量 k1=40000; k2=44000; M=[m,0;0,Ic];

K=[k1+k2,-(k1*a-k2*b);-(k1*a-k2*b),k1*a^2+k2*b^2];

[eig_vec,eig_val] = eig(inv(M)*K);

[omeg,w_order] = sort(sqrt(diag(eig_val))); %频率 mode_vec = eig_vec(:,w_order); %振型 T=2.*pi./omeg; %周期

mode_vec(:,1)=mode_vec(:,1)./mode_vec(1,1); mode_vec(:,2)=mode_vec(:,2)./mode_vec(1,2); subplot(2,1,1)

plot([1;2],mode_vec(:,1))

title(strcat('w1=',num2str(omeg(1)))); subplot(2,1,2)

plot([1;2],mode_vec(:,2))

title(strcat('w2=',num2str(omeg(2))));

因为对特征值进行了排序,所以w1

求平动与平动主模态(振型)与解析法仿真计算

%SH760小轿车空载主要参数 clear; m=1340; a=1.54; b=1.29;

l=a+b;

Ic=2395; %绕质心的转动惯量 rou=sqrt(Ic/m); k1=40*1000; k2=44*1000;

M=[m*(b^2+rou^2)/l^2,m*(a*b-rou^2)/l^2;m*(a*b-rou^2)/l^2,m*(a^2+rou^2)/l^2]; K=[k1,0;0,k2];

%用matlab特征值分解法求主振型------------------------------------------------

[eig_vec,eig_val] = eig(inv(M)*K);

[omeg] = (sqrt(diag(eig_val))); %频率不用sort排序 mode_vec = eig_vec;%(:,w_order); %振型 T=2.*pi./omeg; %周期

mode_vec(:,1)=mode_vec(:,1)./mode_vec(1,1); mode_vec(:,2)=mode_vec(:,2)./mode_vec(1,2);

w1=sqrt((k1*l^2)/(m*(b^2+rou^2))); w2=sqrt((k2*l^2)/(m*(a^2+rou^2))); w1_pian=sqrt((k1*l)/(m*b)); w2_pian=sqrt((k2*l)/(m*a));

subplot(2,2,1)

plot([1;2],mode_vec(:,1))

title(strcat('w_1=',num2str(omeg(1)),';w_1pian=',num2str(w1_pian))); subplot(2,2,2)

plot([1;2],mode_vec(:,2))

title(strcat('w_2=',num2str(omeg(2)),';w_2pian=',num2str(w2_pian)));

%完全用matlab sym解析法运算求解------------------------------------------------

syms A11 A12 phi1 phi2 t

x1=A11*sin(omeg(1)*t+phi1)+A12*sin(omeg(2)*t+phi2);

x2=mode_vec(2,1)*A11*sin(omeg(1)*t+phi1)+mode_vec(2,2)*A12*sin(omeg(2)*t+phi2); dx1=diff(x1); dx2=diff(x2);

x1_0=subs(x1,'t',0); x2_0=subs(x2,'t',0); dx1_0=subs(dx1,'t',0);

dx2_0=subs(dx2,'t',0);

eq=[sym(strcat(char(x1_0),'=1'));sym(strcat(char(dx1_0),'=0')); sym(strcat(char(x2_0),'=0'));sym(strcat(char(dx2_0),'=0'))];

s=solve_sym(eq);

x1=s.A11(1)*sin(omeg(1)*t+s.phi1(1))+s.A12(1)*sin(omeg(2)*t+s.phi2(1));

x2=mode_vec(2,1)*s.A11(1)*sin(omeg(1)*t+s.phi1(1))+mode_vec(2,2)*s.A12(1)*sin(omeg(2)*t+s.phi2(1)); ti=0:0.02:10;

x1i=subs(x1,'t',ti); x2i=subs(x2,'t',ti);

subplot(2,2,3)

plot(ti',[x1i',x2i'])

%用matlab指数运算求解----------------------------------------------------------

x0=[1;0];xd0=[0;0]; %初始条件 tf=10;dt=0.02; %时间向量

A=[zeros(2,2),eye(2);-M\K,zeros(2,2)]; Y=[x1;x2;x1';x2']

%expm(A)的意义是将坐标先变换到主坐标系,对对角值进行exp运算后再变换到原坐标系,如同张量坐标变换help expm

y0=[x0;xd0]; %四元变量的初始条件

for i=1:round(tf/dt)+1 %设定计算点,作循环计算 tj(i)=dt*(i-1);

y(:,i)=expm(A*tj(i))*y0; %循环计算矩阵指数 end

subplot(2,2,4),plot(tj,[y(1,:)',y(2,:)']),grid

%四阶参数矩阵

Y'=AY-->Y=expm(A*t)*Y0

可见,坐标的选取对固有频率没有影响,但对振型有影响。W1_pianpin和w2_pianpin是前后的偏频(假设质量分配系数为1计算)。

用matlab ode45()直接进行仿真计算

%SH760小轿车空载主要参数 clear; m=1340; a=1.54; b=1.29; l=a+b;

Ic=2395; %绕质心的转动惯量 rou=sqrt(Ic/m); k1=40*1000; k2=44*1000;

M=[m*(b^2+rou^2)/l^2,m*(a*b-rou^2)/l^2;m*(a*b-rou^2)/l^2,m*(a^2+rou^2)/l^2]; K=[k1,0;0,k2];

%用matlab ode45数值解------------------------------------------------

A=[zeros(2,2),eye(2);-M\K,zeros(2,2)]; %四阶参数4X4矩阵X'=AX-->X=expm(A*t)*X0 X=[x1;x2;x1';x2']

syms x1 x2 dx1 dx2

df_sym=A*[x1;x2;dx1;dx2];

df_sym=subs(df_sym,{'x1','x2','dx1','dx2'},{'x(1)','x(2)','x(3)','x(4)'}); n=length(df_sym);

i=1;

ss='['; %先定义好很重要,否则再循环体中定义时,每一循环ss不累加。 while i

ss=strcat(ss,char(df_sym(i)),';'); i=i+1;

end

ss=strcat(ss,char(df_sym(i))); ss=strcat(ss,']'); f=inline(ss,'t','x');

[t,x]=ode45(f,[0 10],[1,0,0,0]);%初始y=0,y'=1 %subplot(2,2,1)

plot(t,[x(:,1),x(:,2)]) %时间状态系列

用s-function进行仿真计算

%sh760.m

function [sys,x0,str,ts]=s_function(t,x,u,flag)

switch flag,

case 0,

[sys,x0,str,ts]=mdlInitializeSizes;

case 1,

sys=mdlDerivatives(t,x,u);

case 3,

sys=mdlOutputs(t,x,u);

case {2, 4, 9 }

sys = [];

otherwise

error(['Unhandled flag = ',num2str(flag)]);

end

function [sys,x0,str,ts]=mdlInitializeSizes

sizes = simsizes;

sizes.NumContStates = 4;

sizes.NumDiscStates = 0;

sizes.NumOutputs = 2;

sizes.NumInputs = 1;

sizes.DirFeedthrough = 0;

sizes.NumSampleTimes = 0;

sys=simsizes(sizes);

x0=[1 0 0 0];

str=[];

ts=[];

function sys=mdlDerivatives(t,x,u)

m=1340;

a=1.54;

b=1.29;

l=a+b;

Ic=2395; %绕质心的转动惯量

rou=sqrt(Ic/m);

k1=40*1000;

k2=44*1000;

M=[m*(b^2+rou^2)/l^2,m*(a*b-rou^2)/l^2;m*(a*b-rou^2)/l^2,m*(a^2+rou^2)/l^2];

K=[k1,0;0,k2];

A=[zeros(2,2),eye(2);-M\K,zeros(2,2)]; %四阶参数4X4矩阵X'=AX

sys=A*x;

function sys=mdlOutputs(t,x,u)

sys(1)=x(1);

sys(2)=x(2);

坐标x1、x2与主坐标x1p、x2p的关系 plot([0;1],[0,0;mode_vec(2),mode_vec(4)]) plot(y(1,1:40),y(2,1:40))

建立系统的动力学方程

建立系统的动力学方程的方法:1、牛顿力学:牛顿第二定律;2、分析力学:拉格朗日方程。 以x、θ为两个变量建立二自由度系统动力学方程;3、影响系数法-张量算法 1、 根据牛顿第二定律,

2、 拉格朗日方程,

d∂L idt∂q

-∂L∂qi

=Qi(i=1,2,.....n) -------------拉格朗日第二类方程

L=T-V,称为拉氏函数,泛函;

势能函数:V=V(q1,q2,.......qn);

1,q 2,.......q n); 动能函数:T=T(q

广义坐标qi(i=1,2,.....n)对应的非保守力:Qi(i=1,2,.....n)

d∂L idt∂q

-∂L∂qi

=0(i=1,2,.....n) -------------保守系统的拉氏方程

-------------------利用上诉拉氏方程求解-------------------------------------

T=T=V=

121212

TMq ;V=q(mx

2

2

+Jθ )

12

qKq

T

[k1(x-l1θ)+k2(x+l2θ)]

22

将L=T-V代入拉氏方程可解的:

可见:与牛顿第二定律求得的结果一致。

+Kq=Q;对保守系统Q=0; M q

n

∑(m

j=1

ij

j+kijqj)=Qi(i=1,2,.....n) q

M=(

m0

0J

)

K=(

k1+k2k2l2-k1l1

k2l2-k1l1k1l1+k2l2

2

2

)

q=() θ

j+kijqj)=Qi(i=1,2,.....n)有明确的物理意义:弹性恢复力 +Kq=Q 和∑(mijqM q

j=1n

x

与保守力Q平衡。如张量理论,mij、kij可认为是张量的坐标,kij表-Kq、惯性力-M q

示:使系统仅产生沿qj坐标的单位位移时,沿qi坐标必须施加的外力Qi,或者说Q的i分量在q的j分量上的影响量的投影。

3、影响系数法-张量算法

!!!!!!!下面由张量分量投影计算理论直接求解-----------!!!!!!!! 设

m11 * + k11 k12 * x

m21 θ + k21 k22 θ

k11:仅当x动1单位时,x向的作用力为k1*1+k2*1=k1+k2;

k12:仅当θ动1单位时,x向的作用力为-k1*(l1*1)+k2*(l2*1)=-k1*l1+k2*l2;

k21:仅当x动1单位时,θ向的作用力为-(k1*1)*l1+(k2*1)*l2=-k1*l1+k2*l2;

k22:仅当θ动1单位时,θ向的作用力为 k1*(l1*1)*l1+k2*(l2*1)*l2=k1*l1^2+k2*l2^2;

m11:仅当x”动1单位时,x”向的作用力为m*1;

k12:仅当θ”动1单位时,x”向的作用力为0; %仅绕质心转动时不影响x”向惯性力 k21:仅当x”动1单位时,θ”向的作用力为0; %仅平动时不影响θ”向惯性力??????不过质心时该怎么计算??若旋转中心偏离质心a,则变为

ma

此时,k12: 仅当θ”动1单位时,x”向的作用力为m*(a*1); k21:仅当x”动1单位时,θ”向的作用力为m*1*a;

k22:仅当θ”动1单位时,θ”向的作用力为 (J+m*a^2)*1;

k22:仅当θ”动1单位时,θ”向的作用力为 J*1;

可见与上述结果一致。

对建立的动力学方程更换坐标求偏频

对上述系统建立前后轮纵向位移x1、x2的动力学方程 :x1=x-l1*θ;x2=x+l2*θ。使用matlab的solve(‘x1=x-l1*θ;x2=x+l2*θ’,‘x1’, ‘x2’)可以直接解出: θ=(x1-x2)/(l1+l2);x=(x1*l2+l1*x2)/(l1+l2),代入前面创建的方程组:

消去x1和x2,可得到如下的方程:

ml2+ρl

2

22

2

1+mx

l1l2-ρl

2

2

2+k1x1=0x

m

l1+ρl

2

2

2+mx

l1l2-ρl

2

2

1+k2x2=0x

⎡l22+ρ2⎢m2

l

所以⎢2

⎢ml1l2-ρ

2⎢l⎣

2

2

l1l2-ρ⎤m⎥⎡ 2 1⎤⎡k1xl⨯⎥⎢⎥+⎢22

2⎦⎣0xl+ρ⎥⎣

m12

⎥l⎦

0⎤⎡x1⎤

⎥⨯⎢⎥=0 k2⎦⎣x2⎦

1+η1* 2+ω1*x1=0xx

2

2+η2* 1+ω2*x2=0xx

l1l2-ρ

2

式中,η1=l2+ρ2 联系系数,表示两坐标之间的联系

2η2=

l1l2-ρl1+ρ

2

22

2

2

ω1=

k1l

2

m(l2+ρ)

偏频,表示前后悬挂独立振动时的振动频率,即x1=0时的振动频

率是w2,x2=0时的振动频率是w1,不同于系统的固有频率(2自由度独立时才相等)。 ω2=

22

m(l1+ρ)

k2l

2

ρ=

J

m 汽车绕质心轴的回转半径

在汽车设计中,希望行车时一个悬挂的振动不传到另一个悬挂上,为此,应使车身质量分布和前后轮位置满足:

质量分配系数ε=ll=1,这时η1=η2=0

12ω1=

k1lml2k2lml1

2

ρ

2

=

m1 k2

k1

ω2=

=

m2

2

2

J=mρ

=m1l1+m2l2

ε≠1

对于一般质量分配系数的耦合情况,可以用模态分析法求固有频率及其通解:

x1=A11sin(p1t+ϕ1)+A12sin(p2t+ϕ2)x2=A21sin(p1t+ϕ1)+A22sin(p2t+ϕ2)=β1A11sin(p1t+ϕ1)+β2A12sin(p2t+ϕ2)

⎡x1⎤⎡1即⎢x⎥=⎢β⎣2⎦⎣11⎤⎡A11sin(p1t+ϕ1)⎤⎡1⎥⎢⎥=⎢β2⎦⎣A12sin(p2t+ϕ2)⎦⎣β11⎤⎡xp1⎤

⎥⎥⎢

β2⎦⎣xp2⎦

可见,特征向量阵(模态矩阵)ф组成坐标变换矩阵(由老基到新的主坐标基的坐标变换矩阵),xp=фx为主坐标,主振动的坐标,在该坐标系上,各自由度独立振动(解耦)。

⎡1⎤⎡1⎤

⎢⎥⎢⎥⎣β1⎦⎣β2⎦

T

分别是新的主坐标基的两个基矢量在老基下的投影坐标。

在新的主坐标基下,Mp=фMф为主质量阵(主质量组成的对角阵);Kp=фKф为主刚度阵(主刚度组成的对角阵)。这种矩阵变换的本质是张量的坐标变换。

+Kpx=0 主坐标方程组为解耦方程组。 Mp x

T

T

利用特征值分解找到系统的主坐标基,通过坐标变换进行解耦、简化计算、然后再变换回去,这是坐标变换的意义所在。

用matlab特征值分解法求平等与转动主模态(振型)

%SH760小轿车空载主要参数 m=1340; a=1.54;

b=1.29;

Ic=2395; %绕质心的转动惯量 k1=40000; k2=44000; M=[m,0;0,Ic];

K=[k1+k2,-(k1*a-k2*b);-(k1*a-k2*b),k1*a^2+k2*b^2];

[eig_vec,eig_val] = eig(inv(M)*K);

[omeg,w_order] = sort(sqrt(diag(eig_val))); %频率 mode_vec = eig_vec(:,w_order); %振型 T=2.*pi./omeg; %周期

mode_vec(:,1)=mode_vec(:,1)./mode_vec(1,1); mode_vec(:,2)=mode_vec(:,2)./mode_vec(1,2); subplot(2,1,1)

plot([1;2],mode_vec(:,1))

title(strcat('w1=',num2str(omeg(1)))); subplot(2,1,2)

plot([1;2],mode_vec(:,2))

title(strcat('w2=',num2str(omeg(2))));

因为对特征值进行了排序,所以w1

求平动与平动主模态(振型)与解析法仿真计算

%SH760小轿车空载主要参数 clear; m=1340; a=1.54; b=1.29;

l=a+b;

Ic=2395; %绕质心的转动惯量 rou=sqrt(Ic/m); k1=40*1000; k2=44*1000;

M=[m*(b^2+rou^2)/l^2,m*(a*b-rou^2)/l^2;m*(a*b-rou^2)/l^2,m*(a^2+rou^2)/l^2]; K=[k1,0;0,k2];

%用matlab特征值分解法求主振型------------------------------------------------

[eig_vec,eig_val] = eig(inv(M)*K);

[omeg] = (sqrt(diag(eig_val))); %频率不用sort排序 mode_vec = eig_vec;%(:,w_order); %振型 T=2.*pi./omeg; %周期

mode_vec(:,1)=mode_vec(:,1)./mode_vec(1,1); mode_vec(:,2)=mode_vec(:,2)./mode_vec(1,2);

w1=sqrt((k1*l^2)/(m*(b^2+rou^2))); w2=sqrt((k2*l^2)/(m*(a^2+rou^2))); w1_pian=sqrt((k1*l)/(m*b)); w2_pian=sqrt((k2*l)/(m*a));

subplot(2,2,1)

plot([1;2],mode_vec(:,1))

title(strcat('w_1=',num2str(omeg(1)),';w_1pian=',num2str(w1_pian))); subplot(2,2,2)

plot([1;2],mode_vec(:,2))

title(strcat('w_2=',num2str(omeg(2)),';w_2pian=',num2str(w2_pian)));

%完全用matlab sym解析法运算求解------------------------------------------------

syms A11 A12 phi1 phi2 t

x1=A11*sin(omeg(1)*t+phi1)+A12*sin(omeg(2)*t+phi2);

x2=mode_vec(2,1)*A11*sin(omeg(1)*t+phi1)+mode_vec(2,2)*A12*sin(omeg(2)*t+phi2); dx1=diff(x1); dx2=diff(x2);

x1_0=subs(x1,'t',0); x2_0=subs(x2,'t',0); dx1_0=subs(dx1,'t',0);

dx2_0=subs(dx2,'t',0);

eq=[sym(strcat(char(x1_0),'=1'));sym(strcat(char(dx1_0),'=0')); sym(strcat(char(x2_0),'=0'));sym(strcat(char(dx2_0),'=0'))];

s=solve_sym(eq);

x1=s.A11(1)*sin(omeg(1)*t+s.phi1(1))+s.A12(1)*sin(omeg(2)*t+s.phi2(1));

x2=mode_vec(2,1)*s.A11(1)*sin(omeg(1)*t+s.phi1(1))+mode_vec(2,2)*s.A12(1)*sin(omeg(2)*t+s.phi2(1)); ti=0:0.02:10;

x1i=subs(x1,'t',ti); x2i=subs(x2,'t',ti);

subplot(2,2,3)

plot(ti',[x1i',x2i'])

%用matlab指数运算求解----------------------------------------------------------

x0=[1;0];xd0=[0;0]; %初始条件 tf=10;dt=0.02; %时间向量

A=[zeros(2,2),eye(2);-M\K,zeros(2,2)]; Y=[x1;x2;x1';x2']

%expm(A)的意义是将坐标先变换到主坐标系,对对角值进行exp运算后再变换到原坐标系,如同张量坐标变换help expm

y0=[x0;xd0]; %四元变量的初始条件

for i=1:round(tf/dt)+1 %设定计算点,作循环计算 tj(i)=dt*(i-1);

y(:,i)=expm(A*tj(i))*y0; %循环计算矩阵指数 end

subplot(2,2,4),plot(tj,[y(1,:)',y(2,:)']),grid

%四阶参数矩阵

Y'=AY-->Y=expm(A*t)*Y0

可见,坐标的选取对固有频率没有影响,但对振型有影响。W1_pianpin和w2_pianpin是前后的偏频(假设质量分配系数为1计算)。

用matlab ode45()直接进行仿真计算

%SH760小轿车空载主要参数 clear; m=1340; a=1.54; b=1.29; l=a+b;

Ic=2395; %绕质心的转动惯量 rou=sqrt(Ic/m); k1=40*1000; k2=44*1000;

M=[m*(b^2+rou^2)/l^2,m*(a*b-rou^2)/l^2;m*(a*b-rou^2)/l^2,m*(a^2+rou^2)/l^2]; K=[k1,0;0,k2];

%用matlab ode45数值解------------------------------------------------

A=[zeros(2,2),eye(2);-M\K,zeros(2,2)]; %四阶参数4X4矩阵X'=AX-->X=expm(A*t)*X0 X=[x1;x2;x1';x2']

syms x1 x2 dx1 dx2

df_sym=A*[x1;x2;dx1;dx2];

df_sym=subs(df_sym,{'x1','x2','dx1','dx2'},{'x(1)','x(2)','x(3)','x(4)'}); n=length(df_sym);

i=1;

ss='['; %先定义好很重要,否则再循环体中定义时,每一循环ss不累加。 while i

ss=strcat(ss,char(df_sym(i)),';'); i=i+1;

end

ss=strcat(ss,char(df_sym(i))); ss=strcat(ss,']'); f=inline(ss,'t','x');

[t,x]=ode45(f,[0 10],[1,0,0,0]);%初始y=0,y'=1 %subplot(2,2,1)

plot(t,[x(:,1),x(:,2)]) %时间状态系列

用s-function进行仿真计算

%sh760.m

function [sys,x0,str,ts]=s_function(t,x,u,flag)

switch flag,

case 0,

[sys,x0,str,ts]=mdlInitializeSizes;

case 1,

sys=mdlDerivatives(t,x,u);

case 3,

sys=mdlOutputs(t,x,u);

case {2, 4, 9 }

sys = [];

otherwise

error(['Unhandled flag = ',num2str(flag)]);

end

function [sys,x0,str,ts]=mdlInitializeSizes

sizes = simsizes;

sizes.NumContStates = 4;

sizes.NumDiscStates = 0;

sizes.NumOutputs = 2;

sizes.NumInputs = 1;

sizes.DirFeedthrough = 0;

sizes.NumSampleTimes = 0;

sys=simsizes(sizes);

x0=[1 0 0 0];

str=[];

ts=[];

function sys=mdlDerivatives(t,x,u)

m=1340;

a=1.54;

b=1.29;

l=a+b;

Ic=2395; %绕质心的转动惯量

rou=sqrt(Ic/m);

k1=40*1000;

k2=44*1000;

M=[m*(b^2+rou^2)/l^2,m*(a*b-rou^2)/l^2;m*(a*b-rou^2)/l^2,m*(a^2+rou^2)/l^2];

K=[k1,0;0,k2];

A=[zeros(2,2),eye(2);-M\K,zeros(2,2)]; %四阶参数4X4矩阵X'=AX

sys=A*x;

function sys=mdlOutputs(t,x,u)

sys(1)=x(1);

sys(2)=x(2);

坐标x1、x2与主坐标x1p、x2p的关系 plot([0;1],[0,0;mode_vec(2),mode_vec(4)]) plot(y(1,1:40),y(2,1:40))


相关内容

  • [汽车理论]教学大纲文档
  • 机电工程学院 <汽车理论>课程教学大纲 课程性质:专业必修课, 总学时:48 学分:4 适用专业:交通运输 一 课程教学目标 汽车理论是交通运输专业一门重要专业课,本课程是从运动学和动力学角度分析汽车各种使用性能.评价方法以及汽车结构参数.使用参数对汽车行驶性能的影响:以提高汽车行驶性能 ...

  • 汽车动力学模型综述
  • 汽车动力学模型综述 孙海涛,陈关龙 上海交通大学机械与动力工程学院,上海(200240) 摘 要:随着汽车动态仿真的发展,产生了不同复杂程度的汽车动力学模型,主要分为集中参数模型和多体模型.本文在简要说明汽车动力学发展过程的基础上,介绍了用集中参数模型法建立的动力传动系模型.路面模型以及研究汽车平顺 ...

  • 振动噪声CAE分析训练教程
  • 振动噪声CAE分析训练教程 汽车NVH是指Noise(噪声).Vibration(振动)和Harshness(声振粗糙度),是汽车舒适性的一个指标,反映了汽车的动态特性.大多数汽车的NVH 问题主要处理以下四个方面问题,即系统固有特性.外载荷.动力响应和评价标准,它们都需要通过CAE技术进行相应处理 ...

  • 汽车空气压缩机支架的模态分析
  • ・信息技术・ 仲冰冰,等・汽车空气压缩机支架的模态分析 汽车空气压缩机支架的模态分析 仲冰冰,张龙,唐燕辉 (南京理工大学机械工程学院.江苏南京210094) 摘要:空气压缩机主要为汽车制动系统提供足够的气路压力,以保证汽车气刹系统安全可靠.由于空压机处于一个振动剧烈的恶劣工作环境,因此在发动机上的 ...

  • 机械振动理论基础及其应用(张)
  • 机车传动轴振动分析与仿真优化 Vibration Analysis of Commercial Vehicle Driveline 摘 要:机车传动轴的振动及噪声直接影响了整车传动的平稳性与乘坐的舒适性,甚至影响到整车的可靠性.作为商用车制造厂,必须对传动轴的振动情况进行研究并对传动轴系进行合理的布 ...

  • 各行业有限元软件比较
  • 序号 软件名称 简介 功能和应用领域 供应商信息 支持并行 情况 通用软件 1. FLUENT Fluent的软件设计基于CFD软件群的思想,从用户需求角度出发,针对各种复杂流动的物理现象,FLUENT软件采用不同的离散格式和数值方法,以期在特定的领域内使计算速度.稳定性和精度等方面达到最佳组合,从 ...

  • 空气悬架试验台固有频率有限元分析
  • 空气悬架试验台固有频率有限元分析 作者:Simwe 来源:Altair 发布时间:2013-02-22 [收藏] [打印] 复制连接 [大 中 小] 我来说两句:(0) 逛逛论坛 空气悬架试验台固有频率有限元分析 卞翔 高扬 祝小元 陕西 西安 710072 摘要:为了准确获得空气悬架试验台的固有频 ...

  • 机械振动课程论文
  • 机械振动 振动是一种特殊的震荡,即平衡位置附近微小或有限的振荡.工程技术设计的机械和结构的振动称作机械振动. 按振动产生的原因分为:自由振动.强迫振动.自激振动.自由振动是系统受初始干扰或原有外激励力取消后产生的振动.强迫振动是系统在外激励力作用下产生的振动.自激振动是在没有周期外力作用下.由系统内 ...

  • 空气悬架固有频率试验研究及理论分析_黄俊明
  • 第47卷第14期 机 械 工 程 学 报 JOURNAL OF MECHANICAL ENGINEERING Vol.47 No.14 Jul. 2011 2011年7月 DOI :10.3901/JME.2011.14.114 空气悬架固有频率试验研究及理论分析 黄俊明1, 2 周孔亢1 徐 兴3 ...