. 一元二次方程求解: 1) 通过键盘输入一元二次方程的系数 2) 调用numpy库的roots函数实施求解 3) 绘制出对应的一元二次函数曲线,用Python编写
时间: 2024-10-08 20:16:27 浏览: 38
一元二次方程的求解通常涉及到利用公式法、分解因式法或者数值方法。在Python中,我们可以结合`numpy`库来进行计算。以下是使用`numpy`库的`linalg.solve()`函数以及`matplotlib`库绘制曲线的一个简单步骤:
1. 首先,你需要导入必要的库:
```python
import numpy as np
import matplotlib.pyplot as plt
```
2. 定义函数接收用户输入的一元二次方程系数(例如a, b, c):
```python
def input_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):
coefficients = [a, b, c]
roots = np.roots(coefficients)
return roots
```
4. 计算并打印解:
```python
def print_roots(roots):
real_roots = [root.real for root in roots if abs(root.imag) < 1e-6] # 去除虚部接近零的小数点
print("实根为:", real_roots)
5. 绘制一元二次函数曲线:
```python
def plot_function(a, b, c):
x = np.linspace(-10, 10, 400)
y = a * x**2 + b * x + c
plt.figure()
plt.plot(x, y)
plt.title('一元二次函数')
plt.xlabel('x')
plt.ylabel('y')
plt.grid(True)
plt.show()
# 主程序流程
coeffs = input_coefficients()
roots = solve_quadratic(*coeffs)
print_roots(roots)
plot_function(*coeffs)
```
阅读全文