ошибка matlab минус, размеры матрицы должны совпадать

#matlab

#matlab

Вопрос:

Привет, почему я получаю эту ошибку?

 x = linspace(-1,1,20);
y = linspace(-2,2,40);
z = (1. sin(pi.*x)).*((3. cos(1.065.*y)).^2).*exp(-x.^2 -(y.^2)./4);
  

??? Ошибка при использовании ==> минус
Размеры матрицы должны совпадать.

Ответ №1:

Потому x что и y не имеют одинакового размера. То, что вы, вероятно, захотите использовать здесь, это meshgrid .

Код будет выглядеть примерно так:

       [x,y] = meshgrid(linspace(-1,1,20),linspace(-2,2,40));
      z = (1. sin(pi.*x)).*((3. cos(1.065.*y)).^2).*exp(-x.^2 -(y.^2)./4);
  

Затем вы можете визуализировать, как:

       surf(x,y,z)
  

И получаем что-то вроде этого:

введите описание изображения здесь