Моя цель состоит в том, чтобы отобразить две разные основные функции на одной фигуре, но также иметь возможность строить поверх тех похожих функций, которые связаны с тем, как эти оригинальные 2 функции развиваются. Например, первая функция будет красной и сплошной, ее последующие аналогичные функции будут одного цвета, но будут проходить через разные стили линий, аналогично для второй функции все они будут синими, а также будут циклически перемещаться по стилям линий. Вот некоторые примеры кода:Как перемещаться по стилям линии в Октаве, сохраняя одинаковый цвет?
lstyle = {" '-' ", " '--' ", " ':' ", " '-.' "};
i=1;
%Plot:
for n=1:3
choose_lstyle = lstyle{i};
y1 = (z.*n).^2;
y2 = (z.*n).^3;
plot(z,y1,'r','linestyle',choose_lstyle);
plot(z,y2,'b','linestyle',choose_lstyle);
n++;
if i < length(lstyle) %cycle through line styles
i = i+1;
else
i = 1;
end
hold on;
end
Я пытаюсь поместить «-» или «:» кавычки и все в порядке, где мой choose_lstyle есть. В основном это точно так же, как и у вас, если бы у вас был только один стиль линии, где он находится в кавычках, за исключением того, что я пытаюсь перебирать стили линий.
Я получаю ошибку при запуске это:
error: set: invalid value for radio property "linestyle" (value = '-')
error: called from
__line__ at line 120 column 16
line at line 56 column 8
__plt__>__plt2vv__ at line 500 column 10
__plt__>__plt2__ at line 246 column 14
__plt__ at line 113 column 17
plot at line 220 column 10
PROGRAM_NAME at line 37 column 3
enter code here
Как говорится, вы передаете недопустимые аргументы. Попробуйте 'lstyle = {'-', '-', ':', '-.'}' – stephematician
@StephenWade Я считаю, что это не сработает, поскольку оно вернет массив (или так?) Тип данных. Вы можете, однако, попробовать 'lstyle = ['-'; '-'; ':'; '-.'; '-']' и 'choose_lstyle = strtrim (lstyle (i, :))' – 0range
Это работает для меня. Он вернет массив ячеек, если вы индексируете в lstyle с помощью '()' вместо '{}'. – stephematician