FREEMAT
Το Freemat είναι ένα πρόγραμμα ελεύθερου κώδικα το οποίο μοιάζει με το γνωστό MATLAB. Η εγκατάσταση του είναι εύκολη και μπορεί να γίνει ακολουθώντας τον σύνδεσμο http://freemat.sourceforge.net/
Η διεπαφή
Example - Beginning lines of Freemat 4.0 FreeMat v4.0 Copyright (c) 2002-2008 by Samit Basu Licensed under the GNU Public License (GPL) Type <help license> to find out more <helpwin> for online help <pathtool> to set or change your path Use <dbauto on/off> to control stop-on-error behavior Use ctrl-b to stop execution of a function/script JIT is enabled by default - use jitcontrol to change it Use <rootpath gui> to set/change where the FreeMat toolbox is installed --> Χρησιμοποιώντας το παράθυρο εντολών, μπορείτε να εισάγετε μεταβλητές, συναρτήσεις, τα προγράμματα και τις εντολές τους. Το παράθυρο Ιστορία παρουσιάζει, με χρονολογική σειρά, όλες τις εντολές που έχουν εισαχθεί καθώς και τα αποτελέσματα τους. (Οι νεότερες εντολές εμφανίζονται στο κάτω μέρος ενώ οι παλαιότερες στην κορυφή. Οι πρώτες γραμμές του παραθύρου εντολών περιέχουν κάποιες βασικές πληροφορίες σχετικά με το πρόγραμμα, όπως την έκδοση, τα πνευματικά δικαιώματα
Το παράθυρο χωρίζεται σε πέντε διαφορετικές περιοχές Το παράθυρο χωρίζεται σε πέντε διαφορετικές περιοχές. Την περιοχή των εντολών, το File Browser, την περιοχή Ιστορίας, την περιοχή των μεταβλητών και το τμήμα εντοπισμού σφαλμάτων. Υπάρχει επίσης μια μικρή περιοχή που εμφανίζει ένα κατάλογο του αρχείου.
Περιοχή εύρεσης αρχείων
Περιοχή πρόσφατης ιστορίας Η περιοχή του ιστορικού εμφανίζει μια λίστα με κάθε εντολή που έχουμε εισάγει. Οι πιο πρόσφατες εντολές βρίσκονται στο κάτω μέρος και οι παλαιότερες στην κορυφή. Από τη γραμμή εντολών μέσα στο παράθυρο εντολών, μπορείτε να επιλέξετε ανάμεσα σε προηγούμενες εντολές χρησιμοποιώντας τα πλήκτρα με το πάνω και κάτω βέλος ή διπλοκλικάροντας πάνω στην εντολή. Το αρχείο της ιστορίας μπορεί ακόμη να χρησιμοποιηθεί και για προηγούμενα ανοίγματα του προγράμματος Freemat. Με άλλες λέξεις αν κλείσετε το πρόγραμμα, και το ανοίξετε ξανά η ιστορία παραμένει. Μπορείτε να διαγράψετε την ιστορία χρησιμοποιώντας την διαδρομή Tools -> Clear History Tool.
Περιοχή μεταβλητών Το τμήμα των μεταβλητών εμφανίζει όλες τις τρέχουσες ενιαίες μεταβλητές. Το τμήμα αυτό δείχνει επίσης τις μεταβλητές που χρησιμοποιούνται από μια συνάρτηση εφόσον η συνάρτηση «λειτουργεί». Αυτό το παράθυρο χρησιμοποιείται περισσότερο από οποιοδήποτε άλλο. Μας δίνει μια γρήγορη προεπισκόπηση των μεταβλητών που χρησιμοποιούνται, χρήσιμο ειδικά στην αντιμετώπιση προβλημάτων ενός σεναρίου ή μιας λειτουργίας.
Περιοχή εντοπισμού σφαλμάτων Η ενότητα "Εντοπισμός σφαλμάτων" παρουσιάζει τυχόν λάθη ή προειδοποιήσεις Συνήθως, το πρώτο τμήμα της γραμμής θα είναι ο χρόνος κατά τον οποίο συνέβη το σφάλμα, ακολουθούμενο από το κείμενο του σφάλματος ή της προειδοποίησης. Κυρίως το χρησιμοποιούμε για να προσδιορίσουμε τι και πότε πήγε στραβά σε μια λειτουργία ή σε ένα σενάριο που τρέχουμε.
Τοποθεσία εργασίας Ο κατάλογος εργασίας δεν είναι τίποτα περισσότερο από τον προεπιλεγμένο φάκελο από τον οποίο η Freemat διαβάζει αλλά και αποθηκεύει Μπορούμε να καθορίσουμε ένα διαφορετικό φάκελο εισόδου ή εξόδου. Μπορείτε να δείτε τον κατάλογο εργασίας χρησιμοποιώντας την εντολή pwd (Print Working Directory) --> pwd ans = C:/Program Files/FreeMat --> answer
Αλλαγή καταλόγου εργασίας Γίνεται με την εντολή cd (Change Directory) --> pwd ans = C:/Program Files/FreeMat --> cd 'C:/Documents and Settings/Owner/My Documents' C:/Documents and Settings/Owner/My Documents
Ένα πρώτο παράδειγμα – αλλαγή της default διεύθυνσης Δημιουργήστε ένα νέο φάκελο για τα Freemat αρχεία σας στον φάκελο "Χρήστες" (αν τρέχετε Win7 ή WinVista), στον "My Documents" (αν τρέχετε WinXP). Προσθέστε αυτό το νέο φάκελο στην λίστα διευθύνσεων του Freemat. Εύρεση του μονοπατιού (μπορεί να γίνει με 2 τρόπους) είτε κάνοντας κλικ στο Tools-> Path tool κάτω του μενού Freemat, ή πληκτρολογώντας pathtool και πατώντας <Enter> στο Command της Freemat. Μετά το άνοιγμα του μονοπατιού χρησιμοποιήστε το αριστερό τμήμα του παραθύρου για να περιηγηθείτε στο φάκελο που μόλις δημιουργήσατε, κάντε κλικ στο κουμπί "Προσθήκη" στη δεξιά πλευρά, κάντε κλικ στο κουμπί "Αποθήκευση" και "Τέλος", επίσης στην δεξιά πλευρά.) Δημιουργήστε ένα σενάριο που ονομάζεται startup.m το οποίο περιέχει μια εντολή cd που δείχνει στο νέο αρχείο Freemat.
Δημιουργία script Το τελικό βήμα είναι να δημιουργήσουμε ένα σενάριο που ονομάζεται startup.m και τοποθετήστε το σε αυτόν το φάκελο. Tα βήματα που εμπλέκονται: Ανοίξτε το Freemat Editor. Για να το κάνετε αυτό, πληκτρολογήστε “edit" στην περιοχή εντολών και πατήστε <Enter> ή επιλέξτε tools -> editor από το μενού. Στο παράθυρο του editor, πληκτρολογήστε μια εντολή cd (κατάλογος αλλαγή) (FD, σ. 415), ακολουθούμενη από το πλήρες όνομα της διαδρομής του φακέλου που μόλις δημιουργήσατε. Εδώ είναι τα παραδείγματα των εντολών βασίζεται σε κάποια διαφορετικά λειτουργικά συστήματα. (Α) των Windows XP: cd "C: \ Documents and Settings \ Ιδιοκτήτης \ Τα έγγραφά μου \ Freemat»? (Β) των Windows Vista \ Windows 7: cd "C: \ Users \ Ιδιοκτήτης \ Documents \ Freemat»? Στο παράθυρο Editor, κάντε κλικ στο File -> Save, μεταβείτε στο φάκελο που περιλαμβάνονται στην εντολή cd, δώστε το όνομα startup.m και πατήστε "Αποθήκευση". Κλείστε το παράθυρο Editor. Για να δοκιμάσετε το script σας βγείτε από το Freemat και κάντε επανεκκίνηση.
Απλές πράξεις --> 3 + 2 ans = 5 --> 5*3.1415 15.7075 Κατά τη διάρκεια πρόσφατου παιχνίδιου μπέιζμπολ ο Bowie Baysox. Πριν το πρώτο του χτύπημα ο μέσος του όρος ήταν 0,202. Χτύπησε ένα διπλό έξω στον κεντρικό τομέα. Την επόμενη φορά που χτύπησε, ο μέσος όρος του ήταν 0.218. Χρησιμοποιώντας αυτές τις πληροφορίες, μπορούμε να τρέξουμε μερικούς βασικούς υπολογισμούς με Freemat να καταλάβουμε συνολικά χτυπήματα και επιτυχίες είχε. H/AB=0.202 (H+1) /(AB+1)=0.218 Λύνοντας ως προς ΑΒ βρίσκουμε AB= (1−0.218) / (0.218−0.202)
Περισσότερες εντολές σε μία γραμμή --> x=5.21; y=6.7; z=x*y z = 34.9070 --> x=7*3 x = 21 --> x=7*3; (δεν εμφανίζει αποτέλεσμα) --> x (πληκτρολογώντας το όνομα της μεταβλητής και enter) ans = 21
Στοιχεία μετά την υποδιαστολή --> format short --> pi ans = 3.1416 --> format long 3.14159265358979
Μεταβλητές Μια μεταβλητή είναι ένας απλός χαρακτήρας ή μια σειρά από χαρακτήρες που χρησιμοποιούνται για την αποθήκευση ορισμένων δεδομένων. Ένα όνομα μεταβλητής μπορεί να περιέχει γράμματα, αριθμούς και / ή κάτω παύλα. Σημείωση: Το όνομα της μεταβλητής πρέπει να ξεκινά με ένα γράμμα. Επίσης, τα ονόματα των μεταβλητών είναι case-sensitive. Η μεταβλητή Χ είναι διαφορετική από τη μεταβλητή x. Σε γενικές γραμμές, μια μεταβλητή μπορεί να αποθηκεύσει: ένας αριθμός. Ένα string. μια μήτρα αριθμών, λίστες κτλ. Οι αριθμοί μπορεί να είναι ένας από τους πολλούς διαφορετικούς τύπους ακέραιοι, απλής και διπλής ακρίβειας αριθμούς, κινητής υποδιαστολής
--> s='This is a string'; --> x=1; --> who Variable Name Type Flags Size X int32 [1 1] --> x=5; --> y=491.2768; --> s='This is a string'; --> s2=['Part of a string ' num2str(2) ' part of another string'] s2 = Part of a string 2 part of another string Variable Name Type Flags Size ans double [1 1] s char [1 16] s2 char [1 41] x double [1 1] y double [1 1] --> Αρχικοποίηση
Τύποι μεταβλητών Κάθε μεταβλητή έχει ένα είδος, το οποίο βασίζεται στον τύπο του αριθμού ή αλφαριθμητικό και στα πόσα bits που χρησιμοποιεί για την αποθήκευση ο αριθμός ή το αλφαριθμητικό . Οι μεταβλητές των τύπων, είναι τα εξής: int8 - μικρός ακέραιος. Επιτρεπόμενες τιμές είναι -128 έως 127. Η λειτουργία αυτή, όπως και όλες οι λειτουργίες ακέραιου (int16, int32, Int64), είναι περιοδική. Αυτό σημαίνει ότι, αν μια τιμή εκτός των ορίων (-128 έως 127) παίρνει την τιμή αυτών. Για παράδειγμα, int8 (128) = -128 και int8 (-129) = 127. --> int8(53) ans = 53 --> int8(130) -126 --> int8(33.98) 33 -->
Τύποι μεταβλητών int16, 16 bit ακέραιος. Επιτρεπόμενες τιμές είναι -32768 εώς 32.767. Η λειτουργία int16 είναι επίσης περιοδικές κατά παρόμοιο τρόπο όπως η λειτουργία int8. Για παράδειγμα, int16 (32.768) = -32,768 και int16 (-32.769) = 32.767. int32, 32 bit ακέραιος. Επιτρεπόμενες τιμές είναι - 2147483648 στο 2147483647. Αυτός είναι ο προεπιλεγμένος τύπος Freemat για ακέραιους αριθμούς. Αυτό σημαίνει ότι, αν δημιουργήσετε μια μεταβλητή που είναι μόνο ένας ακέραιος χωρίς να προσδιορίζετε διαφορετικά, θα δημιουργηθεί ως ακέραιος 32-bit (int32).
Άλλοι τύποι float , 32 bit αριθμό κινητής υποδιαστολής. Επιτρεπόμενες τιμές είναι -3,4 x 1038 - 3,4 x 1038. double, 64 bit αριθμό κινητής υποδιαστολής. Επιτρεπόμενες τιμές είναι ελαφρώς μικρότερη από -1,79 x 10308 και ελαφρώς περισσότερο από 1,79 x 10308. Αυτός είναι ο προεπιλεγμένος τύπος Freemat για αριθμούς κινητής υποδιαστολής. complex 32 bit μιγαδικό αριθμό κινητής υποδιαστολής. dcomplex 64 bit μιγαδικό αριθμό ό κινητής υποδιαστολής. string- οποιοδήποτε συνδυασμός γραμμάτων, αριθμών και / ή ειδικών χαρακτήρων. Μια μεταβλητή συμβολοσειράς μπορεί να είναι μέχρι 65535 χαρακτήρες. Μια μεταβλητή συμβολοσειράς εισάγεται με τη χρήση εισαγωγικών σε κάθε άκρο. Για παράδειγμα, Α = «hello»
--> clear all --> a='here is a string'; --> b='yet another string to ponder'; --> c='hello'; --> who Variable Name Type Flags Size a string [1 16] b string [1 28] c string [1 5] -->
--> s1='To be or not to be.'; --> s2='That is the question.'; --> s=[s1 s2] s = To be or not to be.That is the question. --> s=[s1 ' ' s2] To be or not to be. That is the question.
--> s1='20'; --> s2='4'; --> s3='5'; --> s=[s1 string(247) s2 '=' s3] s = 20 ÷ 4=5 --> s1=20; --> s2=4; --> s3=s1/s2; --> s=[num2str(s1) string(247) num2str(s2) '=' num2str(s3)]
Η Freemat παρέχει πολλές διαφορετικές προϋπάρχουσες μεταβλητές i - το φανταστικό μέρος των μιγαδικών. inf - άπειρο. Σημειώστε ότι αυτό χρησιμοποιείται μόνο για διπλό τύπο μεταβλητών. Εάν προσπαθήσετε να το χρησιμοποιήσετε σε μια μεταβλητή ακεραίου τύπου, μπορείτε να πάρετε περίεργα αποτελέσματα pi - ο λόγος της περιφέρειας ενός κύκλου προς τη διάμετρό του. Η ολοένα και υπέροχη 3.1415926 ..., επ 'άπειρον. ans - Μπορεί να έχετε ήδη παρατηρήσει τη μεταβλητή "ans". Η μεταβλητή αυτή χρησιμοποιείται από την Freemat για να παρουσιάσει αποτελέσματα στην οθόνη. Ωστόσο, αν ορίσετε μια μεταβλητή, όπως "x = 1 + 1", στην οποία να κατευθύνει το αποτέλεσμα του υπολογισμού σας, τότε το αποτέλεσμα του "1 + 1" θα αποθηκεύονται στην εν λόγω μεταβλητή (σε αυτή την περίπτωση "X") και όχι "ans".
--> 5*pi ans = 15.7080 --> 1:10 1 2 3 4 5 6 7 8 9 10 --> 1:3:13 1 4 7 10 13 --> 9/11 ans = 0.8182 --> --> ans*4.5 3.6818