20260109_quadratic_vertex_max-工具opencode模型GLM47

This commit is contained in:
严浩
2026-01-09 16:27:41 +08:00
parent 12fd11ce30
commit d104910623
4 changed files with 237 additions and 0 deletions

View File

@@ -0,0 +1,72 @@
# /// script
# requires-python = ">=3.11"
# dependencies = ["numpy", "matplotlib"]
# ///
import numpy as np
import matplotlib.pyplot as plt
# 设置中文字体
plt.rcParams["font.sans-serif"] = [
"WenQuanYi Micro Hei",
"Noto Sans CJK SC",
"Microsoft YaHei",
"SimHei",
"SimSun",
"DejaVu Sans",
]
plt.rcParams["axes.unicode_minus"] = False
# 定义函数
def f(x):
return -2 * x**2 + 8 * x - 3
# 顶点坐标
x_vertex = 2
y_vertex = 5
# 生成 x 值(根据顶点位置合理设置范围)
x = np.linspace(0.5, 3.5, 400)
y = f(x)
# 绘图
plt.figure(figsize=(10, 7), dpi=150)
# 绘制函数曲线
plt.plot(x, y, "b-", linewidth=2, label="y = -2x² + 8x - 3")
# 标记顶点
plt.plot(
x_vertex, y_vertex, "ro", markersize=10, label=f"顶点 ({x_vertex}, {y_vertex})"
)
# 添加顶点坐标标注
plt.annotate(
f"最大值\n({x_vertex}, {y_vertex})",
xy=(x_vertex, y_vertex),
xytext=(2.5, 3),
arrowprops=dict(arrowstyle="->", color="red", lw=1.5),
fontsize=10,
color="red",
)
# 添加坐标轴标签和标题
plt.xlabel("x", fontsize=12)
plt.ylabel("y", fontsize=12)
plt.title("二次函数 y = -2x² + 8x - 3 的图像", fontsize=14, pad=15)
# 设置坐标轴范围
plt.xlim(0.5, 3.5)
plt.ylim(0, 6)
# 显示网格
plt.grid(True, alpha=0.3, linestyle="--")
# 添加图例
plt.legend(loc="upper right", fontsize=10)
# 保存图像
plt.savefig("figure.png", bbox_inches="tight")
print("图像已保存: figure.png")