From d1049106237d1adb824443c9d2e138a69a054eef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=A5=E6=B5=A9?= Date: Fri, 9 Jan 2026 16:27:41 +0800 Subject: [PATCH] =?UTF-8?q?20260109=5Fquadratic=5Fvertex=5Fmax-=E5=B7=A5?= =?UTF-8?q?=E5=85=B7opencode=E6=A8=A1=E5=9E=8BGLM47?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../figure.png | Bin 0 -> 70045 bytes .../plot.py | 72 +++++++++++ .../report.md | 121 ++++++++++++++++++ .../solve.py | 44 +++++++ 4 files changed, 237 insertions(+) create mode 100644 20260109_quadratic_vertex_max-工具opencode模型GLM47/figure.png create mode 100644 20260109_quadratic_vertex_max-工具opencode模型GLM47/plot.py create mode 100644 20260109_quadratic_vertex_max-工具opencode模型GLM47/report.md create mode 100644 20260109_quadratic_vertex_max-工具opencode模型GLM47/solve.py diff --git a/20260109_quadratic_vertex_max-工具opencode模型GLM47/figure.png b/20260109_quadratic_vertex_max-工具opencode模型GLM47/figure.png new file mode 100644 index 0000000000000000000000000000000000000000..edb4b2d48e19e62415def3d36c99a80ab2cf160d GIT binary patch literal 70045 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

5Th5cBo* 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", 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") diff --git a/20260109_quadratic_vertex_max-工具opencode模型GLM47/report.md b/20260109_quadratic_vertex_max-工具opencode模型GLM47/report.md new file mode 100644 index 0000000..abac268 --- /dev/null +++ b/20260109_quadratic_vertex_max-工具opencode模型GLM47/report.md @@ -0,0 +1,121 @@ +# 二次函数 $y=-2x^2+8x-3$ 求解报告 + +## 1. 🎯 问题描述 + +已知二次函数 $y = -2x^2 + 8x - 3$,求: +1. 函数的顶点坐标 +2. 函数的最大值 + +## 2. ✅ 最终结论 + +这个二次函数的开口向下(因为 $a = -2 < 0$),所以它有一个最高点。通过顶点公式计算,顶点坐标为 $(2, 5)$,这也是函数的最大值点。也就是说,当 $x = 2$ 时,函数取得最大值 $y = 5$。 + +## 3. 📈 可视化 + +![函数图像](figure.png) + +**图表说明**: + +- 蓝色曲线:函数 $y = -2x^2 + 8x - 3$ 的图像 +- 红色圆点:函数的顶点 $(2, 5)$,即最大值点 + +从图像中可以清晰地看到,抛物线开口向下,在 $x = 2$ 处达到最高点,对应 $y = 5$。 + +## 4. 🧠 数学建模与解题过程 + +

+点击展开 + +### 问题分析 + +这是一个关于二次函数性质的问题。对于一般形式的二次函数 $y = ax^2 + bx + c$,其图像是一条抛物线。我们需要: +1. 找到抛物线的顶点坐标 +2. 确定函数的最大值(如果存在) + +### 方法选择 + +本题可以采用两种方法求解: + +**方法一:顶点公式法** + +二次函数 $y = ax^2 + bx + c$ 的顶点坐标为: +$$x = -\frac{b}{2a}, \quad y = f\left(-\frac{b}{2a}\right)$$ + +**方法二:求导法** + +对函数 $y = ax^2 + bx + c$ 求导: +$$y' = 2ax + b$$ + +令 $y' = 0$,解得临界点: +$$x = -\frac{b}{2a}$$ + +再通过二阶导数 $y'' = 2a$ 判断极值性质: +- 当 $a > 0$ 时,$y'' > 0$,为极小值点 +- 当 $a < 0$ 时,$y'' < 0$,为极大值点 + +### 推导过程 + +**使用顶点公式法**: + +已知 $a = -2$,$b = 8$,$c = -3$ + +1. 顶点的 x 坐标: + $$x = -\frac{b}{2a} = -\frac{8}{2 \times (-2)} = -\frac{8}{-4} = 2$$ + +2. 顶点的 y 坐标(将 $x = 2$ 代入原函数): + $$y = -2 \times 2^2 + 8 \times 2 - 3 = -2 \times 4 + 16 - 3 = -8 + 16 - 3 = 5$$ + +因此,顶点坐标为 $(2, 5)$。 + +**使用求导法验证**: + +1. 求一阶导数: + $$y' = \frac{d}{dx}(-2x^2 + 8x - 3) = -4x + 8$$ + +2. 令 $y' = 0$,解得临界点: + $$-4x + 8 = 0 \Rightarrow x = 2$$ + +3. 求二阶导数: + $$y'' = \frac{d}{dx}(-4x + 8) = -4$$ + +4. 由于 $y'' = -4 < 0$,所以 $x = 2$ 是极大值点。 + +5. 将 $x = 2$ 代入原函数: + $$y = -2 \times 2^2 + 8 \times 2 - 3 = 5$$ + +两种方法得到相同的结果。 + +### 最大值分析 + +因为 $a = -2 < 0$,抛物线开口向下,所以顶点处的 y 值就是函数的最大值。 + +$$y_{\text{max}} = 5$$ + +
+ +## 5. 📊 运行结果 + +
+点击展开 + +``` +================================================== +二次函数:y = -2x² + 8x - 3 +================================================== + +【方法1:顶点公式】 +顶点坐标:(2.0, 5.0) + +【方法2:求导法】 +导数:y' = 8 - 4*x +二阶导数:y'' = -4 +临界点:x = 2 +代入原函数:y = 5 +二阶导数:-4 < 0,故为极大值点 + +【结论】 +1. 顶点坐标:(2.0, 5.0) +2. 函数最大值:5.0 +``` + +
diff --git a/20260109_quadratic_vertex_max-工具opencode模型GLM47/solve.py b/20260109_quadratic_vertex_max-工具opencode模型GLM47/solve.py new file mode 100644 index 0000000..daa6e3b --- /dev/null +++ b/20260109_quadratic_vertex_max-工具opencode模型GLM47/solve.py @@ -0,0 +1,44 @@ +# /// script +# requires-python = ">=3.11" +# dependencies = ["sympy"] +# /// + +import sympy as sp + +# 定义符号(实数) +x = sp.symbols("x", real=True) + +# 定义函数 +y = -2 * x**2 + 8 * x - 3 + +# 方法1:通过顶点公式求解 +# 二次函数 y = ax^2 + bx + c 的顶点公式:x = -b/(2a) +a = -2 +b = 8 +c = -3 + +x_vertex = -b / (2 * a) +y_vertex = a * x_vertex**2 + b * x_vertex + c + +# 方法2:通过求导验证 +dy_dx = sp.diff(y, x) +critical_points = sp.solve(dy_dx, x) +d2y_dx2 = sp.diff(dy_dx, x) + +print("=" * 50) +print("二次函数:y = -2x² + 8x - 3") +print("=" * 50) + +print("\n【方法1:顶点公式】") +print(f"顶点坐标:({x_vertex}, {y_vertex})") + +print("\n【方法2:求导法】") +print(f"导数:y' = {dy_dx}") +print(f"二阶导数:y'' = {d2y_dx2}") +print(f"临界点:x = {critical_points[0]}") +print(f"代入原函数:y = {y.subs(x, critical_points[0])}") +print(f"二阶导数:{d2y_dx2} < 0,故为极大值点") + +print("\n【结论】") +print(f"1. 顶点坐标:({x_vertex}, {y_vertex})") +print(f"2. 函数最大值:{y_vertex}")