内容简介:最近初步学习了Python, 发现它的一个画图包 matplotlib 虽然与 MATLAB 的画图类似,但感觉还是 MATLAB 自己的画图更方便,更简单。matlab 有 explot 与 ezmesh 这两个快速生成函数的图像。matplotlib 需要先定义数据范围,有些麻烦,发现 python 有一个 sympy 包,专门处理符号数学的,有点类似 matlab 里面的符号函数,用它来画图方便多了。 还有一个更方便的 mpmath 包,可以结合 lambda 表达式使用,它与前者相比不用事先定义符
最近初步学习了Python, 发现它的一个画图包 matplotlib 虽然与 MATLAB 的画图类似,但感觉还是 MATLAB 自己的画图更方便,更简单。matlab 有 explot 与 ezmesh 这两个快速生成函数的图像。
matplotlib 需要先定义数据范围,有些麻烦,发现 python 有一个 sympy 包,专门处理符号数学的,有点类似 matlab 里面的符号函数,用它来画图方便多了。 还有一个更方便的 mpmath 包,可以结合 lambda 表达式使用,它与前者相比不用事先定义符号变量。
一、二维图像
画 [-10, 10] 范围内的 y=x 2 y=x2y=x^2:
(1) 使用 matlab
ezplot('x^2',[-10,10])
一行代码,非常简单
(2) 使用 mpmath 包里面的画图
import mpmath as mp
mp.plot(lambda x: x*x, [-10, 10])
(3) Pyton 使用 sympy 包里面的画图
from sympy.plotting import plot
from sympy import symbols
x = symbols('x')
p2 = plot(x*x, (x, -10, 10))
需要四行代码
(4) 使用 matplotlib 画图
import matplotlib.pyplot as plt
import numpy as np
x= np.arange(-10, 10, 0.1)
plt.plot(x*x)
也需要四行代码,画的图稍微简略
二、三维图像
画函数[-3, 3], [-2, 2] 内的 z=xe −x 2 −y 2 z=xe−x2−y2z=xe^{-x^2-y^2}
(1) 使用matlab 画
ezmesh(@(x,y)x.*exp(-x.^2-y.^2),[-3,3], [-2,2])1
(2) 使用 mpmath 包画
import mpmath as mp
import math
mp.splot(lambda x, y: x*math.exp(-x*x-y*y))
(3) 使用 sympy 画
from sympy import symbols
from sympy.plotting import plot3d
from sympy.functions import exp
x, y = symbols('x y')
plot3d(x*exp(-x**2-y**2), (x, -3, 3), (y, -2, 2))
(4) 使用 matplotlib 画
from matplotlib import pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-3, 3, 0.1)
Y = np.arange(-2, 2, 0.1)
X, Y = np.meshgrid(X, Y)
Z = X*np.exp(-X**2 - Y**2)
ax.plot_surface(X, Y, Z)
plt.show()
综合看来,画图还是 matlab 最好看方便, mpmath 画 2d 图不错,但是 3d 图太粗糙了; sympy 中规中矩; matplotlib 太费代码了。
更多Python相关信息见 Python 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=17
Linux公社的RSS地址 : https://www.linuxidc.com/rssFeed.aspx
本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-03/157657.htm
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Game Programming Patterns
Robert Nystrom / Genever Benning / 2014-11-2 / USD 39.95
The biggest challenge facing many game programmers is completing their game. Most game projects fizzle out, overwhelmed by the complexity of their own code. Game Programming Patterns tackles that exac......一起来看看 《Game Programming Patterns》 这本书的介绍吧!