Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-01-2007, 18:03   #1
atomico82
Senior Member
 
Iscritto dal: Feb 2003
Messaggi: 1470
[matlab] Matrice Tridiagonale Fattorizzazione Lu

ciao a tutti... sono in preda in una crisi psico fisica rivolta a Calcolo Numerico

Mi è stato dato come esercizio di implementare un codice x la risoluzione di un sistema reale AX=b usando la fattorizzazione LU.

La matrice A è una matrice tridiagonale.. purtroppo non trovo appunti in rete che mi risolvano i miei dubbi.

Qualcuno sa come fare? l'ha fatto? o mi può dare consigli? grazie
atomico82 è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2007, 11:52   #2
lovaz
Senior Member
 
L'Avatar di lovaz
 
Iscritto dal: Jul 2002
Messaggi: 4334
Da quanto ne so il fatto che A sia tridiagonale non cambia il procedimento di
decomposizione
lovaz è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2007, 11:56   #3
atomico82
Senior Member
 
Iscritto dal: Feb 2003
Messaggi: 1470
Quote:
Originariamente inviato da lovaz
Da quanto ne so il fatto che A sia tridiagonale non cambia il procedimento di
decomposizione
in teoria no.. ma mi è stato chiesto di fare un codice + "leggero" memorizzando in 3 vettori le 3 diagonali e di lavorare con quelle.
atomico82 è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2007, 07:56   #4
stella_650
Member
 
Iscritto dal: Dec 2006
Messaggi: 104
Quote:
Mi è stato dato come esercizio di implementare un codice x la risoluzione di un sistema reale AX=b usando la fattorizzazione LU.La matrice A è una matrice tridiagonale.. purtroppo non trovo appunti in rete che mi risolvano i miei dubbi.
ti serve una fattorizzazione con pivoting oppure no?
ti occorre capirla anche da un punto di vista teorico oppure è una questione esclusiva sul codice?
Chiedo queste cose perchè in base alla tua richiesta, ci sono delle considerazioni diverse da fare...
stella_650 è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2007, 09:54   #5
atomico82
Senior Member
 
Iscritto dal: Feb 2003
Messaggi: 1470
mi serve solo in codice matlab.. che poi a capirla ci penso io. Scrivo i ltesto esatto dell'esercizio così è + facile capire.

Quote:
Progettare ed implementare un codice per la risoluzione di un sistema reale di equazioni lineari Ax=b, dove A è una matrice tridiagonale di dimensione nxn e x e b sono vettori di lunghezza n.
Memorizzare le tre diagonali di A in tre vettori. Risolvere il sistema usando gli
algoritmi di fattorizzazione LU e di forwarde backward substitution, adattati
alla forma tridiagonaledella matrice dei coefficienti.
Grazie

p.s. x quanto riguarda il pivoting immagino di si anche se non sta espressamente scritto.
atomico82 è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2007, 11:26   #6
atomico82
Senior Member
 
Iscritto dal: Feb 2003
Messaggi: 1470
allora... penso di aver trovato quello che mi interessa.. purtroppo però è in linguaggio fortram e non riesco a capire bene cosa fa..

Codice:
Fattorizzazione LU per matrici tridiagonali :

Subroutine lut(d, e, f, n, ifail)

c
c  SCOPO: fattorizzazione di una matrice quadrata tridiagonale A
c         nella forma A=L*U, dove L è una matrice bidiagonale in-
c         feriore a diagonale unitaria e U bidiagonale superiore.
c
c  PARAMETRI DI INPUT:
c                      
c  - d,  vettore di reali,  diagonale principale 
c                           della matrice da fattorizzare
c  - e,  vettore di reali,  diagonale inferiore 
c                           della matrice da fattorizzare
c  - f,  vettore di reali,  diagonale superiore 
c                           della matrice da fattorizzare
c  - n,            intero,  ordine della matrice
c
c  PARAMETRI DI OUTPUT:
c
c  -     d,  vettore di reali,  diagonale principale
c                               della matrice fattorizzata
c  -     e,  vettore di reali,  diagonale inferiore
c                               della matrice da fattorizzata
c  -     f,  vettore di reali,  diagonale superiore
c                               della matrice da fattorizzata
c  - ifail,            intero,  indicatore di errore
c
c  ROUTINE RICHIAMATE:
c
c  - nessuna
c  
c      |a1   c1   0    …   0  |     d = (a1 a2 a3 … an)
c      |b1   a2   c2   …   0  |     e = (b1 b2 … bn-1)
c  A = |0    b2   a3   …   0  |     f = (c1 c2 … cn-1)
c      |…    …    …    …  cn-1|     
c      |0    0    0  bn-1 an  |
c
c      |1   0   .   .   0|       |d1  f1  0   .   .  | 
c      |e1  1   0   .   .|       |0   d2  f2  .   .  | 
c  L = |0   e2  1   .   .|   U = |.   0   d3  .   .  |   
c      |.   .   .   .   .|       |.   .   0   .  fn-1|
c      |0   .   .  en-1 1|       |0   .   .   .   dn |
c
c          |d1    f1       0        .       .        |
c          |e1d1  e1f1+d2  f2       .       .        |
c  A = LU =|0     e2d2     e2f2+f3  f3       .        |
c          |.     0        .      .       fn-1      |
c          |.     .        .      en-1fn-1  en-1fn-1+dn| 
c
c  f(i) = c(i)                                    diagonale superiore
c  d(1) = a(1) 
c  e(i) = b(i)/d(i) => e(i) = e(i)/d(i)           diagonale inferiore
c  d(i+1) = a(i+1)–e(i)f(i) = d(i+1)-e(i)f(i)     diagonale principale
c  i= 1,..,n-1
c

       integer n, ifail
       real    d(n), e(n-1), f(n-1)
      
c  Controllo della dimensione 
       if (n .le. 0) then
          ifail=3
          goto 999
       endif          
                          
c  Fattorizzazione
       do 10 k=1,n-1

c  Controllo della singolarità di un minore principale
c  non viene controllato se d(n) .eq. 0, ma non occorre
c  in quanto d(n) non è utilizzato per calcolare e(n-1),
c  se anche fosse nullo non si effettua la divisione per zero
          if (d(k) .eq. 0) then
             ifail=6
             goto 999
          endif                                    
    
c  Calcolo di un elemento della diagonale inferiore          
          e(k)=e(k)/d(k)

c  Calcolo di un elemento della diagonale principale
          d(k+1)=d(k+1)-e(k)*f(k)

   10  continue   
                 
       ifail=0
       
  999  continue

       End
Codice:
Soluzione di un sistema tridiagonale (fattorizzato LU) con back e forward substitution :

Subroutine slut(d, e, f, b, n, ifail)

c
c  SCOPO: risoluzione di un sistema lineare tridiagonale A*x=b me-
c         diante la risoluzione del sistema equivalente (L*U)*x=b,
c         dove L*U è la fattorizzazione di A.
c
c  PARAMETRI DI INPUT:
c
c  - d,  vettore di reali,  diagonale principale di U
c  - e,  vettore di reali,  diagonale inferiore di L
c  - f,  vettore di reali,  diagonale superiore di U 
c  - b,  vettore di reali,  colonna dei termini noti
c  - n,            intero,  ordine del sistema
c
c  PARAMETRI DI OUTPUT:
c
c  -     b,  vettore di reali,  soluzione del sistema
c  - ifail,            intero,  indicatore di errore
c
c  ROUTINE RICHIAMATE:
c  
c  - nessuna.
c
c      |1   0   .   .   0|   |b1|   |b1|
c      |e1  1   0   .   .|   |b2|   |b2|
c  L = |0   e2  1   .   .| * |b2| = |b3|
c      |.   .   .   .   .|   |..|   |..|
c      |0   .   .  en-1 1|   |bn|   |bn|
c
c      |d1  f1  0   .  .  |    |b1|   |b1|
c      |0   d2  f2  .  .  |    |b2|   |b2|
c  U = |.   0   d3  .  .  |  * |b3| = |b3|
c      |.   .   0   . fn-1|    |..|   |..|
c      |0   .   .   .  dn |    |bn|   |bn|
c

       integer n, ifail
       real    d(n), e(2:n), f(n-1), b(n)
       
c     Controllo della dimensione
       if (n .le. 0) then
          ifail=3
          goto 999
       endif
       
c     Controllo della singolarità di U
       do 10 i=1,n
          if (d(i) .eq. 0) then
             ifail=4
             goto 999
          endif
   10  continue
   
c     Risoluzione di L*y=b (con y=U*x)
c     forward substirution v. colonna
       do 20 i=2,n
          b(i)=b(i)-e(i)*b(i-1)
   20  continue
       
c     Risoluzione di U*x=y 
c     backward substitution v. colonna
       b(n)=b(n)/d(n)
       do 30 i=n-1,1,-1
             b(i)=(b(i)-f(i)*b(i+1))/d(i)
   30  continue

       ifail=0
  
  999  continue
      
      End
chi me lo traduce in matlab?

Ultima modifica di atomico82 : 15-01-2007 alle 11:33.
atomico82 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Anthropic ha un'AI che trova falle in Wi...
I 10 migliori sconti Amazon del weekend:...
Con un coupon scendono ancora: le super ...
Minimo storico per Samsung Galaxy S26 Ul...
Si è conclusa la missione lunare ...
EK Waterblock si arrende agli aumenti, i...
Geekbench si aggiorna: tutti i test con ...
Per la prima volta un computer quantisti...
Telecamere Reolink 4K su Amazon: Wi-Fi 6...
Anthropic vuole farsi i chip da sola? Co...
Il fondatore di Framework: il personal c...
JBL Live Flex 3 a 129€ su Amazon: ANC ad...
Come un uomo ha costruito un'azienda da ...
Multe fino a 400 euro anche se hai pagat...
Tapo lancia una valanga di offerte su Am...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:04.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v