matlab 数组微分方程

matlab 数组微分方程,第1张

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

function main

y0 = [14; 01; 01];

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 = y0;

dy(1)=-(ay(2))/(4exp(at/4));

dy(2)=-(a/4)(exp(at/4))(y(1)+05)+(a/4)y(2)-y(3)((exp(at/4))^2);

dy(3)=4y(2);

end

end

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

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

clear all

clc

gamma=01;

kapa=1;

xi=1;

F=01;

omega=5;

f=@(t,x)([x(2);-gammax(2)+kapax(1)-xix(1)^3+Fcos(x(3));omega]);

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

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

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

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

aa=[1:002:25,2505:0005:35,3501:0001:4]; %节约计算,变变长

n=200;

plotn=5;

savex=[];

for a=aa

x=05;

for i=2:n

x(i)=ax(i-1)(1-x(i-1));

end

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

end

plot(aa,savex,'');

以上就是关于matlab 数组微分方程全部的内容,包括:matlab 数组微分方程、MATLAB ode45 杜芬方程的相图 哪里出错了、紧急求助duffing算子的幅频分岔曲线及整个方程的分岔图matlab代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/zz/10163146.html

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

发表评论

登录后才能评论

评论列表(0条)

保存