Изучив это, я обнаружил, что метод построения графика в другом ответе работает не так, как ожидалось.
При тестировании с помощью следующего входного файла:
0 1 3 2
1 2 9 4
5 6 7 8
Судя по вопросу, это должно дать сюжет из трех прямых линий. Строка 1 должна начинаться с координаты x = 0, y = 1 и заканчиваться в точке x = 3, y = 2. Аналогично для остальных.
При чтении с кодом при условии:
fid = fopen('yourfile', 'r');
C = textscan(fid, '%f %f %f %f');
fclose(fid);
Полученное значение C
является C = {[0;1;5], [1;2;6], [3;9;7], [2;4;8]};
. Все хорошо и хорошо.
Когда заговор с plot(C{:, 1}, C{:, 2}, C{:, 3}, C{:, 4});
Это результат:
Это потому, что сюжет будет рисовать серию линий для X=C{:,1}; Y=C{:,2};
, оба из которых в этом примере, длиной в три очка, а другая линия для X=C{:,3}; Y=C{:,4};
для построения три отдельных линий, с концами указанных [x1 y1]
, [x2 y2]
, вы можете использовать следующий код:
plot([C{1} C{3}]', [C{2}, C{4}]');
plot
, при условии, с матрицами как параметры X и Y будет строить отдельную строку для каждого столбца, поэтому это приводит:
Я не застрял, я спрашиваю о эффективных способов сделать это. Это нормально, если я использую цикл и рисую каждую строку отдельно. – user2381422