wwhbluesun 发表于 2006-4-21 22:33

请问关于特征系统实现算法

我在模态分析使用特征系统实现算法时,得到的特征
值是实际的2倍,我百思不得其解,这是怎么回事?
请高手不惜指教

[ 本帖最后由 xinyuxf 于 2007-5-16 09:16 编辑 ]

aspen 发表于 2006-4-22 08:50

回复:(wwhbluesun)请问关于特征系统实现算法

请把问题说清楚,比如你用的什么软件算的,模型什么样的等等

lxinghan 发表于 2006-4-22 14:53

本帖最后由 VibInfo 于 2016-4-22 15:03 编辑

  

算法是你自己编的吗?
我自己编过环境激励下的特征系统实现算法。平时精度很高,抗噪能力极其差。
通常情况下,频率的精度很高,大概会在百分之零点几。阻尼精度20%以内
但20%噪声情况下,频率也许能保持5%以内,但阻尼就很离谱了。

wwhbluesun 发表于 2006-4-24 21:40

频率除以2后的精度很好,振型未看

是的

我自己编用Matlab,一五自由度系统
这有关系吗?请高手不惜指教

wwhbluesun 发表于 2006-4-24 21:54

回复:(aspen)回复:(wwhbluesun)请问关于特征系统...

本帖最后由 VibInfo 于 2016-4-22 15:03 编辑

  希望你能帮帮我

  function = ERA(h,Ni,pr,pc,Fs)

  % h 脉冲响应函数(由连续系统仿真得到) , Ni 激励点数

  % h 排列方式:

  % |1,...,No|1,...,No| ... |1,...,No|

  % 1, 2, ... Ni

  %

  % pr 行数(\alpha); pc列数(\beta); Fs 采样频率

   = size(h);

  No = col/Ni;

  H0 = zeros(No*pr,Ni*pc); H1 = H0;

  for kc = 1 : pc

  for kr = 1:pr

  H0( (kr-1)*No+1 : kr*No ,(kc-1)*Ni+1 : kc*Ni ) = reshape( h(kr+kc-1,:),No,Ni );

  H1( (kr-1)*No+1 : kr*No ,(kc-1)*Ni+1 : kc*Ni ) = reshape( h(kr+kc+1,:),No,Ni );

  end

  end

   = svd(H0,0);

  dS = diag(S); r = find(dS > 1e-10); dS = dS(r);

  % = size(S); ldS = length(dS);

  %Ss = ;

  Ss = diag(dS.^(-0.5));

  U = U(:,r); V = V(:,r);

  A1 = Ss * U' * H1 * V * Ss;

   = eig(A1,'nobalance');

  D = diag(D);

  Lam = log(D) * Fs ; % /2 ?????

lxinghan 发表于 2006-4-24 22:26

本帖最后由 VibInfo 于 2016-4-22 15:04 编辑

  你的代码是前边错了,可能是H0,H1 求错了。

  我把下边的代码加入我的程序:

   = svd(H0,0);

  dS = diag(S); r = find(dS > 1e-10); dS = dS(r);

  % = size(S); ldS = length(dS);

  %Ss = ;

  Ss = diag(dS.^(-0.5));

  U = U(:,r); V = V(:,r);

  A1 = Ss * U' * H1 * V * Ss;

   = eig(A1,'nobalance');

  D = diag(D);

  Lam = log(D) *Fs

  w=abs(Lam)/2/pi(这一行是本人加的)

  得到的角频率值没错,不存在2倍关系

  证明你的错误发生在前边

wwhbluesun 发表于 2006-4-25 11:47

回复:(lxinghan)你的代码是前边错了,可能是H0,...

本帖最后由 VibInfo 于 2016-4-22 15:04 编辑

  我写的H0,H1是按书本上的,我知道Matlab有
一个函数就是生成Hankle矩阵,我倒没有仔细
研究,我再试试吧!

hexufei 发表于 2007-5-15 21:15

ERA我的一点体会

现成的hankel 矩阵用在元素为数上还容易,我也好久没能直接用成。
最后不得不用高维数组构造的,不过效果不好。
学姐,学长哪天悟明白啦,一定指导下小弟啊。

hexufei 发表于 2007-5-15 21:20

ERA中出现了许多虚假模态

我自编的ERA中出现了许多虚假模态,搞不懂怎么剔除啊。学长们救小弟 :handshake

dakun 发表于 2007-6-3 16:19

首先你要确定系统矩阵的阶次是多少?那样就不会有虚假模态了

qianglisjzri 发表于 2009-6-6 10:16

出现虚假模态很可能是系统定阶过大造成的,可以用稳定图确定系统阶次

kjc1005 发表于 2009-6-6 22:30

对于有阻尼的N个自由度系统求特征值会得到2N个特征值,他们是互为共轭的特征值,实际得到得特征值是除去负的特征值。
页: [1]
查看完整版本: 请问关于特征系统实现算法