机械振动系统的matlab仿真分析 |
您所在的位置:网站首页 › matlab力学仿真 › 机械振动系统的matlab仿真分析 |
[t,y]=solver('F',tspan,y0) function ydot=F(t,y) ydot=[function1;function2;function3;....] functionn是以列向量形式组成为系统的状态方程(一阶微分方程组) tspan运算的起止时间[t0,t1] y0为初始状态值,用列向量来表示,维数为状态向量数 时域响应函数: initial(零输入响应) impulse(单位冲击响应) step(单位阶跃响应) lsim(任意输入响应) 频域响应函数: bode(系统频率响应-伯德图曲线) nyquist(系统奈奎斯特曲线) 单自由度振动系统和多自由度振动系统:---自由度:状态变量的个数 另外一种整理方法 取弹簧和阻尼器对左侧壁和质量m1的水平作用力z1、z2和质量m1、m2的位移z3、z4为所要研究的输出 D=0 m1=1.5 c1=0.5 k1=0.3 m2=2 c2=0.3 k2=0.6 t1=0:0.1:10 f1=0*t1 f2=0.1*sin(5*t1) u=[f1;f2] A=[-c1/m1 c1/m1 -k1/m1 k1/m1;c1/m1 -(c1+c2)/m2 k1/m2 -(k1+k2)/m2;... 1 0 0 0;0 1 0 0] B=[1/m1 0;0 1/m2;0 0;0 0] C=[0 c2 0 k2;-c1 c1 -k1 k1;0 0 1 0;0 0 0 1] D=0 G=ss(A,B,C,D) x=[0 0 0 0] [y,t1,x]=lsim(G,u,t1,x) plot(t,x(:,1),'g',t,x(:,2),'r',t,x(:,3),'--',t,x(:,4),'-*') legend('x(1)','x(2)','x(3)','x(4)')其中遇到的问题: 错误使用 DynamicSystem/lsim (第 84 行) Invalid syntax for time or frequency response command. See command help for more information. 出错 main (第 21 行) [y,t1,x]=lsim(G,f1,f2,t1,x) 解决: lsim(SYS,U,T)绘制动态系统SYS对输入信号用U和T表示,时间向量T表示为的时间单位,由规则间隔的时间样本组成。矩阵U的列数与SYS中的输入数一样多,并且它的第i行指定 T(i)时刻的输入值。 f1=0*t1 f2=0.1*sin(5*t1) u=[f1;f2] 上图中,图线x1、x2、x3、x4为质量块m1、m2的状态变量-位移(也即输出变量z3、z4)。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |