Afficher commentaires plus anciens
固有ベクトルを算出するときにベクトルの符号を指定することは可能でしょうか?
4 commentaires
具体的にはどのようなものでしょうか?
例えば
X = [-1,1,2]
を
Xi = - X
のようにする形ですか?
Kohei Nishizawa
le 26 Sep 2022
Hernia Baby
le 26 Sep 2022
Modifié(e) : Hernia Baby
le 27 Sep 2022
※修正:日本語がおかしかったので書き直しました
----------
可能です。
どのように指定するかで回答を考えたいので、具体的な内容をお聞きしたいです。
その前に、まずはシンプルな例で検証をしてみましょう。
X = [-1,1,2];
Xi = MyEigVec(X)
function y = MyEigVec(x)
if x(1) < 0
y = - x;
else
y = x;
end
end
Kohei Nishizawa
le 27 Sep 2022
Réponse acceptée
Plus de réponses (1)
Kohei Nishizawa
le 28 Sep 2022
0 votes
6 commentaires
Hernia Baby
le 28 Sep 2022
こちらは1と2が対応するという意味でよろしいでしょうか?
Kohei Nishizawa
le 28 Sep 2022
A(:,:,1)の符号にすべて合わせるという認識でしょうか?
clc,clear
A = [-0.0449 -0.5388 -0.8413; -0.6687 0.6418 -0.3754; 0.7422 0.5457 -0.3891];
A(:,:,2) = [-0.0453 -0.5361 -0.8429; -0.6897 0.6272 -0.3618; 0.7227 0.5649 -0.3982];
A(:,:,3) = [0.0464 0.5318 -0.8456; 0.7089 -0.6139 -0.3472;-0.7038 -0.5834 -0.4055];
A(:,:,4) = [0.0469 -0.5288 -0.8475; 0.7276 0.5994 -0.3337;-0.6844 0.6010 -0.4128];
% 符号のみ抽出
Sgn_A = sign(A);
idx = ones(size(A));
以下を変えています
% 1番目の符号にすべて合わせる
for ii = 2:size(A,3)
idx(:,:,ii) = Sgn_A(:,:,ii).*Sgn_A(:,:,1);
end
B = A.*idx;
sign(B)
Kohei Nishizawa
le 28 Sep 2022
すみません、少し教えてください。
「ベクトルの方向が変わっていない」というのは、どこを指しますか?
B = [-0.0412 -0.7211 -0.6916; -0.0365 0.6928 -0.7202; 0.9985 -0.0045 -0.0549];
B(:,:,2) = [-0.0417 -0.7310 -0.6811; -0.0515 0.6823 -0.7292; 0.9978 0.0046 -0.0661]
上記ですと1と2の各列ベクトルは異なるように思えます。
Catégories
En savoir plus sur リサンプリングの手法 dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!