简单函数中的输出参数过多



我在f1.m中定义了一个函数f1:

function [a b]= f1(x)
a= x^4-x-10
b= e^(-x) - sin(x)
end

现在我想拥有x0^4-x0-10的价值,x0=3但表达

x0=3
disp(f1(x0)(1))

导致错误

Indexing with parentheses '()' must appear as the last operation of a valid
indexing expression.

我错在哪里?

我不明白你的标题和你的问题是如何匹配在一起的。

我抛开"输出参数太多"的问题,专注于索引。

通常,不能直接为函数的结果编制索引。

你必须做

x0 = 3
res = f1(x0)
disp(res(1))

但是,由于您的结果无论如何都是标量的,因此您可以这样做

disp(res(1))

因为res230.

另一种方式可能是

x0 = 3
[res1 res2] = f1(x0)

但在这里,您的a结果也将落在res1b落在res2.

您可以尝试struct类型作为输出,如下所示

function [r]= f1(x)
r.a= x^4-x-10;
r.b= e^(-x) - sin(x);
end

然后有了x0 = 3您将获得

>> disp(f1(x0).a)
68

相关内容

  • 没有找到相关文章

最新更新