紧急求助duffing算子的幅频分岔曲线及整个方程的分岔图matlab代码

紧急求助duffing算子的幅频分岔曲线及整个方程的分岔图matlab代码,第1张

%%%(4)题:绝对可以出那个分岔

aa=[1:0.02:2.5,2.505:0.005:3.5,3.501:0.001:4]%节约计算,变变长

n=200

plotn=5

savex=[]

for a=aa

x=0.5

for i=2:n

x(i)=a*x(i-1)*(1-x(i-1))

end

savex=[savexx((n-plotn+1):n)]

end

plot(aa,savex,'.')

可以借助于嵌套函数或匿名函数实现附加参数的传递,例如

function main

y0 = [1.40.10.1]

A = linspace(eps, 10, 20)

Y = A * NaN

for ii = length(A)

a = A(ii)

y = ode45(@eq2, [0 a], y0)

Y(ii) = y(end, 1)

end

plot(A, Y)

function dy=eq2(t,y)

dy = y*0

dy(1)=-(a*y(2))/(4*exp(a*t/4))

dy(2)=-(a/4)*(exp(a*t/4))*(y(1)+0.5)+(a/4)*y(2)-y(3)*((exp(a*t/4))^2)

dy(3)=4*y(2)

end

end

但微分方程组似乎是刚性的,不过换用ode15s、ode23s等适合刚性系统的算法效果也不理想(可以调用ode*函数时不返回参数,观察求解的过程)。

omega是个啥?常数还是变量?

clear all

clc

gamma=0.1

kapa=1

xi=1

F=0.1

omega=5

f=@(t,x)([x(2)-gamma*x(2)+kapa*x(1)-xi*x(1)^3+F*cos(x(3))omega])

[t,X]=ode45(f,0:.1:4,[0 .1 0])

plot(X(:,1),X(:,2))

xlabel('x(1)'),ylabel('x(2)')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12202615.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存