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')
Другие вопросы по тегам