如何解决函数matlab中的匿名函数数组
我在一个函数中定义了一个匿名函数数组,如下所示。
function test(x,y)
f={@(x,y) (3*y*x^2)
@(x,y) (x*y)
@(x,y) (x*2*y^2)
@(x,y) (2*x*y)}
res2=f{2}(x,y)-2*f{1}(x,y)
res3=f{3}(x,y)-5*f{2}(x,y)
res4=f{4}(x,y)-4*f{2}(x,y))
end
我想通过
获得一个 3 x 10 的矩阵x=2
y=linspace(0.0001,0.001,10)
for i=1:length(y)
final(i)=test(x,y(i));
end
但是,我收到一条错误消息,指出输入变量过多。我该如何纠正?
解决方法
function test(x,y)
这个函数什么都不返回。因此,在您的主代码中,您要求的输出参数过多。
您定义的函数返回为:
function [output1,output2,...,outputn]=f(input1,input2,inputn)
不确定你想要什么,因为你的主循环只捕获 1 个输出,但在函数内部你计算 3 个变量。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。