Приведенный ниже код строит несколько контурных карт в разных местах по оси Z, заданной Zlevel. Однако у меня есть несколько точек интереса Z, поэтому я хотел бы использовать цикл for.
Zlevel=[0 1];
figure(1)
hold on
[~,h1]=contourf(xx,yy,zz(:,:,1)); h1.ContourZLevel=Zlevel(1);
hold on
[~,hh1]=contour(xx,yy,yy); hh1.ContourZLevel=h1.ContourZLevel;
hold on
[~,h2]=contourf(xx,yy,zz(:,:,2)); h2.ContourZLevel=Zlevel(2);
hold on
[~,hh2]=contour(xx,yy,yy);hh2.ContourZLevel=h2.ContourZLevel;
hold off
Я думал, что у меня может быть что-то вроде этого:
figure(1); hold on;
for i=1:length(Zlevel)
[~,h(i)]=contourf(xx,yy,zz(:,:,i)); h(i).ContourZLevel=Zlevel(i);
hold on
[~,hh(i)]=contour(xx,yy,yy); hh(i).ContourZLevel=Zlevel(i);
hold on
end
hold off
Я пробовал это, и я не могу заставить его работать. Я, вероятно, не понимаю обработку объектов Matlab. Поэтому, если бы кто-то мог помочь мне и объяснить, почему я не могу делать то, что я пытаюсь сделать, и указать мне правильное направление, я был бы очень признателен!
Спасибо!