eliasps έγραψε:simosx έγραψε:Πως λειτουργεί η μέθοδος αυτή;
Σίμο, γράφεις το σύστημα σε μορφή Ax=b, όπου A είναι ο πίνακας των συντελεστών των μεταβλητών των εξισώσεων, x o πίνακας των μεταβλητών και b ο πίνακας με τους αριθμούς στο δεύτερο μέλος κάθε εξίσωσης.
Στην περίπτωση:peny έγραψε:5χ+10y+2z=24
3x+4y-z=30
-y+4z=9
Έχεις:
- Κώδικας: Επιλογή όλων
┌5 10 2┐ ┌x┐ ┌24┐
Α=|3 4 -1| , x=|y| , b=|30|
└0 -1 4┘ └z┘ └ 9┘
Και μετά κάνεις τις κατάλληλες πράξεις για την Jacobi και λύνεις με έναν συγκεκριμένο τύπο.
Αλλά φαντάζομαι πως το θέμα, είναι η δημιουργία των πινάκων σε ψευδογλώσσα και όχι η εφαρμογή της Jacobi σε αλγόριθμο.
Για την δημιουργία πινάκων ας πούμε, θα μπορούσε (αν δεν κάνω λάθος):
- Κώδικας: Επιλογή όλων
ΓΙΑ i ΑΠΌ 1 ΜΕΧΡΙ 3 ΜΕ ΒΗΜΑ 1
ΓΙΑ j AΠΌ 1 ΜΕΧΡΙ 3 ΜΕ ΒΗΜΑ 1
ΔΙΑΒΑΣΕ Α[i,j] #εδώ βάζεις με τη σειρά τις τιμές των συντελεστών (5, 10, 2, 3, 4, -1, 0, -1, 4)
AΝ i=1 TOTE #εδώ το έβαλα έτσι για να δώσεις τις μεταβλητές μία φορά. Αν θες το βάζεις και σε άλλη θέση, ή τελείως εκτός.
ΔΙΑΒΑΣΕ χ[j] #εδώ τις μεταβλητές (x, y, z)
ΤΕΛΟΣ_ΑΝ
TEΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ b[i] #εδώ τις ισότητες (24, 30, 9)
TEΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
@peny Αγνόησε το ότι είναι κακογραμμένος σαν κώδικας, πρέπει προσθέσεις κείμενο που να περιγράφει τι τιμή βάζεις κάθε φορά και να μπει σε καλύτερη θέση η εισαγωγή τιμών για το x.
Αλλά κάτι τέτοιο δεν θες; Την δημιουργία πινάκων A, x, b;
Σημείωση: Εδώ δημιουργούνται οι πίνακες A,x,b και όχι οι D, D^(-1) και R που απαιτούνται για την μέθοδο Jacobi.
Ναι, είναι ακριβώς αυτό που θέλω!
Δεν πολυκατάλαβα όμως τους σχολιασμούς που σημειώνεις και κατ'επέκταση
πως θα εφαρμόσω τους δικούς μου αριθμούς....