Я не совсем уверен, что не так с вашей попыткой использовать imagesc
... Когда я использовал ваши x
и y
и определил Z=sin(X*20)+sin(Y*20);
и побежал imagesc(x,y,Z)
, я получил
Глядя на полученное сообщение об ошибке, я подозреваю, что у вас где-то есть скрипт, сохраненный как imagesc
, который каким-то образом перезаписывает функцию imagesc
. Попробуйте запустить edit imagesc
и посмотрите, что получится, это функция?
Теперь, чтобы сделать этот гладкий вид, у вас есть два варианта. Во-первых, вы можете просто использовать более высокую плотность точек, а не сетку 10х10. Например
x = linspace(0,1,1000);
y = linspace(0,1,1000);
[X, Y] = meshgrid( x , y );
Z=sin(X*20)+sin(Y*20);
imagesc(x,y,Z)
дает
В качестве альтернативы, если вы хотите / должны придерживаться низкой плотности точек, вы можете использовать pcolor(X,Y,Z)
, а затем установить shading interp
, что дает