¿Cómo utilizar MATLAB para generar aleatoriamente una matriz entera de cuarto orden con un valor de (5, 80)?
Proporcione un método:
n = 10 % se puede cambiar al número que desee.
a = zero(n);
index = rand perm(n); % Generar permutaciones aleatorias es la clave.
a((n)*(0:n-1)+index)= 1
Debido a que es una secuencia aleatoria, es diferente cada vez. Un resultado:
A
=
1
1
1
1
1
1
1
1
1
1
Realmente no hay necesidad de utilizar bucles. Cuando n es grande, afectará seriamente la velocidad de cálculo, pero es fácil de programar:
for
k=1:n
a(index (k) , k)=1
Fin
El efecto es el mismo, no más palabras.