gaussian distribution and matrix

9 vues (au cours des 30 derniers jours)
francesco
francesco le 12 Sep 2016
hi! I have a matrix with components of modulus 1 and phase different each other. how can I add a gaussian component on each element? thank you. the result that I want is a matrix with Rice factor. thank you in advance.

Réponses (1)

Gautham Sholingar
Gautham Sholingar le 20 Sep 2016
Hello Francesco,
I am assuming that you want to create a matrix of random numbers with a Gaussian distribution and then multiply each element in your original matrix with this random number matrix in an element-wise fashion.
>> inputData = rand(5,5)
The following command creates a normal distribution with zero mean and unit standard deviation of the same size as your inputData matrix
>> gaussMatrix = random('normal',0,1,size(inputData))
gaussMatrix =
-2.4557 0.5294 0.3643 -0.3102 -0.2547
-0.0911 -2.2171 -0.7637 -0.6199 -0.5477
-0.0247 0.1074 0.5495 -1.0246 1.6766
0.1999 0.4389 -0.3746 0.5050 1.1730
-1.0383 -0.0410 -1.6592 0.0405 -0.1891
Then you can use the .* operator to perform elementwise multiplication|
>> result = inputData.*gaussMatrix
result =
-0.6985 0.2113 0.1796 -0.0686 -0.0498
-0.0670 -0.1158 -0.1693 -0.0595 -0.4903
-0.0102 0.0614 0.5162 -0.0616 1.1473
0.1657 0.3282 -0.1807 0.4139 0.7705
-0.9709 -0.0131 -0.8959 0.0312 -0.1872
If your query is related to the use of any other types of data distribution, please refer to the following MATLAB documentation:

Catégories

En savoir plus sur Random Number Generation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by