我是MATLAB的新手,所以我甚至不知道这是否可行,但这里是...... 我试图使用绘图功能在单个图形中打印多行。问题是,我希望能够通过简单地更改变量来指定图表应显示多少行,例如:{这是我想要做的伪代码}
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
我知道上面的伪代码并不完全是MATLAB,但我想知道是否可以在MATLAB中使用这种算法。
答案 0 :(得分:2)
这是在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 :(得分:1)
您是否浏览过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;
x = 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)
玩得开心。