Пожалуйста, помогите построить график функции

Елена

Новичок
Пользователь
Окт 5, 2020
5
0
1
Пожалуйста, помогите построить график функции f(x,y,z)=x-2*y-z+5.
 

MonaCCi

Пользователь
Пользователь
Сен 30, 2020
66
11
8
17
Основы построения графиков в Matplotlib
Сначала посмотрите видеоролик, попробуйте, и если не получится, то напишите, что именно не получилось.
 

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
И мне все равно непонятно, как задавать сразу 3 аргумента функции.
Вот пример:
Python:
import numpy as np
import matplotlib.pyplot as plt


xval = np.linspace(-4, 4, 100)
yval = np.linspace(-4, 4, 100)
zval = np.linspace(-4, 4, 100)

fig = plt.figure()
ax = fig.gca(projection='3d')

x = xval - 2 * yval - zval + 5
y = xval - 2 * yval - zval + 5
z = xval - 2 * yval - zval + 5

ax.plot(x, y, z, label='f(x,y,z)=x-2*y-z+5')
ax.legend()
plt.show()
 
  • Мне нравится
Реакции: Student

Елена

Новичок
Пользователь
Окт 5, 2020
5
0
1
Спасибо, очень хороший видеоролик.
И мне все равно непонятно, как задавать сразу 3 аргумента функции.
Выдает ошибку:
TypeError: from_bounds() takes 4 positional arguments but 5 were given

Код такой:

Python:
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
from matplotlib import cm
import matplotlib.pyplot as plt

f = lambda x, y, z: x - 2 * y - z + 5

fig = plt.figure(figsize = (10, 10, 10))

ax = fig.add_subplot(1, 1, 1, projection = '3d')

xval = np.linspace(-4, 4, 100)
yval = np.linspace(-4, 4, 100)
zval = np.linspace(-4, 4, 100)

x, y, z = np.meshgrid(xval, yval, zval)


surf = ax.plot_surface( x, y, z, f )
 
Последнее редактирование модератором:

MonaCCi

Пользователь
Пользователь
Сен 30, 2020
66
11
8
17
Python:
def f(x, y, z):
    return (x - 2 * y - z + 5)
 

Елена

Новичок
Пользователь
Окт 5, 2020
5
0
1
Извините, не поняла.
Эти строки нужно дописать или ими что-то заменить?
 

MonaCCi

Пользователь
Пользователь
Сен 30, 2020
66
11
8
17
Извините, не поняла.
Эти строки нужно дописать или ими что-то заменить?
этими строками нужно заменить
Python:
f = lambda x, y, z: x - 2 * y - z + 5
Функции и их аргументы
 

Елена

Новичок
Пользователь
Окт 5, 2020
5
0
1
Вот пример:
Python:
import numpy as np
import matplotlib.pyplot as plt


xval = np.linspace(-4, 4, 100)
yval = np.linspace(-4, 4, 100)
zval = np.linspace(-4, 4, 100)

fig = plt.figure()
ax = fig.gca(projection='3d')

x = xval - 2 * yval - zval + 5
y = xval - 2 * yval - zval + 5
z = xval - 2 * yval - zval + 5

ax.plot(x, y, z, label='f(x,y,z)=x-2*y-z+5')
ax.legend()
plt.show()
Спасибо, программа работает.
Я думала, что результат построения - поверхность или какая-то объемная фигура, а рисует прямую....
 

Форум IT Специалистов