Как лучше всего перевести следующий краткий код 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
?