thdl520 发表于 2014-11-10 09:37

增量谐波平衡法(IHB)怎样得到完整的幅频曲线

若某非线性系统在某些频率区间中有多个解,则怎样将这多个解全部得到啊,是通过选不同的初始值吗?还是通过所谓的路径跟踪方法(弧长增量法等等)得到?   求大神指点啊!!{:{19}:}{:{19}:}

sundy0868 发表于 2014-11-10 15:37

也不是很清楚啊

thdl520 发表于 2014-11-18 22:05

本帖最后由 thdl520 于 2014-11-18 22:21 编辑

求雪缘和无水两位元老以及IHB方面的专家们给予解惑啊
下面是我编的非对称分段线性IHB法程序 貌似只能得到稳定的解(可以通过改变初始条件来得到),但同一频率下的不稳定解却怎么也得不到该怎么样做啊


clear
clc

% 参数
ks=0.05;F=0.4;
m=1;   % order of subharmonic
eps=0.6;ac=-0.0083;
w0=0.98;


% initial parameter
A0=[ 1 1 0 0 0 0 0];

syms t
CS=;
CS1=diff(CS,t);CS2=diff(CS1,t);

% 确定解位置
t0=0;t1=2*pi;
for k=1:30
   a=[];e=[];
for i=t0:0.1:t1%限定区间,步长为0.1
    =fsolve(@(t)A0(1)+A0(2)*cos(t)+A0(3)*cos(2*t)+A0(4)*cos(3*t)+A0(5)*sin(t)+A0(6)*sin(2*t)+A0(7)*sin(3*t),i,optimset('Display','off')); %求出一个根
    flag=0;%检查是否已经存在在根集中
    for j=1:length(a)
      if abs(x-a(j))<=1e-3
            flag=1; %已经存在
            break;
      end
    end
    if flag==0 %没有存在
      a=;e=;
    end
end

% 选取xo和x1之间的解,去掉极值点
for j=length(a):-1:1
    if a(j)>t1||a(j)<t0||abs(e(j))>1e-3
      a(j)=[];
    end
end

% 排序
a=sort(a);

% linear term integration
rl=inline((w0^2*A0*CS2'+2*ks*m*w0*A0*CS1'-F*m^2*cos(m*t))*CS');
Rl=quadv(rl,0,2*pi);

cl=inline(2*ks*m*w0*CS'*CS1+w0^2*CS'*CS2);
Cl=quadv(cl,0,2*pi);

% nonlinear term integration
a=

n=length(a);
x0=A0*CS';
Rnl=0;
Cnl=0;

rnl1=inline(x0*CS');
rnl2=inline((eps*x0+(1-eps)*ac)*CS');
cnl=inline(1*CS'*CS);
cn2=inline(eps*CS'*CS);

for i=1:n-1
    tc=(a(i)+a(i+1))/2;
    if (A0(1)+A0(2)*cos(tc)+A0(3)*cos(2*tc)+A0(4)*cos(3*tc)+A0(5)*sin(tc)+A0(6)*sin(2*tc)+A0(7)*sin(3*tc))-ac>0
      Rnl=quadv(rnl1,a(i),a(i+1))+Rnl;
      Cnl=quadv(cnl,a(i),a(i+1))+Cnl;
    else
      Rnl=quadv(rnl2,a(i),a(i+1))+Rnl;
      Cnl=quadv(cn2,a(i),a(i+1))+Cnl;
    end
end

R=Rl+Rnl
C=Cl+Cnl;
dA=-C\R;
A0=A0+dA'
nm=norm(R)
if nm<1e-6
    break
end
end


1713573225 发表于 2015-11-13 18:45

请问楼主解决了吗?

犟牛 发表于 2015-11-15 09:57

1713573225 发表于 2015-11-13 18:45
请问楼主解决了吗?

增量谐波平衡法(IHB)相关讨论的帖子还有
http://forum.vibunion.com/thread-76573-1-1.html
http://forum.vibunion.com/thread-58060-1-1.html
http://forum.vibunion.com/thread-129008-1-1.html
http://forum.vibunion.com/thread-128862-1-1.html
http://home.vibunion.com/blog-124723-18102.html
http://forum.vibunion.com/thread-94834-1-1.html

我不是小偷 发表于 2016-3-26 14:14

马一下,正在学习~

wojiuxihuan 发表于 2016-7-20 10:05

我也遇到了这样的问题?用IHB法只能得到一个解而不能得到多个解?不知道你是否解决?

Raspberry 发表于 2016-7-20 10:33

你说的两种方法你试了吗

wjt1713573225 发表于 2016-8-19 08:51

看看学下下

vibmaster 发表于 2016-8-19 13:17

楼主问题解决了吗?

wjt1713573225 发表于 2016-9-13 16:40

本帖最后由 wjt1713573225 于 2016-9-13 16:42 编辑

vibmaster 发表于 2016-8-19 13:17
楼主问题解决了吗?
弧长法研究过吗求解过程中只能得到一个解必须结合弧长法求解出非稳定解

vibmaster 发表于 2016-9-14 08:05

wjt1713573225 发表于 2016-9-13 16:40
弧长法研究过吗求解过程中只能得到一个解必须结合弧长法求解出非稳定解

没研究过需要研究公式吗自己编程序?

wjt1713573225 发表于 2016-9-14 08:46

vibmaster 发表于 2016-9-14 08:05
没研究过需要研究公式吗自己编程序?

是的 必须结合公式才行

哎哟喂110120 发表于 2016-12-16 10:54

为何这种方法始终求不出共存周期呢?

vibmaster 发表于 2016-12-19 08:40

vibmaster 发表于 2016-8-19 13:17
楼主问题解决了吗?

听说过弧长法跟牛顿拉普森类似的迭代对不对
页: [1] 2
查看完整版本: 增量谐波平衡法(IHB)怎样得到完整的幅频曲线