具有多个输入和输出的fplot函数

时间:2016-03-23 08:48:18

标签: matlab plot octave

我正在使用Octave,但为了增加获得答案的机会,我会尝试来自Matlab的任何内容。

我有一个函数返回多个值,如

function [ a, b ] = myfunc( x, y )
  a = 1;
  b = 2;
endfunction;

我如何fplot b(x,1)?我实际上是想得到一个直接绘制的表达式。截至目前,我得出的结论是,我必须首先提取b,然后绘制它。我实际上还没有为此编写代码,但如果可以避免,我会这样做。

可以做的是

x = 0 : 0.1 : 4;
[ a, b ] = myfunc( x, 1 );
plot( x, b );

但是我想知道fplot是否可以用一两行来做这样的事情。

1 个答案:

答案 0 :(得分:3)

您可以使用Octave的nthargout来获得特定的返回值。 您可以与anonymous function结合使用,将其传递给fplot

fplot(@(x) nthargout(2, @myfunc, x, 1), [0 1])