matlab画的duffing方程 相图 和 庞加莱截面图
昨天刚知道什么是相图和庞加莱截面,今天用matlab实现,给我的感觉虽然能画出图但理论基础还差得远。以前我是用vc++编程,现在发现用matlab编程真是太简单了,不过简单归简单就是效率有点低与vc++相比;相图和庞加莱截面图实现:
第一步,建立一个M文件,用来存贮函数,本例题以达芬方程(Duffing)为例,其中force为参数
function df=dafen(t,x,flag,force)
df=;
第二步,建立一个画图的M文件
clear
force=0.222;
options=odeset('RelTol',1e-7);%定义误差精度的,系统默认1e-3,如果改为1e-3,X将等于0
tt=2*pi/1.2 %定义步长的
=ode45(@dafen,,,options,[],force);
figure
plot(x(2000:end,1),x(2000:end,2),'-')
%X=x-xxx %检验options的
%pojialai
hold on
i=2000:100:3000
plot(x(i,1),x(i,2),'*')转自:http://blog.sina.com.cn/s/blog_68f34ea50100lj0h.html
页:
[1]