第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2020-06-23 本文由骤雨初歇 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

这些程序思想有些可能不正确,有问题,自己改进,我不再负责对这些程序解释。因为我都不知道道理在哪里。但是期望您能在程序的提示下,进一步的做改进或者改正,以期获得更为精确的结果。别照搬和迷恋别人的程序!

% % %%%% 绘制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(t>100); % Y=Y(count,:);

% % 画x的分岔图。 % j=1;

% n=length(Y(:,1)); % for i=2:n-1

% if Y(i-1,1)+epsY(i+1,1)+eps %简单的取出局部最大值。 % YY(k,j)=Y(i,1); %使最大值计数个数自动增加

% j=j+1; % end % end % if j>1

% 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,Dismatrix,'b.','markersize',3);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % %线性参数k1的变化产生的分岔图 % clear;clc

% global m c k1 k3 F0 omega

% m=1;c=0.1;k3=1;omega=1;F0=12;

% kcanshu=0.01:0.01:2; % for k=1:200

% k1=kcanshu(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

% plot(kcanshu,Dismatrix,'b.','markersize',5); % title('参数变化下的分岔图')

% xlabel('线性刚度参数k1的变化') % ylabel('X值')

% %非线性参数k3的变化产生的分岔图 % clear;clc

% global m c k1 k3 F0 omega

% m=1;c=0.1;k1=0;omega=1;F0=12; % kcanshu=0.01:0.01:2; % for k=1:200

% k3=kcanshu(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

% plot(kcanshu,Dismatrix,'b.','markersize',5); % title('参数变化下的分岔图') % xlabel('非线性参数k3的变化') % ylabel('X值')

% %激励参数F0变化产生的分岔图 % clear;clc

% global m c k1 k3 F0 omega

% m=1;c=0.1;k1=0;k3=1;omega=1;

% F0canshu=0.1:0.1:20; % for k=1:200

% F0=F0canshu(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

% plot(F0canshu,Dismatrix,'b.','markersize',5); % title('参数变化下的分岔图') % xlabel('激励参数F0的变化') % ylabel('X值')

% % %激励频率omega变化产生的分岔图

% clear;clc

% global m c k1 k3 F0 omega

% m=1;c=0.1;k1=0;k3=1;F0=12; % omegacanshu=0.1:0.1:10; % for k=1:100

% omega=omegacanshu(k) % x0=[3;4];

% tspan=[0:0.01*2*pi/omega:500]; % [t,y]=ode45('dafin3',tspan,x0); % dis=zeros(50,1); % velo=zeros(50,1); % for i=1:50

% dis(i,1)=y(round(100*omega*(i+20)),1); % velo(i,1)=y(round(100*omega*(i+20)),2); % end

% Dismatrix(k,:)=dis'; % end

% plot(omegacanshu,Dismatrix,'b.','markersize',5); % title('参数变化下的分岔图')

% xlabel('激励频率omega的变化') % ylabel('X值')

% clear;clc

% global m c k1 k3 F0 omega

% n=3,rhs_ext_fcn=@dafin_ext2,fcn_integrator=@ode45,tstart=0,stept=0.5,tend=200, % ystart=[3 4 0],ioutp=10,

% m=1;c=0.1;k1=0;F0=12;k3=1; % omegacanshu=0.1:0.1:10; % for k=1:100 % omega = omegacanshu(1,k),lyapunovzhishu(k,:)=lyapunovfun(n,rhs_ext_fcn,fcn_integrator,tstart,stept,tend,ystart,ioutp) % end

% figure,plot(omegacanshu,lyapunovzhishu), % title('Lyapunov 动力学指数');

% xlabel('激励频率omega变化'); ylabel('Lyapunov 指数');

% % % 绘制分岔图的程序

% 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];

% tstart=0;Tbushu=100;buchang=(2*pi/omega)/Tbushu;tend=(2*pi/omega)*200; % 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); % if k==1

% [maxvalue,indices]=max(abs(TData)); % end

% 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

% Dismatrix(k,:)=dis'; % end

% plot(ccanshu,Dismatrix,'b.','markersize',3);

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新高中教育绘制Duffing振子的分叉图的程序 全文阅读和word下载服务。

绘制Duffing振子的分叉图的程序 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1098139.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top