Мне интересно, как я могу ввести значения в мою матрицу (J * f). В частности, мне нужно подключить значения из моей матрицы p => p [0,0] = значение x, p [0,1] = значение y, p [0,2] = значение z (это первая итерация, однако значения будут меняться после каждой итерации). Причина, по которой я делаю это, заключается в том, что мне нужно сделать al oop из 5 итераций.
p Начальная матрица выглядит так, но в столбце, а не в строке [0.1, 0.1, -0.1]
Как я могу go делать это?
import sympy as sp
import numpy as np
x, y, z = sp.symbols("x y z")
eq1 = 3*x - sp.cos(y*z) - 1/2
eq2 = x**2 -81*(y+0.1)**2 + sp.sin(z) + 1.06
eq3 = sp.exp(-x*y) + 20*z + (10*sp.pi - 3)/3
A = np.array([[0,0,x],[0,0,0],[0,0,0]])
f = np.array([[eq1],[eq2],[eq3]])
A[0,0] = sp.diff(eq1,x)
A[1,0] = sp.diff(eq1,y)
A[2,0] = sp.diff(eq1,z)
A[0,1] = sp.diff(eq2,x)
A[1,1] = sp.diff(eq2,y)
A[2,1] = sp.diff(eq2,z)
A[0,2] = sp.diff(eq3,x)
A[1,2] = sp.diff(eq3,y)
A[2,2] = sp.diff(eq3,z)
J = sp.Matrix(A).inv()
p = np.array([[0.1], [0.1], [-0.1]])
p = p - J*f
i = 0
for i in range(0,4):
p = p - J*f
i += 1
print(p)