Ошибка построения поверхности Matlab только для определенной функции c - PullRequest
0 голосов
/ 21 января 2020

У меня есть небольшой скрипт Matlab -

rho=1;
phi=0.5;
a=pi/4;
[x,y]=meshgrid(-1:1:1);
syms u;
Ex=abs(int(sqrt(cos(u))*exp(1i*rho*(cos(u-x.^2))),-a,a));
surf(x,y,Ex);

Это выдает ошибку

Ошибка при использовании matlab.graphics.chart.primitive.Surface / set

Недопустимые аргументы пара параметр / значение.

Но не должно быть, поскольку Ex - это матрица 3x3, как и сетка. Построение поверхности должно проходить гладко.

Но если я определю функцию, которая не использует функцию int(), например -

z=x.^2+y.^2;
surf(x,y,z);

, то ошибки не будет.

Имеет ли она что-то делать с syms переменными? Любая помощь будет оценена.

...