感觉应该不是很难吧,kt/mt就是时变频率,而y应该就是你方程中指的A的变化率,楼主自己编写下试试吧! 回复 16 # meiyongyuandeze 的帖子
你好, 经过里边的参数m(t),k(t),c(t),可以求出里边的瞬时频率和瞬时阻尼,
但这里我还想利用上面的hilbert方法去求解瞬时的频率和阻尼,
里边的A(t) 是瞬时幅值,公式里边的要对他求一阶和二阶导数, 但我得到的A(t) 都是离散的数据, 怎么处理导数呢?谢谢你, 麻烦你拉 本帖最后由 meiyongyuandeze 于 2011-4-15 17:54 编辑
回复 17 # 土木年华 的帖子
状态方程中,一阶导数就是dot(1)=x(2)=y(:,2),二阶导数可以将y带入dot(2)得到的就是。 dot=[x(2);
-ct/mt*x(2)-kt/mt*x(1)]; 回复 8 # meiyongyuandeze 的帖子
你好,前一段时间求教过你, 现在又遇到一个问题要求教你,先谢谢你!
也是解一微分方程:但我自己写的程序计算总是算不出来,一计算matlab就总是忙碌,感觉像是死循环似地,
clear all
clc
close all
%-------------------求解微分方程-------------------------------------
%at+2*qn*(2*pi*fn)*vt+(2*pi*fn)^2*dt=1/m*(D1*G*sin(2*pi*fs*t)*sin(pi*fs*ls*
%t/L))
=ode45('myfun',,);
%-----------------调用的函数
function xdot=myfun(t,x)
%-----------动力特性------------------------------------
fn=2.04; %频率
qn=0.0026; %阻尼
m=58000;%模态质量(kg)
%--------------
G=700; L=78;
fs=normrnd(1.96,0.235,);% 生成500个正态随机数
ls=normrnd(0.63,0.071,);% 生成500个正态随机数
Ph=unifrnd(-pi,pi,);% 生成均匀分布随机数
for i=1:500;
DJ1(i)=-0.2649*fs(i)^3+1.3206*fs(i)^2-1.7597*fs(i)+0.7613;
D1=normrnd(DJ1(i),0.16,);% 对第一阶谐波分量生成500个DLF正态随机数
end
i=1;
t=0:0.001:L/(fs(i)*ls(i)); %个体通过结构的时间
Ft=(D1(i)*G*sin(2*pi*fs(i)*t).*sin(pi*fs(i)*ls(i)*t/L));
xdot=[x(2);
-2*qn*(2*pi*fn)*x(2)-(2*pi*fn)^2*x(1)-Ft/m]; 回复 19 # 土木年华 的帖子
我只是大概看了下,我感觉可能是你定义的函数中的中的t和t=0:0.001:L/(fs(i)*ls(i));这两个t有冲突,个人认为,没调试。 土木年华 发表于 2011-4-15 11:08 static/image/common/back.gif
回复 8 # meiyongyuandeze 的帖子
你好!昨天得到你的知道很受启发,非常感谢你!
请问这是哪篇论文啊,题目是?
页:
1
[2]