[(Workspace)] [1] J'ai créé des variables aléatoires à l'aide de la matrice de covariance. Je veux générer 300 données de caractéristiques bidimensionnelles aléatoires (longueur & poids) de chaque espèce ω1 (saumon) et ω 2 (basse). Saumon (ω 1): moyenne: 65 cm, covariance de 22 kg: [20 0,1; 0,1 70] Bar (ω 2): moyenne: 80 cm, covariance de 31 kg: [40 5; 5 50] Après avoir créé des échantillons, j'ai encore calculé la matrice de covariance juste pour vérifier. Mais je l'ai trouvé totalement faux de la matrice de covariance originale. Quelqu'un peut-il m'aider s'il vous plaît? Ci-joint mon code et résultat différent. Aidez-moi s'il vous plaît :([matlab] Création de variables gaussiennes aléatoires à l'aide de la matrice de covariance
-1
A
Répondre
0
Je crois que vous pourriez être en train de créer des données erronées, essayez de créer de cette façon:
% 0. INITILIZATION
clc, clear all, close all
rng default % For reproducibility
N = 200; %Number of samples
% 1. Data info
mu1 = [65 22]';
mu2 = [80 31]';
mu = [mu1 mu2];
covar1 = [20 0.1;0.1 70];
covar2 = [40 5;5 50];
% Data generation
Dset1 = mvnrnd(mu1,covar1,N)';
Dset2 = mvnrnd(mu2,covar2,N)';
figure('name', 'Data set X and X'''), hold on
% Plot the data
plot(Dset1(1,:),Dset1(2,:), 'b.',Dset2(1,:),Dset2(2,:), 'r.')
Aussi, si vous voulez vérifier si les données ont en effet la covariance correcte, utilisez un plus grand, par exemple 5000.