将以下简短的 python/numpy 代码转换为 matlab 的最佳方法是什么
from numpy import *
F = lambda x, y: (-y, x)
points = array(meshgrid([1,2,3], [4,5,6,7]))
vx, vy = F(*points)
print vx, vy
在上面的代码中,F
旨在表示矢量值速度场。具体来说,是否应该使用单元格来表示向量值函数,或者有更好的方法吗?
第一次尝试翻译上述代码:
F = @(x,y) {-y, x};
[X, Y] = meshgrid(1:3, 4:7);
rslt = F(X, Y);
[vx, vy] = rslt{:};
有没有更优雅的方法来做到这一点?例如,匿名函数是否可以返回多个值,以便人们可以这样调用它,[vx, vy] = F(X,Y);
而不必定义一个中间rslt
变量?