Borrar filtros
Borrar filtros

グラフでの座標の最大​値、最小値を出すには​どうすればいいですか​?

33 visualizaciones (últimos 30 días)
R
R el 15 de Nov. de 2022
Comentada: R el 15 de Nov. de 2022
biplotでグラフを出しました。
このグラフにおける成分1, 成分2の最大値, 最小値を出す方法をご教授ください。

Respuesta aceptada

Hernia Baby
Hernia Baby el 15 de Nov. de 2022
Editada: Hernia Baby el 15 de Nov. de 2022
まずデータを作ります
clear; clc; close all
u1=5*randn(1,10000);
u2=randn(1,10000);
x1=1/2^0.5*u1+1/2^0.5*u2;
x2=1/2^0.5*u1-1/2^0.5*u2;
X=[x1 ; x2]';
pcaを行います
[coef, score] = pca(X);
biplot(coef,'Scores',score);
---------
以降が本題です
ここで注意ですがベクトルの方向によって最大と最小が逆になります
このグラフでと書いていますので正規化して算出しています
Cp1_max_min = [max(score(:,1)),min(score(:,1))]./max(abs(score),[],'all')
Cp1_max_min = 1×2
1.0000 -0.8342
Cp2_max_min = [max(score(:,2)),min(score(:,2))]./max(abs(score),[],'all')
Cp2_max_min = 1×2
0.1822 -0.1752
最大値だけ図示してみましょうか
figure
hold on
biplot(coef,'Scores',score);
[~,idx] = max(score(:,1));
cp1max = score(idx,:);
[~,idx] = max(score(:,2));
cp2max = score(idx,:);
cpmax = [cp1max;cp2max];
scatter(cpmax(:,1)./max(abs(score),[],'all'),cpmax(:,2)./max(abs(score),[],'all'),'k')
  1 comentario
R
R el 15 de Nov. de 2022
ありがとうございます。
図示までしてくださってとても分かりやすかったです。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre グラフィックス オブジェクトのプロパティ en Help Center y File Exchange.

Productos


Versión

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!