Sto convertendo un codice scritto su Matlab in C#. In Matlab esiste una funzione chiamata mvnrnd che è un generatore di numeri casuali normale amultivariato. Ciò richiede due input: n x d media matrice e matrice d-by-d cov. Ho cercato su Google e ho trovato che matrixnormal math.net fa la stessa cosa.numeri casuali normali multivariati da Matlab a C#
A differenza della funzione in Matlab, Matrixnormal richiede tre input: matrice media (M), una matrice di cov per le righe (V) e una matrice di cov per le colonne (K). La documentazione indica se la dimensione di M è d-by-m, quindi V è d-by-d e K è m-by-m. Ho queste due matrici di input (matrice media 1x12 e matrice cov 12x12 per Matlab. Vorrei convertire questi due ingressi in tre ingressi per matrice.
La parte della matrice media non è un problema ma non so come convertire COV parte. io non sono bravo a statistiche. Potrebbe qualcuno mi aiuta a fare questo? Grazie,
Questa sembra essere una domanda matematica piuttosto che un problema di programmazione. Esiste un modo semplice per trasformare una distribuzione normale multivariata in una distribuzione normale della matrice, ma è valida solo per le matrici diagonali MU. Vorrei fare questa domanda a http://stats.stackexchange.com/ – Daniel