MATLAB: построение графиков / сохранение X-Y представлений о функции сетки на вспомогательных участках
Как говорится в заголовке, я пытаюсь сохранить срезы с двумя переменными функции сетки (например, в формате .jpg) в качестве вспомогательного участка. Я хочу сделать это, используя файл .m, потому что у меня есть много графиков для генерации. Я выяснил, как изобразить представления на их собственных фигурах, но я не могу заставить их правильно изобразить их в виде подзаговоров внутри фигуры. Чтобы проиллюстрировать, что я имею в виду:
Вот результаты на отдельных участках:
3D сетка:3D-сетка MATLAB
XY вид:Вид сетки XY MATLAB
YZ вид:YZ MATLAB сетка вид
XZ вид:Вид сетки XZ MATLAB
И вот мой код для построения (не работает):
%Ambiguity Surface
fid = figure(fnum);
axes1 = axes('Parent',fid);
view(axes1,[-62.5 28]);
grid(axes1,'on');
hold(axes1,'all');
msh = mesh(taux,fdy,z,'Parent',axes1);
xlabel ('Delay - seconds');
ylabel ('Doppler - Hz');
zlabel ('Ambiguity function (Normalized Magnitude-Squared)');
fname = strcat(name,' (Ambiguity Function z(\tau;F_d))');
title(fname);
cb = colorbar('peer',axes1);
set(get(cb,'ylabel'),'String','Magnitude-Squared (dB)');
hold off;
printFig(fid,fnum,sname)
fnum = fnum + 1;
%Ambiguity Slices
fid = figure(fnum);
hold all;
subplot(2,1,1);
axes1 = axes();
grid(axes1,'on');
view(axes1,[90 0]);
msh = mesh(taux,fdy,z);
xlabel ('Delay - seconds','Visible','off');
ylabel ('Doppler - Hz');
zlabel ('Ambiguity function (Normalized Magnitude-Squared)','Visible','off');
fname = strcat(name,' (Ambiguity Function Slice z(\tau;F_d) @ \tau = 128)');
title(fname)
subplot(2,1,2);
axes2 = axes();
grid(axes2,'on');
view(axes2,[0 0]);
msh = mesh(taux,fdy,z);
xlabel ('Delay - seconds','Visible','off');
ylabel ('Doppler - Hz','Visible','off');
zlabel ('Ambiguity function (Normalized Magnitude-Squared)','Visible','off');
cb = colorbar('peer',axes2);
set(get(cb,'ylabel'),'String','Magnitude-Squared');
fname = strcat(name,' (Ambiguity Function Slice z(\tau;F_d) @ F_d = 0)');
title(fname)
hold off;
printFig(fid,fnum,slname)
fnum = fnum+1;
printFig () просто устанавливает информацию каталога и делаетprint
команда.
Мой код устанавливает два вспомогательных графика, а затем накладывает полное трехмерное представление графика сетки, что не является тем, что я хочу. Я хотел бы видеть два вида (XZ и YZ) на одной фигуре.
Спасибо за помощь!
-Dylan
РЕДАКТИРОВАТЬ: В соответствии с предложением @ Andrew_L, я изменил это в своем коде:
sp1 = subplot(2,1,1);
axes(sp1);
axes1 = axes();
grid(axes1,'on');
view(axes1,[90 0]);
msh = mesh(taux,fdy,z,'Parent',axes1);
Это повторяется для другого участка. Результат все тот же, однако. Похоже, что для правильной настройки двух пустых сюжетов и отображения поверх них полного псевдо-3D графика.