【发布时间】:2019-11-14 20:19:41
【问题描述】:
假设 X, Y 是给定区间内的坐标矩阵
xc = 0, yc = 0
xl = linspace(xc - 10, xc + 10, 2);
yl = linspace(yc - 10, yc + 10, 2);
[X,Y] = meshgrid(xl,yl);
而 fun 是一些函数 test(v) 的句柄
fun = @(v)test(v);
如何组合两个矩阵 X, Y 以便它们代表向量 v 的分量 x,y
res = arrayfun(fun, [X,Y]); //First processed X and then Y
不幸的是,这个解决方案不起作用....
修改函数时还有另外一种方式,让两个参数x,y被传递
fun = @(x, y)test(x, y);
res = arrayfun(fun, X, Y); //This works well
但是,如果存在任何解决方案,我想保留函数的接口。
感谢您的帮助。
【问题讨论】:
标签: arrays matlab function parameter-passing