gpt4 book ai didi

python - 在区间内绘制函数的代码(图形结果)

转载 作者:行者123 更新时间:2023-12-01 01:21:04 25 4
gpt4 key购买 nike

我需要您帮助编写图形结果 - 在区间内绘制函数。

我得到的问题是:“绘制以下复合函数。您可能需要使用“if”语句和循环来“构建”它。在 [-3, 5] 的区间内绘制该函数。

enter code here
f(x) = {|x| x<0}
{-1 0 <= x < 1}
{+1 1 <= x < 2}
{ln(x) 2 <= x}

任何人都可以为我写一段代码,其中结果向我显示一个图表,其中显示了上述函数,但图表的线条不一致。

提前非常感谢您!

最佳答案

使用 if 语句会是一种更复杂的方式。您可以直接使用 NumPy 索引和屏蔽来完成任务。下面是我将如何做到的。

说明:首先,在区间 (3, 5) 中创建 x 数据点的网格。然后初始化一个相同长度的空 y 数组。接下来,使用 x 上的条件来获取 x 数组的索引。这是通过使用掩模来完成的。 mask1 = ((x>=0) & (x<1))定义一个条件,然后使用 y[mask1] = -1这意味着,[mask1]将返回条件满足的数组索引 True然后使用这些索引来分配 y 值。您针对所有 4 个条件都执行此操作。我只是用了两个面具来应对中间的两个条件。您还可以使用 4 个变量(掩码)来执行相同的操作。这是个人品味问题。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 5, 100)
y = np.zeros(len(x))

mask1 = ((x>=0) & (x<1))
mask2 = ((x>=1) & (x<2))

y[x<0] = np.abs(x[x<0])
y[mask1] = -1
y[mask2] = 1
y[x>=2] = np.log(x[x>=2])

plt.plot(x, y)
plt.xlabel('$x$')
plt.ylabel(r'$f(x)$')
plt.show()

enter image description here

关于python - 在区间内绘制函数的代码(图形结果),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53831109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com