题目:
'''
通过linespace()及ufunc()函数计算并绘制下述函数的函数图。X的取值范围为[-1000,+1000]
Y=2x2 +30x-11.5
'''
代码:
import numpy as np
import matplotlib.pyplot as plt
# Y = 2x^2 + 30x - 11.5
def quadratic_function(x):
return 2 * x**2 + 30 * x - 11.5
ufunc_function = np.frompyfunc(quadratic_function, 1, 1)
# 使用 linspace 创建 X 的取值范围
x = np.linspace(-1000, 1000, 1000)
y = ufunc_function(x).astype(float)
# 绘制函数图
plt.figure(figsize=(10, 6))
# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用黑体显示中文
plt.rcParams['axes.unicode_minus'] = False # 正常显示负号
plt.plot(x, y, label=r'$Y = 2x^2 + 30x - 11.5$', color='blue')
plt.title("二次函数图", fontsize=16)
plt.xlabel("X", fontsize=12)
plt.ylabel("Y", fontsize=12)
plt.axhline(0, color='black', linewidth=0.5, linestyle='--')
plt.axvline(0, color='black', linewidth=0.5, linestyle='--')
plt.grid(True, linestyle='--', alpha=0.7)
plt.legend(fontsize=12)
plt.show()
运行结果:
