Matlab - несколько 2D-графиков вдоль 3-го измерения
Я пытаюсь построить много 2D-графиков (х, у).
Но... каждый 2D-график предназначен для постоянной z.
Так что на самом деле мои данные (x,y,z), но не z(x,y), которые, как я считаю, являются требованиями для использования команды "surf".
Может ли кто-нибудь помочь с этим?
Пример, х = скорость у = сопротивление
У меня есть несколько прогонов у (х) для постоянной температуры, г.
Я просто хочу построить каждый (x, y) вдоль 3-й оси, температура z.
В идеале я бы хотел иметь какой-то контур между (x, y) графиками, чтобы я мог показать пики / впадины и т. Д.
Любая помощь будет отличной.
1 ответ
Если прогоны не являются независимыми (существует тенденция по нескольким прогонам), возможно, имеет смысл использовать surf
, Затем вам нужно построить ваши данные так, чтобы у вас были X,Y и Z - в этом случае я бы предложил вам использовать измерения сопротивления в качестве Z (высоты).
Предполагая, что у вас есть все данные сопротивления / скорости в drag
а также velocity
которые имеют размер [точки данных х количество прогонов]:
% construct matrix of run numbers
runs = repmat(1:numruns, [1, datapoints]);
runs = reshape(runs, datapoints, numruns);
% plot and label
surf(runs,velocity,drag);
xlabel('runs')
ylabel('velocity')
zlabel('drag')