My goal is to create a random number generator for a matrix of size 3x3, for n matrices (meaning as many n matrices as I designate) that will produce random numbers within the bounds [a,b] for the main diagonal of the matrix (elements 11, 22 and 33 in the matrix).
I invision the random generator, as described above, to generate a sample of something like:
matrix 1:
[2, 0, 0;
0, 90, 0;
0 , 0 ,1]
matrix 2:
[3, 0, 0;
0, 12, 0;
0 , 0 ,63]
matrix 3:..
matrix n
I appreciate any and all help with this.

 Réponse acceptée

Abderrahim. B
Abderrahim. B le 29 Juil 2022
Modifié(e) : Abderrahim. B le 29 Juil 2022
Hi!
Perhaps this:
bounds = [10 20] ; % [a b ]
randA = diag(diag(randi(bounds, 3,3)))
randA = 3×3
13 0 0 0 13 0 0 0 19
Hope this helps

4 commentaires

N/A
N/A le 29 Juil 2022
Yes, thats perfect.
I suppose I can run a for loop that would produce n randomly generated matrices?
Yes
n = 4 ;
bounds = [10 20] ; % [a b ]
for ii = 1:n
randA = diag(diag(randi(bounds, 3,3)))
end
randA = 3×3
20 0 0 0 19 0 0 0 11
randA = 3×3
10 0 0 0 18 0 0 0 15
randA = 3×3
12 0 0 0 14 0 0 0 13
randA = 3×3
17 0 0 0 12 0 0 0 12
N/A
N/A le 29 Juil 2022
Appreciate your help (and genius) greatly.
Matthew
Abderrahim. B
Abderrahim. B le 30 Juil 2022
My pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Random Number Generation 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!

Translated by