MATLAB удовлетворяет эту вашу потребность довольно лаконично.
Что вам нужно сделать, это использовать meshgrid
, чтобы двумерно преобразовать ваши X
и Y
векторы. Вот простой пример, демонстрирующий, как создать контурный график z = sin (x^2 + x*y^2)
:
x = -10:0.1:10;
y = -10:0.1:10;
[x,y] = meshgrid(x,y);
z = sin(x.^2+x.*y.^2);
contour(x,y,z)
Обратите внимание на использование обозначений .^
и .*
, что заставляет MATLAB проводить поэлементную оценку матрицы z
, делая ее двумерной в процессе.