声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3548|回复: 11

[编程技巧] Matlab如何求频响函数

[复制链接]
发表于 2014-12-15 22:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本帖最后由 牛小贱 于 2014-12-17 09:48 编辑

小弟初学Matlab,现在做一个关于模态分析的程序。现在程序基本都写好了,但是不知道如何编写频响函数的程序,希望各位前辈指点一下。

程序如下:
  1. %二自由度可解耦系统的振动模态
  2. clc;
  3. clear;

  4. m1=1;
  5. m2=2;
  6. k1=2;
  7. k2=4;
  8. c1=1;
  9. c2=2;

  10. x0=[0;1];    %初始位移
  11. xd0=[0;-1];  %初始速度

  12. tf=50;       %时间
  13. dt=0.1;      %时间间隔

  14. M=[m1,0;0,m2];
  15. K=[k1+k2,-k2;-k2,k2];
  16. C=[c1+c2,-c2;-c2,c2];
  17. A=[zeros(2,2),eye(2);-M\K,-M\C];

  18. y0=[x0;xd0];

  19. for i=1:round(tf/dt)+1       %设定计算点,作循环计算
  20.     t(i)=dt*(i-1);
  21.     y(:,i)=expm(A*t(i))*y0;    %循环计算矩阵指数
  22. end

  23. figure(2);
  24. subplot(2,1,1);plot(t,y(1,:));xlabel('Zeit');ylabel('Verschiebung1');grid on
  25. subplot(2,1,2);plot(t,y(2,:));xlabel('Zeit');ylabel('Verschiebung2');grid on

  26. [v,w]=vbr_sf(M,K,C)
复制代码
函数程序如下:
  1. function [v,w]=vbr_sf(m,d,k)
  2. %vbr_sf  vbr_sf(m,d,k)
  3. %        [v,w]=vbr4(m,d,k)
  4. %        function vbr_sf finds the mode shapes and natural frequencies of
  5. %        a linear second order matrix equation.  
  6. %        [v,w]=vbr_sf(m,k) finds the mode shapes and natural frequencies
  7. %        for the undamped case.
  8. if nargin==2
  9.   k=d;
  10.   [v,w]=eig(m\k);
  11.   w=sqrt(w);
  12. end
  13. if nargin==3
  14.   if norm(d/m*k-k/m*d) < 1e-8*norm(k/m*d)
  15.     %disp('Damping is proportional, eigenvectors are real.')
  16.     [v,w]=eig(m\k);
  17.     w=sqrt(w);

  18.    else
  19.     %disp('Damping is non-proportional, eigenvectors are complex.')
  20.     a=[0*k eye(length(k));-m\k -m\d];
  21.     [v,w1]=eig(a);
  22.     w=abs(w1);

  23.   end
  24. end
  25. w=diag(w);
复制代码


本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2014-12-16 09:58 | 显示全部楼层

点评

反对: 4.0
反对: 4
不建议这样回帖,谢谢!  发表于 2014-12-17 09:49
发表于 2014-12-17 10:01 | 显示全部楼层
自功率谱和互功率谱的比值

点评

是互谱比自谱吧  详情 回复 发表于 2016-5-27 21:34

评分

1

查看全部评分

发表于 2014-12-21 20:07 | 显示全部楼层
记得有个专门的函数,直接把输入和输出相比。。。实测的数据。
发表于 2014-12-23 19:50 | 显示全部楼层
顶  看看大神回答
发表于 2014-12-27 21:17 | 显示全部楼层
继续, 讲明白一点.......
发表于 2014-12-29 09:40 | 显示全部楼层
help TFESTIMATE

评分

1

查看全部评分

发表于 2014-12-29 16:47 | 显示全部楼层
zswseu 发表于 2014-12-21 20:07
记得有个专门的函数,直接把输入和输出相比。。。实测的数据。

tfestimate
发表于 2016-5-27 21:34 | 显示全部楼层
chybeyond 发表于 2014-12-17 10:01
自功率谱和互功率谱的比值

是互谱比自谱吧
发表于 2016-6-7 15:51 | 显示全部楼层
你的程序是响应函数吧,频响函数如果你要从模态分析的方法做,建议参考曹树谦编著的振动结构模态分析,很详细。希望对你有帮助

点评

有代码吗 可以分享一下  详情 回复 发表于 2016-6-7 16:02
发表于 2016-6-7 16:02 | 显示全部楼层
刘长 发表于 2016-6-7 15:51
你的程序是响应函数吧,频响函数如果你要从模态分析的方法做,建议参考曹树谦编著的振动结构模态分析,很详 ...

有代码吗  可以分享一下
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-1 10:35 , Processed in 0.061545 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表