用python 绘制f(x)=x²+1/x图形
时间: 2023-09-20 16:09:20 浏览: 168
好的,下面是用 Python 绘制 $f(x)=x^2+\frac{1}{x}$ 的图形的代码和图像:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义函数
def f(x):
return x**2 + 1/x
# 定义绘图区间和步长
x = np.linspace(-5, 5, 1000)
y = f(x)
# 绘制图形
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('y')
plt.title('Graph of f(x)=x^2+1/x')
plt.grid(True)
plt.show()
```
其中,我们使用了 `numpy` 库中的 `linspace` 函数生成了从 $-5$ 到 $5$ 的 $1000$ 个均匀分布的点,并将这些点作为函数 $f(x)$ 的自变量,得到了相应的函数值。最后,使用 `matplotlib` 库的 `plot` 函数将这些点连接起来,得到了函数的图像。
运行上述代码后,可以得到如下图形:
![Graph of f(x)=x^2+1/x using Python](https://img-blog.csdnimg.cn/2021102017454892.png)
相关问题
编写程序计算(XE[-3,3],步长0.01) y=(-x²-4x-3)/2 -3≤x<-1 y=-x²+1 -1≤x<1 y=(-x²+4x-3)/2 1≤x≤3 并画出在[-3,3]上的曲线。
您想要编写一个程序来计算和绘制函数 y 对 x 的分段线性表达式,根据给定区间 [-3, 3] 和不同的定义部分:
1. 当 `-3 ≤ x < -1` 时,y = (-x^2 - 4x - 3) / 2
2. 当 `-1 ≤ x < 1` 时,y = -x^2 + 1
3. 当 `1 ≤ x ≤ 3` 时,y = (-x^2 + 4x - 3) / 2
为了实现这个功能,您可以使用一些编程语言,比如Python,其中可以结合numpy和matplotlib库。下面是一个简单的Python示例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义分段函数
def function(x):
if -3 <= x < -1:
return (-x**2 - 4*x - 3) / 2
elif -1 <= x < 1:
return -x**2 + 1
else:
return (-x**2 + 4*x - 3) / 2
# 计算X轴的范围和对应的Y值
x_values = np.arange(-3, 3.01, 0.01)
y_values = [function(val) for val in x_values]
# 绘制图形
plt.plot(x_values, y_values)
plt.xlabel('x')
plt.ylabel('y')
plt.title('分段函数在[-3, 3]上的图形')
plt.grid(True)
plt.xlim([-3, 3])
plt.ylim([-5, 5]) # 简单设置一下y轴范围,可以根据实际结果调整
plt.show()
```
在这个代码中,我们首先创建了一个 `function` 函数,它根据输入的 x 值返回相应的 y 值。然后通过列表推导生成了所有 x 值对应的一组 y 值,并用matplotlib将它们绘制成图表。
创建两个子图分别绘制抛物线y1=x²+10和y2=60-x²,两个子图共享Y轴,调整图形大小(宽10,高5),并将图形保存到文件p2.png。
可以使用Matplotlib库来完成该任务,以下是示例代码:
```python
import matplotlib.pyplot as plt
# 创建两个子图
fig, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
# 绘制第一个子图
x = range(-50, 51)
y1 = [i**2 + 10 for i in x]
ax1.plot(x, y1)
ax1.set_title('y = x^2 + 10')
# 绘制第二个子图
y2 = [60 - i**2 for i in x]
ax2.plot(x, y2)
ax2.set_title('y = 60 - x^2')
# 调整图形大小
fig.set_size_inches(10, 5)
# 保存图形到文件
plt.savefig('p2.png')
```
运行以上代码,会生成一个名为p2.png的图像文件,其中包含两个子图,分别绘制了抛物线y1=x^2+10和y2=60-x^2,两个子图共享Y轴,图形大小为宽10,高5。
阅读全文