与えられたf = @(x,y) [something with a scalar result]
は、特定の範囲とドメイン内のx,y
のA(x,y) == f(x,y)
のような検索行列A
を計算する最良の方法は何ですか?f(x、y)を2次元行列(ルックアップテーブル)に変換するにはどうすればよいですか?
lookupTable(f,range,domain)
という関数が私の望むことをしたとしましょう。次に、lookupTable(@(x,y) x * y, 12, 12)
は、1*1=1
から12*12=144
までの乗算表を含む行列を生成する。
または、行3、列5にあるものを除いて、すべて0の6x6行列が必要な場合を考えてみましょう。文字通りその行列を書いたり、すべてゼロ行列を作成して修正したりする代わりに、lookupTable(@(x,y) x==3&&y==5, 6, 6)
が完璧です。これはまさに私が探していたものです。私は実際にこれを見つけ出し、あなたの答えを見る前にこのアプローチを使用していたことを心配しないでください:) – traffichazard
@gnovice:xとyの逆転はなぜ私が通常は 'meshgrid'ではなく' ndgrid'を使用するのかです。 – Jonas
@この場合、NDGRIDはおそらく事をより明確にします。私はちょうどグリッド作成のために最初にMESHGRIDに向ける習慣を持っています。 – gnovice