Графики Matlab, несколько графиков с одним скриптом

Работаю над обзорным упражнением из Introduction to Scientific Computation Ван Лоана. Это P1.2.4, если кто-то хочет знать. Я не могу понять, почему мой код создает один график.

x=linspace(0,2*pi, 30);
for k=1:5  
plot(x, sin(k*x));

end

Кажется, мне нужно сделать

 plot(x, sin(x), x, sin(2*x), x, sin(3*x)....)

Но это кажется чрезмерным количеством ручного кодирования, есть ли более элегантный способ?


person codeAligned    schedule 12.01.2015    source источник


Ответы (2)


Вы можете использовать hold on в цикле for. Вам также необходимо использовать поле 'Color' в plot, чтобы сделать графики разных цветов. На каждой итерации просто выберите тройку случайных чисел от 0 до 1.

x=linspace(0,2*pi, 30);
for k=1:5  
    plot(x, sin(k*x),'Color',rand(1,3));hold on;
end
hold off;
person Autonomous    schedule 12.01.2015

Хотите 5 отдельных участков? Затем используйте что-то вроде

for k=1:5
figure
plot(x, sin(k*x));
end

Или все сюжеты в одном рисунке? В этом случае используйте «удержание»

hold on
for k=1:5
plot(x, sin(k*x));
end
hold off

или третий способ: используйте график с X и Y в качестве матриц

person Andy    schedule 12.01.2015