用julia演示蝴蝶效应:洛伦兹吸引子

这篇具有很好参考价值的文章主要介绍了用julia演示蝴蝶效应:洛伦兹吸引子。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

蝴蝶效应的名字来源于蝴蝶扇动翅膀的动作,虽然这个动作微小,但可能会在数周后引起飓风等极端天气的发生。这种现象表明,微小的变化可能会被放大并产生非线性的结果。这个概念最早由美国气象学家爱德华·洛伦兹提出的。

Lorentz吸引子

Lorentz吸引子堪称是微分方程组的经典入门案例了,图像也具有极高的辨识度,特别像蝴蝶的一对翅膀,同时与蝴蝶效应的内涵极为相称,表现出微小扰动可能带来巨大的差异性后果。

其方程为

d x d t = σ ( y − x ) d y d t = x ( ρ − z ) − y d z d t = x y − β z \begin{aligned} \frac{\text dx}{\text dt}&=\sigma(y-x)\\ \frac{\text dy}{\text dt}&=x(\rho-z)-y\\ \frac{\text dz}{\text dt}&=xy-\beta z \end{aligned} dtdxdtdydtdz=σ(yx)=x(ρz)y=xyβz

julia绘图

将其改写为Julia函数

function lorenz!(du,u,p,t)
    σ,ρ,β = p
    du[1] = σ*(u[2]-u[1])
    du[2] = u[1]*(ρ-u[3]) - u[2]
    du[3] = u[1]*u[2] - β*u[3]
end

将初值 u 0 u_0 u0和参数 p p p设为

u0 = [1.0,0.0,0.0]
p = (10,28,8/3)

走你

using DifferentialEquations         #导入微分方程包
tspan = (0.0,100.0)
prob = ODEProblem(lorenz!,u0,tspan,p)
sol = solve(prob)

绘图

using Plots; gr()
plot(sol,vars=(1,2,3))
savefig("ode_4.png")

lorenz attractor曲线,julia,julia,微分方程,SciML,蝴蝶效应,洛伦兹吸引子

关闭抗锯齿

当然这个图其实是开了“抗锯齿”的,由于sol的结果本身就是一组分立的量,所以关闭denseplot之后,可以看到

plot(sol,vars=(1,2,3),denseplot=false)
savefig("ode_5.png")

lorenz attractor曲线,julia,julia,微分方程,SciML,蝴蝶效应,洛伦兹吸引子

ParameterizedFunctions.jl中提供了一个非常便捷的宏ode_def,可以更加直观地把Lorentz方程写为参数形式文章来源地址https://www.toymoban.com/news/detail-809788.html

L = @ode_def Lorentz begin
    dx = σ*(y-x)
    dy = x*(ρ -z)- y
    dz = x*y -β*z
end σ ρ β

prob = ODEProblem(L,u0,tspan,p)
sol = solve(prob)
plot(sol,vars=(1,2,3))

到了这里,关于用julia演示蝴蝶效应:洛伦兹吸引子的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Julia入门-2、Julia中的全局模块对象

    在 Julia 中,有几个关键的全局模块对象: jl_main_module 表示当前正在执行的模块,也称为“顶层模块”( top-level module )或“主模块”( main module )。这个模块包含了当前 Julia 进程的所有全局作用域。 jl_core_module 是包含 Julia 语言核心定义的模块。该模块中包含了 Julia 的内置

    2024年02月04日
    浏览(39)
  • Julia系列16:Julia与python/c互调

    通过PyCall包,Julia可以直接调用Python包。例如: 数值、布尔、字符串、IO stream、函数、元组、数组或列表、以及包含这些类型的字典等,它们都会自动进行类型的转换(Python函数会被转换或传递为Julia的函数,反之亦然)。其它类型则是通过通用的PyObject提供的。 首先pip ins

    2024年01月19日
    浏览(47)
  • 基于FPGA的Lorenz混沌系统verilog开发,含testbench和matlab辅助测试程序

    目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 将vivado的仿真结果导入到matlab显示三维混沌效果:     vivado2019.2 matlab2022a testbench如下所示:        洛伦兹混沌系统是一种非线性动力系统,最初由爱德华·洛伦兹(Edward

    2024年02月11日
    浏览(40)
  • 【教学类-36-07】对称蝴蝶(midjounery-niji)(涂色、裁剪、游戏(飞舞的蝴蝶))

    Animal Mask , simple stroke, cartoon, black and white outline, uncolored NIJI 5   用以下代码把上面文件夹里所有的2048*2048的单张图片切割程2*2    插入1行2列表格,右侧表格长宽如下  左侧单元格设置如下      插入1行2列表格,右侧表格长宽如下  左侧单元格设置如下 代码    (可以做三

    2024年02月13日
    浏览(38)
  • 运筹系列87:julia求解随机动态规划问题入门

    随机动态规划问题的特点是: 有多个阶段,每个阶段的随机性互不相关,且有有限个实现值 (finite realizations) 具有马尔可夫性质,即每个阶段只受上一个阶段影响,可以用状态转移方程来描述阶段与阶段之间的变化过程。 我们使用julia的SDDP算法包来求解随机动态规划问题。

    2024年01月16日
    浏览(43)
  • 【粒子群算法和蝴蝶算法组合】粒子群混沌混合蝴蝶优化算法研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 文献来源

    2024年02月14日
    浏览(80)
  • 蝴蝶书--ChatGPT基础科普

    temperature 的参数调整输出的概率分布,这个参数值越大,分布就看起来越平滑,也就是高概率和低概率的差距拉小了(对输出不那么确定) Top-P在累计概率超过P的词里进行选择,对于概率分布比较均匀的情况,可选的词就会多一些(可能要几十个词的概率和才会超过P) Few

    2024年04月29日
    浏览(30)
  • 【CheatSheet】Python、R、Julia数据科学编程极简入门

    《Python、R、Julia数据科学编程极简入门》PDF版,是我和小伙伴一起整理的备忘清单,帮助大家10分钟快速入门数据科学编程。 另外,最近 TIOBE 公布了 2023 年 8 月的编程语言排行榜。 Julia 在本月榜单中实现历史性突破,成功跻身 TIOBE 指数前 20 名。Julia 诞生于大约 13 年前,是

    2024年02月13日
    浏览(51)
  • Python和Julia TensorFlow科学计算常微分方程求解器

    常微分方程(ODE)可用于描述动态系统。 从某种程度上来说,我们生活在一个动态系统中,窗外的天气从黎明到黄昏都在变化,我们体内发生的新陈代谢也是一个动态系统,因为随着时间的推移,成千上万的反应和分子被合成和降解。 更正式地说,如果我们定义一组变量,

    2024年02月01日
    浏览(39)
  • Matlab进阶绘图第38期—蝴蝶图

    蝴蝶图 也称旋风图 ,是一种特殊的柱状图。 蝴蝶图一般 由左右两个水平柱状图组合而成,其形如蝴蝶展翅,可以很直观地展示两种数据直接的差异 。 本文使用自制的Butterfly小工具进行蝴蝶图的绘制,先来看一下成品效果: 特别提示:本期内容『数据+代码』已上传资源群

    2024年01月18日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包