有阻尼多自由度系统固有频率、阻尼的求取

对如下弹簧阻尼系统做的仿真,可以看到这是一个二阶系统,有阻尼存在,且阻尼是比例阻尼,可以用传统模态矩阵的方法求解,不过如果要让matlab画出多自由度系统的响应,需要使用状态方程辅助矩阵,具体详见代码。

代码如下

%多自由度系统仿真

clc

clear

closeall

%%物理参数

m = 200;

k = 980*1000;

c = 1.5*1000;

m1 = 1;

m2 = 1;

k1 = 1;

k2 = 1;

k3 = 0;

c1 = 1;

c2 = 1;

c3 = 0;

u1 = 1;%激励

u2 = 1;

%物理方程的矩阵

M = [m1 0;

0 m2;]*m;

C = [c1+c2 -c2;

-c2 c2;]*c;

K = [k1+k2 -k2;

-k2 k2;]*k;

Z = zeros(size(M));

I = eye(size(M));

F = [u1; u2];

%%状态方程辅助矩阵做仿真用

A = [C M;

M Z];

B = [K Z;

Z -M;];

G = [F;zeros(size(F))];

D = [Z I;

-inv(M)*K -inv(M)*C;];

%标准状态方程矩阵

Asys = D;

Bsys = inv(A);

Csys = [I Z];

Dsys = [Z Z];

sys = ss(Asys, Bsys, Csys, Dsys);

%脉冲响应

ts = 0.001;

fs = 1/ts;

t = 0:ts:3;

y = impulse(sys, t);

y1u1 = y(:,1,1);

y1u2 = y(:,1,2);

y2u1 = y(:,2,1);

y2u2 = y(:,2,2);

figure

subplot(221)

plot(t, y1u1)

title('y1-u1'), gridon

subplot(222)

plot(t, y1u2)

title('y1-u2'), gridon

subplot(223)

plot(t, y2u1)

title('y2-u1'), gridon

subplot(224)

plot(t, y2u2)

title('y2-u2'), gridon

%%解多自由度问题

[omega, phi, phin] = MDOFSolve(M, K);

Mr = simplify(phin'*M*phin);

Cr = simplify(phin'*C*phin);

Kr = simplify(phin'*K*phin);

fprintf('转化为正则空间的结果:\n');

fprintf('Mr=\n');

eval_r(Mr)

fprintf('Cr=\n');

eval_r(Cr)

fprintf('Kr=\n');

eval_r(Kr)

omegan = diag(Kr).^0.5;

zeta = diag(Cr)/2./omegan;

fprintf('固有频率(Hz)\n');

subs(omegan/2/pi)

fprintf('阻尼比\n');

subs(zeta)

得到的结果如下

转化为正则空间的结果:

Mr=

ans =

1 -8.01360251500077e-017

-8.01360251500077e-017 1

Cr=

ans =

2.86474508437579 1.65595689001804e-016

1.65595689001804e-016 19.6352549156242

Kr=

ans =

1871.63345512552 1.08189183481179e-013

1.08189183481179e-013 12828.3665448745

固有频率(Hz)

ans =

6.88542150158426

18.0262675180169

阻尼比

ans =

0.0331089636830301

0.0866803922544587

上面代码中的MDOFSolve函数如下

%多自由度模态矩阵的求取

function[omega, phi, phin] = MDOFSolve(M, K)

%求特征频率

symsw

eq = det(K - w*M);

omega2 = solve(eq, w);% omega平方

[~,IX] = sort(subs(omega2));

omega2 = omega2(IX);%排序

omega2 = real(eval_r(omega2));

% fprintf('特征频率的平方omega2:\n');

% pretty(omega2);

%求模态矩阵

omega2u = unique(omega2);

[~,IX] = sort(subs(omega2u));

omega2u = omega2u(IX);

u = sym(zeros(size(M,1)));

ind = 1;

forr = 1:length(omega2u)

ur = null(K-omega2u(r)*M);%重特征值的情况,M为单位阵的话,直接满足要求;否则要另处理

u(:, ind:ind+size(ur, 2)-1) = ur;

ind = ind + size(ur, 2);

end

% fprintf('模态矩阵u:\n');

% pretty(u)

% fprintf('u''*M*u:\n');

% pretty(simplify(u'*M*u))

% fprintf('u''*K*u:\n');

% pretty(simplify(u'*K*u))

%求正则模态矩阵

unorm = sym(zeros(size(M,1)));

forr = 1:size(u, 1)

ur = u(:, r);

Mr = ur'*M*ur;

ur = ur/Mr^0.5;

unorm(:, r) = ur;

end

% fprintf('正则模态矩阵unorm:\n');

% pretty(unorm)

% fprintf('unorm''*M*unorm:\n');

% pretty(simplify(unorm'*M*unorm))

% fprintf('unorm''*K*unorm:\n');

% pretty(simplify(unorm'*K*unorm))

% out

% omega = simplify(sqrt(omega2));

omega = sqrt(omega2);

phi = simplify(u);

phin = simplify(unorm);

end

多自由度有阻尼matlab,有阻尼多自由度系统固有频率、阻尼的求取相关推荐

  1. matlab弹簧阻尼系统论文,MATLAB系统仿真报告有阻尼受迫振动系统.doc

    MATLAB系统仿真报告有阻尼受迫振动系统 问题描述 有阻尼受迫振动的结构及基本原理 图一 有阻尼的受迫振动系统 图1为有阻尼的受迫振动系统,质量为M,摩擦系数为B, 弹簧倔强系数为K.拉力.摩擦力和 ...

  2. 受迫阻尼 matlab 仿真,MATLAB系统仿真报告——有阻尼受迫振动系统

    一. 问题描述 有阻尼受迫振动的结构及基本原理 图一 有阻尼的受迫振动系统 图1为有阻尼的受迫振动系统,质量为M,摩擦系数为B, 弹簧倔强系数为K.拉力.摩擦力和弹簧力三都影响质量为M的物体的加速度. ...

  3. matlab二阶阻尼震荡衰减,MATLAB系统仿真报告——有阻尼受迫振动系统

    一. 问题描述 有阻尼受迫振动的结构及基本原理 图一 有阻尼的受迫振动系统 图1为有阻尼的受迫振动系统,质量为M ,摩擦系数为B , 弹簧倔强系数为K .拉力.摩擦力和弹簧力三都影响质量为M 的物体的 ...

  4. matlab计算结构自振频率,基于Matlab的多自由度系统固有频率及振型计算

    基于Matlab的多自由度系统固有频率及振型计算 阅读:25212010-04-13 21:38 标签:杂谈 可参考文涛,基于Matlab语言的多自由度振动系统的固有频率及主振型计算分析,2007 对 ...

  5. 2021-03-16 汽车二自由度操纵稳定性 Matlab simulink

    汽车二自由度操纵稳定性 Matlab simulink

  6. 主振型 matlab 振动,基于MATLAB语言的多自由度振动系统的固有频率及主振型计算分析...

    基于 MATLAB 语言的多自由度振动系统的固有频率及主振型计算分析 文 涛 ,胡青春 (华南理工大学 机械工程学院 ,广东 广州 510640) 摘要 :多自由度振动系统固有频率及主振型计算分析是研 ...

  7. 基于matlab的mk2三自由度机械臂轨迹规划及控制器仿真设计

    基于matlab的mk2三自由度机械臂轨迹规划及控制器仿真设计(报告+ppt) 摘 要:本文的研究对象为EEZYbotARM MK2三自由度机械臂,分析了其机械结构,建立D-H参数表,同时在MATLA ...

  8. 四自由度机械臂matlab建模与仿真

    四自由度机械臂matlab建模与仿真 建模过程使用机器人工具箱Robotics Toolbox 机械臂有四个旋转自由度,模型近似如下,使用ADAMS建模 首先建立DH参数 matlab代码如下 cle ...

  9. matlab 固有频率 振型,基于MATLAB语言多自由度振动系统固有频率及主振型计算分析.pdf...

    7 8 2007 1 36 1 MA T LA B 文 涛, 胡青春 ( , 510 640) : 多自由度振动系统固有频率及主振型计算分析是研究其振动特性的 础, 矩阵迭代法是计 算固有频率及主振型 ...

  10. matlab演示系统,基于Matlab的通信原理演示系统的设计与应用

    基于 Matlab的通信原理演示系统的设计与应用 李 强 , 明 艳 , 吴坤君 (重庆邮电大学 通信学院 , 重庆 400065) 摘 要 : 利用 Matlab图形用户界面的开发环境和强大的通信仿 ...

最新文章

  1. 9.切换 iframe
  2. mysql 非自然月统计_技本功|统计信息对SQL执行效率的影响
  3. feign调用session丢失解决方案
  4. 工程搭建:搭建子工程之搭建环境构造返回实体类
  5. [BZOJ3545][ONTAK2010]Peaks
  6. Java 线程池框架核心代码分析
  7. UI设计中颜色的前进色与后退色
  8. Shell 07 项目案例
  9. 【LeetCode】剑指 Offer 15. 二进制中1的个数
  10. 复习笔记08 常用API
  11. 病毒 Worm.Logo.g
  12. Java实现短信验证码(阿里云)附短信SDK demo下载
  13. VBOT - PHP 个人微信号群管理机器人
  14. dsp6657的串口学习
  15. python 战舰_Python战舰:获取用户输入的他们想要多少艘战舰
  16. ping命令英文全称
  17. 线性和非线性方程数值解法_数值分析计算方法
  18. 魔力鸭linux驱动下载,驱动软件 RGB背光键盘最佳伴侣_魔力鸭 2108 S2 RGB全彩自定义机械键盘_键鼠评测-中关村在线...
  19. gtp java 文件传输_5_1_图片上传
  20. 数字电子钟 1Hz 秒脉冲信号的设计

热门文章

  1. 核心单词Word List 6
  2. 51单片机-波特率的计算定时器初始值的计算
  3. 关于南京市大学生办理住房补贴的流程示意图
  4. 【游戏开发实战】(完结)使用Unity制作水果消消乐游戏教程(九):使用UGUI显示游戏UI
  5. Linux服务器4 --- select模型服务端代码及select模型的利弊
  6. win10修复计算机选项,为你win10系统设置启动时按F10出现修复计算机选项的技巧...
  7. Kubernetes K8S之affinity亲和性与反亲和性详解与示例
  8. 计算机歌曲压缩比公式,音频动态压缩第三层(MPEGAudioLayer-3)
  9. matlab中ode45如何设置,如何使用Matlab中的ode45修正赋值错误(ode45函数的第488行)
  10. 全国计算机二级flash,教你如何在Flash当中制作插按钮动画