Creazione matrice di elementi random diversi per riga

di il
3 risposte

Creazione matrice di elementi random diversi per riga

Ciao, dovrei creare una matrice nXm di numeri random compresi tra 1 e 100. Fino qui non ho avuto problemi! Ho necessità peró che sulla stessa riga non compaia mai lo stesso numero (devono essere tutti numeri differenti). Per colonne invece non ho nessun vincolo imposto. Idee?

3 Risposte

  • Re: Creazione matrice di elementi random diversi per riga

    Per ora faccio cosi:

    mat=zeros(100,30);
    for i=1:100
    for j=1:30:
    mat(i,j)=randi([1,150]);
    j=j+1;
    end
    i=i+1;
    end

    Ma nella stessa riga mi vengono stessi valori mentre ho necessità che nella stessa riga non compaia mai uno stesso valore.
  • Re: Creazione matrice di elementi random diversi per riga

    n=100;
    m=30;
    n1=1;%limite inferiore
    n2=100;%limite superiore
    mat=zeros(n,m);
    for k=1:n
        mat(k,:)=randsample(n1:n2,m);
    end
    se non hai la funzione randsample :
    n=100;
    m=30;
    n1=1;%limite inferiore
    n2=100;%limite superiore
    mat=zeros(n,m);
    for k=1:n
        s=1;
        while length(unique(s))~=m
            s=randi([n1 n2],1,m);
        end
        mat(k,:)=s;
    end
  • Re: Creazione matrice di elementi random diversi per riga

    Ti ringrazio infinitamente, la soluzione che mi hai proposto va benissimo!
Devi accedere o registrarti per scrivere nel forum
3 risposte