forum.math.uoa.gr
http://forum.math.uoa.gr/

Eργασία
http://forum.math.uoa.gr/viewtopic.php?f=149&t=7891
Σελίδα 1 από 1

Συγγραφέας:  Nickp [ 08 Ιούλ 2010, 09:24 ]
Θέμα δημοσίευσης:  Eργασία

Καλημέρα σας ,παιδιά έχω ένα πρόβλημα με κάποιες ασκήσεις που πρέπει να λύσω με την βοήθεια του προγράμματος Matlab.
Η μία μας ζητά με την μέθοδο απαλοιφής του Gauss να υπολογίσουμε την ορίζουσα (4*4)
(1,t,t^2,t^3
t,1,t,t^2
t^2,t,1,t
t^3,t^2,t,1)
Επίσης άλλη μία ορίζουσα με μιγαδικούς (3*3)
a1+ib1,a1i-b1, c1

και τέλος ότι ισχύει y=x/10 ^5 kai z=125 να βρεθούν τα x+y/100 όταν χ=2010
Βασικά στην 2η εργασία μου "χτυπά" ,το πρόγ/μα όταν πάω να εισάγω τα α1 κλπ.
Τώρα μαθαίνω με την Matlab, μπορεί για μερικούς να είναι πα΄ρα πολυ εύκολα αλλά εγώ τώρα μαθαίνω.
Ευχαριστώ εκ των προτέρων !

Συγγραφέας:  eliascm21 [ 08 Ιούλ 2010, 09:34 ]
Θέμα δημοσίευσης:  Re: Eτγασία

Με την απαλοιφή Gauss θα καταφέρεις να μετασχηματίσεις τον πίνακα σου σε άνω τριγωνικό, οπότε η ορίζουσα σου θα ισούται με το γινόμενο των διαγώνιων στοιχείων του νέου πίνακα.
Για βοήθεια στο πως θα κάνεις την απαλοιφή δες εδώ. Αλλά και γενικά αν ψάξεις στο goggle θα βρεις πολλές πληροφορίες.
(φαντάζομαι τον απαλοιφή gauss θέλει να την προγραμματίσεις και όχι να χρησιμοποιήσεις κάποιες έτοιμες υπορουτίνες της Matlab)

Το δεύτερο σκέλος της άσκησης είναι απλές πράξεις αν κατάλαβα καλά. Γράψε τη error σου βγάζει μήπως μπορέσουμε να σε βοηθήσουμε.

Συγγραφέας:  Nickp [ 08 Ιούλ 2010, 10:03 ]
Θέμα δημοσίευσης:  Re: Eτγασία

>> A=[a1+ib1,a1i-b1,c1;a2+ib2,a2i-b2,c2;a3+ib3,a3i-b3,c3]
??? Undefined function or variable 'a1'.
δλδ προσπαθώ να γράψω τον πίνακα και μετά να γράψω det(A) ώστε να μου εμφανίσει το αποτέλεσμα της ορίζουσας !
Όπως το καταλαβαίνω εγώ ,κάτι δεν το δηλώνω σωστά ,δλδ αυτό το α1 το έχω γράψει και ως α(1) αλλά πάλι το ίδιο μου βγάζει !
Ευχαριστώ και πάλι !

Συγγραφέας:  eliascm21 [ 08 Ιούλ 2010, 10:23 ]
Θέμα δημοσίευσης:  Re: Eτγασία

Ναι λογικό, αφού δεν έχεις δώσει κάποια τιμή στην μεταβλητή α1.
Η από πάνω από εκεί που ορίζεις τον πίνακα θα βάλεις τιμές στις παραμέτρους, πχ a1=3, b1=-5 κτλ, ή θα βάλεις
a1=input('Dwse tin timi tis parametou a1: ')
ώστε την ώρα που τρέχει το πρόγραμμα να ζητάει από τον χρήστη να ορίσει την παράμετρο.

Αν θέλεις να κάνεις πράξεις με τις μεταβλητές χωρίς να ορίσεις τιμές σε αυτές (και να βγάλεις αποτέλεσμα πχ α1*β2+β3) τότε θα πρέπει να κάνεις symbolic πράξεις, να ορίσεις τις μεταβλητές σαν symbolic (νομίζω το κάνεις γράφοντας sym a1 κτλ) αλλά αμφιβάλλω αν θέλει κάτι τέτοιο η εργασία σου, και αμφιβάλλω αν η εντολή det της matlab θα λειτουργήσει με symbolic μεταβλητές.

Συγγραφέας:  Nickp [ 08 Ιούλ 2010, 10:32 ]
Θέμα δημοσίευσης:  Re: Eτγασία

Είναι αυτό που λές,δλδ δεν υπάρχουν αριθμοί ,δλδ η απάντηση θα πρέπει να είναι του στύλ α1*β1+.....Θα το κοιτάξω πάλι ! Ευχαριστό για τον χρόνο σου :)

Συγγραφέας:  eliascm21 [ 08 Ιούλ 2010, 16:07 ]
Θέμα δημοσίευσης:  Re: Eργασία

Τώρα που το δοκίμασα νομίζω ότι η det μια χαρά δουλεύει και με symbolic μεταβλητές. Για να δηλώσεις τις μεταβλητές σαν symbolic γράφεις syms a1 (όχι sym που σου έγραψα πριν) κτλ για όλες τις μεταβλητές σου.
Πρόσεχε όπου χρησιμοποιείς το μιγαδικό i να μην το κολλάς με τα ονόματα μεταβλητών όταν είναι πολλαπλασιασμός αλλά να το γράφεις καθαρά: *i
Η ορίζουσα του 3x3 που έχεις μου βγήκε μηδέν.

Συγγραφέας:  Nickp [ 08 Ιούλ 2010, 17:08 ]
Θέμα δημοσίευσης:  Re: Eργασία

Nαι !!! Σε ευχαριστώ πάρα πολύ !!!! :D :D
Μου βγήκε και εμένα και τις δήλωσα σαν syms και μετά τον πίνακα και ύστερα που έβαλα det (A) πράγματι μου έβγαλε 0 !!!
Τώρα θα παλεψω με την άλλη άσκηση που μου θέλει για τον την ορίζουσα μέσω του Gauss.Σε ευχαριστώ και πάλι για την άμεση βοήθεια σου στο πρόβλημά μου ! Καλό σου απόγευμα !

Σελίδα 1 από 1 Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/