🍍Python光束三维二维标量场和算法

Python | 数学 | 物理 | 矢量 | 计算绘三维图 | 矩阵计算 | 矢量空间变化 | 矢量线性方程 | 变化率 | 体积变化 | 流量图 | 移动对象 | 运动欧拉算法 | 声波 | 光学

🏈指点迷津 | Brief

🎯要点

🎯矢量计算和绘图:🖊二维,三维 | 🖊转换矢量图 | 🖊矢量和矩阵计算 | 🖊矢量空间变换和计算 | 🖊解矢量线性方程 | 🎯数学和物理矢量计算:🎯变化率计算和绘图:🖊平均流量,负变化率 | 🖊绘制平均流速,求不同时间间隔的平均流量 | 🖊近似瞬时流量 | 🖊近似体积变化,流量图上描绘体积变化 | 🖊体积函数黎曼和, 改进近似值定积分和不定积分 | 🎯运动对象计算模拟和算法:🖊匀速运动,加速度,移动物体欧拉算法 | 🎯矢量力场计算和绘图:🖊势能函数模拟重力 | 🖊引力场 | 🖊势能标量场 | 🖊梯度势能计算力场 | 🖊欧拉法构建炮弹轨迹,解三维射程 | 🎯声波计算绘图:🖊声波正弦曲线线性组合 | 🖊傅里叶级数向量分量 | 🎯机器学习

🎯光学:🎯高斯光束 | 🎯表面的反射和折射 | 🎯单缝衍射 | 🎯泊松点 | 🎯不同物体的衍射 | 🎯小圆柱体散射 | 🎯菲涅耳双棱镜干涉 | 🎯镜头聚焦光线 | 🎯二元相位衍射透镜 | 🎯平面波入射周期性衍射光栅 | 🎯闪耀光栅 | 🎯二元相位傅里叶全息图 | 🎯可变折射率:球体、透镜、光纤 | 🎯矢量双缝实验 | 🎯圆形孔径径向偏振高斯光束

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

🍇Python二维三维标量场

在数学和物理学中,标量场是将单个数字与空间(可能是物理空间)中的每个点相关联的函数。标量可以是纯数学数(无量纲)或标量物理量(有单位)。

在物理环境中,标量场必须与参考系的选择无关。也就是说,任何两个使用相同单位的观察者都会同意空间(或时空)中同一绝对点的标量场的值,而不管他们各自的原点在哪里。物理学中使用的例子包括整个空间的温度分布、流体中的压力分布和自旋为零的量子场,例如希格斯场。这些场是标量场理论的主题。

在物理学中,标量场通常描述与特定力相关的势能。力是一个矢量场,可以作为势能标量场的梯度因子来获得。示例包括:

  • 势场,例如牛顿引力势或静电学中的电势,是描述更熟悉的力的标量场。

  • 温度、湿度或压力场,例如气象学中使用的场。

  • 在量子场论中,标量场与自旋为 0 的粒子相关。标量场可以是实数或复数。复数标量场表示带电粒子。这些包括标准模型的希格斯场,以及介导强核相互作用的带电介子。

  • 在基本粒子的标准模型中,标量希格斯场用于通过汤川相互作用和自发对称性破缺的结合,赋予轻子和大质量矢量玻色子质量。这种机制被称为希格斯机制。2012 年,欧洲核子研究中心首次探测到希格斯玻色子的候选者。

  • 在引力标量理论中,标量场用于描述引力场。

  • 标量-张量理论通过张量和标量表示引力相互作用。例如,乔丹理论是这样的尝试,它是卡鲁扎-克莱因理论和布兰斯-迪克理论的推广。

  • 标量场在超弦理论中被发现为膨胀场,打破了弦的共形对称性,尽管平衡了该张量的量子异常。

  • 据推测,标量场导致了早期宇宙的高速膨胀(膨胀),有助于解决视界问题,并为宇宙学中不为零的宇宙常数提供了一个假设原因。在这种情况下,无质量(即长距离)标量场被称为暴胀子。也有人提出使用类似希格斯场等有质量(即短距离)的标量场。

简而言之,标量场是一个空间区域,其中每个点都有唯一的数值。标量场中的每个点都有一个标量值。Matplotlib 和 Numpy 提供了有趣的机制,帮助我们可视化二维标量场。在本节中,我们将学习如何使用 NumPy 和 Matplotlib 绘制二维标量场。我们将生成一些样本数据,以根据样本数据创建我们的二维场。要生成二维场的样本,我们使用 NumPy 提供的 meshgrid() 函数。

 import numpy as np
 from matplotlib import pyplot as plt 
 import matplotlib.cm as cm 
 ​
 n = 256 
 ​
 x = np.linspace(-3., 3., n) 
 y = np.linspace(-3., 3., n) 
 ​
 X, Y = np.meshgrid(x, y) 
 Z = X * np.sinc(X ** 2 + Y ** 2) 
 ​
 plt.pcolormesh(X, Y, Z, cmap = 'magma') 
 plt.show()

矢量场是在矢量微积分和物理学领域中将矢量分配给空间子集中的每个点。例如,我们可以考虑平面中的场,其中有一组具有给定大小和方向的箭头,以可视化矢量场。这些场通常用于对空间中流体的速度和方向或磁力或重力的方向和大小等概念进行建模。

 import numpy as np
 import matplotlib.pyplot as plt
 %matplotlib inline
 ​
 x,y = np.meshgrid(np.linspace(-5,5,10),np.linspace(-5,5,10))
 ​
 u = 1
 v = -1
 ​
 plt.quiver(x,y,u,v)
 plt.show()

在下一个示例中,我们将尝试绘制以下方程的矢量场:

F(x,y)=yx2+y2i+xx2+y2j\vec{F}(x, y)=-\frac{y}{\sqrt{x^2+y^2}} i+\frac{x}{\sqrt{x^2+y^2}} j
 import numpy as np
 import matplotlib.pyplot as plt
 %matplotlib inline
 ​
 x,y = np.meshgrid(np.linspace(-5,5,10),np.linspace(-5,5,10))
 ​
 u = -y/np.sqrt(x**2 + y**2)
 v = x/np.sqrt(x**2 + y**2)
 ​
 plt.quiver(x,y,u,v)
 plt.show()

Last updated