From 888a6d5a242d73b4e07a45646e084228d028295a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=A5=E6=B5=A9?= Date: Fri, 9 Jan 2026 16:59:57 +0800 Subject: [PATCH] =?UTF-8?q?20260109=5F170000=5Fquadratic=5Fvertex=E5=B7=A5?= =?UTF-8?q?=E5=85=B7iflow=E6=A8=A1=E5=9E=8Bqwen3-coder-plus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../figure.png | Bin 0 -> 58942 bytes .../plot.py | 58 ++++++++++++ .../report.md | 84 ++++++++++++++++++ .../solve.py | 63 +++++++++++++ 4 files changed, 205 insertions(+) create mode 100644 20260109_170000_quadratic_vertex工具iflow模型qwen3-coder-plus/figure.png create mode 100644 20260109_170000_quadratic_vertex工具iflow模型qwen3-coder-plus/plot.py create mode 100644 20260109_170000_quadratic_vertex工具iflow模型qwen3-coder-plus/report.md create mode 100644 20260109_170000_quadratic_vertex工具iflow模型qwen3-coder-plus/solve.py diff --git a/20260109_170000_quadratic_vertex工具iflow模型qwen3-coder-plus/figure.png b/20260109_170000_quadratic_vertex工具iflow模型qwen3-coder-plus/figure.png new file mode 100644 index 0000000000000000000000000000000000000000..f883d2c2b188a92b8028d9031e0c17aabb1c1454 GIT binary patch literal 58942 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', color='red', lw=1.5), + fontsize=12, + color='red', + ha='center') + +# 保存图像 +plt.savefig('figure.png', bbox_inches='tight') +plt.close() +print("图像已保存: figure.png") \ No newline at end of file diff --git a/20260109_170000_quadratic_vertex工具iflow模型qwen3-coder-plus/report.md b/20260109_170000_quadratic_vertex工具iflow模型qwen3-coder-plus/report.md new file mode 100644 index 0000000..45a30c6 --- /dev/null +++ b/20260109_170000_quadratic_vertex工具iflow模型qwen3-coder-plus/report.md @@ -0,0 +1,84 @@ +# 二次函数 $y = -2x^2 + 8x - 3$ 求解报告 + +## 1. 🎯 问题描述 + +已知二次函数 $y = -2x^2 + 8x - 3$,求: +1. 函数的顶点坐标 +2. 函数的最大值 +需要绘图。 + +## 2. ✅ 最终结论 + +对于二次函数 $y = -2x^2 + 8x - 3$: +1. 顶点坐标为 (2, 5) +2. 由于函数开口向下($a = -2 < 0$),顶点是函数的最大值点,因此函数的最大值为 5 + +## 3. 📈 可视化 + +![函数图像](figure.png) + +**图表说明**: + +- 蓝色曲线:函数 $y = -2x^2 + 8x - 3$ +- 红色圆点:顶点 (2, 5) +- 从图中可以清楚地看到函数开口向下,顶点为最高点 + +## 4. 🧠 数学建模与解题过程 + +
+点击展开 + +**问题分析**:这是一个标准的二次函数求顶点和最值问题。给定函数 $y = -2x^2 + 8x - 3$ 是一个开口向下的抛物线(因为二次项系数 $a = -2 < 0$),所以存在最大值。 + +**方法选择**:可以使用导数方法或顶点公式方法求解。 + +**推导过程**: + +1. **使用导数方法**: + - 对函数 $y = -2x^2 + 8x - 3$ 求导:$y' = -4x + 8$ + - 令导数为0:$-4x + 8 = 0$ + - 解得 $x = 2$ + +2. **求顶点的y坐标**: + - 将 $x = 2$ 代入原函数:$y = -2(2)^2 + 8(2) - 3 = -8 + 16 - 3 = 5$ + - 所以顶点坐标为 (2, 5) + +3. **验证函数开口方向**: + - 二次项系数 $a = -2 < 0$,所以函数开口向下 + - 因此顶点是函数的最大值点 + +4. **使用顶点公式验证**: + - 对于二次函数 $y = ax^2 + bx + c$,顶点坐标为 $(-\frac{b}{2a}, f(-\frac{b}{2a}))$ + - 其中 $a = -2$, $b = 8$, $c = -3$ + - $x = -\frac{8}{2 \times (-2)} = -\frac{8}{-4} = 2$ + - $y = -2(2)^2 + 8(2) - 3 = 5$ + - 验证结果一致 + +
+ +## 5. 📊 运行结果 + +
+点击展开 + +``` +给定二次函数: y = -2*x**2 + 8*x - 3 +函数的一阶导数: 8 - 4*x +导数为0的点: [2] +顶点坐标: (2, 5) +函数的二阶导数: -4 +由于二次项系数为负数,函数开口向下,顶点为最大值点 +函数的最大值: 5 + +使用顶点公式验证: +顶点x坐标: x = -b/(2a) = -8/(2*-2) = 2.0 +顶点y坐标: y = -2*(2.0)^2 + 8*(2.0) + -3 = 5.0 + +======================================== +最终答案: +1. 函数的顶点坐标: (2, 5) +2. 函数的最大值: 5 +======================================== +``` + +
\ No newline at end of file diff --git a/20260109_170000_quadratic_vertex工具iflow模型qwen3-coder-plus/solve.py b/20260109_170000_quadratic_vertex工具iflow模型qwen3-coder-plus/solve.py new file mode 100644 index 0000000..48c6eb3 --- /dev/null +++ b/20260109_170000_quadratic_vertex工具iflow模型qwen3-coder-plus/solve.py @@ -0,0 +1,63 @@ +# /// script +# requires-python = ">=3.11" +# dependencies = ["sympy", "numpy", "matplotlib"] +# /// + +import sympy as sp +import numpy as np + +# 定义变量 +x = sp.symbols('x', real=True) + +# 定义二次函数 y = -2x^2 + 8x - 3 +func = -2*x**2 + 8*x - 3 + +print("给定二次函数: y =", func) + +# 方法1: 使用导数求顶点 +# 顶点的x坐标是导数为0的点 +derivative = sp.diff(func, x) +print("函数的一阶导数:", derivative) + +# 求导数为0的点 +critical_points = sp.solve(derivative, x) +print("导数为0的点:", critical_points) + +# 顶点的x坐标 +vertex_x = critical_points[0] +vertex_y = func.subs(x, vertex_x) + +print(f"顶点坐标: ({vertex_x}, {vertex_y})") + +# 判断最大值还是最小值 +second_derivative = sp.diff(derivative, x) +print("函数的二阶导数:", second_derivative) + +if second_derivative < 0: + print("由于二次项系数为负数,函数开口向下,顶点为最大值点") + print(f"函数的最大值: {vertex_y}") +elif second_derivative > 0: + print("由于二次项系数为正数,函数开口向上,顶点为最小值点") + print(f"函数的最小值: {vertex_y}") +else: + print("这不是二次函数") + +# 方法2: 使用二次函数顶点公式验证 +# 对于二次函数 y = ax^2 + bx + c,顶点x坐标为 x = -b/(2a) +a = -2 +b = 8 +c = -3 + +vertex_x_formula = -b / (2*a) +vertex_y_formula = a * vertex_x_formula**2 + b * vertex_x_formula + c + +print("\n使用顶点公式验证:") +print(f"顶点x坐标: x = -b/(2a) = {-b}/(2*{a}) = {vertex_x_formula}") +print(f"顶点y坐标: y = {a}*({vertex_x_formula})^2 + {b}*({vertex_x_formula}) + {c} = {vertex_y_formula}") + +# 最终结果 +print("\n" + "="*40) +print("最终答案:") +print(f"1. 函数的顶点坐标: ({vertex_x}, {vertex_y})") +print(f"2. 函数的最大值: {vertex_y}") +print("="*40)