20260109_161620_quadratic_vertex-工具openode模型MiniMax21
This commit is contained in:
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 122 KiB |
BIN
20260109_161620_quadratic_vertex-工具openode模型MiniMax21/figure.png
Normal file
BIN
20260109_161620_quadratic_vertex-工具openode模型MiniMax21/figure.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 83 KiB |
@@ -0,0 +1,66 @@
|
||||
# /// 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",
|
||||
"DejaVu Sans",
|
||||
]
|
||||
plt.rcParams["axes.unicode_minus"] = False
|
||||
|
||||
fig, ax = plt.subplots(figsize=(10, 7), dpi=150)
|
||||
|
||||
x = np.linspace(-1, 5, 500)
|
||||
y = -2 * x**2 + 8 * x - 3
|
||||
|
||||
ax.plot(x, y, "b-", linewidth=2, label="$y = -2x^2 + 8x - 3$")
|
||||
|
||||
vertex_x, vertex_y = 2, 5
|
||||
ax.scatter(
|
||||
[vertex_x],
|
||||
[vertex_y],
|
||||
color="red",
|
||||
s=150,
|
||||
zorder=5,
|
||||
label=f"顶点 ({vertex_x}, {vertex_y})",
|
||||
)
|
||||
ax.annotate(
|
||||
f"顶点 ({vertex_x}, {vertex_y})\n最大值: y = {vertex_y}",
|
||||
xy=(vertex_x, vertex_y),
|
||||
xytext=(vertex_x + 0.8, vertex_y + 1.5),
|
||||
fontsize=11,
|
||||
ha="left",
|
||||
arrowprops=dict(arrowstyle="->", color="red", lw=1.5),
|
||||
bbox=dict(boxstyle="round,pad=0.3", facecolor="yellow", alpha=0.7),
|
||||
)
|
||||
|
||||
ax.axhline(y=0, color="gray", linestyle="--", linewidth=1, alpha=0.7)
|
||||
ax.axvline(x=0, color="gray", linestyle="--", linewidth=1, alpha=0.7)
|
||||
ax.axvline(
|
||||
x=vertex_x,
|
||||
color="green",
|
||||
linestyle=":",
|
||||
linewidth=1.5,
|
||||
alpha=0.7,
|
||||
label=f"对称轴 x = {vertex_x}",
|
||||
)
|
||||
|
||||
ax.set_xlabel("x", fontsize=12)
|
||||
ax.set_ylabel("y", fontsize=12)
|
||||
ax.set_title("二次函数 $y = -2x^2 + 8x - 3$ 的图像", fontsize=14, fontweight="bold")
|
||||
ax.legend(loc="upper right", fontsize=10)
|
||||
ax.grid(True, alpha=0.3)
|
||||
|
||||
ax.set_xlim(-0.5, 5.5)
|
||||
ax.set_ylim(-6, 8)
|
||||
|
||||
plt.tight_layout()
|
||||
plt.savefig("figure.png", bbox_inches="tight", dpi=150)
|
||||
plt.close()
|
||||
print("图像已保存: figure.png")
|
||||
@@ -0,0 +1,80 @@
|
||||
# 二次函数 $y=-2x^2+8x-3$ 求解报告
|
||||
|
||||
## 1. 🎯 问题描述
|
||||
|
||||
已知二次函数 $y = -2x^2 + 8x - 3$,求:
|
||||
1. 函数的顶点坐标
|
||||
2. 函数的最大值
|
||||
|
||||
## 2. ✅ 最终结论
|
||||
|
||||
二次函数 $y = -2x^2 + 8x - 3$ 的顶点坐标为 $(2, 5)$,由于抛物线开口向下,该顶点即为函数的最大值点,因此函数的最大值为 $y = 5$。
|
||||
|
||||
## 3. 📈 可视化
|
||||
|
||||

|
||||
|
||||
**图表说明**:
|
||||
|
||||
- 蓝色曲线:函数 $y = -2x^2 + 8x - 3$ 的图像
|
||||
- 红色圆点:顶点位置 $(2, 5)$,也是函数的最大值点
|
||||
- 绿色虚线:对称轴 $x = 2$
|
||||
- 灰色虚线:坐标轴参考线
|
||||
|
||||
## 4. 🧠 数学建模与解题过程
|
||||
|
||||
<details>
|
||||
<summary><strong>点击展开</strong></summary>
|
||||
|
||||
**问题分析**:这是一个标准的一元二次函数 $y = ax^2 + bx + c$ 的求极值问题。
|
||||
|
||||
**方法选择**:使用顶点公式法。对于二次函数 $y = ax^2 + bx + c$,其顶点横坐标为 $x = -\frac{b}{2a}$,顶点纵坐标为函数在该点的函数值。
|
||||
|
||||
**推导过程**:
|
||||
|
||||
已知函数:
|
||||
$$y = -2x^2 + 8x - 3$$
|
||||
|
||||
其中 $a = -2$,$b = 8$,$c = -3$。
|
||||
|
||||
**步骤 1:求顶点横坐标**
|
||||
|
||||
$$x_{vertex} = -\frac{b}{2a} = -\frac{8}{2 \times (-2)} = -\frac{8}{-4} = 2$$
|
||||
|
||||
**步骤 2:求顶点纵坐标**
|
||||
|
||||
将 $x = 2$ 代入原函数:
|
||||
$$y_{vertex} = -2(2)^2 + 8(2) - 3 = -2 \times 4 + 16 - 3 = -8 + 16 - 3 = 5$$
|
||||
|
||||
**步骤 3:判断极值类型**
|
||||
|
||||
由于二次项系数 $a = -2 < 0$,抛物线开口向下,因此顶点为最高点,即函数的最大值点。
|
||||
|
||||
**结论**:
|
||||
- 顶点坐标:$(2, 5)$
|
||||
- 函数最大值:$y = 5$
|
||||
|
||||
</details>
|
||||
|
||||
## 5. 📊 运行结果
|
||||
|
||||
<details>
|
||||
<summary><strong>点击展开</strong></summary>
|
||||
|
||||
```
|
||||
==================================================
|
||||
二次函数 y = -2x² + 8x - 3 求解结果
|
||||
==================================================
|
||||
|
||||
1. 顶点坐标: (2, 5)
|
||||
即: x = 2.0, y = 5.0
|
||||
|
||||
2. 函数最大值: y = 5.0
|
||||
由于 a = -2 < 0,抛物线开口向下,
|
||||
顶点为最高点,即为最大值点。
|
||||
|
||||
3. 对称轴: x = 2.0
|
||||
==================================================
|
||||
```
|
||||
|
||||
</details>
|
||||
@@ -0,0 +1,26 @@
|
||||
# /// script
|
||||
# requires-python = ">=3.11"
|
||||
# dependencies = ["sympy"]
|
||||
# ///
|
||||
|
||||
import sympy as sp
|
||||
|
||||
x = sp.symbols("x", real=True)
|
||||
|
||||
a, b, c = -2, 8, -3
|
||||
|
||||
y = a * x**2 + b * x + c
|
||||
|
||||
vertex_x = -b / (2 * a)
|
||||
vertex_y = a * vertex_x**2 + b * vertex_x + c
|
||||
|
||||
print("=" * 50)
|
||||
print("二次函数 y = -2x² + 8x - 3 求解结果")
|
||||
print("=" * 50)
|
||||
print(f"\n1. 顶点坐标: ({sp.nsimplify(vertex_x)}, {sp.nsimplify(vertex_y)})")
|
||||
print(f" 即: x = {vertex_x}, y = {vertex_y}")
|
||||
print(f"\n2. 函数最大值: y = {vertex_y}")
|
||||
print(f" 由于 a = -2 < 0,抛物线开口向下,")
|
||||
print(f" 顶点为最高点,即为最大值点。")
|
||||
print(f"\n3. 对称轴: x = {vertex_x}")
|
||||
print("=" * 50)
|
||||
Reference in New Issue
Block a user