% 画Lorenz庞加莱截面图的程序

LorenzDiEqn2=inline(['[-10*(x(1)-x(2));',...

'-x(1)*x(3)+28*x(1)-x(2);',...

'x(1)*x(2)-8/3*x(3)]'],'t','x');

clc;

% function dx = LorenzDifEqn2(t,x);

% Lorenz系统微分方程

% 方程如下:

% dx = -σ*(x-y)

% dy = -x*z+r*x-y

% dz = x*y-b*z

% sigma = 10;

% b = 8/3;

% r = 20;

% d_x = -sigma*(x(1)-x(2));

% dy = -x(1)*x(3)+r*x(1)-x(2);

% dz = x(1)*x(2)-b*x(3);

% dx = [d_x;dy;dz];

% Poincare_section[绘制庞加莱截面图]

[t,x]=ode45(LorenzDiEqn2,[0,100],[0.1,0.1,10])

figure

plot3(x(:,1),x(:,2),x(:,3))

%figure

%plot(t,x(:,2))

%figure

%plot(t,x(:,3))

z0=28; % 选择z0=28这个截面

j = 0;

for k = 1:length(x(:,3))-1

d1 = x(k,3)-z0;

d2 = x(k+1,3)-z0;

if abs(d1)<1e-8

j = j+1;

X1(j) = x(k,1);

X2(j) = x(k,2);

continue;

end

if sign(d1)*sign(d2)<0

j = j+1;

Q=polyfit([x(k,3),x(k+1,3)],[x(k,1),x(k+1,1)],1);

X1(j)=polyval(Q,z0);

Q=polyfit([x(k,3),x(k+1,3)],[x(k,2),x(k+1,2)],1);

X2(j)=polyval(Q,z0);

end

end

figure

plot(X1,X2,'.');

xlabel('x','fontsize',14);

ylabel('dy','fontsize',14);

%

作此截面图时,其本质是当非线性系统进行角动量作用变换后,可以在环面上讨论系统的性质。

%

环面是指类似轮胎内胎的一个东西,而轨线在环面上运动,这种运动是复杂的,

%

包含绕环中心的运动(公转)和绕截面圆心的运动(类似自转);如果这些有两种频率,

% 分别为a

,b,当a/b为有理数时,它们最终会首尾结合到一起,从而形成一个圈。

%

因此,截面上只会留下一个点,这个点是轨线穿越截面时留下的;当两种频率之比(旋转数)为无理数时,

%

两轨线永不相交,这时截面上留下一个圆的痕迹,所以所拟周期的Poincare截面图是一个圆。

庞加莱截面的c语言编程,[转载]画Lorenz庞加莱截面图的程序相关推荐

  1. 庞加莱截面的c语言编程,画Lorenz庞加莱截面图的程序

    % 画Lorenz庞加莱截面图的程序 LorenzDiEqn2=inline(['[-10*(x(1)-x(2));',... '-x(1)*x(3)+28*x(1)-x(2);',... 'x(1) ...

  2. C语言编程>第二十三周 ③ 下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序;然后把第三字符插入

    例题:下列给定程序中,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序.插入法的基本算法是:先对字符串中的头两个元素进行排序:然后把第三字符插入到前两个字符中,插入后前三个字 ...

  3. C语言编程>第二十周 ② 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。

    例题:下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调.次最大数和b[1]中的数对调. 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构. ...

  4. C语言编程>第二十五周 ① 给定程序中,函数fun的功能是:在形参s所指字符串中的每个非数字字符之后插入一个“*”号。

    例题:给定程序中,函数fun的功能是:在形参s所指字符串中的每个非数字字符之后插入一个"*"号. 例如,形参s所指的字符串为:albc45sdtg56f,则执行结果为:a*1b*c ...

  5. C语言编程>第十八周 ⑧ 给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列。

    例题:给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列. 注意:请勿改动主函数main与其他函数中的任何内容,仅在横线上填写所需的若干表达式或语句. 代码如 ...

  6. C语言编程>第二十五周 ② 下列程序中,函数fun的功能是:将大写字母转换为对应小写字母之后的第五个字母,若为小写字母为v~z,使小写字母的值减21,转换后的小写字母作为函数值返回。

    例题:下列程序中,函数fun的功能是:将大写字母转换为对应小写字母之后的第五个字母,若为小写字母为v-z,使小写字母的值减21,转换后的小写字母作为函数值返回. 例如,若形参是字母A,则转换为小写字母 ...

  7. C语言编程>第五周 ⑤ 编写一个程序,从键盘输入X,Y,Z 3个数, 编写函数计算3个数的立方和并返回计算结果。

    例题:编写一个程序,从键盘输入X,Y,Z 3个数, 编写函数计算3个数的立方和并返回计算结果. 第一种方法: 代码如下: #include <stdio.h> int abc(int,in ...

  8. 【嵌入式基础】用C语言编程、寄存器实现LED流水灯程序;stm32CubeMX+Keil使用HAL库点亮流水灯

    本文主要介绍STM32F103系列芯片的地址映射和寄存器映射原理,GPIO端口的初始化设置步骤.利用C语言编程和寄存器点亮流水灯以及stm32CubeMX+Keil使用HAL库点灯 目录 一.STM3 ...

  9. c语言编程如何画圆环并抗锯齿,少儿编程之使用画笔画个彩色圆环

    少儿编程之用画笔画个彩色圆环 上节课我们学习了方框的画法.要画一个方框,需要自定义一个变量,然后设好步长,在编程过程中注意与画笔的操作顺序抬笔和落笔.一个正方形有四个直角,每画一个正方形都要进行转弯, ...

最新文章

  1. linux为3种人准备了权限,linux的3种特殊权限
  2. Swift类扩展使用方法
  3. java 和c 比优势_Java和C++各有什么优势。
  4. java访问数据库方式_java数据库访问(二)—JDBC方式(配合连接池)
  5. HDU 2303 The Embarrassed Cryptographer
  6. 如何通过 Siri 播放视频?且看优酷技术接入实践
  7. ASP中如何在退出一个页面时自动清空session变量
  8. java并发学习--线程池(一)
  9. 山东大学软件学院计算机组成原理课程设计整机实验(3)
  10. 海康威视视频监控客户端开发实践
  11. 计算机控制技术期中测试素材2020版
  12. ps html 优化,photoshop越用越卡的解决方法,ps性能优化教程
  13. TensorFlow案例---概率学中的逆概率
  14. 2021-09-03 Elasticsearch基操
  15. Qt TCP文件传输工具 源码分享
  16. java 好和不好的形容词 英语怎么说_为什么很多人译不好“It+is+a+形容词+名词+that从句”?...
  17. 美女请25个国家的大神PS自己 你喜欢哪个国家的?
  18. SpringCloud-消息总线BUS
  19. 线性代数的本质(一)
  20. ownin下的webapi上传图片

热门文章

  1. 计算机考研840学校,2017年兰州理工大学计算机与通信学院840数字信号处理考研题库...
  2. 华南理工大学计算机应用技术如何,余志文(华南理工大学计算机学院教授、博导)_百度百科...
  3. idea实现简单servlet的登录
  4. MySQL union 和 union all的区别
  5. uniapp 学习笔记二十七 购物车总价计算及弹窗交互逻辑完善
  6. 达内培训Python靠谱吗
  7. SD-Flasher在win7系统里面烧写SD卡的问题
  8. 关于DG(域泛化)领域的PCL方法的代码实例
  9. 气泡水位计的工作原理及注意事项
  10. Arduino单片机控制步进电机