0

我已经使用该fsolve函数来查找向量x(答案),但我需要我的函数返回一些其他值,例如A但下面的代码不起作用。

这是我的功能:

function [F,A] = myfun(x,c)
    F = [ 2*x(1) - x(2) - exp(c*x(1))
          -x(1) + 2*x(2) - exp(c*x(2))];
.
.
.
    A = 1;

这是来电者:

[x,a] = fsolve(@(x) myfun(x,c),[-5;-5])

但在上面a包含F(x)值(必须几乎为零)而不是A.

4

1 回答 1

2

你的最后一行

[x,a] = fsolve(@(x) myfun(x,c),[-5;-5])

请求a成为fsolve( fval) 的第二个输出。在内部,fsolve仅使用函数的第一个输出;任何其他输出都将被忽略。

在求解点获得函数第二个输出的最简单方法是在 之后再次评估函数fsolve

x = fsolve(@(x) myfun(x,c),[-5;-5]);
[~,a] = myfun(x,c);
于 2013-09-05T12:37:59.880 回答