首页 > 解决方案 > 简单函数中的输出参数太多

问题描述

我在以下位置定义了一个函数 f1 f1.m

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

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

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

导致错误

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

我哪里错了?

标签: matlab

解决方案


我看不出你的标题和你的问题是如何匹配的。

我将“输出参数过多”的问题放在一边,专注于索引。

通常,您不能直接索引函数的结果。

你所要做的

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

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

disp(res(1))

因为res230

另一种方法可能是

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

但是在这里,您的a结果也将落在res1bres2


推荐阅读