Python中过指定点的三次曲线图
时间: 2024-01-15 19:42:45 浏览: 23
以下是一个示例代码,使用matplotlib库来绘制一个过指定点的三次曲线图:
```python
import numpy as np
import matplotlib.pyplot as plt
# 指定点坐标
x = [1, 2, 3, 4]
y = [2, 4, 3, 5]
# 构造矩阵A和向量B
A = np.zeros((4, 4))
B = np.zeros((4, 1))
for i in range(4):
A[i][0] = 1
A[i][1] = x[i]
A[i][2] = x[i] ** 2
A[i][3] = x[i] ** 3
B[i] = y[i]
# 求解线性方程组
C = np.linalg.inv(A).dot(B)
# 生成曲线点坐标
x_vals = np.linspace(1, 4, 100)
y_vals = []
for x_val in x_vals:
y_val = C[0][0] + C[1][0] * x_val + C[2][0] * x_val ** 2 + C[3][0] * x_val ** 3
y_vals.append(y_val)
# 绘制图形
plt.plot(x_vals, y_vals, label='cubic curve')
plt.plot(x, y, 'ro', label='specified points')
plt.legend()
plt.show()
```
在这个示例中,我们首先指定了4个点的坐标,然后构造出一个4x4的矩阵A和一个4x1的向量B,用它们来求解一个线性方程组,得到了三次曲线函数的系数C。最后,我们使用这些系数来计算出100个点的坐标,并使用matplotlib库绘制出曲线图。