2015-01-12 7 views
0

Работа над обзором упражнений от Van Loan's Введение в научные вычисления. Это P1.2.4 на случай, если кто-то захочет узнать. Я не могу понять, почему мой код создает один сюжет.Matlab plotting, несколько участков с одним скриптом

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)....) 

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

ответ

1

Вы можете использовать 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; 
1

Вы хотите 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, как матрицы

 Смежные вопросы

  • Нет связанных вопросов^_^