同じサイズの 2 つの列ベクトル P と Q があるとします。必要なことは、最小二乗関数距離を見つけることですD = ||P - Q||^2
。これは何を意味し、どのように matlab に実装するのですか? norm()
関数を使用する必要がありますか?
質問する
746 次
2 に答える
2
使用できます
norm(P-Q)^2
また
sum((P-Q).^2)
小さなテスト:
P = randn(1e7,1);
Q = randn(1e7,1);
tic
norm(P-Q)^2;
toc
tic
sum((P-Q).^2);
toc
結果:
Elapsed time is 0.130086 seconds.
Elapsed time is 0.098494 seconds.
そのため、手動で 2 乗して合計する方が少し速く、おそらくより直感的です。
于 2013-06-13T07:54:29.037 に答える
1
ユークリッド ノルムの 2 乗、つまり を見つけようとしているだけの場合は、sum((P(i) - Q(i))^2)
を使用できますsumsqr(P - Q)
。
EDIT:ユークリッドノルムは二乗和の平方根として定義されているので、あなたの場合はsqrt(sum((P(i) - Q(i))^2))
. それが||P - Q||
意味することです。||P - Q||^2
上記のように、 MATLAB(P - Q)
にはそのための組み込み関数があります。
于 2013-06-12T23:25:38.433 に答える