Попытка создать итерации с помощью MATLAB (новичок) - PullRequest
4 голосов
/ 30 августа 2010

Я очень новичок в Matlab, и я попытался сделать простой итерационный скрипт. В основном, все, что я хотел сделать, это заговор:

1*sin(x)
2*sin(x)
3*sin(x)
...
4*sin(x)

И это программа, которую я написал:

function test1
x=1:0.1:10;
for k=1:1:5;
    y=k*sin(x);
    plot(x,y);
end % /for-loop
end % /test1

Тем не менее, он отображает только y = 5 * sin (x) или что-то еще, что является последним числом

Есть идеи?

Спасибо! Amit

Ответы [ 2 ]

7 голосов
/ 30 августа 2010

Вам нужно использовать команду hold on, чтобы убедиться, что график не стирается каждый раз, когда вы создаете что-то новое.1008 * Вы также можете сделать это без цикла и построить двумерный массив, как предлагает @ Ofri :

function test1
figure
x = 1:0.1:10;
k = 1:5;
%# create the array to plot using a bit of linear algebra
plotData = sin(x)' * k; %'# every column is one k
plot(x,plotData)
4 голосов
/ 30 августа 2010

Другой вариант - использовать тот факт, что график может принимать матрицы, и обрабатывать их как несколько линий, чтобы построить их вместе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...