Risoluzione sistemi lineari Matlab
Salve a tutti,
è il mio post e spero di non violare nessuna regola o di aver sbaglato posto.
Come da titolo la mia domanda riguarda la risoluzione di sistemi lineari con Matlab. Ho creato di mio una funzione che risolve un sistema lineare sfruttando prima la fattorizzazione LU e poi risolvendo con sostituzioni in avanti e indietro. Questo programma che ho scritto dipende, ovviamente, dal condizionamento della matrice in ingresso. Facendo delle prove con matrici hilbertiane e non l'errore sulla soluzione cambia.
Ho provato a fare valutazioni sul peso del condizionamento sfruttando, questa volta, la risoluzione di sistemi già implementata in Matlab (A/b = x). Questo mostra che dopo un certo n (molto piccolo, circa 10) gli errori forniti sono praticamente uguali, tanto da far sì che il grafico si sovrapponga.
E' possibile che sia questo il grafico o c'è un errore che non riesco a trovare nel codice?
è il mio post e spero di non violare nessuna regola o di aver sbaglato posto.
Come da titolo la mia domanda riguarda la risoluzione di sistemi lineari con Matlab. Ho creato di mio una funzione che risolve un sistema lineare sfruttando prima la fattorizzazione LU e poi risolvendo con sostituzioni in avanti e indietro. Questo programma che ho scritto dipende, ovviamente, dal condizionamento della matrice in ingresso. Facendo delle prove con matrici hilbertiane e non l'errore sulla soluzione cambia.
Ho provato a fare valutazioni sul peso del condizionamento sfruttando, questa volta, la risoluzione di sistemi già implementata in Matlab (A/b = x). Questo mostra che dopo un certo n (molto piccolo, circa 10) gli errori forniti sono praticamente uguali, tanto da far sì che il grafico si sovrapponga.
E' possibile che sia questo il grafico o c'è un errore che non riesco a trovare nel codice?
Risposte
Cioè in pratica tu hai creato una function che fa lei stessa la fattorizzazione $PA=LU$ e poi risolve i due sistemi triangolari,e hai confrontato la norma dell'errore della tua function con l'errore ottenuto con il metodo di Matlab $A\b$,giusto?
La matrice di Hilbert è malcondizionata quindi è corretto aspettarsi un certo errore nella soluzione tramite il tuo metodo e anche tramite quello di MatLab. Mentre per matrici buone mi pare corretto che l'errore sia molto piccolo.
Il fatto che il grafico degli errori dopo un certo $n$ sia molto simile mi sembra possa essere plausibile, anche se non so cosa fa esattamente MatLab con il comando $\$.
Sono argomenti che ho affrontato quest anno e quindi sono nuovo a questo genere di problemi. Aspetto che qualcuno più esperto di me e informato dica la sua
La matrice di Hilbert è malcondizionata quindi è corretto aspettarsi un certo errore nella soluzione tramite il tuo metodo e anche tramite quello di MatLab. Mentre per matrici buone mi pare corretto che l'errore sia molto piccolo.
Il fatto che il grafico degli errori dopo un certo $n$ sia molto simile mi sembra possa essere plausibile, anche se non so cosa fa esattamente MatLab con il comando $\$.
Sono argomenti che ho affrontato quest anno e quindi sono nuovo a questo genere di problemi. Aspetto che qualcuno più esperto di me e informato dica la sua