<aside> <img src="/icons/condense_yellow.svg" alt="/icons/condense_yellow.svg" width="40px" /> Python | 物理 | 数学 | 快速傅立叶变换 | 算法 | 椭圆曲线波 | 孤子 | 浅水表面波 | 渐近分解算法 | 自适应步长算法 | 自动造波器 | 孤子波碰撞 | 复现无碰撞 | 有限差分
</aside>
🎯快速傅立叶变换算法周期域解椭圆曲线波 | 🎯算法数值解孤波脉冲和结果动画 | 🎯三种语言孤子解浅水表面波方程 | 🎯渐近分解算法孤子波 | 🎯自适应步长算法孤子波 | 🎯流体自动造波器电机控制,检测孤子波碰撞 | 🎯算法计算复现无碰撞孤子波 | 🎯能量守恒定律线性隐式算法解孤波 | 🎯两种语言有限差分算法解孤波
📜孤子波用例:Python火焰锋动力学和浅水表面波浪偏微分方程
pie title 语言分比
"Python":90
"MATLAB":20
"C++":30
"C":10
pie title 内容分比
"数学":90
"物理":80
"偏微分方程":70
"非线性方程":60
"浅水表面波传递":78
"算法":50
"电控":10
"流体力学":60
"二维,三维动画":50
热方程简洁地描述了热扩散和传递的极其复杂的世界,它是一个偏微分方程,而非常微分方程,所以在求解它时,只要知道它涉及一个具有多个变量的函数的导数,而不是只有一个变量的函数。
$$ \frac{\partial u}{\partial t}=k \frac{\partial^2 u}{\partial x^2} $$
考虑一根初始冷的 $\left(0^{\circ} C \right)$ 金属棒,长度为 $L$,具有传递热量 $k$ 的能力。如果我们连续加热该金属棒的两端,例如 $200^{\circ} C$,那么随着时间的推移,热量将在金属棒上扩散并达到平衡。热方程告诉我们热量如何随时间传播,其解为我们提供了一个函数 $u(t, x)$,该函数可以在任何给定时间 t 给出沿着杆 $x$ 的任何点的温度。
然而,与大多数微分方程一样,热方程的精确解析解极难获得,因此对于大多数应用而言,最佳解方法是我们尽可能最好的求近似值。获得这些近似值的方法有很多,但我们今天要重点讨论的是迄今为止最简单且应用最广泛的方法,即有限差分法。
假设一个未知函数 $f(x)$ 的值是我们知道的,这种情况在现实世界中与收集外部数据的任何情况下经常出现。如果我们想求 $f(x)$ 在 $n$ 点的导数,那么,我们需要找到一条与 $f(n)$ 相切的线,并找到它的斜率,如下所示:
如果我们不知道函数 $f(x)$,则我们不可能求其导数并找到切线的斜率。而有限差分法旨在解决这个问题,它使用 $n$ 的相邻值来近似估计实际切线。如果我们查看 $n$ 之前的一个点和 $n$ 之后的一个点,并且知道它们的值,我们可以通过在 n 和它的一个相邻点之间画一条线来开始估计切线。例如,我们可以尝试在 $n$ 和 $n+1$ 之间画一条线。
$n$ 和 $n+1$ 之间的估计切线与目标切线相对相似,但让我们看看是否可以通过使用 $n$ 和 $n-1$ 来更接近。
现在我们知道如何获得估计的切线,我们现在可以使用前面提到的斜率公式来获得它的斜率,从而获得函数在该点的导数。
斜率方程:
$$ \frac{y_2-y_1}{x_2-x_1} $$