Page 1 of 1

Matlab - διαφορικές

Posted: Sat Apr 09, 2011 9:04 am
by benediktos
Ρε παιδιά, αν ξέρει κανείς...
Ποιες ακριβώς εντολές γράφουμε στο Matlab για να λύσουμε διαφορικές εξισώσεις;
Έστω ότι έχουμε τη δ.ε. y' = y^2 * cos(x)
Πώς τη λύνουμε με το matlab;
Ας γράψει αναλυτικά τις εντολές όποιος ξέρει.
Ευχαριστώ.

Re: Matlab - διαφορικές

Posted: Sat Apr 09, 2011 9:36 am
by Spyrοs
benediktos wrote:Ρε παιδιά, αν ξέρει κανείς...
Ποιες ακριβώς εντολές γράφουμε στο Matlab για να λύσουμε διαφορικές εξισώσεις;
Έστω ότι έχουμε τη δ.ε. y' = y^2 * cos(x)
Πώς τη λύνουμε με το matlab;
Ας γράψει αναλυτικά τις εντολές όποιος ξέρει.
Ευχαριστώ.
Δε νομίζω να χρησιμοποιούν πολλοί αυτή τη δυνατότητα οπότε δοκίμασε στο "Help" με διάφορες λέξεις κλειδιά!
Αν σου χρειάζεται συχνά να λύνεις αναλυτικά διαφορικές θα πρότεινα το Mathematica. Ούτε αυτό ξέρω πώς το κάνει αλλά θεωρείται top σε τέτοια ζητήματα :idea:

btw η παραπάνω δ.ε. είναι μη-γραμμική τύπου Riccati με λύση: y(x) = 1/(-c -sinx)

Re: Matlab - διαφορικές

Posted: Sat Apr 09, 2011 9:49 am
by benediktos
Spyrοs wrote:btw η παραπάνω δ.ε. είναι μη-γραμμική τύπου Riccati με λύση: y(x) = 1/(-c -sinx)
χωριζομένων μεταβλητών είναι και λύνεται με απλή ολοκλήρωση και βγάζει το αποτέλεσμα που μου είπες κι εσύ. παράδειγμα ήταν.. απλά για να έχουμε μια κοινή δ.ε. με όποιον πρόκειται να μου πει τι εντολές γράφουμε στο Matlab για την επίλυσή της..
θα κοιτάξω πάντως και το mathematica!

Re: Matlab - διαφορικές

Posted: Sat Apr 09, 2011 10:01 am
by nas
μπορείς ακόμα να βάζεις το πρόβλημα σου στο google και στο τέλος να γράφεις matlab. θα σε βγάζει στην κεντρική του mtalab που έχει στην ουσία όλο το help και επιπλέον απαντήσεις από μέλη.

Re: Matlab - διαφορικές

Posted: Sat Apr 09, 2011 10:20 am
by tpm
Μια συναρτηση της matlab που χρησιμοποιει το Symbolic Math Toolbox (δηλαδη μπορεις να δωσεις τα arguments συμβολικα οπως ακριβως η διαφορικη που εγραψες παραπανω) ειναι η dsolve. Αν πατησεις στην matlab help dsolve θα σου δωσει λεπτομερεις και παραδειγματα.

Επισης αν θελεις διαβασε και αυτο:

Re: Matlab - διαφορικές

Posted: Sat Apr 09, 2011 12:21 pm
by britties

Re: Matlab - διαφορικές

Posted: Sat Apr 09, 2011 1:09 pm
by benediktos
@britties, tpm: δε μπόρεσα να καταφέρω κάτι... δεν έχω ιδέα από Matlab. Έγραψα όμως τη συνάρτηση-εντολή dsolve με τα ορίσματά της και δεν έβγαλα κάτι... Βγήκε σφάλμα δηλαδή.. Νομίζω ότι στη Matlab πρέπει να ορίζουμε κάποια πράγματα πριν προχωρήσουμε στην εντολή..

@Spyros: φοβερό πρόγραμμα το Mathematica! Λύνει κανονικά τις δ.ε. με συμβολικό τρόπο! Ευχαριστώ πολύ!

Re: Matlab - διαφορικές

Posted: Sat Apr 09, 2011 2:23 pm
by voulgarisk
επισης για αυτους που βαριουνται να κατεβασουν το προγραμμα υπαρχει και το αντιστοιχο site απο αυτον που εφτιαξε το mathematica το οποιο ειναι το http://www.wolframalpha.com/ ...ουσιαστικα το ιδιο πραγμα αλλα διαδικτυακα

Re: Matlab - διαφορικές

Posted: Sat Apr 09, 2011 2:49 pm
by tpm
Παντως τωρα που ετρεξα μονο αυτη την εντολη

Code: Select all

dsolve('Dy=y^2*cos(t)')
Μου εβγαλε

Code: Select all

ans =
 
                 0
 -1/(C18 + sin(t))
Αν σου εβγαλε warning οτι η εξισωση δεν εχει explicit λυση σημαινει πως δεν μπορει να λυθει αναλυτικα αλλα μονο αριθμητικα οποτε η συναρτηση που χρειαζεσαι ειναι η ode45. Αν τωρα σου εβγαλε error τοτε κατι δεν εγραψες σωστα.

Παντως γενικα ειναι καλυτερο να χρησιμοποιεις οποιο προγραμμα σε βολεψει καλυτερα... Απλα νομιζω πως η matlab ειναι πιο ολοκληρωμενη...