用python实现1. 一元二次方程求解: 1) 通过键盘输入一元二次方程的系数 2) 调用numpy库的roots函数实施求解 3) 绘制出对应的一元二次函数曲线 python
时间: 2024-09-29 17:09:19 浏览: 189
Python编程实现数学运算求一元二次方程的实根算法示例
在Python中,你可以使用`numpy`库来计算一元二次方程的根,并利用matplotlib绘制函数图像。以下是实现这个功能的基本步骤:
1. 首先,导入所需的库:
```python
import numpy as np
import matplotlib.pyplot as plt
```
2. 创建一个函数,让用户输入一元二次方程的系数(a, b, c)。例如,可以创建一个名为`get_coefficients`的函数:
```python
def get_coefficients():
a = float(input("请输入一元二次方程的系数a: "))
b = float(input("请输入b的值: "))
c = float(input("请输入c的值: "))
return a, b, c
```
3. 使用numpy的`roots`函数求解方程:
```python
def solve_quadratic(a, b, c):
roots = np.roots([a, b, c])
return roots
```
4. 计算并打印根,以及画出函数图像:
```python
def plot_function(a, b, c):
x = np.linspace(-10, 10, 400)
y = a * x**2 + b * x + c
# 绘制曲线
plt.plot(x, y, label="y = " + str(a) + "x^2 + " + str(b) + "x + " + str(c))
# 显示坐标轴和添加标题
plt.xlabel('x')
plt.ylabel('y')
plt.title('一元二次函数及其根')
# 求得的根
real_roots = [root.real if root.is_real else '复数根' for root in roots]
print(f"方程的根为: {real_roots}")
if __name__ == "__main__":
a, b, c = get_coefficients()
roots = solve_quadratic(a, b, c)
plot_function(a, b, c)
plt.grid(True)
plt.axhline(0, color='black', linestyle='--') # 添加水平线
plt.axvline(0, color='black', linestyle='--') # 添加垂直线
plt.legend()
plt.show()
```
在这个例子中,用户会看到一元二次方程的图形,并且程序会显示实际的根。
阅读全文