椭球体积公式推导和详解,椭圆球体体积公式推导

  椭球体积公式推导和详解,椭圆球体体积公式推导

  文孙雪

  来源:Python技术“ID: pythonall”

  机器学习和数据分析越来越重要,但是在学习和实践的过程中,我们经常会因为不知道如何用程序实现各种数学公式而感到苦恼。今天我们就从数学公式的角度来了解一下用python实现它们的方式方法。

  友情提示:不要被公式吓到,都是纸老虎。

  关于Numpy NumPy是使用Python进行科学计算的基础软件包。除其他外,它包括:

  强大的N维数组对象精确广播函数函数集成了C/C和Fortran代码、强大的线性代数、傅立叶变换和随机数函数机器学习和数据分析等工具。numpy是最常用的科学计算库,能够以极简主义和思维习惯的方式完成代码实现,为学习和实践提供了极大的便利。

  环境准备创建虚拟环境(可以省略)并安装numpy包:

  管道安装数量测试安装:

  进口货币

  在下面的练习中,numpy默认称为np:

  importnumpy的基本运算编程语言中的大部分运算都是针对简单的数值,而复杂的运算是通过相应的数据结构结合程序逻辑来计算的。Numpy是为复杂的数据结构(比如矩阵)构造的,但是它提供了和简单的数值计算一样方便的操作。

  取幂的运算符是* *,即两个星号(一个星号表示乘法),比如计算x: x**2的平方,x: x**3的立方等等。

  平方根相当于计算1/2的幂,即x**(1/2)或x**0.5,因为常用的numpy提供了一个方便的函数。比如sqrt,把数x平方,就是np.sqrt(x)。

  其实有一个方便的平方方式:np.square。

  绝对值表示数轴上的值与原点之间的距离,用x表示。numpy提供了一个方便的方法abs来计算,比如np.abs(x)就是x的绝对值。

  了解向量和矩阵线性代数是机器学习和数据分析的基础数学之一,而向量和矩阵是线性代数的基本概念,所以了解向量和矩阵非常重要。

  一般来说,矢量数据分为标量和矢量。标量很好理解,就是数轴上的一个数值。

  向量的直观认识是一组数值,可以理解为一维数组,但为什么一般定义为有方向的数值?方向是什么意思?这个问题困扰我很多年了(苦笑)。其实我刚开始学线性代数的时候是直接从公式定理开始的,不知道它的原理和来源。

  向量的方向是指向量所在坐标系的原点指向该坐标系中向量所代表的点的方向。例如,在平面直角坐标系中,向量[1,2]表示X轴为1,Y轴为2的点。从原点,即[0,0]点到这个点的方向就是这个向量的方向,延伸的三维坐标系,然后是N坐标系(当然三个人以上的人类比较难理解。

  因为线性代数研究的是向量和向量组(矩阵)的纯数学计算,抛弃了坐标系的概念,只保留了向量的表象,导致了向量难以理解的现象。

  简单地说,向量是一个数值数组。

  矩阵理解向量就好理解了。它相当于一组向量,即坐标系中多个点的集合。矩阵运算相当于多个向量的运算或变换。

  这里可能有一些冗余或者多余。这里先解释一下,向量和矩阵的实际意义会在后面的文章中进一步解释。

  在初始化numpy时,有许多方法可以生成向量和矩阵。例如,array可用于将python数组初始化为numpy矩阵:

  1,您可以创建一个向量维数为3、数量为3的矩阵。

  基础运算Numpy特别擅长处理向量和矩阵运算,比如乘法,就是把向量中的每一个值都乘以一个乘数。如果您在它们之间编写代码,您可以遍历向量,并将每个值乘以一个乘数。

  用numpy: x * 2就简单多了。就像做标量运算一样,感觉向量有相同的数值。

  加法x ^ 2,减法x-2罚x/2矩阵取幂。由于向量和矩阵可以看成一个数,所以求幂很好理解,比如矩阵。

  矩阵m m的平方可以写成m**2,结果是:

  不同维数的方阵点积矩阵可以相乘,但不是一般的乘法运算。这个运算叫做点积。为了用numpy表示,需要点函数,比如矩阵M和N。

  矩阵,n码是m.dot(n),你会得到如下结果:

  在矩阵的点积求和、连续乘法的统计公式中,求和运算是很常见的,比如求和矩阵:

  矩阵求和就是对矩阵M中的所有元素求和,nunpy通过sum: m.sum()完成计算

  类似于乘法和求和,将矩阵中的所有元素相乘:

  矩阵连乘numpy由prod计算,如矩阵m的连乘是m.prod()

  了解以上基本操作后,做一些练习。

  计算平均向量平均值的公式为:

  向量公式解析公式,其中n是numpy的向量X的元素个数,通过大小得到,之后是向量求和,由sum完成。最终代码如下:

  1/x.size)*x.sum()或

  x.sum()/x.size

  实现Frobenius范数现在让我们用下面的公式得到一个复Frobenius范数:

  弗罗贝纽斯范数公式不用担心弗罗贝纽斯公式的意义。我们只看如何用python实现。通过对公式的分析,我们可以看到,首先,对矩阵的每个元素进行平方,然后求和,最后对结果求根,然后由内向外写。

  元素之和,按照上面写m**2,会得到一个新的矩阵,然后求和,可以直接写成:

  2).sum())借助numpy实现公式,极其简洁。

  样本方差让我们看看另一个公式:

  样本方差公式表示向量x的平均值,上面已经计算过了,那么它就是:

  2).sum()/(x.size基本可以按照上述写法理解和书写,只是括号多了一点。如果不参考公式,估计看不清楚达到了什么效果。好在numpy通过mean方法简化了均值运算,比如向量x的均值可以写成:np.mean(x),所以上面的代码可以简化为:

  2).sum()/(x.size)上面的公式其实就是样本标准差公式。对于标准差,numpy提供了一个简单的方法std,可以直接用np.std(x)计算。当然,根据标准差公式:

  很容易写出标准差并在numpy中实现。赶紧试试吧。

  欧拉距离在早先写的时候是用来模拟流行病传播的。当时对numpy公式的表达能力不是很了解,所以计算分三步走。现在,如果你想计算两个向量之间的欧拉距离,一行代码就可以完成。首先回顾一下欧拉距离公式。矢量A和矢量B之间的欧拉距离为:

  欧拉距离公式numpy实现为:

  2).sum())由于欧拉距离应用广泛,numpy在线性代数模块中实现。所以在了解了numpy实现数学公式的方法后,可以简化为:

  线性规范

  总结numpy是一个深奥的数学计算库,是python中科学计算的基础。今天我们知道如何从数学公式的角度转换成numpy的代码实现,篇幅有限。虽然只是numpy的冰山一角,但可以成为理解numpy运行原理的一个思路。在数据分析或者机器学习,或者论文写作的过程中,即使不知道numpy中的简洁运算,也可以根据数学公式编写代码实现,然后通过实践来学习和理解numpy。

  请参考https://blog . csdn . net/garfielder 007/article/details/51386683https://blog . csdn . net/Robert _ Chen 1988/article/details/102712946https://mathtocode . com/PS:回复“

  老规矩,还记得吗,兄弟们?右下角的 “在看” 点一下,如果你觉得文章内容不错,记得分享到朋友圈让更多人知道!

  【代码获取方式

  识别文末二维码,回复:200706

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: