绘制Duffing振子的分叉图的程序.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
绘制Duffing振子的分叉图的程序

这些程序思想有些可能不正确,有问题,自己改进,我不再负责对这些程序解释。因为我都不知道道理在哪里。但是期望您能在程序的提示下,进一步的做改进或者改正,以期获得更为精确的结果。别照搬和迷恋别人的程序! % % %%%% 绘制Duffing振子的庞加莱截面图的程序 % % buchang:已知激励下步长数值的大小, % % tend程序仿真达到150个激励周期的总时间, % clear;clc % global m c k1 k3 F0 omega % % m=1;c=0.1;k1=0;k3=1;omega=1;F0=12 % x0=[3;4]; % tstart=0;Tbushu=600;buchang=(2*pi/omega)/Tbushu;tend=(2*pi/omega)*150; % tspan=[tstart:buchang:tend]; % [t,y]=ode45(dafin3,tspan,x0); % count=find(t(2*pi/omega*40)); % 去掉前40个周期的激励时间以消除瞬态响应的影响 % Y=y(count,:); % TData=Y(1:Tbushu,1)-Y((Tbushu+1):Tbushu*2,1); % [maxvalue,indices]=max(abs(TData)) % pointnumber=round((tend-2*pi/omega*40)/buchang/Tbushu)-1; % dis=zeros(pointnumber,1); % velo=zeros(pointnumber,1); % for i=1:pointnumber % dis(i,1)=Y(Tbushu*(i-1)+indices,1); % velo(i,1)=Y(Tbushu*(i-1)+indices,2); % end % figure,plot(dis,velo,b.,markersize,5); % %%%% 绘制Duffing振子的分叉图的程序 % clear;clc % global m c k1 k3 F0 omega; % m=1;k1=0;k3=1;omega=1;F0=12; % range=[0.01:0.01:1]; % YY=[];k=0; % for c=range % k=k+1; % y0=[3,4]; % tspan=[0:0.01:200]; % [t,Y]=ode45(dafin3,tspan,y0); % count=find(t100); % Y=Y(count,:); % % 画x的分岔图。 % j=1; % n=length(Y(:,1)); % for i=2:n-1 % if Y(i-1,1)+epsY(i,1) Y(i,1)Y(i+1,1)+eps %简单的取出局部最大值。 % YY(k,j)=Y(i,1); %使最大值计数个数自动增加 % j=j+1; % end % end % if j1 % plot(c,YY(k,[1:j-1]),b.,markersize,5); % end % hold on; % index(k)=j-1; % end % xlabel(c); % ylabel(x max); % title(dafin bifurcation diagram); % % % 绘制分岔图的程序 % clear,clc % global m c k1 k3 F0 omega % % m=1;c=0.1;k1=0;k3=1;omega=1;F0=12; % ccanshu=0.01:0.01:1; % for k=1:100 % c=ccanshu(k) % x0=[3;4]; % tspan=[0:0.01*2*pi:500]; % [t,y]=ode45(dafin3,tspan,x0); % dis=zeros(50,1); % velo=zeros(50,1); % for i=1:50 % dis(i,1)=y(100*(i+20),1); % velo(i,1)=y(100*(i+20),2); % end % Dismatrix(k,:)=dis; % end % figure,plot(ccanshu,Dism

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档