matrici

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

Avatar utente
Foto UtenteStellas82s
0 2
Messaggi: 10
Iscritto il: 16 set 2010, 14:02
0
voti

[1] matrici

Messaggioda Foto UtenteStellas82s » 2 ott 2010, 22:07

Sapete come scrivere in matlab/scilab data una matrice A=[1 2;3 4 ] come generare casualmente ogni singolo elemento? ho visto che ci sono rand e grand ma quelle creano matrici già randomiche io vorrei solo una scelta casuale di elementi all'interno di una mia matrice.
Grazie

Avatar utente
Foto UtenteRenzoDF
55,9k 8 12 13
G.Master EY
G.Master EY
Messaggi: 13189
Iscritto il: 4 ott 2008, 9:55
0
voti

[2] Re: matrici

Messaggioda Foto UtenteRenzoDF » 4 ott 2010, 20:56

Stellas82s ha scritto:Sapete come scrivere in matlab/scilab data una matrice A=[1 2;3 4 ] come generare casualmente ogni singolo elemento? ho visto che ci sono rand e grand ma quelle creano matrici già randomiche io vorrei solo una scelta casuale di elementi all'interno di una mia matrice.
Grazie


La domanda NON è chiara! ... cosa vuol dire "data una matrice "

\text{A=}\left( \begin{matrix}
   1 & 2  \\
   3 & 4  \\
\end{matrix} \right)

? ...

Se ti serve un range diverso (da 0-1) per esempio nell'intervallo (b,a) dovrai scrivere
>>B=a+(b-a)*rand(2,2) %in Matlab


Ad ogni modo se vuoi avere solo il primo elemento della matrice casuale (supponiamo di volerlo nel range 2-5 distribuito uniformemente) puoi scrivere
>>D=[2+(5-2)*rand(),1;3,4] //in Scilab
>>D=[2+(5-2)*rand,1;3,4] % in Matlab

... oppure randn in Matlab (rand(2,2,'normal') in Scilab) se vuoi una distribuzione "normale",ma ricorda comunque che la sequenza di numeri casuali viene normalmente preceduta (per es in Matlab) da una istruzione
>> rand('state',j) % Matlab
>> rand('seed',j) // Scilab
dove j specifica il punto iniziale della sequenza ... e che per farla partire casualmente (pure lei) devi usare
>> rand('state', sum(100*clock)) %in Scilab non ricordo

BTW ricordo che mentre rand(2) in Matlab è equivalente a rand(2,2) in Scilab solo l'ultima scrittura fornisce una matrice 2x2
"Il circuito ha sempre ragione" (Luigi Malesani)


Torna a “Programmi applicativi: simulatori, CAD ed altro”