Problema con le matrici

Messaggioda amartyasen » 20/04/2005, 15:41

Ciao a tutti, vi sottopongo il mio problema, premetto che non sono laureato in matematica, ma in economia, in pratica sto cercando di utilizzare matlab, per costruire un modello economico, per far questo ho costruito un Mfiles, nel quale è presente una funzione elevata al quadrato, ebbene, quando la variabile è un mumero singolo tipo 1,2 ecc, l'Mfiles mi restituisce un valore, se provo invece ad esaminare gli output che si ottengono per i valori della variabile che vanno ad es. da 1 a 10, mi dice matrix must be square, introduco quindi una magic ad es di 3, ma mi accorgo che l'output che si ottiene per il valore ad es. di 2 della matrice quadra è diverso da quello che si ottiene quando il valore è immesso singolarmente.
Perchè succede dove sbaglio, forse devo considerare la matrice quadra un valore in se? V ringrazio per i vostri suggerimenti
Emanuele
amartyasen
Starting Member
Starting Member
 
Messaggio: 1 di 1
Iscritto il: 20/04/2005, 15:30

Messaggioda david_e » 20/04/2005, 20:23

Se devi fare una funzione che eleva al quadrato, passandogli una successione di valori la cosa da fare e' usare il .^ infatti quando poni il punto prima di un operatore dici al Matlab di fare l'operazione termine a termine sulla matrice. Ad esempio A.^2 ti fornisce una matrice in cui gli a(ij) della matrice originale sono diventati (a(ij))^2. Se invece dai il comando come A^2 ti restituisce la matrice A*A. Il motivo dell'output in cui il Matlab chiede la matrice quadrata e' che l'operazione matriciale ^2 e' definita solo per matrici quadrate. (con il .^ non c'e' problema alcuno sulle dimensioni visto che si limita a elevare a potenza ciascun numero della matrice)
david_e
Advanced Member
Advanced Member
 
Messaggio: 62 di 2443
Iscritto il: 23/03/2005, 15:05


Torna a Geometria e algebra lineare

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite