增量谐波平衡法(IHB)怎样得到完整的幅频曲线
若某非线性系统在某些频率区间中有多个解,则怎样将这多个解全部得到啊,是通过选不同的初始值吗?还是通过所谓的路径跟踪方法(弧长增量法等等)得到? 求大神指点啊!!{:{19}:}{:{19}:} 也不是很清楚啊 本帖最后由 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
请问楼主解决了吗?
增量谐波平衡法(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 马一下,正在学习~ 我也遇到了这样的问题?用IHB法只能得到一个解而不能得到多个解?不知道你是否解决? 你说的两种方法你试了吗 看看学下下
楼主问题解决了吗? 本帖最后由 wjt1713573225 于 2016-9-13 16:42 编辑
vibmaster 发表于 2016-8-19 13:17
楼主问题解决了吗?
弧长法研究过吗求解过程中只能得到一个解必须结合弧长法求解出非稳定解 wjt1713573225 发表于 2016-9-13 16:40
弧长法研究过吗求解过程中只能得到一个解必须结合弧长法求解出非稳定解
没研究过需要研究公式吗自己编程序? vibmaster 发表于 2016-9-14 08:05
没研究过需要研究公式吗自己编程序?
是的 必须结合公式才行 为何这种方法始终求不出共存周期呢? vibmaster 发表于 2016-8-19 13:17
楼主问题解决了吗?
听说过弧长法跟牛顿拉普森类似的迭代对不对
页:
[1]
2