У меня есть следующее уравнение:
y = x^T * A * x + b^T * x + c
где x, b, c - векторы в пространстве n, а A - матрица nxn.
Я могу построить линейный уравнение в matplotlib, но не уверен, как матричное уравнение (если возможно) может быть показано также на трехмерном графике.
Я пробовал со следующим кодом, A задана матрица, а w, c и b - столбцы векторы. X и Y - это я sh, а Z - решение.
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
# if using a Jupyter notebook, include:
%matplotlib inline
fig = plt.figure(figsize=(10,6))
ax1 = fig.add_subplot(111, projection='3d')
n = 50
i = -5.0
j = 5.0
A = np.random.randint(i, j, size=(n, n))
w = np.random.randint(i, j, size=(n, 1))
c = b = np.random.randint(i, j, size=(n, 1))
X,Y = np.meshgrid(n,n)
Z = w.T*A*w + b.T*w + c
mycmap = plt.get_cmap('gist_earth')
surf1 = ax1.plot_surface(X, A, Z, cmap=mycmap)
fig.colorbar(surf1, ax=ax1, shrink=0.5, aspect=10)
plt.show()
Полученный график не выглядит удовлетворительным.