Λίστα. Το διάνυζμα (vector) στο Mathematica είναι μια λίστα που έχει τα στοιχεία. Ο πίνακας ( matrix ) είναι λίστα απο τις λίστες.



Σχετικά έγγραφα
Επικ. Καθ. Ν. Καραµπετάκης, Τµήµα. Τµήµα Μαθηµατικών, Α.Π.Θ. Λίστες και πίνακες

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ. Δρ. Π. Νικολαΐδου

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

Δομές Δεδομένων & Αλγόριθμοι

2.1. Εντολές Σχόλια Τύποι Δεδομένων

Ένα διάνυζμα παριστάνεται ως μια μονοδιάστατη λίστα. a = {x 1, x 2,..., x n } Πράξεις με δυανύσματα. b = Map[y # &, Range[3]] ή διαφορετικά

ΤΟΜΟΣ Α : Συμβολικός Προγραμματισμός

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Θέματα Προγραμματισμού Η/Υ

Εισαγωγή στην επιστήμη των υπολογιστών. Οργάνωση εδομένων Κεφάλαιο 11ο ομές εδομένων

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Δομές Δεδομένων Ενότητα 3

Δομές Δεδομένων. Ενότητα 2: Στοίβες Εισαγωγή-Υλοποίηση ΑΤΔ Στοίβα με Πίνακα-Εφαρμογή Στοίβας: Αντίστροφη Πολωνική Γραφή. Καθηγήτρια Μαρία Σατρατζέμη

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Εισαγωγή στην Γλώσσα Lisp

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Φύλλο Εργασίας 3. Μια γρήγορη επανάληψη από τα προηγούμενα

ΑΛΓΟΡΙΘΜΟΙ ΜΕ C. ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής. CMOR Lab. Computational Methodologies and Operations Research

Δομές Δεδομένων (Data Structures)

ΣΤΗΛΗ Β ΑΠΟΤΕΛΕΣΜΑ 1. float(10) α pow(2,3) β abs(-10) γ int(5.6) δ. 10 ε. 5.6 Μονάδες 8 ΣΤΗΛΗ Α ΣΥΝΑΡΤΗΣΗ

Κεφάλαιο 1ο: Βασικές Έννοιες

Διάγραμμα Ροής (Flow Chart )

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Αναφορά (1/2) Μπορούμε να ορίσουμε μια άλλη, ισοδύναμη αλλά ίσως πιο σύντομη, ονομασία για ποσότητα (μεταβλητή, σταθερή, συνάρτηση, κλπ.

Εισαγωγή στον Προγραμματισμό

Ενότητα: Δυαδική Αναζήτηση Σχέδιο Δραστηριότητας: Παιχνίδι: Βρες τον αριθμό

Εισαγωγή στο Mathematica

HY340, 2009 Α. Σαββίδης Slide 2 / 143. HY340, 2009 Α. Σαββίδης Slide 3 / 143. HY340, 2009 Α. Σαββίδης Slide 4 / 143

Στοίβες - Ουρές. Στοίβα (stack) Γιάννης Θεοδωρίδης, Νίκος Πελέκης, Άγγελος Πικράκης Τµήµα Πληροφορικής

Ομάδα Γ. Ο υπολογιστής ως επιστημονικό εργαλείο

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Διορθώσεις σελ

Γραμμικά συστήματα. - όπου Α είναι ένας (m x n) πίνακας, ο οποίος περιέχει. - όπου Β είναι ένας (m x 1) πίνακας που περιέχει τους

Δομές Δεδομένων Ενότητα 4

επιµέλεια Θοδωρής Πιερράτος

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πεδί α

Πληροφορική 2. Αλγόριθμοι

Κάθε ένα κελί θα πρέπει να περιέχει ένα μόνο στοιχείο δεδομένων, για παράδειγμα το όνομα σε ένα κελί, το επίθετο σε άλλο κελί.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Κεφάλαιο 2ο: Λίστες - Πολυώνυµα

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ Η/Υ (ΟΜΑΔΑ ΘΕΜΑΤΩΝ A)

Νέο υλικό. Matlab2.pdf - Παρουσίαση μαθήματος 2. Matlab-reference.pdf Σημειώσεις matlab στα ελληνικά (13 σελίδες).

Προγραμματισμός ΙI (Θ)

Γράψτε ένα πρόγραμμα που θα προσομοιώνει τη ρίψη ενός νομίσματος και θα εμφανίζει στην οθόνη Κορώνα» ή «Γράμματα».

Εισαγωγή στον Προγραμματισμό

Σημειωματάαριο Δευτέρας 16 Οκτ. 2017

Κεφάλαιο 1. Τι θα μάθουμε σήμερα: -AND, OR, NOT. -Ενσωματωμένες συναρτήσεις. -Μαθηματικοί τελεστές -ΤΕΛΕΣΤΕΣ DIV ΚΑΙ MOD. -Προτεραιότητα πράξεων

ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

alpha Language age (3/5) alpha Language Φροντιστήριο Syntax Directed Translation and

Λογικός τύπος Τελεστές σύγκρισης Λογικοί τελεστές Εντολές επιλογής Εμβέλεια Μαθηματικές συναρτήσεις Μιγαδικός τύπος ΔΕΥΤΕΡΗ ΔΙΑΛΕΞΗ

Προγραμματισμός Υπολογιστών Τάξη Γ Αθανασιάδης Χρήστος ΠΕ19 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Γ τάξη Τεχνολογικής Κατεύθυνσης Ενιαίου Λυκείου ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. ΔΟΜΗ ΕΠΙΛΟΓΗΣ Διδάσκων: ΔΟΥΡΒΑΣ ΙΩΑΝΝΗΣ

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

Δομημένος Προγραμματισμός

Δομές Δεδομένων. Ενότητα 3: Ουρές Εισαγωγή-Υλοποίηση ΑΤΔ Ουρά με πίνακα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

Runtime Checking (1/3) Runtime Checking (2/3) Runtime Checking (3/3) ΗΥ 340 Γλώσσες και Μεταφραστές Φροντιστήριο

Προγραμματισμός Ι (HY120)

Πληροφορική ΙΙ Θεματική Ενότητα 7

ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡ/ΣΜΟΣ C++

1. Εισαγωγή στο Sage.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

Προγραμματισμός Ι (ΗΥ120)

Ομάδα Γ. Ο υπολογιστής ως επιστημονικό εργαλείο

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Σύνοψη Προηγούμενου. Λίστες (Lists) Συνδεδεμένες Λίστες: Εισαγωγή (1/2) Συνδεδεμένες Λίστες. Ορέστης Τελέλης

Προγραμματισμός Η/Υ (ΤΛ2007 )

ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Σχεδίαση Βάσεων Δεδομένων

Εισαγωγή στην Αριθμητική Ανάλυση

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΗΜΕΡΗΣΙΩΝ ΕΠΑΛ (ΟΜΑΔΑ Α ΚΑΙ Β ) ΤΡΙΤΗ 13 ΙΟΥΝΙΟΥ 2017

Pascal, απλοί τύποι, τελεστές και εκφράσεις

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

Προσέξτε πως η παράσταση μπορεί να περιλαμβάνει όχι μόνο μία τιμή ή μια άλλη μεταβλητή αλλά μια ολόκληρη μαθηματική παράσταση, όπως η εξής:

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

Δομές Δεδομένων. Ενότητα 7: Άλλες παραλλαγές Συνδεδεμένων Λιστών-Παράσταση Αραιού Πολυωνύμου με Συνδεδεμένη Λίστα. Καθηγήτρια Μαρία Σατρατζέμη

Γνωρίστε το Excel 2007

Πληρουορική Γ Γσμμασίοσ

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Χρονικές σειρές 1 ο μάθημα: Εισαγωγή στη MATLAB

Με Χρήση της ΦΟΡΜΑΣ να προσθέσετε εγγραφές στον πίνακα που ακολουθεί

Οδηγός δημιουργίας Υποομάδων / Μαθημάτων / Χρηστών στο LAMS του ΠΣΔ

Ηλεκτρονικοί Υπολογιστές

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εισαγωγή στον επιστημονικό προγραμματισμό 2 o Μάθημα

Άθροισμα τριών ποσοτήτων (1/2)

Γ2.1 Στοιχεία Αρχιτεκτονικής. Γ Λυκείου Κατεύθυνσης

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί

Υπολογισμός - Εντολές Επανάληψης

Transcript:

Λίστα Το διάνυζμα (vector) στο Mathematica είναι μια λίστα που έχει τα στοιχεία. Ο πίνακας ( matrix ) είναι λίστα απο τις λίστες. Η λίστα είναι ένα σύνολο αντικειμένων των οποίων τα σύμβολα περιέχονται μέσα σε άγκιστρα { }, και χωρίζονται με κόμμα. Μας βοηθούν στην αναπαράσταση διανυσμάτων, πινάκων και συλλογή αντικειμένων όπως μεταβλητές και εκφράσεις. In[7]:= {1, 2, 3, 4} Out[7]= {1, 2, 3, 4} In[8]:= {a, b, c} Out[8]= {a, b, c} In[9]:= Out[9]//MatrixForm= a b c {a, b, c} // MatrixForm In[10]:= Out[10]= {2, 0.5, x, Sin[x], Thessaloniki} {2, 0.5, x, Sin[x], Thessaloniki}

2 lecture2-report.nb Αυτό μοιάζει με μια μαθηματική σετ, αλλά υπάρχει διαφορά In[11]:= {1, 2} {2, 1} Out[11]= False In[12]:= {1, 2, 1} {1, 2} Out[12]= False Μπορεί να είναι λίστα απο λίστα In[13]:= {1, 2, {3, 4}, 5, 6} Out[13]= {1, 2, {3, 4}, 5, 6} Mathematica θεωρεί εκφράσεις με ενιαίο τρόπο. Κάθε έκφράση στο Mathematica έχει την ακόλουθη μορφή. head[arg1, arg2,..., argn] όπου το head και arg μπορούσαν να είναι οι ίδιοι εκφράσεις. Η πλήρης μορφή μιας λίστας δεν διαφέρει πολύ από την πλήρη μορφή ενός αθροίσματος ή ενος γινομένου. Η μοναδική διαφορά που υπάρχει είναι η διαφορετική επικεφαλίδα (Head[]), δηλαδή το πρόθεμα List, Plus και Times, που έχει η λίστα, το άθροισμα και το γίνομενο, αντίστοιχα.

lecture2-report.nb 3 In[14]:= Out[14]= {FullForm[{a, b, c}], FullForm[a + b + c], FullForm[a * b * c]} {List[a, b, c], Plus[a, b, c], Times[a, b, c]} Head[expr] Επιστρέφει τη επικεφαλίδα της παράστασης expr In[15]:= Out[15]= Head[{a, b, c}] List In[16]:= Head[a + b + c] Out[16]= Plus Apply[f, expr] or f @@ expr της παράστασης expr με την f Αντικαθιστά την επικεφαλίδα In[17]:= Out[17]= Apply[Plus, {a, b, c}] a + b + c In[18]:= Plus @@ {a, b, c} Out[18]= a + b + c In[19]:= List @@ Plus @@ {a, b, c} Out[19]= {a, b, c} Επειδή το Mathematica χρησιμοποιεί και για την είσοδο δεδομένων αλλά και για την έξοδο των δεδομένων τις λίστες

4 lecture2-report.nb θα πρέπει να μάθουμε την διαδικασία χειρισμού της λίστας ( διμιουργία λίστας, χειρισμός λίστας κ.λ.π.) Δημιουργία λίστας α) τρόπος. Η δημιουργία λίστας γίνεται με την προσθήκη των αντικειμένων που θέλουμε μεταξύ αγκίστρων { } In[20]:= {2, 3, 4, 5} Out[20]= {2, 3, 4, 5} β) τρόπος Δημιουργίας λίστας με την εντολή Range[ ] In[21]:= Range[2, 5] Out[21]= {2, 3, 4, 5} γ) τρόπος Με χρήση της εντολής Table[]

lecture2-report.nb 5 In[22]:= Table[i, {i, 2, 5}] Out[22]= {2, 3, 4, 5} δ) τρόπος Με χρήση της εντολής Array[] In[23]:= Clear[f] In[24]:= Array[f, {5}] Out[24]= {f[1], f[2], f[3], f[4], f[5]} ε) τρόπος Με χρήση της εντολής Random[] In[25]:= Random[Integer, {1, 10}] Out[25]= 7 In[26]:= Table[Random[Integer, {1, 10}], {i, 1, 5}] Out[26]= {1, 5, 8, 3, 3} Ασκηση Να ορίσετε την εξής συνάρτηση με τη βοήθεια Mathematica

6 lecture2-report.nb f(n)= 1 3 + 2 3 +... + n 3 Λύση In[27]:= Clear[f] In[28]:= f[n_] := Apply[Plus, Range[n] ^ 3] In[29]:= f[2] Out[29]= 9 In[30]:= Clear[f, n] In[31]:= In[32]:= f[n_] := Plus @@ (Range[n]^3) f[2] Out[32]= 9 In[33]:= In[34]:= In[35]:= Clear[f] f[n_] := Sum[i^3, {i, 1, n}] f[2] Out[35]= 9 In[36]:= In[37]:= Clear[f] n f[n_] := i 3 i=1

lecture2-report.nb 7 In[38]:= f[2] Out[38]= 9 Στοιχεία που αφορούν την λίστα Έστω έχουμε η λίστα στοιχείων In[39]:= lista = {a, b, {c, d}, e} Out[39]= {a, b, {c, d}, e} Το σύνολο των στοιχείων της λίστας είναι In[40]:= Length[lista] Out[40]= 4 ενώ η διάσταση του πίνακα ο οποίος αναπαριστάται από την λίστα είναι In[41]:= Dimensions[lista] Out[41]= {4} Επιλογεί στοιχείων της λίστα expr[[n]] or Part[expr, n] Επιστρέφει το n - στη μέλος στην σειρά της expr Έστω έχουμε η λίστα στοιχείων

8 lecture2-report.nb In[42]:= lista = {a, b, {c, d}, e} Out[42]= {a, b, {c, d}, e} και θέλουμε να πάρουμε το 2ο και 3ο στειχείο της λίστας. Τότε θα γράψουμαι In[43]:= Out[43]= lista[[2]] b In[44]:= lista[[3]] Out[44]= {c, d} το οποίο είναι πάλι λίστα. Αν από αυτή τη λίστα θέλω το δεύτερο στοιχείο της θα εχώ In[45]:= Out[45]= lista[[3]][[2]] d ή In[46]:= lista[[3, 2]] Out[46]= d ή In[47]:= Part[lista, 2] Out[47]= b In[48]:= Part[lista, 3] Out[48]= {c, d}

lecture2-report.nb 9 In[49]:= Part[lista, 3, 2] Out[49]= d expr[[1]] or First[expr] Δείνει το πρώτο στοιχείο της expr In[50]:= Out[50]= lista[[1]] a In[51]:= Out[51]= First[lista] a expr[[n]] or Last[expr] Δείνει το τελευταίο στοιχείο της expr In[52]:= Out[52]= lista[[4]] e In[53]:= Out[53]= Last[lista] e Μπορούμε να πάρουμε την λίστα χωρίς το πρώτο στοιχείο της Rest[list] list with its first element dropped In[54]:= lista Out[54]= {a, b, {c, d}, e}

10 lecture2-report.nb In[55]:= Rest[lista] Out[55]= {b, {c, d}, e} ή διαφορετικά Drop[list,n] list with its first n element dropped In[56]:= Drop[lista, 1] Out[56]= {b, {c, d}, e} Μπορούμε να πάρουμε την λίστα χωρίς το τελευτέο στοιχείο της Most[list] list with its last element removed In[57]:= lista Out[57]= {a, b, {c, d}, e} In[58]:= Out[58]= Most[lista] {a, b, {c, d}} ή διαφορετικά Drop[list,-n] list with its last n element dropped In[59]:= Drop[lista, -1] Out[59]= {a, b, {c, d}} Drop[list,{m,n}] list with elements m through n dropped ή αν θέλουμε να αφαιρέσουμε απο m-το μέχρει n-το στοιχεία της

In[60]:= ή αν θέλουμε να αφαιρέσουμε απο m-το μέχρει n-το στοιχεία της λίστας θα έχουμε lista Out[60]= {a, b, {c, d}, e} lecture2-report.nb 11 In[61]:= Drop[lista, {1, 4}] Out[61]= {} Σε αντιδιαστολή με την Drop έχουμε την Take η οποία παίρνει στοιχεία από μια λίστα και ακολουθεί την ίδια σύνταξη. Take[list,n] the first n elements in list In[62]:= lista Out[62]= {a, b, {c, d}, e} In[63]:= Take[lista, 2] Out[63]= {a, b} Take[list,-n] the last n elements in list In[64]:= Take[lista, -2] Out[64]= {{c, d}, e} Take[list,{m,n}] elements m through n (inclusive) In[65]:= Take[lista, {2, 3}] Out[65]= {b, {c, d}} Μπορούμε επίσης να επιλέξουμε τα στοιχεία

12 lecture2-report.nb Μπορούμε επίσης να επιλέξουμε τα στοιχεία της λίστας που ικανοποιούν κάποιο κριτήριο π.χ. Select[list, crit] Επιστρέφει εκείνα τα στοιχεία της λίστας list για τα οποία η συνθήκη crit είναι αληθής In[66]:= lista = Table[i, {i, 1, 10}] Out[66]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} In[67]:= Select[lista, PrimeQ] Out[67]= {2, 3, 5, 7} In[68]:= ή διαφορετικά Select[Range[10], PrimeQ[#] &] Out[68]= {2, 3, 5, 7} In[69]:= ή διαφορετικά Select[Range[10], PrimeQ] Out[69]= {2, 3, 5, 7} In[70]:= Select[lista, EvenQ] Out[70]= {2, 4, 6, 8, 10} In[71]:= ή διαφορετικά Select[Range[10], EvenQ[#] &] Out[71]= {2, 4, 6, 8, 10} Ασκηση

lecture2-report.nb 13 Εστω εχουμαι λιστα x = {a, b, {c, d}, e}. Απο την λιστα αυτη δημιουργηστε τη λιστα {a, b, c, d, e}. Λυση In[72]:= x = {a, b, {c, d}, e} Out[72]= {a, b, {c, d}, e} In[73]:= {x[[1]], x[[2]], x[[3, 1]], x[[3, 2]], x[[4]]} Out[73]= {a, b, c, d, e} In[74]:= ή διαφορετικά Flatten[x] Out[74]= {a, b, c, d, e} Ασκηση Πόσοι αριθμοί της μορφής 3n 5 + 11, όταν n ανήκει στο διάστημα [1,20], είναι πρώτοι αριθμοί; Λυση In[75]:= Clear[lista]

14 lecture2-report.nb In[76]:= lista = Table[3 * n^5 + 11, {n, 1, 20}] Out[76]= {14, 107, 740, 3083, 9386, 23 339, 50 432, 98 315, 177 158, 300 011, 483 164, 746 507, 1 113 890, 1 613 483, 2 278 136, 3 145 739, 4 259 582, 5 668 715, 7 428 308, 9 600 011} In[77]:= Out[77]= PrimeQ[lista] {False, True, False, True, False, True, False, False, False, False, False, True, False, True, False, True, False, False, False, False} In[78]:= Select[lista, PrimeQ] Out[78]= {107, 3083, 23 339, 746 507, 1 613 483, 3 145 739} In[79]:= Length[Select[lista, PrimeQ]] Out[79]= 6 Έλεγχος και αναζήτηση στοιχείων στη λίστα Θεωρείστε την παρακάτω λίστα In[80]:= Clear[lista] In[81]:= lista = {T, h, e, s, s, a, l, o, n, i, k, i} Out[81]= {T, h, e, s, s, a, l, o, n, i, k, i} και θέλουμε να εμφανίσουμε την θέση του στοιχείου i. Τότε θα γράψουμε

lecture2-report.nb 15 In[82]:= Position[lista, i] Out[82]= {{10}, {12}} ενώ αν θέλουμε να εμφανίσουμε πόσες φορές εμφανίστηκε το στοιχείου i στην λίστα θα γράψουμε. In[83]:= Length[Position[lista, i]] Out[83]= 2 ή διαφορετικά In[84]:= Count[lista, i] Out[84]= 2 Για να ελέγξουμε αν ένα στοιχείο π.χ. g, αποτελεί στοιχείο της λίστας θα πρέπει να γράψουμε In[85]:= MemberQ[lista, g] Out[85]= False ή αντίθετα αν θέλουμε να ελέγξουμε αν ένα στοιχείο π.χ. g, δεν εμφανίζεται στη λίστας θα πρέπει να γράψουμε In[86]:= FreeQ[lista, g] Out[86]= True Προσθήκη, αφαίρεση και μεταβολή στοιχείων σε μια λίστα In[122]:= Clear[lista, a, b, c, e, h]

16 lecture2-report.nb In[123]:= lista = {b, c, e, h} Out[123]= {b, c, e, h} Προσθήκη ενός στοιχείου στην αρχή της λίστας Prepend[list,element] add element at the beginning of list In[124]:= Prepend[lista, a] Out[124]= {a, b, c, e, h} In[90]:= lista Out[90]= {b, c, e, h} Προσθήκη ενός στοιχείου στην αρχή της λίστας και αντικατάσταση της λίστας In[91]:= PrependTo[lista, a] Out[91]= {a, b, c, e, h} In[92]:= lista Out[92]= {a, b, c, e, h} Προσθήκη ενός στοιχείου στο τέλος της λίστας Append[list,element] add element at the end of list In[93]:= Append[lista, f] Out[93]= {a, b, c, e, h, f}

lecture2-report.nb 17 In[94]:= lista Out[94]= {a, b, c, e, h} Προσθήκη ενός στοιχείου στο τέλος της λίστας και αντικατάσταση της λίστας In[95]:= AppendTo[lista, f] Out[95]= {a, b, c, e, h, f} Προσθήκη ενός στοιχείου σε συγκεκριμένη θέση της λίστας Insert[list,element,i] insert element at position i in list In[96]:= Insert[lista, f, 5] Out[96]= {a, b, c, e, f, h, f} In[97]:= RotateLeft[lista] Out[97]= {b, c, e, h, f, a} In[98]:= RotateRight[lista] Out[98]= {f, a, b, c, e, h} In[99]:= Reverse[lista] Out[99]= {f, h, e, c, b, a} In[100]:= Sort[{b, c, a}] Out[100]= {a, b, c}

18 lecture2-report.nb In[101]:= lista Out[101]= {a, b, c, e, h, f} Διαγραφή ενός στοιχείου από τη λίστα Delete[list,i] delete the element at position i in list In[102]:= Delete[lista, 5] Out[102]= {a, b, c, e, f} Αντικατάταση του πρώτου στοιχείου με z In[103]:= ReplacePart[lista, z, 1] Out[103]= {z, b, c, e, h, f} Συνδυασμός λιστών και χειρισμός συνόλων Έστω έχουμε οι παρακάτω δύο λίστες In[104]:= Clear[lista1, lista2] In[105]:= lista1 = {a, b, c, d}; In[106]:= lista2 = {b, d, e, g}; Μπορούμε να συνενώσουμε τις λίστες In[107]:= Join[lista1, lista2] Out[107]= {a, b, c, d, b, d, e, g} ή να τις ενώσουμε σύμφωνα με την θεωρία συνόλων In[108]:= Union[lista1, lista2] Out[108]= {a, b, c, d, e, g}

lecture2-report.nb 19 In[109]:= Μπορούμε να βρούμε τα σημεία τομής των δύο συνόλων Intersection[lista1, lista2] Out[109]= {b, d} Ασκηση Θεωρείστε το σύνολο των φυσικών αριθμών από το 1 έως το 20 In[110]:= Clear[lista1, lista2] In[111]:= lista1 = Table[i, {i, 1, 20}] Out[111]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20} In[127]:= και το σύνολο των πρώτων αριθμών που είναι μικρότεροι από 20. lista2 = Table[Prime[i], {i, 1, PrimePi[20]}] Out[127]= {2, 3, 5, 7, 11, 13, 17, 19} In[113]:= Τότε το σύνολο των αριθμών της λίστας lista1 που δεν ανήκουν στο σύνολο στην λίστα lista2 είναι το ακόλουθο Complement[lista1, lista2] Out[113]= {1, 4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20} Ασκηση Τι ψηφίο δεν εμφανίζεται ως το τελευταίο ψηφίο των πρώτων 20

20 lecture2-report.nb Τι ψηφίο εμφανίζεται ως το τελευταίο ψηφίο των πρώτων 20 αριθμών Fibonacci; Λυση using Map[f,expr] or f /@ In[114]:= Fibonacci /@ Range[20] Out[114]= {1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765} In[115]:= IntegerDigits /@ Fibonacci /@ Range[20] Out[115]= {{1}, {1}, {2}, {3}, {5}, {8}, {1, 3}, {2, 1}, {3, 4}, {5, 5}, {8, 9}, {1, 4, 4}, {2, 3, 3}, {3, 7, 7}, {6, 1, 0}, {9, 8, 7}, {1, 5, 9, 7}, {2, 5, 8, 4}, {4, 1, 8, 1}, {6, 7, 6, 5}} In[116]:= Last /@ IntegerDigits /@ Fibonacci /@ Range[20] Out[116]= {1, 1, 2, 3, 5, 8, 3, 1, 4, 5, 9, 4, 3, 7, 0, 7, 7, 4, 1, 5} In[117]:= Union[Last /@ IntegerDigits /@ Fibonacci /@ Range[20]] Out[117]= {0, 1, 2, 3, 4, 5, 7, 8, 9} Το ψηφίο 6 δεν εμφανίζεται!!!! Αλλη λύση με το Mod[m,n] In[118]:= Mod[Fibonacci /@ Range[20], 10] Out[118]= {1, 1, 2, 3, 5, 8, 3, 1, 4, 5, 9, 4, 3, 7, 0, 7, 7, 4, 1, 5} In[119]:= Union[Mod[Fibonacci[Range[20]], 10]] Out[119]= {0, 1, 2, 3, 4, 5, 7, 8, 9}