为了账号安全,请及时绑定邮箱和手机立即绑定

使用 arange 定义变量进行绘图

使用 arange 定义变量进行绘图

慕雪6442864 2023-09-12 10:32:19
我最近开始学习Python。我了解到,为了定义自变量(下例中的 z),您可以使用 numpy.linspace() 编写:from matplotlib import pyplot as ppimport numpy as npfrom math import pi#z=np.linspace(1,-1) z definition worksz=np.arange(1,-1) #z definition does not workw=zpp.plot(z,w)pp.xlabel("Input")pp.ylabel("Output")pp.title("Function")pp.show()print(z,w)但是,如果我们使用 np.arange 定义 z (参见注释行,似乎不可能显示图(没有图表出现)。如果我想对自变量使用后一个定义,我仍然可以绘制其他变量或我被迫使用 linspace 定义吗?谢谢
查看完整描述

1 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

np.linspace(1, -1)1创建一个以 开头和结尾的数字数组-1。默认采取 50 步,因此每步的长度为-2/49。通常,步数是明确给出的,例如np.linspace(1, -1, 200)。标准情况下,起始值选择小于停止值,但两种方法都有效。

np.arange(1, -1)创建一个从 1 开始的数组,增加一个步长(默认为 1),当值大于或等于停止值时结束。因此,在这种情况下,它会立即停止,创建一个空数组。np.arange(1, -1, -1)将采取 -1 的步长,并创建一个数组[1, 0],并在 之前停止-1

当这些数组像单个变量一样在表达式中使用时,Numpy 的魔力就开始了。这称为广播。

这是一个示例图,显示了 的工作原理np.linspacew仅针对 的 50 个给定值进行计算z。请注意,虽然z是从1to创建的-1,但默认图在右侧显示正值。另请注意,导入 matplotlib 的标准方法是 as plt,这使得其他人更容易遵循代码。

from matplotlib import pyplot as plt

import numpy as np


z = np.linspace(1, -1)

w = np.sin(z * np.pi)

plt.plot(z, w, '-bo')

plt.xlabel('$z$')

plt.ylabel(r'$w = \sin(z * pi)$')

plt.show()

https://img4.sycdn.imooc.com/64ffcde30001bca206470303.jpg

查看完整回答
反对 回复 2023-09-12
  • 1 回答
  • 0 关注
  • 74 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信