[解決済み] MATLABで行列の各行/列に関数を適用するにはどうすればよいですか?
2022-11-18 14:49:01
質問
ベクトルの各項目に関数を適用するには、例えば次のようにします。
v + 1
というように、ベクトル内のすべての項目に関数を適用することもできますし、関数
arrayfun
. forループを使わずに、行列の各行/列に対して行うにはどうしたらよいでしょうか?
どのように解決するには?
のような多くの組み込み操作は
sum
といった
prod
はすでに行や列をまたいで操作することができるので、これを利用するために適用する関数をリファクタリングすることができるかもしれません。
それが実行可能なオプションでない場合、1つの方法として、行または列をセルに集めるために、次のものを使用します。
mat2cell
または
num2cell
であるならば
cellfun
を使用して、結果のセル配列を操作します。
例として、行列の列の合計を求めるとします。
M
. これを行うには、単純に
sum
:
M = magic(10); %# A 10-by-10 matrix
columnSums = sum(M, 1); %# A 1-by-10 vector of sums for each column
そして、より複雑な
num2cell
/
cellfun
というオプションがあります。
M = magic(10); %# A 10-by-10 matrix
C = num2cell(M, 1); %# Collect the columns into cells
columnSums = cellfun(@sum, C); %# A 1-by-10 vector of sums for each cell
関連
-
[解決済み] 要素ごとの加算は、結合ループよりも分離ループの方がはるかに高速なのはなぜですか?
-
[解決済み] JavaScriptの関数をパラメータとして渡す
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] 関数から返されたMATLAB配列を、最初にローカル変数に代入せずにインデックスを作成するにはどうすればよいですか?
-
[解決済み] 行列またはデータフレームの各行に対して関数を適用する
-
[解決済み] MATLAB関数のいくつかの戻り値をエレガントに無視する方法
-
[解決済み] Matlab コマンドラインからm-fileを実行する
-
[解決済み] 異なる色の直線を自動でプロットする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン