Python自动造波器椭圆曲线波孤子解

🎯要点

🎯快速傅立叶变换算法周期域解椭圆曲线波 | 🎯算法数值解孤波脉冲和结果动画 | 🎯三种语言孤子解浅水表面波方程 | 🎯渐近分解算法孤子波 | 🎯自适应步长算法孤子波 | 🎯流体自动造波器电机控制,检测孤子波碰撞 | 🎯算法计算复现无碰撞孤子波 | 🎯能量守恒定律线性隐式算法解孤波 | 🎯两种语言有限差分算法解孤波

📜孤子波用例:Python火焰锋动力学和浅水表面波浪偏微分方程

📜有限差分用例:Python微磁学磁倾斜和西塔规则算法

📜标量场用例:Python光束三维二维标量场和算法

在这里插入图片描述
在这里插入图片描述

🍇Python钢棒热微分

热方程简洁地描述了热扩散和传递的极其复杂的世界,它是一个偏微分方程,而非常微分方程,所以在求解它时,只要知道它涉及一个具有多个变量的函数的导数,而不是只有一个变量的函数。
∂ u ∂ t = k ∂ 2 u ∂ x 2 \frac{\partial u}{\partial t}=k \frac{\partial^2 u}{\partial x^2} tu=kx22u
考虑一根初始冷的 ( 0 ∘ C ) \left(0^{\circ} C \right) (0C) 金属棒,长度为 L L L,具有传递热量 k k k 的能力。如果我们连续加热该金属棒的两端,例如 20 0 ∘ C 200^{\circ} C 200C,那么随着时间的推移,热量将在金属棒上扩散并达到平衡。热方程告诉我们热量如何随时间传播,其解为我们提供了一个函数 u ( t , x ) u(t, x) u(t,x),该函数可以在任何给定时间 t t t 给出沿着杆 x x x 的任何点的温度。

然而,与大多数微分方程一样,热方程的精确解析解极难获得,因此对于大多数应用而言,最佳解方法是我们尽可能最好的求近似值。获得这些近似值的方法有很多,但我们今天要重点讨论的是迄今为止最简单且应用最广泛的方法,即有限差分法。

假设一个未知函数 f ( x ) f(x) f(x) 的值是我们知道的,这种情况在现实世界中与收集外部数据的任何情况下经常出现。如果我们想求 f ( x ) f(x) f(x) n n n 点的导数,那么,我们需要找到一条与 f ( n ) f(n) f(n)​ 相切的线,并找到它的斜率,如下所示:

如果我们不知道函数 f ( x ) f(x) f(x),则我们不可能求其导数并找到切线的斜率。而有限差分法旨在解决这个问题,它使用 n n n 的相邻值来近似估计实际切线。如果我们查看 n n n 之前的一个点和 n n n 之后的一个点,并且知道它们的值,我们可以通过在 n n n 和它的一个相邻点之间画一条线来开始估计切线。例如,我们可以尝试在 n n n n + 1 n+1 n+1​ 之间画一条线。

n n n n + 1 n+1 n+1 之间的估计切线与目标切线相对相似,但让我们看看是否可以通过使用 n n n n − 1 n-1 n1 来更接近。

现在我们知道如何获得估计的切线,我们现在可以使用前面提到的斜率公式来获得它的斜率,从而获得函数在该点的导数。

斜率方程:
y 2 − y 1 x 2 − x 1 \frac{y_2-y_1}{x_2-x_1} x2x1y2y1
我们知道 y y y 值就是 f ( n + 1 ) f(n+1) f(n+1) f ( n ) f(n) f(n)​,因此代入我们所知道的斜率公式就变成:
f ( n + 1 ) − f ( n ) x 2 − x 1 \frac{f(n+1)-f(n)}{x_2-x_1} x2x1f(n+1)f(n)
x x x 值遵循类似的套路,因为对 x 2 x_2 x2 插入 n + 1 n+1 n+1,对 x 1 x_1 x1 插入 n n n​ 会导致:
f ( n + 1 ) − f ( n ) 1 \frac{f(n+1)-f(n)}{1} 1f(n+1)f(n)
实际上,我们的 n n n 值很少会精确地间隔为 1,更一般的形式将使它们间隔为任意值 d x dx dx​,从而导致我们的有限差分导数的最终公式为:
d f d x ≈ f ( x + d x ) − f ( x ) d x \frac{d f}{d x} \approx \frac{f(x+d x)-f(x)}{d x} dxdfdxf(x+dx)f(x)
现在回到热方程,我们可以用方程的左边代替它的有限差分版本,考虑到有限微分是相对于 t t t 发生的事实,而空间变量 x x x 保持不变。
u ( t + d t , x ) − u ( t , x ) d t ≈ k ∂ 2 u ∂ x 2 \frac{u(t+d t, x)-u(t, x)}{d t} \approx k \frac{\partial^2 u}{\partial x^2} dtu(t+dt,x)u(t,x)kx22u
在本模拟中,我们将模拟一根长度为 2 米的初始冷金属棒,两端持续加热至 200˚C,假设该棒为钢,热常数 k k k​ 为 0.466。我们将运行 10 秒的模拟,看看会发生什么。

import numpy
from matplotlib import pyplot

常量:

length = 10               
k = .466                  
temp_at_left_end = 200   
temp_at_right_end = 200   
total_time = 10           
dx = .1    
x_vec = numpy.linspace(0, length, int(length/dx))    
dt = .0001    
t_vec = numpy.linspace(0, total_time, int(total_time/dt))
u = numpy.zeros([len(t_vec), len(x_vec)])

由于我们的棒将在两端持续加热,因此我们希望棒的左侧和右侧始终分别为 temp_at_left_end 和 temp_at_right_end。从数学上讲,这可以表示为 u(t, 0) = 200 和 u(t, length) = 200(对于所有时间 t),代码如下:

u[:, 0] = temp_at_left_end     
u[:, -1] = temp_at_right_end  

您可以看到两端的温度很高,而其他地方的温度均为 0,因此,我们准备解决这个问题!我们要做的就是迭代沿棒的所有点和所有时间点,将它们代入我们之前推导的方程中。

for t in range(1, len(t_vec)-1):for x in range(1, len(x_vec)-1):u[t+1, x] = k * (dt / dx**2) * (u[t, x+1] - 2*u[t, x] + u[t, x-1]) + u[t, x]

要可视化它,只需在循环内部调用 pyplot.plot() 即可获得动画绘图,或在循环外部调用 pyplot.plot() 获得静态绘图。

参阅:👉 计算思维 | 亚图跨际

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/35768.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于STM32的智能家庭安防系统

目录 引言环境准备智能家庭安防系统基础代码实现:实现智能家庭安防系统 4.1 数据采集模块4.2 数据处理与分析4.3 控制系统实现4.4 用户界面与数据可视化应用场景:家庭安防管理与优化问题解决方案与优化收尾与总结 1. 引言 智能家庭安防系统通过使用ST…

数据结构——带头双向循环链表(c语言实现)

目录 1.单链表和双向链表对比 2.双向链表实现 2.1 创建新节点 2.2 链表初始化 2.3 尾插 2.4 头插 2.5 尾删 2.6 头删 2.7 查找 2.8 指定位置后插入数据 2.9 删除指定节点 2.10 销毁链表 2.11 打印链表 前言: 我们在前几期详细地讲解了不带头单…

一个项目学习Vue3---快速认识JSX

JSX(JavaScript XML)是一种用于在React框架中编写UI组件的语法扩展。它允许开发者将HTML标记直接嵌入到JavaScript代码中,使得在React组件中编写界面变得更加直观和高效。在编译过程中,JSX会被转换成普通的JavaScript对象&#xf…

工业液晶屏G065VN01 V2规格书简介

G065VN01 V2 背面实物图 2. 概述 G065VN01 V2 专为 VGA (640 x RGB x 480) 分辨率和 16.2M(RGB 6 位 FRC)或 262k 色(RGB 6 位)的工业显示应用而设计。它由TFT-LCD面板、驱动IC、控制和电源电路板以及包括…

css3实现水纹进度条

其实有一个mask-image属性 挺有意思,在元素上面实现遮罩层的效果,不过这玩意有些兼容性问题 需要处理,所以单纯可以通过渐变色的方式来实现 同时加上动画效果 .jianbian {width: 100%;height: 16px;background-color: #eee;display: flex;bor…

华三中小企业组网

一、组网需求 在中小园区中,S5130系列或S5130S系列以太网交换机通常部署在网络的接入层,S5560X系列或 S6520X系列以太网交换机通常部署在网络的核心,出口路由器一般选用MSR系列路由器。 核心交换机配置VRRP保证网络可靠性。园区网中不同的…

MySQL进阶——锁

目录 1全局锁—一致性数据备份 1.1全局锁介绍 1.2语法 1.3 一致性备份案例 1.4 全局锁特点 2表级锁 2.1表锁 2.1.1共享读锁 2.1.2独占写锁 2.2元数据锁 2.3元数据锁 MySQL中的锁,按照锁的粒度分,分为以下三类: (1&…

GitLab配置免密登录之后仍然需要Git登录的解决办法

GitLab配置免密登录之后仍然需要Git登录的解决办法 因为实习工作需要,要在本地拉取gitlab上的代码,设置了密钥之后连接的时候还需要登录的token,摸索之后有了下面的解决办法。 方法一: 根据报错的提示,去网站上设置个人…

动手学自然语言处理:解读大模型背后的核心技术

自从 ChatGPT 横空出世以来,自然语言处理(Natural Language Processing,NLP) 研究领域就出现了一种消极的声音,认为大模型技术导致 NLP “死了”。在某乎上就有一条热门问答,大家热烈地讨论了这个问题。 有…

【STM32】看门狗

1.看门狗简介 看门狗起始就是一个定时器,从功能上说它可以让微控制器在程序发生意外(程序进入死循环或跑飞)的时候,能重新恢复到系统刚上电状态,以保障系统出问题的时候可以重启一次。说的简单一点,看门狗…

用英文介绍孟买:Mumbai India‘s Transforming MEGACITY

Mumbai: India’s Transforming MEGACITY Link: https://www.youtube.com/watch?vtWD_-Rzrn8o Summary First Paragraph: Mumbai, India’s financial and entertainment capital, is undergoing a major transformation. With its contiguous urban population nearing 25…

web图片怎么导入ps?这个方法给你轻松解决!

随着WebP格式图片因其体积小、加载快的优势在网站中日益普及,对于图片编辑者来说,能够直接在Photoshop中打开和编辑WebP文件变得尤为重要。 WebPShop插件应运而生,它是一个专为Photoshop设计的模块,支持打开和保存WebP图像&#…

ATFX汇市:澳大利亚5月CPI大增0.4百分点,降息预期显著降温

ATFX汇市:据澳大利亚统计局数据,澳大利亚5月加权CPI年率为4%,高于前值3.6%,高于预期3.8%,显示出澳大利亚通胀率颇具韧性。5月份数据公布之前,月度CPI年率平均波幅不足0.1个百分点,呈现出横盘震荡…

《数字图像处理》实验报告六

一、实验任务与要求 比较采用不同的色彩空间对彩色图像处理的效果,处理包括: a)直方图均衡化 b)图像增强 二、实验报告 (一)RGB色彩空间的直方图均衡化 / 锐化处理 1、matlab 实现代码: %…

推荐系统(LLM去偏?) | (WSDM24)预训练推荐系统:因果去偏视角

::: 大家好!今天我分享的文章是来自威斯康星大学麦迪逊分校和亚马逊AWS AI实验室的最新工作,文章所属领域是推荐系统和因果推理,作者针对跨域推荐中的偏差问题提出了一种基于因果去偏的预训练推荐系统框架PreRec。 ::: 原文:Pre-t…

mobaXterm上传文件进度一直为0%

在这里修改了senssion、重启都没有用 最后发现是文件存放的路径中不能有中文,改了之后就成功上传了

开展FMEA培训时需要做好哪些准备?

FMEA(失效模式与影响分析)作为一种预防性的质量工具,正逐渐成为当代企业提升产品竞争力的关键。然而,很多企业在开展FMEA时,却常常因为准备工作不足而事倍功半。那么,开展FMEA培训时需要做好哪些准备呢&…

Jenkins流水线发布,一篇就解决你的所有疑惑

这次搭建的项目比较常规,前端是react写的,后端是springboot,并且由于是全栈开发,所以是在同一个项目中。接下来我演示下怎么用jenkins进行自动化发布。 1.jenkins必装插件 这里用到的是jenkinsFile主要是基于Groovy这个沙盒,有些前置插件。这里使用maven进行打包,所以需…

测试基础16:测试用例设计方法-测试大纲法

课程大纲 1、应用场景 验证页面跳转:有多个窗口/页面,每个窗口/页面有多个动作,每个动作之间有相互的联系的场景。看点击后,页面跳转正确与否。 2、设计步骤 step1.列出大纲:列出涉及的页面和页面可执行的动作。 s…

生命在于学习——Python人工智能原理(4.7)

四、Python的程序结构与函数 4.4 函数 函数能将代码划分为若干模块,每一个模块可以相对独立的实现某一个功能,函数有两个主要功能,分别是降低编程难度和实现代码复用,函数是一种功能抽象,复用它可以将一个复杂的大问…