大概没有什么技术性内容
下面是一些前置知识
隐函数
定义
隐式方程 是形如 的方程, 其中 是一个多元函数
由上面隐式方程所定义的函数叫做 隐函数, 比如 圆锥曲线
导数
偏导数 是多元函数 对于其中一维 的导数, 通常表示为 或者是
可以看作是 的另一种写法, 用来表示偏导数
全导数 是多元函数 的导数, 并非偏向某一维
显然地, 全导数在点 存在的条件为此多元函数在 某邻域内的各个偏导数存在且偏导函数在该点都连续
下面是一些常用记号
的一阶偏导数:
的二阶偏导数:
下面就是关于多元函数全导数的计算:
对于多元函数 , 现在求这个函数的全导数
先求出 关于 的偏导数
那么考虑 关于 的全导数
关于 的全导数
若能得到 的倍数关系, 则有
于是
关于 的全导数也是如此, 这里就略了
微分方程
微分方程通常分为 常微分方程 及 偏微分方程
微分方程的解 通常 是一类函数
常微分方程
常微分方程 指一微分方程的未知数是单一自变量的函数. 相对于其他微分方程来说是最简单的常微分方程, 通常形式如下:
是一个多元函数, 是第一个仅关于 的函数
这里来简单介绍一个基础物理模型: 重力作用之下单摆的运动, 容易写出微分方程:
其中 为单摆的长度, 为重力加速度. 为了保证切合实际, 我们加入与速度相关的阻力 :
这就是一个经典的非线性微分方程的例子, 但是由于作者不会解这个方程, 所以关于求解它咕了
这里放一下 3b1b 上数值求解的代码
import numpy as np g = 9.8 # Gravity acceleration L = 2 # Length of single pendulum mu = 0.1 # resistance # The initial value THETA_0 = np.pi / 3 THETA_DOT_0 = 0 # calc def calc_double_dot (theta, theta_dot): return -mu * theta_dot - (g / L) * np.sin(theta) def Theta (t): # initialization theta = THETA_0 theta_dot = THETA_DOT_0 delta_t = 0.01 # Step size for time in np.arange(0, t, delta_t): theta_double_dot = calc_double_dot(theta, theta_dot) theta += theta_dot * delta_t theta_dot += theta_double_dot * delta_t return theta time = 100 print(Theta(time))
偏微分方程
偏微分方程 是指含有未知 多元 函数及其偏导函数的方程, 通常分为 线性偏微分方程 与 非线性偏微分方程
下面是一个例子:
<热传导方程> 各向同性介质中的热传导
先考虑一维的情况, 令 表示 时 的温度, 可以简单得出关于 的微分方程:
其中 表示是 热扩散率 ,受材料的热传导率、密度与热容的影响. 也就是考虑扩展到高维情况, 比如对于一个三维物体 , 有
这里的 是一个四元函数 , 后面的三个参数代表一个三维中的坐标 , 第一个参数 则仍然代表时间
这是一个拉普拉斯算子的形式(拉普拉斯算子出现描述许多物理现象的微分方程里), 将其写成拉普拉斯算子版:
未完待续