




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 .微分方程的定义对于duffing 方程x' +82x+x3 =0 ,先将方程写作x1 X2,23X2 = -3 xi -xifunction dy=duffing(t,x)omega=1;%E 义参数f1=x(2);f2=-omegaA2*x(1)-x(1)A3;dy=fi;f2;2 .微分方程的求解function solve (tstop) tstop=500;%定义时间长度 y0=0.01;0;%定义初始条件 t,y=ode45('duffing',tstop,y0,);function solve (tstop)step=0.01;% 定义步长y0=ran
2、d(1,2);%随机初始条件 tspan=0:step:500;% 定义时间范围 t,y=ode45('duffing',tspan,y0);3 .时间历程的绘制时间历程横轴为t,纵轴为y,绘制时只取稳态部分。plot(t,y(:,1);% 绘制y的时间历程xlabel('t')%横轴为 tylabel('y')%纵轴为 ygrid;%显示网格线axis(460 500 -Inf Inf)%图形显示范围设置4 .相图的绘制相图的横轴为y,纵轴为dy/dt,绘制时也只取稳态部分。红色部分表示只取最后1000个点。plot(y( end-1000:e
3、nd ,1),y( end-1000:end ,2);% 绘制 y 的时间历 程 xlabel('y')% 横轴为 y ylabel('dy/dt')% 纵轴为 dy/dt grid;%显示网格线5 .Poincare映射的绘制对于不同白系统,Poincare截面的选取方法也不同 对于自治系统一般每过其对应线性系统的固有周期,截取一次 对于非自治系统,一般每过其激励的周期,截取一次例程:duffing 方程 x +82x+x3 =0 的 poincare 映射function poincare(tstop)global omega;omega=1;T=2*pi/
4、omega;%线性系统的周期或激励的周期step=T/100;% 定义步长为 T/100y0=0.01;0;% 初始条件tspan=0:step:100*T;% 定义时间范围 t,y=ode45('duffing',tspan,y0);fo门=5000:100:10000%稳态过程每个周期取一个点plot(y(i,1),y(i,2),'b.');hold on;% 保留上一次的图形endxlabel('y');ylabel('dy/dt');Poincare映射也可以通过取极值点得到function poincare(tstop)
5、y0=0.01;0;tspan=0:0.01:500;t,y=ode45('duffing',tspan,y0);count=find(t>100);%截取稳态过程y=y(count,:);n=length(y(:,1);% 计算点的总数for i=2:n-1if y(i-1,1)+eps<y(i,1) && y(i,1)>y(i+1,1)+eps %简单的取出局部最大值plot(y(i,1),y(i,2),'.');hold onendendxlabel('y');ylabel('dy/dt')
6、;6 .频谱yy=fft(y(end-1000:end,1);N=length(yy);power=abs(yy);freq=(1:N-1)*1/step/N;plot(freq(1:N/2),power(1:N/2);xlabel('f(y)')ylabel('y')7 .算例duffing 方程x +x +x3 =0的时间历程,相图,频谱和 poincare 映射。function dy=duffing(t,x)omega=1;%定义参数f1=x(2);f2=-omegaA2*x(1)-x(1)A3;dy=fi;f2;%function duffsim(ts
7、top)step=0.01y0=0.1;0;tspan=0:step:500;t,y=ode45('duffing',tspan,y0);%subplot(2,2,1)plot(t,y(:,1);% 绘制y的时间历程xlabel('t')%横轴为 tylabel('y')%纵轴为 ygrid;%显示网格线axis(460 500 -Inf Inf)%显示范围设置%subplot(2,2,2)plot(y(end-1000:end,1),y(end-1000:end,2);% 绘制 y 的时间历程xlabel('y')%横轴为 yy
8、label('dy/dt')% 纵轴为 dy/dtgrid;%显示网格线%subplot(2,2,3)yy=fft(y(end-1000:end,1);N=length(yy);power=abs(yy);freq=(1:N-1)*1/step/N;plot(freq(1:N/2),power(1:N/2);xlabel('f(y)')ylabel('y')%subplot(2,2,4)count=find(t>100);%截取稳态过程y=y(count,:);n=length(y(:,1);% 计算点的总数for i=2:n-1if y(
9、i-1,1)+eps<y(i,1) && y(i,1)>y(i+1,1)+eps %简单的取出局部最大值plot(y(i,1),y(i,2),'.');hold on;endendxlabel('y');ylabel('dy/dt');D1QI8 .分岔图的绘制x +0.3x x +x3 = F cosl.2t 随 F 变化的分岔图。function dy=duffing(t,x)global c;omega=1;%E 义参数f1=x(2);f2=omegaA2*x(1)-x(1)A3-0.3*x(2)+c*cos(1
10、.2*t);dy=fi;f2;% % clear;global c; %定义全局变量range=0.1:0.002:0.9;%定义参数变化范围k=0;YY=;%定义空数组for c=rangey0=0.1;0;% 初始条件k=k+1;tspan=0:0.01:400;t,Y=ode45('duffing',tspan,y0);count=find(t>200);Y=Y(count,:);j=1;n=length(Y(:,1);for i=2:n-1if Y(i-1,1)+eps<Y(i,1) && Y(i,1)>Y(i+1,1)+eps %简单的取出局部最大值。YY(k,j尸丫(i,1);j=j+1;endendif j>1plo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肿瘤影像组学分析-洞察及研究
- 2025中级导游等级考试(汉语言文学知识)复习题及答案
- 2025年征兵心理纸笔测试试题及答案
- 航空燃油喷射工程中的环境影响分析-洞察及研究
- 农遗法律保护框架-洞察及研究
- 2025年度员工正式聘用合同协议
- 2025年度供货协议合同
- 德阳高二期末考试卷子及答案
- 出入境检验检疫
- 2025建筑混凝土用碎石采购合同
- 二级豆粕创新创业项目商业计划书
- (统编2025版)道德与法治一年级上册教学计划(新教材)
- 2025云南昆明巫家坝建设发展有限责任公司招聘23人笔试备考题库及答案解析
- 2025北京事业单位考试试题及答案
- 2025年电气工程师高级专业考试题库
- 2024年山东省节能与双碳促进中心招聘真题
- 2025-2026学年统编版小学语文四年级上册教学计划及进度表
- 高二奋发+勇攀高峰+课件-2025-2026学年高二上学期开学第一课主题班会
- KTV突发事件安全应急预案
- DB15T 3543-2024 大蒜主要病虫害绿色防控技术规程
- 《液压与气动》课件(共十三章)
评论
0/150
提交评论