在函数声明中指定它应该应用于invidual参数

时间:2016-06-15 07:00:19

标签: matlab

在Matlab中是否可以在函数声明中指定将此特定函数应用于单个参数(而不是向量)?如果是这样,那么匿名函数呢?

我的意思是,而不是写

之类的东西
f = @(x, y) x.^2+2*x.*y.^2-x./(y.^3)...

有人可能会写出类似

的内容
f = .@(x, y) x^2+2*x*y^2-x/y^3

这会帮助像我这样容易忘记点的光头人。

很抱歉,如果它是重复的,我会搜索,但是你可以看到我无法用清晰的语言表达,所以我找不到答案。

1 个答案:

答案 0 :(得分:2)

不确定这是否适合您,但您可以在匿名函数中使用arrayfun,如:

f = @(x,y) x.^2+2*x.*y.^2-x./(y.^3);    
g = @(x,y) arrayfun(@(A,B) A^2+2*A*B^2-A/B^3 ,x,y) %for matrix output
h = @(x,y) arrayfun(@(A,B) A^2+2*A*B^2-A/B^3 ,x,y,'UniformOutput',false); % for cell output

其中A是x的元素,B是y

的元素