我正在使用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
是否可以用一两行来做这样的事情。
答案 0 :(得分:3)
您可以使用Octave的nthargout来获得特定的返回值。
您可以与anonymous function结合使用,将其传递给fplot
。
fplot(@(x) nthargout(2, @myfunc, x, 1), [0 1])