在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
这会帮助像我这样容易忘记点的光头人。
很抱歉,如果它是重复的,我会搜索,但是你可以看到我无法用清晰的语言表达,所以我找不到答案。
答案 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
的元素