各类混沌matlab程序实现.docxVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
各类混沌matlab程序实现

混沌同步模型 驱动系统和响应系统都是Lorenz System,只不过初值不同。 驱动系统: dx/dt=a*(y-x) dy/dt=r*x-y-xz dz/dt=x*y-b*z 初值(0.1,0.1,0.1) 输出信号 令S(t)=x(t) 响应系统:将S(t)代替x(t)作为激励信号 dx/dt=a*(y-x) dy/dt=r*x-y-xz dz/dt=x*y-b*z 初值(0.1,0.1,1) 最后求响应系统的输出x(t),y(t),z(t) 程序: function [Y1] = Lorenz_response(tspan);%%计算处于响应地位的Lorenz系统的数值解,并由此画出其相图 yinit = [0.1,0.1,1];% 初始化输入 y(1:3) = yinit; tstart = 0; % 时间初始值 tstep = 1e-1; % 时间步长 wholetimes = 1e2; % 总的循环次数 steps = 1; % 每次演化的步数 iteratetimes = wholetimes/steps; % 演化的次数 S=output; for i=1:iteratetimes; tspan = tstart:tstep:(tstart + tstep*steps); [T,Y1] = ode45(@Lorenz_driven, tspan, y); y = Y1(size(Y1,1),:); y(1)=S(i,1); % 重新定义起始时刻 tstart = tstart + tstep*steps; end figure(1) plot3(Y1(:,1),Y1(:,2),Y1(:,3)) function s=output; tstart = 0; % 时间初始值 tstep = 1e-1; % 时间步长 wholetimes = 1e2; % 总的循环次数 % options = odeset(RelTol,1e-4,AbsTol,[1e-4 1e-4 1e-5]); tspan=tstart:tstep:wholetimes*tstep [T,Y] = ode45(@Lorenz_driven,tspan,[0.1 0.1 0.1]); s=Y figure(3) plot3(Y(:,1),Y(:,2),Y(:,3)) function dY=Lorenz_driven(t,Y); a=10; b=8/3; r=60; dY=zeros(3,1); dY=[a*(Y(2)-Y(1));-Y(1)*Y(3)+r*Y(1)-Y(2);Y(1)*Y(2)-b*Y(3)] MatLab常微分方程及常微分方程组的求解 (2011-07-08 23:01:48)  HYPERLINK javascript:; 转载▼ 标签:  HYPERLINK /?c=blogq=%D4%D3%CC%B8by=tag \t _blank 杂谈分类:  HYPERLINK /s/articlelist_1776874690_9_1.html \t _blank 编程之Matlab 最近参加了数学建模,对于老师说的Euler算法的不同步长的精度不一样,编写了一个M函数文件来实现这个精度的比较,把函数附上: function [x,y]= Euler(varargin) %这里使用可变输出输入函数的 %varargin{1}为求解常微分方程的表达式 %varargin{2}为求解常微分方程的定解条件 %需要给出的变量有常微分方程的范围a,b(varargin{3},varargin{4}) %n为对这个区间的分割(varargin{5}) %xlt写于7月8日 %取得算法需要的变量,并附上容易理解的含义变量 a = varargin{3}; b = varargin{4};%自变量的范围 n = varargin{5};%区间的分割次数 h = (b - a)/n;%步长 Dy = varargin{1}; %常微分方程的表达式 y0 = varargin{2}; %常微分方程的定解条件表达式 %首先求出所给常微分方程问题的精确解 x1 = zeros(n+1,1); y1 = zeros(n+1,1); syms f1; syms x; f1 = dsolve(Dy,y0,x); x1(1) = a; y1(1) = subs(f1,{x},{x1(1)}); for i = 2:(n+1) x1(i) = x1(i-1) + h; y1(i) = double(subs(f1,{x},{x1(i)})); end %利用Euler方法求解近似数值微分解 x2 = zeros

文档评论(0)

ktj823 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档