PDA

View Full Version : [MATLAB] Cerco Esperto per problema


MrEnrich
19-01-2006, 22:25
Avrei bisogno di un gentile esperto di Matlab.. visto che io nn ne so una mazza...

è così gentile da contattarmi in pvt?

Grazie

gokan
20-01-2006, 08:18
Bhè esperto è una parola grossa, dipende cosa ti interessa, ma se posso risponderti perchè no :)
Chiedi su questo tread.

MrEnrich
20-01-2006, 11:06
dunque...è un casino:

Risolvere i seguenti sistemi lineari col metodo di Gauss-Siedel e col metodo di
sovrarilassamento, determinando sperimentalmente un valore del parametro
w(omega) che ne acceleri la convergenza.
Provare con almeno tre valori differenti del parametro w(omega)
Trascrivere la soluzione del sistema ed il numero di iterazioni utilizzate sia
dal metodo di Jacobi che dal metodo di sovrarilassamento con i tre valori di
w(omega) ,al fine di ottenere una precisione relativa di 10^−4 e 10^−6 e con la massima precisione possibile. Annotare il numero di iterazioni utilizzate da ciascun metodo.
Costruire la matrice d’iterazione del metodo di rilassamento, verificando
che l’w(omega) migliore corrisponde a quello che minimizza il raggio spettrale della matrice d’iterazione.
Confrontare il risultato ottenuto dai due codici con quello fornito dal
comando in linea di Matlab.
Qualora uno dei metodi non risultasse convergente, verificare che non e’
soddisfatta la condizione necessaria per la convergenza.
Studiare inoltre il condizionamento dei sistemi lineari. Ricordarsi che ´e
eventualmente possibile utilizzare l’equilibratura per righe del sistema.

la matrice è: A=

(2*0,36) (1) (-57E-3) (0) ((-1+3),56)

(56-1) (6) (0) (0E-4) (-1)

(0) (10) (6,(1*46)) (80,75) (-6E-2)

(5+0) (0) (1-7) (7+6) (-1)

(0) (0,3E-5) (1-7) (9*6+0) (2E-2)


B=

(0)

(0)

(0)

(1)

(6)


ho messo le parentesi per separare i singoli elemente..se il testo nn è chiaro allego un documento
ricordo che nn so un mazza :D



grazie

cipi
20-01-2006, 12:44
dunque...è un casino:

Risolvere i seguenti sistemi lineari col metodo di Gauss-Siedel e col metodo di
sovrarilassamento, determinando sperimentalmente un valore del parametro
w(omega) che ne acceleri la convergenza.
Provare con almeno tre valori differenti del parametro w(omega)
Trascrivere la soluzione del sistema ed il numero di iterazioni utilizzate sia
dal metodo di Jacobi che dal metodo di sovrarilassamento con i tre valori di
w(omega) ,al fine di ottenere una precisione relativa di 10^−4 e 10^−6 e con la massima precisione possibile. Annotare il numero di iterazioni utilizzate da ciascun metodo.
Costruire la matrice d’iterazione del metodo di rilassamento, verificando
che l’w(omega) migliore corrisponde a quello che minimizza il raggio spettrale della matrice d’iterazione.
Confrontare il risultato ottenuto dai due codici con quello fornito dal
comando in linea di Matlab.
Qualora uno dei metodi non risultasse convergente, verificare che non e’
soddisfatta la condizione necessaria per la convergenza.
Studiare inoltre il condizionamento dei sistemi lineari. Ricordarsi che ´e
eventualmente possibile utilizzare l’equilibratura per righe del sistema.

la matrice è: A=

(2*0,36) (1) (-57E-3) (0) ((-1+3),56)

(56-1) (6) (0) (0E-4) (-1)

(0) (10) (6,(1*46)) (80,75) (-6E-2)

(5+0) (0) (1-7) (7+6) (-1)

(0) (0,3E-5) (1-7) (9*6+0) (2E-2)


B=

(0)

(0)

(0)

(1)

(6)


ho messo le parentesi per separare i singoli elemente..se il testo nn è chiaro allego un documento
ricordo che nn so un mazza :D



grazie


ok... tutto bello e ci ho capito poco... ma che prob. hai con Matlab?

MrEnrich
20-01-2006, 12:49
ok... tutto bello e ci ho capito poco... ma che prob. hai con Matlab?

non so proprio dove mettere le mani... praticamente devo risolvere questo esercizio con MatLab, stamparlo e fare a parte una relazione

Scopo Descrizione sintetica dello scopo della routine
• Specifiche d’uso testata della routine
• Descrizione descrizione sintetica della routine e del metodo utilizzato
• Bibliografia eventuali riferimenti bibliografici
• Parametri descrizione dei parametri: nome variabile, tipo, funzione
(in input e/o output)
• Routines ausiliarie descrizione di eventuali routines ausiliarie
• Indicatori di errori eventuali segnalatori di errori o anomalie
• Accuratezza ordine di accuratezza assicurato all’utente
• Complessit computazionale ordine di complessit´a dell’algoritmo utilizzato
• Esempio test, con dati ed risultati

per me..un vero casino!

cipi
20-01-2006, 12:52
non so proprio dove mettere le mani... praticamente devo risolvere questo esercizio con MatLab, stamparlo e fare a parte una relazione

Scopo Descrizione sintetica dello scopo della routine
• Specifiche d’uso testata della routine
• Descrizione descrizione sintetica della routine e del metodo utilizzato
• Bibliografia eventuali riferimenti bibliografici
• Parametri descrizione dei parametri: nome variabile, tipo, funzione
(in input e/o output)
• Routines ausiliarie descrizione di eventuali routines ausiliarie
• Indicatori di errori eventuali segnalatori di errori o anomalie
• Accuratezza ordine di accuratezza assicurato all’utente
• Complessit computazionale ordine di complessit´a dell’algoritmo utilizzato
• Esempio test, con dati ed risultati

per me..un vero casino!

ma a te serve uno che ti risolva il problema allora... secondo me sarebbe meglio che tu provassi a buttarlo giù e dove incontri difficoltà che non riesci a superare interveniamo noi... così impari ad usare Matlab ;)

MrEnrich
20-01-2006, 12:54
ma a te serve uno che ti risolva il problema allora... secondo me sarebbe meglio che tu provassi a buttarlo giù e dove incontri difficoltà che non riesci a superare interveniamo noi... così impari ad usare Matlab ;)
esatto... ma non ho proprio tempo per dedicarmi a MatLab.. ho un casino di studio e lavoro!!
qualche anima pia? :help:

gokan
20-01-2006, 12:54
Almeno i metodi li dovresti scrivere anche in pseudo-codice et similia

Inizialmente non si tratta di dover usare Matlab, prima devi inquadrare il problema :)

cipi
20-01-2006, 12:55
tra l'altro in rete si trova qualcosa...

function x=GaussSiedel(A,b,x,nit,tol);

n=length(A);
r=b-A*x;
conta=1;

while((norm(r,2)>tol)&(conta<nit))
for i=1:n
x(i)=(b(i)-sum(A(i,1:i-1)*x(1:i-1))-sum(A(i,i+1:n)*x(i+1:n)))/A(i,i);
end
r=b-A*x;
end;


tratto da http://www.comunidelchianti.it/~max/uni/cn/relazione/node35.html

MrEnrich
20-01-2006, 12:58
ok..come inizio niente male :D

ma la mia matrice dove la metto in questa funzione?

cipi
20-01-2006, 12:59
esatto... ma non ho proprio tempo per dedicarmi a MatLab.. ho un casino di studio e lavoro!!
qualche anima pia? :help:

dovresti sapere che non è una procedura usuale qui... se si può ti si da una mano... mica puoi pretendere che uno faccia il lavoro per te! Penso che tutti i "forumiani" studino o lavorino...
Forza, un piccolo sforzo... Almeno imposta il problema e butta giù due righe

MrEnrich
20-01-2006, 13:02
dovresti sapere che non è una procedura usuale qui... se si può ti si da una mano... mica puoi pretendere che uno faccia il lavoro per te! Penso che tutti i "forumiani" studino o lavorino...
Forza, un piccolo sforzo... Almeno imposta il problema e butta giù due righe
hai ragione..ci provo! cmq meglio usare matlab 6.5 o la 7 ??

cipi
20-01-2006, 14:14
hai ragione..ci provo! cmq meglio usare matlab 6.5 o la 7 ??

dipende da cosa hai a disposizione... se hai la 7 usa quella! Le differenze, a mio modesto parere, sono minime! Soprattutto per quello che devi fare tu!
Buon lavoro,
;)

MrEnrich
25-01-2006, 18:15
ciao.. potete dirmi quella E nella matrice cosa rappresenta?

cipi
26-01-2006, 08:36
come nelle calcolatici scientifiche E = 10^ quindi
1E1=10
1E2=100
1E0=1
1E-1=0.1

cipi ;)

MrEnrich
26-01-2006, 13:37
come nelle calcolatici scientifiche E = 10^ quindi
1E1=10
1E2=100
1E0=1
1E-1=0.1

cipi ;)

:mbe: interessante.... quindi -57E-3 quanto farebbe? :confused:

è da interpretare come -57 * 10^-3 ???

cipi
26-01-2006, 13:43
appunto...

MrEnrich
26-01-2006, 14:01
-56,99 :mbe: :confused:

cipi
27-01-2006, 12:11
-56,99 :mbe: :confused:

io ti rispondo ma spero tu nn mi stia prendendo per il c***... Se sei all'uni, come mi par di aver capito, non puoi non sapere cose che ti insegnano alle medie o al più alle superiori... Se così non fosse, mi scuso anticipatamente! Comunque:
57E-3 = 57*10^-3 = 57*0,001 = 0,057 = 5,7E-2
ciao

MrEnrich
27-01-2006, 12:18
io ti rispondo ma spero tu nn mi stia prendendo per il c***... Se sei all'uni, come mi par di aver capito, non puoi non sapere cose che ti insegnano alle medie o al più alle superiori... Se così non fosse, mi scuso anticipatamente! Comunque:
57E-3 = 57*10^-3 = 57*0,001 = 0,057 = 5,7E-2
ciao

ma quale presa per il culo... ho provato con la calcolatrice scientifica di winzozz.. probabilmente ho sbagliato a fare l'esponente... e mi dava quel risultato... mah...

Mr. X
29-03-2006, 13:56
Ma scusa sai di cosa si sta parlando? Cosa serve Gauss-Seidel e i metodi di accelerazione? Trovare il migliore omega serve per minimizare il raggio spettrale della matrice di convergenza e quindi risolve il sistema con meno iterazioni e quindi più velocemente... :cool:

Quel programma che devi fare è un gioco da ragazzi... Te lo dice un Ingegnere Matematico che bazzica sempre su queste cose... :D

MrEnrich
29-03-2006, 13:59
Ma scusa sai di cosa si sta parlando? Cosa serve Gauss-Seidel e i metodi di accelerazione? Trovare il migliore omega serve per minimizare il raggio spettrale della matrice di convergenza e quindi risolve il sistema con meno iterazioni e quindi più velocemente... :cool:

Quel programma che devi fare è un gioco da ragazzi... Te lo dice un Ingegnere Matematico che bazzica sempre su queste cose... :D

infatti l'ho fatto 2 mesi fa... era davvero una cazzata.. però nn avevo mai avuto a che fare con matlab

Mr. X
29-03-2006, 14:12
infatti l'ho fatto 2 mesi fa... era davvero una cazzata.. però nn avevo mai avuto a che fare con matlab

Bene... Non avevo visto che il tuo ultimo thread risaliva a Gennaio... :)

Ciao,
Marco.