How to use fplot to plot a function file with single input mutiple outputs?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hello, I have a function file that contains 5 outputs and one input. I would like to plot the outputs on a single plot against a range of input values. fplot works nicely when I have a single output but does not work for multiple outputs (it doesn't plot all 5 outputs). Please help me. Thank you
0 comentarios
Respuestas (1)
Guillaume
el 3 de Nov. de 2015
You'll have to explain what 'does not work for multiple outputs' mean exactly:
fn = @(x) [sin(x), cos(x), sin(x.^2), cos(x.^2), sin(x) + cos(x)]; %function with 5 outputs
fplot(fn, [-pi, pi])
works perfectly well. Do you get an error? If so, what is the error?
2 comentarios
Guillaume
el 3 de Nov. de 2015
The outputs need to be concatenated into a row vector for fplot to work.
You can either rewrite your function as:
function [x(:, 1), x(:, 2), x(:, 3)] = myfunction(A)
%...
end
Or use an intermediary function:
function x = catmyfunction(A)
[x(:, 1), x(:, 2), x(:, 3)] = myfunction(A);
end
then
fplot(@catmyfunction, [0.2, 0.5]);
Ver también
Categorías
Más información sobre Linear Algebra en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!