Newsgroup: it.scienza.fisica
Titolo: sistema non lineare

Salve a tutti.
In un es mi sono trovato a dover risolvere in modo approssimato un
sistema non lineare di 6 eq in 6 incognite , non ho neppure provato a
risolverlo e il prof mi ha detto di provare per tentativi fino a che
mettendo dentro un valore non riottengo fuori quelllo che avevo messo
dentro....
il problema č:
ho due matrici 3 x 3 di numeri dati dal problema che chiamo O e D
O =  a  b  c
     d  e  f
     g  h  i
D =  l  m  n
     o  p  q
     r  s  t
6 incolgnite che chiamo A1,A2,A3    B1,B2,B3
la relazione č che:
A1 = 1 / ( B1 l + B2 m + B3 n )
A2 = 1 / ( B1 o + B2 p + B3 q )
A2 = 1 / ( B1 r + B2 s + B3 t )
B1 = 1 / ( A1 a + A2 d + A3 g )
B1 = 1 / ( A1 b + A2 e + A3 h )
B1 = 1 / ( A1 c + A2 f + A3 i )
mi č stato detto:
prendi per partire A1 = A2 = A3 = 1 mettilo dentro nel secondoi gruppo
di equazioni e ricava B1 B2 e B3, successivamente con questivalori
ricava A1 A2 A3 utilizzando il primo gruppo di equazioni ottenendo
nuovi valori di A1 A2 e A3. A questo punto prendere il nuovo A1 e
rimetterlo dentro alle seconde ( nel sendo riprendere A1 = A2 = A3 =
A1 nuovo ) e ritrovare B1 B2 B3 e da queti dinuovo A1 A2 A3 ,
riprendere il nuovo A1 a ripetere il porcesso sino a che l'ennesimo A1
che ottengo non sia uguale all' n-1 esimo....
io ho provato ma mi diverge !
Aiutatemi, come posso risolverlo in modo approssimato 
Luca

 io ho provato ma mi diverge !
...
Non e' sorprendente. La ricerca degli zeri di un sistema ( ma anche di 
una sola equazione) non lineare mediante le sostiruzioni di cui parli 
(che in linguaggio tecnico si chiama ricerca del punto fisso della 
trasformazione) ha la pessima abitudine di non avere garanzie di 
convergenza. Per poter dire qualcosa di sensato sul tuo problema 
occorrerebbe avere un' idea dei numeri in gioco.
Tuttavia potresti provare un semplice "trucco" (in realta' e' una 
tecnica rigorosa di analisi numerica): invece di usare direttamente i 
valori di uscita del primo sistema per immetterli nel secondo e cosi' 
via, potresti immettere nel nuovo step una media pesata dell' output e 
dell' input del precedente step.
Esempio: se devi risolvere per iterazioni l' equazione x=f(x) puo' darsi 
che invece di riinserire nella f la x_n ottenuta allo step n  (per 
ottenere la x_(n+1)=f(x_n) ) possa essere fruttuoso inserire  a*x_n + 
(1-a)*x_n_1, con   0<a<1. In tal modo "freni" eventuali instabilita' 
della trasformazione non lineare. Tieniti pronto ad usare per a anche 
valori dell' ordine del millesimo. Ovviamente in questo modo aumenta il 
numero delle iterazioni ma *a volte* si riesce a stabilizzare la 
trasformazione.
Insisto pero' sul fatto che senza numeri e' veramente difficile poter 
dire qualcosa di preciso.
Giorgio

Ciao,
io lascerei perdere il metodo consigliatoti dal tuo professore, non solo 
per il motivo che ha tirato in ballo Pastore, ma anche perche' se non 
hai una contrazione la soluzione in genere non e' unica(e mi sa proprio 
che facilmente e' il tuo caso)...e dunque anche se l'algoritmo di 
converge da qualche parte partendo da un certo valore, partendo da 
qualcos'altro potrebbe convergerti ad un valore diverso...magari pero' a 
te non te ne frega niente e ti basta una soluzione...
Comunque, pensandoci un po', vista la forma delle equazioni, forse puoi 
elaborare un po' tutto e trovarti tutte le soluzioni:
1) segnati da qualche parte le condizioni di esistenza per le equazioni 
che hai scritto(i denominatori non si devono annullare);
2) porta tutto ai nominatori a sinistra e poni i prodotti delle 
indeterminate(che sono solo 9) uguali a delle variabili temporanee;
3) a questo punto hai un sistema lineare di 6 equazioni in 9 incognite,
studiatelo come si fa di solito in algebra lineare
4) ricorda cosa sono le tue variabili fittizie e...studiati un po' di 
intersezioni(e qui se vuoi puo' aiutarti un computer..) di piu' semplici 
luoghi di zeri.
Naturalmente tutto sara' piu' o meno complicato a seconda dei 
coefficienti che hai...
ciao
slacky
P.S.
ricordati sempre delle condizion poste all'inizio...