dimitris_pa Δημοσ. 16 Μαΐου 2011 Δημοσ. 16 Μαΐου 2011 Καλησπέρα, γίνεται να κάνουμε πράξεις pre-calculus (ξέχασα πως λέγεται στα ελληνικά ) στην γλωσσα c ? και αν ναι με το <math.h> ? κανένα παράδειγμα έχετε ? Ευχαριστώ εκ των πρότερων.
kagelos Δημοσ. 16 Μαΐου 2011 Δημοσ. 16 Μαΐου 2011 Μέσα στο math.h θα βρεις τριγωνομετρικές, λογαριθμικές και εκθετικές συναρτήσεις ... άντε και τετραγωνική ρίζα. Δεν έχει γραμμική άλγεβρα, μιγαδικούς αριθμούς, διανύσματα, όρια, πιθανότητες και ούτε και γω δεν ξέρω τι άλλο. Γνωρίζεις τι χρειάζεσαι; Ίσως το matlab ή το octave να σε καλύπτουν περισσότερο.
dimitris_pa Δημοσ. 16 Μαΐου 2011 Μέλος Δημοσ. 16 Μαΐου 2011 Μέσα στο math.h θα βρεις τριγωνομετρικές, λογαριθμικές και εκθετικές συναρτήσεις ... άντε και τετραγωνική ρίζα. Δεν έχει γραμμική άλγεβρα, μιγαδικούς αριθμούς, διανύσματα, όρια, πιθανότητες και ούτε και γω δεν ξέρω τι άλλο. Γνωρίζεις τι χρειάζεσαι; Ίσως το matlab ή το octave να σε καλύπτουν περισσότερο. γνωριζω π.χ. y(t)=Asin(2πΕ+Bsin(2πΕ)) υπαρχει καμια βιβλιοθηκη ?
kagelos Δημοσ. 16 Μαΐου 2011 Δημοσ. 16 Μαΐου 2011 Βεβαίως : >double myfunction(double E, double A, double { return A * sin(2*PI*E + B*sin(2*PI*E)); } Αυτά δεν είναι μέρος κάποιας βιβλιοθήκης. Είναι απλές πράξεις και κλήσεις συναρτήσεων. Σε περίπτωση που δεν γνωρίζεις να προγραμματίζεις αλλά θέλεις να εκτελείς τέτοιες συναρτήσεις ψάξε να βρεις κάποια εφαρμογή που θα δέχεται τις συναρτήσεις με τη μαθηματική σημειογραφία.
dimitris_pa Δημοσ. 16 Μαΐου 2011 Μέλος Δημοσ. 16 Μαΐου 2011 Βεβαίως : >double myfunction(double E, double A, double { return A * sin(2*PI*E + B*sin(2*PI*E)); } Αυτά δεν είναι μέρος κάποιας βιβλιοθήκης. Είναι απλές πράξεις και κλήσεις συναρτήσεων. Σε περίπτωση που δεν γνωρίζεις να προγραμματίζεις αλλά θέλεις να εκτελείς τέτοιες συναρτήσεις ψάξε να βρεις κάποια εφαρμογή που θα δέχεται τις συναρτήσεις με τη μαθηματική σημειογραφία. να προγραμματιζω ξερω απλα δεν εχω ξανα κανει τετοια, υπαρχει κανενα λινκ η πως θα το ψαξω στο google ?
V.I.Smirnov Δημοσ. 16 Μαΐου 2011 Δημοσ. 16 Μαΐου 2011 Πολύ ενδιαφέρον... Αν αυτό που ζητάς είναι να δίνεις κάποιες συναρτήσεις κατά την διάρκεια της εκτέλεσης και να σου τις αποτιμά αριθμητικά, θέλεις ένα parser. Είναι δύσκολο να φτιαχτεί αλλά υπάρχουν ένα-δυο έτοιμα και γλυτώνεις τον μπελά. Επίσης η Qt μπορεί να φανεί χρήσιμη με τον μηχανισμό για scripts που έχει. AΛΛΑ αν όμως επιπλέον θέλεις να χειρίζεσαι συμβολικά διάφορες μαθηματικές ποσότητες, όπως παραγωγίσεις, πολυώνυμα απλά και ειδικά, απλοποίηση παραστάσεων κλπ τότε θέλεις ένα parser με δυνατότητες συμβολικής άλγεβρας (CAS). Tέτοια δεν κυκλοφορούν - αν έχεις το κουράγιο θα πρέπει να το φτιάξεις. Πριν αρκετό καιρό είχα φτιάξει μια τέτοια cas βιβλιοθήκη που έκανε αρκετά τέτοια πράγματα με προσανατολισμό στα ανώτερα μαθηματικά. Το παρακάτω στην επισύναψη είναι από τις δοκιμές μου σε συμβολική παραγώγιση πολλών μεταβλητών και σύνθετης συνάρτησης... (Και πληροφοριακά αναφέρω ότι το πιο δύσκολο να γίνει είναι οι συμβολικές ολοκληρώσεις - αυτό δεν το κατάφερα καλά !) pre_calc example.zip
dimitris_pa Δημοσ. 16 Μαΐου 2011 Μέλος Δημοσ. 16 Μαΐου 2011 Πολύ ενδιαφέρον... Αν αυτό που ζητάς είναι να δίνεις κάποιες συναρτήσεις και να σου τις αποτιμά αριθμητικά, θέλεις ένα parser. Είναι δύσκολο να φτιαχτεί αλλά υπάρχουν ένα-δυο έτοιμα και γλυτώνεις τον μπελά. Επίσης η Qt μπορεί να φανεί χρήσιμη με τον μηχανισμό για scripts που έχει. AΛΛΑ αν όμως επιπλέον θέλεις να χειρίζεσαι συμβολικά διάφορες μαθηματικές ποσότητες, όπως παραγωγίσεις, πολυώνυμα απλά και ειδικά, απλοποίηση παραστάσεων κλπ τότε θέλεις ένα parser με δυνατότητες συμβολικής άλγεβρας (CAS). Tέτοια δεν κυκλοφορούν - αν έχεις το κουράγιο θα πρέπει να τα φτιάξεις. Πριν αρκετό καιρό είχα φτιάξει μια τέτοια βιβλιοθήκη που έκανε αρκετά τέτοια πράγματα με προσανατολισμό στα ανώτερα μαθηματικά. Το παρακάτω στην επισύναψη είναι από τις δοκιμές μου σε συμβολική παραγώγιση πολλών μεταβλητών... ευχαριστώ για το λινκ, βασικά θα πω πάρα πάνω λεπτομεριες για να με βοηθήσετε σωστά. θα περνώ δεδομένα από εξωτερική συσκευή μετά θα τα επεξεργάζομαι με αυτόν τον τρόπο κ στο τέλος θα τα κατευθύνω σε άλλη. Μπορεί να είναι κάποια συχνότητα, μπορεί να είναι κάποιος "εξωτερικός ήχος" (από μικρόφωνο, από κάποια πηγή εισόδου κτλπ) κτλπ
dimitris_pa Δημοσ. 18 Μαΐου 2011 Μέλος Δημοσ. 18 Μαΐου 2011 @V.I.Smirnov δεν μου τρεχει, εχω win7 64bit
V.I.Smirnov Δημοσ. 18 Μαΐου 2011 Δημοσ. 18 Μαΐου 2011 Περίεργο, για προσπάθησε να το ξανακατεβάσεις... Τώρα μόλις το δοκίμασα σε win7 64bit και τρέχει κανονικά. Το parser που είχα φτιάξει δέχεται μια συνάρτηση κατά την ώρα της εκτέλεσης και ανάμεσα στα άλλα μπορεί να βρει συμβολικά την παράγωγό της. Το κάνει αυτό και για συναρτήσεις πολλών μεταβλητών καθώς και για σύνθετες συναρτήσεις, δηλ. f(x,y) όπου x=g(u,v) και y=h(u,v). Το συγκεκριμένο exe είναι ένα demo της συμβολικής παραγώγισης. Όταν εισάγεις συνάρτηση, δεν χρειάζεται * για τα γινόμενα. Η δύναμη είναι το ^. Έχω βάλει έτοιμη μια σύνθετη συνάρτηση δύο μεταβλητών, για να δω αν βρίσκει σωστά τις παραγώγους (συμβολικά). (Και τις βρίσκει !!) Σου ξαναλέω πάντως ότι αν θέλεις parser, θα βρεις. Ένας γρήγορος και ευέλικτος τρόπος είναι με την βοήθεια της Qt. Το vtk έχει επίσης έτοιμη την συνάρτηση vtkFunctionParser. ΑΛΛΑ αν θέλεις parser με δυνατότητες συμβολικής άλγεβρας (παραγωγίσεις, απλοποίηση παραστάσεων, κ.α.), θα πρέπει να το φτιάξεις όπως εγώ - εφόσον έχεις τις γνώσεις και το κουράγιο βέβαια... -
V.I.Smirnov Δημοσ. 18 Μαΐου 2011 Δημοσ. 18 Μαΐου 2011 Σε δύο υπολογιστές που το δοκίμασα (ο ένας 64bit win7) τρέχει άψογα... Eν πάση περιπτώση, δες την εικόνα που επισυνάπτω. Η συμβολική παραγώγιση είναι συχνά χρήσιμη σε επεξεργασία και γι' αυτό κάποτε στρώθηκα και έφτιαξα ένα parser που μαζί με τα άλλα να κάνει και αυτήν. Είχα εντυπωσιαστεί που μπορούσα να βρω συμβολικά την παράγωγο σε μια τόσο πολύπλοκη συνάρτηση (με δικό μου πρόγραμμα). Τα αποτελέσματα σε σύνθετες συναρτήσεις πολλών μεταβλητών είναι ακόμη πιο εντυπωσιακά. Ωστόσο, γι' αυτό που θέλεις να κάνεις, πιστεύω ότι και ένα απλό parser αρκεί... -
dimitris_pa Δημοσ. 18 Μαΐου 2011 Μέλος Δημοσ. 18 Μαΐου 2011 Τι ακριβώς θες να κάνεις; εγώ ? δες το 4 μήνυμα μου
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.