Как мне держать несколько функций в массиве в MATLAB? - PullRequest
3 голосов
/ 05 декабря 2010

Я новичок в MATLAB, поэтому я даже не знаю, возможно ли это, но вот оно ... Я пытаюсь напечатать несколько строк в одном графике, используя функцию plot.Проблема в том, что я хочу указать, сколько строк должен отображать график, просто изменив переменную, например: {Это псевдокод того, что я хочу сделать}

 number_of_lines = 4;
 x = 0:0.5:5;

 function_output[number_of_lines];

 for n=0:number_of_lines
     function_output[n] = sin(n + x);
 end

 for n=0:number_of_lines
     plot(x,function_output[n]);
 end

IЯ знаю, что приведенный выше псевдокод не совсем MATLAB, но все, что я хочу знать, возможно ли сделать такой алгоритм в MATLAB.

Ответы [ 2 ]

2 голосов
/ 05 декабря 2010

Вот один из способов реализации вашего примера в MATLAB:

function_output = zeros(numel(x), number_of_lines);  % Initialize a 2-D array
for n = 1:number_of_lines                   % MATLAB uses 1-based indexing
    function_output(:, n) = sin(n + x).';  %' Compute a row vector, transpose
                                            %   it into a column vector, and
                                            %   place the data in a column of
                                            %   the 2-D array
end
plot(x, function_output);  % This will plot one line per column of the array

И вот несколько ссылок на документацию, которые вы должны прочитать, чтобы изучить и понять приведенный выше код:

1 голос
/ 05 декабря 2010

Ознакомились ли вы с руководством MATLAB? - это довольно хорошо написано со многими примерами. Скопируйте примеры сценариев и вставьте их в командное окно и посмотрите, что произойдет ...

http://www.mathworks.com/help/techdoc/creating_plots/f9-53405.html

Вы можете написать скрипт или использовать его инструмент для построения графиков: http://www.mathworks.com/help/techdoc/creating_plots/f9-47085.html

--- пример сценария

number_of_lines = 4;

х = 0: 0,5: 5;

function_output = те (NUMBER_OF_LINES, 1) * нан;

цифра; держись;

для n = 1: number_of_lines

function_output (n, 1) = plot (x, sin (n + x), 'color', [1-n / number_of_lines 0 n / number_of_lines]);

конец

легенда (function_output)

Веселитесь.

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