打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python 快速画图 matplotlib, sympy, mpmath与 Matlab 比较

最近接触了 python, 发现它的一个画图包 matplotlib 虽然与 MATLAB 的画图类似,但感觉还是 MATLAB 自己的画图更方便,更简单。matlab 有 explot 与 ezmesh 这两个快速生成函数的图像。慢慢总结:

matplotlib 需要先定义数据范围,有些麻烦,发现 python 有一个 sympy 包,专门处理符号数学的,有点类似 matlab 里面的符号函数,用它来画图方便多了。 还有一个更方便的 mpmath 包,可以结合 lambda 表达式使用,它与前者相比不用事先定义符号变量。

文章目录

  • 一、二维图像
    • 1. 使用 matlab 的 ezplot
    • 2. Python 使用 mpmath 包里面的画图
    • 3. Python 使用 sympy 包里面的画图
    • 4. Python 使用 matplotlib 画图
  • 二、三维图像
    • 1. 使用matlab 画
    • 2. Python 使用 mpmath 包画
    • 3. Python 使用 sympy 画
    • 4. Python使用 matplotlib 画

一、二维图像

画 [-10, 10] 范围内的 y=x^2

1. 使用 matlab 的 ezplot

ezplot('x^2',[-10,10])


一行代码,非常简单

2. Python 使用 mpmath 包里面的画图

import mpmath as mpmp.plot(lambda x: x*x, [-10, 10])

3. Python 使用 sympy 包里面的画图

from sympy.plotting import plotfrom sympy import symbolsx = symbols('x')p2 = plot(x*x, (x, -10, 10))


需要四行代码

4. Python 使用 matplotlib 画图

import matplotlib.pyplot as pltimport numpy as npx= np.arange(-10, 10, 0.1)plt.plot(x*x)

也需要四行代码,画的图稍微简略

二、三维图像

画函数[-3, 3], [-2, 2] 内的 z=xe^{-x^2-y^2}

1. 使用matlab 画

ezmesh(@(x,y)x.*exp(-x.^2-y.^2),[-3,3], [-2,2])

2. Python 使用 mpmath 包画

import mpmath as mpimport mathmp.splot(lambda x, y: x*math.exp(-x*x-y*y))

3. Python 使用 sympy 画

from sympy import symbolsfrom sympy.plotting import plot3dfrom sympy.functions import expx, y = symbols('x y')plot3d(x*exp(-x**2-y**2), (x, -3, 3), (y, -2, 2))

4. Python使用 matplotlib 画

from matplotlib import pyplot as pltimport numpy as npfrom mpl_toolkits.mplot3d import Axes3Dfig = 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 太费代码了。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何在论文中画出漂亮的插图? | 知乎精选
Python新手绘图绕不开的17个小问题,学完超过70%的人
Python进阶之Matplotlib入门(一)
Python求解江苏小升初数学题与图像阴影绘制
Matlab-Python矩阵计算速度对比
python – Matplotlib只保存没有空格的文本
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服