График и функция с тремя переменными в python - PullRequest
0 голосов
/ 02 февраля 2020

Уравнение, которое представляется следующим образом:

sin(x)*sin(y)*sin(z)+cos(x)*sin(y)*cos(z)=0

Я знаю код для построения функции для z = f (x, y), используя matplotlib, но для построения функции выше, я не знаю код, но я попробовал код MATLAB MuPad, который выглядит следующим образом

Plot(sin(x)*sin(y)*sin(z)+cos(x)*sin(y)*cos(z),#3d)

Ответы [ 2 ]

1 голос
/ 03 февраля 2020

Это будет намного проще, если вы сможете выделить z. Ваше уравнение такое же, как sin(z)/cos(z) = -cos(x)*sin(y)/(sin(x)*sin(y)), поэтому z = atan(-cos(x)*sin(y)/(sin(x)*sin(y))).

0 голосов
/ 03 февраля 2020

Пожалуйста, не поймите меня неправильно, но я думаю, что ваше заданное уравнение может быть сведено к простому двухмерному графику.

sin(x)*sin(y)*sin(z)+cos(x)*sin(y)*cos(z) = 0
sin(y)[sin(x)*sin(z)+cos(x)*cos(z)] = 0
sin(y)*cos(x-z) = 0
Hence sin(y) = 0 or cos(x-z)=0
Hence y = n*pi (1) or x-z=(2*n + 1)pi/2
Implies, x = z + (2*n + 1)pi/2 (2)

Для (1) это будет прямая линия (график) из y против n), а во втором случае вы получите параллельные линии, которые обрезают ось X в точке (2 * n + 1) pi / 2, а расстояние между двумя параллельными линиями будет равно pi. (Предполагая, что вы сохраняете n постоянным).

Предполагая, что ваш y не может быть нулем, вы можете упростить график до двухмерного графика с помощью x и z.

* 1010. * И, отвечая на ваш оригинальный вопрос, вам нужно использовать mplot3d для построения 3D-графиков. Но, как и для любого графического инструмента, вам нужны значения или точки x, y, z. (Вы можете рассчитать возможные точки путем программирования). Затем вы вводите эти точки на график, как показано ниже.
from mpl_toolkits import mplot3d

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
ax = plt.axes(projection="3d")
xs = [] # X values
ys = [] # Y values
zs = [] # Z values
ax.plot3D(xs, ys, zs)
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...