我在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))
因为res
会230
.
另一种方式可能是
x0 = 3
[res1 res2] = f1(x0)
但在这里,您的a
结果也将落在res1
,b
落在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