より大きな配列を作成する以外に、関数 Foo を複数の配列 (行列) A、B、C に適用する簡単な方法はありますか?
基本的に、次のような Python の「マップ」に似たものが必要です。
L = [A、B、C] map(foo, L)
1. 関数 Foo がコンポーネント単位で適用され、log()、exp() などの行列の次元を変更しないと仮定します。2. 関数は一般的な関数で、行列全体に作用します。たとえば、removerows() です。
より大きな配列を作成する以外に、関数 Foo を複数の配列 (行列) A、B、C に適用する簡単な方法はありますか?
基本的に、次のような Python の「マップ」に似たものが必要です。
L = [A、B、C] map(foo, L)
1. 関数 Foo がコンポーネント単位で適用され、log()、exp() などの行列の次元を変更しないと仮定します。2. 関数は一般的な関数で、行列全体に作用します。たとえば、removerows() です。
デフォルトでは、MATLAB には「マップ」に類似したものは組み込まれていません。ただし、いつでも自分で機能を作成できます。それはここで行われました。MATLAB ビンに入れれば、準備完了です。
ただし、システム間でコードを移植できるようにしたい場合は、単純なループをお勧めします。
とを使用varargin
しvarargout
て、任意の数の入力を受け取り、任意の数の出力を生成する関数を作成できます。
したがって、次のように書くことができます。
[D, E, F] = map(foo, A, B, C);