Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def f1(x, y, z):
- return 9*x*z**2 + y*z + 2*y**2*x**3 + 175
- def f2(x, y, z):
- return 0.5*y**3*z**2 - 0.8*x**2*y - 5.5 + 4.2
- def f3(x, y, z):
- return 0.7*z**3 - 6.3*y**3 - 12.6
- def f1_der_x(x, y, z): #derivative
- return 9*z**2 + 2*y**2*3*x**2
- def f1_der_y(x, y, z):
- return z + 2*2*y*x**3
- def f1_der_z(x, y, z):
- return 9*x*2*z + y
- def f2_der_x(x, y, z):
- return -0.8*2*x*y
- def f2_der_y(x, y, z):
- return 1.5*y**2 - 0.8*x**2
- def f2_der_z(x, y, z):
- return y**3*z
- def f3_der_x(x, y, z):
- return 0
- def f3_der_y(x, y, z):
- return -18.9*y**2
- def f3_der_z(x, y, z):
- return 2.1*z**2
- def w_matrix(x, y, z):
- W = [[f1_der_x(x, y, z), f1_der_y(x, y, z), f1_der_z(x, y, z)],
- [f2_der_x(x, y, z), f2_der_y(x, y, z), f2_der_z(x, y, z)],
- [f3_der_x(x, y, z), f3_der_y(x, y, z), f3_der_z(x, y, z)]]
- return W
- def def_matrix(a=[]):
- return (a[0][0]*a[1][1]*a[2][2] + a[2][0]*a[0][1]*a[1][2] +
- a[1][0]*a[2][1]*a[0][2] - a[2][0]*a[1][1]*a[0][2] -
- a[0][0]*a[2][1]*a[1][2] - a[1][0]*a[0][1]*a[2][2])
- def t_matrix(a=[]):
- a1 = a[0][0]
- a2 = a[1][0]
- a3 = a[2][0]
- b1 = a[0][1]
- b2 = a[1][1]
- b3 = a[2][1]
- c1 = a[0][2]
- c2 = a[1][2]
- c3 = a[2][2]
- B = [[a1*b2-a2*b1, -a2*c3+a3*c2, a2*b3-a3*b2],
- [-b1*c3+b3*c1, a1*c3-a3*c1, -a1*b3+a3*b1],
- [b1*c2-b2*c1, -a1*c2+a2*c1, a1*b2-a2*b1]]
- return B
- def inverse_matrix(a=[]):
- T = t_matrix(a)
- q = def_matrix(a)
- if def_matrix(a) == 0:
- print("def_matrix = 0")
- return a
- for i in range(3):
- for k in range(3):
- a[i][k] = T[i][k]/q
- return a
- def output_matrix(a=[]):
- print(a[0][0], ' ', a[0][1], ' ', a[0][2])
- print(a[1][0], ' ', a[1][1], ' ', a[1][2])
- print(a[2][0], ' ', a[2][1], ' ', a[2][2])
- print('')
- x = 1
- y = 1
- z = 1
- W = w_matrix(1, 1, 1) #[номер строки][номер столбца]
- W = [[2,1,1],[1,2,1],[1,1,2]]
- output_matrix(W)
- T = t_matrix(W)
- output_matrix(T)
- I = inverse_matrix(W)
- output_matrix(I)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement