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.

 Akzeptierte Antwort

Abderrahim. B
Abderrahim. B am 29 Jul. 2022
Bearbeitet: Abderrahim. B am 29 Jul. 2022

0 Stimmen

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 Kommentare

N/A
N/A am 29 Jul. 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 am 29 Jul. 2022
Appreciate your help (and genius) greatly.
Matthew
Abderrahim. B
Abderrahim. B am 30 Jul. 2022
My pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Random Number Generation finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by