Я сделал следующий код:Использование команды meshz в Matlab
u=linspace(0,1,40);
v=linspace(0,1,40);
[u,v]=meshgrid(u,v);
x=u;
y=v.*sqrt(u);
z=x+y+1;
meshz(x,y,z)
xlabel('x-axis')
ylabel('y-axis')
который дает следующее изображение:
Теперь я хотел бы, чтобы уменьшить сетчатые стенки вниз к плоскости xy (по адресу z=0
). Я попытался следующие, которые не работали:
u=linspace(0,1,40);
v=linspace(0,1,40);
[u,v]=meshgrid(u,v);
x=u;
y=v.*sqrt(u);
z=x+y+1;
meshz(x,y,z)
xlabel('x-axis')
ylabel('y-axis')
v=axis;
v(5)=0;
axis(v)
что дает следующую картину:
Я попробовал несколько других вещей, как последний код: добавление hold on
, вызывая meshz(x,y,z)
опять же, но они не сработали. Как я могу расширить стены meshz
до плоскости x-y?
Я думаю, что это может быть единственным способом сделать это , В 'meshz.m' он получает нижний предел для краев« штор »через' zref = min (min (z (isfinite (z)))). Таким образом, если вы не установите одну точку ввода на более низкое значение и испортили форму сетки, я не вижу другого хорошего способа сделать это. Хороший Q и хороший A. + 1s! – chappjc
@chappjc: Я пытался попробовать что-то подобное, и это казалось грязным и, вероятно, было бы хрупким. Удивительно, что эта функция не имеет возможности для такого встроенного устройства. Может быть, хорошо [оставить отзыв с The MathWorks] (https://mathworksservicequest.secure.force.com/cp_case_new) на ... – horchler
@horchler: Отличный ход! Однако мне любопытно, что линия Z (:, [2 end-1]) = 0 ;. Используя этот код, я повернул фигуру, а затем обнаружил, что задняя сторона отличается от самых больших z до z = 1, а затем от z = 1 до z = 0, той же зеленой стены. Когда я изменил эту строку на Z (:, [1 конец]) = 0 ;, я получил то же изображение и тот же зеленоватый цвет сверху вниз. Мысли? – David