次の簡単な 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