Как мне построить график XY и XZ на 3D-графике?

#plot #octave

#график #octave

Вопрос:

Я пытаюсь построить два графика. Один XY и один XZ на 3D-графике. Пока я получил только это, и моя проблема в том, что график 2 использует мою вторую переменную в качестве координаты y, и я не знаю, как сделать это Z. Я пытался поместить 800 в качестве константы Y, но octave, похоже, не согласен.

 clear;
[amp, knak, cap]=textread('Octave.csv');

figure(1);
plot3(amp, knak); %%plot 1
hold on;
plot3(amp, cap); %%plot 2
xlabel('amplitude');
ylabel('knakfrekvens');
xlim([0, 25]);
ylim([800, 1500])
zlim([-2E-06, 0]);
zlabel('capacitet');
legend('capacitet', 'knakfrekvens');
grid on;
hold off;
  

Комментарии:

1. Пожалуйста, включите файл Octave.csv, чтобы мы могли воспроизвести ваш результат.

Ответ №1:

Создание Z — правильного направления. Однако X и Y являются матричными, а Z должен быть матричным.

Функция plot3 принимает три координаты, когда пытается построить линию в 3D. Если требуется только две координаты, они будут приниматься как x и y и отображаться на плоскости xy. Вы можете указать еще одну кординату, чтобы plot3 мог нанести линию на нужную вам плоскость.

Есть пример:

 t = 0:0.1:2*pi;
y = sin(t);
z = sin(t (0.5*pi));

figure(1);
#on -z=1 plane
plot3(t, y, -1*ones(1, length(t)), 'linewidth', 5, "-");
hold("on");
#on y=1 plane
plot3(t, ones(1, length(t)), z, 'linewidth', 5, "-"); %%plot 2
xlabel('X');
ylabel('Y');
zlabel('Z');
grid("on");
hold("off");
  

введите описание изображения здесь