Matlab如何求频响函数
本帖最后由 牛小贱 于 2014-12-17 09:48 编辑小弟初学Matlab,现在做一个关于模态分析的程序。现在程序基本都写好了,但是不知道如何编写频响函数的程序,希望各位前辈指点一下。
程序如下:
%二自由度可解耦系统的振动模态
clc;
clear;
m1=1;
m2=2;
k1=2;
k2=4;
c1=1;
c2=2;
x0=; %初始位移
xd0=;%初始速度
tf=50; %时间
dt=0.1; %时间间隔
M=;
K=;
C=;
A=;
y0=;
for i=1:round(tf/dt)+1 %设定计算点,作循环计算
t(i)=dt*(i-1);
y(:,i)=expm(A*t(i))*y0; %循环计算矩阵指数
end
figure(2);
subplot(2,1,1);plot(t,y(1,:));xlabel('Zeit');ylabel('Verschiebung1');grid on
subplot(2,1,2);plot(t,y(2,:));xlabel('Zeit');ylabel('Verschiebung2');grid on
=vbr_sf(M,K,C)函数程序如下:
function =vbr_sf(m,d,k)
%vbr_sfvbr_sf(m,d,k)
% =vbr4(m,d,k)
% function vbr_sf finds the mode shapes and natural frequencies of
% a linear second order matrix equation.
% =vbr_sf(m,k) finds the mode shapes and natural frequencies
% for the undamped case.
if nargin==2
k=d;
=eig(m\k);
w=sqrt(w);
end
if nargin==3
if norm(d/m*k-k/m*d) < 1e-8*norm(k/m*d)
%disp('Damping is proportional, eigenvectors are real.')
=eig(m\k);
w=sqrt(w);
else
%disp('Damping is non-proportional, eigenvectors are complex.')
a=;
=eig(a);
w=abs(w1);
end
end
w=diag(w);
{:{39}:}{:{39}:} 自功率谱和互功率谱的比值 记得有个专门的函数,直接把输入和输出相比。。。实测的数据。 顶看看大神回答 继续, 讲明白一点....... help TFESTIMATE zswseu 发表于 2014-12-21 20:07
记得有个专门的函数,直接把输入和输出相比。。。实测的数据。
tfestimate chybeyond 发表于 2014-12-17 10:01
自功率谱和互功率谱的比值
是互谱比自谱吧 你的程序是响应函数吧,频响函数如果你要从模态分析的方法做,建议参考曹树谦编著的振动结构模态分析,很详细。希望对你有帮助 刘长 发表于 2016-6-7 15:51
你的程序是响应函数吧,频响函数如果你要从模态分析的方法做,建议参考曹树谦编著的振动结构模态分析,很详 ...
有代码吗可以分享一下
页:
[1]