Ομάδα Γ. Ο υπολογιστής ως επιστημονικό εργαλείο
Λίστες - Πίνακες Η λίστα στη Mathematica είναι ισοδύναμη με ένα μαθηματικό πίνακα. Για να ορίσουμε τη λίστα χρησιμοποιούμε άγκιστρα {}, μέσα στα οποία βάζουμε τα στοιχεία της, χωρισμένα με κόμματα. Η ακόλουθη έκφραση: In[]:=lista={a, 2., x, Sqrt[2], I, Sin[x]} Out[]:={a, 2., x, 2, I, Sin[x]} Είναι μια μονοδιάστατη λίστα η οποία έχει το όνομα lista και περιλαμβάνει αριθμούς, σύμβολα και συναρτήσεις. In[2]:=lista2={{x, y, I}, {2., Sqrt[3], Cos[.27]}} Out[2]:={{x, y, I}, {2., 3,.29628}} αντιπροσωπεύει ένα πίνακα 2x3 Κάθε στοιχείο του πίνακα χαρακτηρίζεται από δείκτες (i,j) που δηλώνουν τη γραμμή και τη στήλη a[, ] 2] 3] a[2, ] 2] 3] x 2. y i 3.29628
Λίστες - Πίνακες Η συνάρτηση Table χρησιμοποιείται όταν θέλουμε να δημιουργήσουμε ένα πίνακα με τις τιμές μιας γνωστής συνάρτησης. a=table[f[i,j],{i,i min, i max },{j, j min,j max }] In[]:=ta=Table[(i+j)/2, {i,,3}, {j,,5}] Out[]:={{.,.5, 2., 2.5, 3.}, {.5, 2., 2.5, 3., 3.5}, {2., 2.5, 3., 3.5, 4.}}..5 2..5 2. 2.5 2. 2.5 3. 2.5 3. 3.5 3. 3.5 4.
Λίστες - Πίνακες Δημιουργήστε μια λίστα από τυχαίους αριθμούς μεταξύ, Table[Random[],{i,,,}] Table[Random[],{}] Δημιουργήστε μια λίστα με τα τετράγωνα των 2 πρώτων ακεραίων δηλ., 4, 9,... Table[n2,{n,, 2}] Mathematica 6: RandomReal[], RandomReal[{xmin, xmax}], RandomInteger[{imin, imax}] Δημιουργήστε μια μία λίστα των ακεραίων μεταξύ και που δεν διαιρούνται ούτε με το 2 ούτε με το 3 Complement[Table[i, {i,, }],Table[i,{i, 2,, 2}],Table[i, {i, 3,, 3}]] Complement[eall, e, e2, e3, ]: δίνει τα στοιχεία του eall που δεν ανήκουν σε κανένα ei
Λίστες - Πίνακες Ας κάνουμε μια στατιστική μελέτη για ρίψεις ενός νομίσματος όπου θα θεωρούμε την κορώνα και τα γράμματα. Ποια είναι η μεγαλύτερη σειρά από διαδοχικές ρίψεις κορώνας; Πρώτα ας κάνουμε τον πίνακα των ρίψεων data=table[random[integer],{}] {,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,} Στη συνέχεια ας ομαδοποιήσουμε τις διαδοχικές ρίψεις από κορώνες και γράμματα. Split[{a, a, a, b, b, a, a, c}] {{a, a, a}, {b, b}, {a, a}, {c}} Split[data] {{},{,},{},{},{,},{,},{},{},{,,},{,},{},{,},{},{,},{},{,,},{},{,},{,,},{,}, {,},{,,,,,},{,,,,},{,},{,},{,},{,,,,,},{,},{},{,,,},{,,,,,},{,,},{, },{,},{},{},{},{,,},{,,,},{},{,},{},{,},{,,},{},{}} Τέλος, διαγράφουμε τις διπλές αναφορές και ταξινομούμε τα στοιχεία Union[{, 2,, 3, 6, 2, 2}] {, 2, 3, 6} Union[%] {{},{},{,},{,},{,,},{,,},{,,,},{,,,},{,,,,},{,,,,,},{,,,,,}} Άρα για το σύνολο των αυτών ρίψεων η μεγαλύτερη σειρά διαδοχικών ρίψεων για κορώνα είναι 6.
Γραφικές παραστάσεις μεμονωμένων σημείων t = Table[i^3, {i, }] {, 8, 27, 64, 25, 26, 343, 52, 729, } ListPlot[t] 8 6 4 8 2 6 4 6 8 4 2 2 4 6 8 ListPlot[t, PlotJoined -> True, Frame -> True]
Γραφικές παραστάσεις μεμονωμένων σημείων Να δημιουργήσετε ένα πίνακα με τα τετράγωνα των ακεραίων αριθμών από το 5 έως το και να σχεδιάσετε την αντίστοιχη γραφική παράσταση με πλαίσιο και συνεχή καμπύλη t = Table[i^2, {i, 5, }] {25, 36, 49, 64, 8, } ListPlot[t] 9 8 7 6 5 4 3 9 8 7 6 5 4 3 2 3 4 5 6 2 3 4 5 6 ListPlot[t, Frame -> True, PlotJoined -> True]
4 2 Γραφικές παραστάσεις μεμονωμένων σημείων Να δημιουργήσετε ένα πίνακα 2x με τις τιμές (x, y) όπου x=t 2 και y=4t 2 +t 3 και t οι ακέραιοι αριθμοί από το έως το και να σχεδιάσετε την αντίστοιχη γραφική παράσταση με συνεχή καμπύλη t = Table[{i^2, 4 i^2 + i^3}, {i, }] {{, 5}, {4, 24}, {9, 63}, {6, 28}, {25, 225}, {36, 36}, {49, 539}, {64, 768}, {8, 53}, {, 4}} ListPlot[t] 4 2 8 6 4 2 8 6 4 2 2 4 6 8 ListPlot[t, PlotJoined -> True] 2 4 6 8
Γραφικές παραστάσεις συναρτήσεων Η συνάρτηση Plot Plot[Συνάρτηση, {μεταβλητή, κάτω όριο, πάνω όριο}] Plot[3 x + 7, {x, -3, 5}] Plot[Sin[x], {x,, 2 Pi}] 2 5 2 3 4 5 6 5 - -2 2 4 -
Γραφικές παραστάσεις συναρτήσεων Plot[Tan[x], {x, -3, 3}] 4 2 Μπορώ να αλλάξω τα όρια του άξονα y; -3-2 - 2 3-2 4 2-4 -3-2 - 2 3-2 -4 Plot[Tan[x], {x, -3, 3}, PlotRange -> {-5, 5}]
Γραφικές παραστάσεις συναρτήσεων Πως μπορώ να σχεδιάσω μαζί περισσότερες από μια καμπύλες; Plot[{Sin[x], Sin[2x], Sin[3x]}, {x,, 2 Pi}] Πως μπορώ να τις ξεχωρίσω; Plot[{Sin[ x], Sin[2x], Sin[3x]}, {x,, 2 Pi}, PlotStyle -> {{RGBColor[,, ]}, {RGBColor[,, ]}, {RGBColor[,, ]}}, Frame -> True] - 2 3 4 5 6 - - - 2 3 4 5 6
Γραφικές παραστάσεις συναρτήσεων Μπορώ να εμφανίσω άξονες σε όλες τις πλευρές της γραφικής παράστασης; Plot[Sin[x^2], {x,, 3}, Frame -> True] - - - 2 3 4 5 6 -.5 2 2.5 3 Να σχεδιαστούν οι sin(x), sin(2x), sin(3x) από έως 2π με άξονες σε όλες τις πλευρές. Plot[{Sin[x], Sin[2x], Sin[3x]}, {x,, 2 Pi}, Frame -> True]
Γραφικές παραστάσεις συναρτήσεων Μπορώ να εμφανίσω τίτλους στους άξονες της γραφικής παράστασης; Plot[Sin[x^2], {x,, 3}, AxesLabel -> {"Τιμή x", "Sin[x^2]"}].5 2 2.5 3 - Τ ή x - - Να δοκιμάσετε την AxesLabel μαζί τη Frame. Τι παρατηρείτε; -.5 2 2.5 3 Plot[Sin[x^2], {x,, 3}, AxesLabel -> {"Τιμή x", "Sin[x^2]"}, Frame -> True]
Γραφικές παραστάσεις συναρτήσεων Διαχείριση υπαρχόντων γραφικών παραστάσεων Να δοκιμάσετε τις εντολές Show[%], Show[%%%] και Show[Out[Α]], όπου Α ένας αριθμός -..8.6 Τ ή x.4 -.2.5 2 2.5 3 Show[%] Προηγούμενη γραφική παράσταση Show[Out[Α]] γραφική παράσταση γραμμής Α -.5 2 2.5 3 Show[%%%] Προ-προ-προ ηγούμενη γραφική παράσταση - - 2 3 4 5 6
Γραφικές παραστάσεις συναρτήσεων Διαχείριση υπαρχόντων γραφικών παραστάσεων Τι μπορώ να προσθέσω σε μια εντολή Show;. Show[Out[6], Frame -> True] 2. Show[Out[], AxesLabel -> {"t(s)", "U(m/s)"}] 3. Show[%, AxesLabel -> {"Τιμές x", "Τιμές y"}] - U(m/s) Τ έ y α β γ t(s) 2 3 4 5 6 Τ έ x 2 3 4 5 6 - - - - - 2 3 4 5 6
Γραφικές παραστάσεις συναρτήσεων Προσθέστε ευκρίνεια στις γραφικές παραστάσεις Plot[Sin[x^2], {x,, 3}, GridLines -> Automatic].5 2 2.5 3 - -
Γραφικές παραστάσεις συναρτήσεων Δίνοντας ονόματα στις γραφικές παραστάσεις 5 2 5 4 3 2 5-2 2 4-2 2 4 plot = Plot[3 x + 7, {x, -3, 5}, GridLines -> Automatic] g[x_] := 7 x + 5 plot2 = Plot[g[x], {x, -3, 5}, PlotStyle -> Dashing[{.5}], GridLines -> Automatic] Τι κάνει η εντολή Show[plot, plot2];
Γραφικές παραστάσεις συναρτήσεων 5 4 3 2-2 2 4 Show[plot, plot2] Εμφανίζει μαζί τις γραφικές παραστάσεις plot και plot2
Από τις 2 στις 3 διαστάσεις Ποιες είναι οι διαφορές της εντολής Plot από την Plot3D; Plot3D[Sin[x y], {x,, 3}, {y,, 3}] - - 2 3 2 3 Τ ή - - Χ ό 2 3 2 Βά 3 Show[%, AxesLabel -> {"Χρόνος", "Βάθος", "Τιμή"}]
Από τις 2 στις 3 διαστάσεις Γραφήματα ισοϋψών (ContourPlots) Γραφήματα πυκνότητας (DensityPlots) ContourPlot[Sin[x y], {x,, 3}, {y,, 3}, PlotPoints->8,ContourShading->True] 3 3 2.5 2.5 2 2.5.5.5 2 2.5 3.5 2 2.5 3 DensityPlot[Sin[x y], {x,, 3}, {y,, 3}, PlotPoints->8,Mesh->False]
Γραφικές παραστάσεις παραμετρικών εξισώσεων X=f(t), y=g(t) ParametricPlot[{Sin[t], Sin[2t]}, {t,, 2 Pi}] - - - - - - - Να σχεδιάσετε ένα κύκλο ακτίνας m δίνοντας την παραμετρική του εξίσωση x=ρcos(t), y=ρsin(t), ρ=, t 2π - ParametricPlot[{Sin[t], Cos[t] }, {t,, 2 Pi}] - - Αφού είναι κύκλος ας τον κάνουμε να μοιάζει και με κύκλο: ParametricPlot[{Sin[t], Cos[t]}, {t,, 2 Pi}, AspectRatio -> Automatic] - -
3D Γραφικές παραστάσεις παραμετρικών εξισώσεων ParametricPlot3D[{u Sin[t], u Cos[t], t/3}, {t,, 5}, {u, -, }] - - - - 4 2
Σχεδιάζοντας οικογένειες καμπυλών Πως επηρεάζεται η γραφική παράσταση της y=ax+b αλλάζοντας τα a, b; Ας σχεδιάσουμε μερικές ευθείες y = 2 x + ; y2= 5/2 x - 2; y3= Sqrt[2.] x - 4; y4 = - x + 2.3; Κάθε συνάρτηση έχει διαφορετικό y (y -y 4 ) 4 Ας δούμε την αντίστοιχη γραφική παράσταση Plot[{y, y2, y3, y4}, {x, -4, 4}] 2-4 -2 2 4-2
- Σχεδιάζοντας οικογένειες καμπυλών TableForm[Table[ a x + 2, {a,, 2,.}]] 2 x 2. x 2.2 x 2.3 x 2.4 x 2.5 x 2.6 x 2.7 x 2.8 x 2.9 x 2 2. x Πως δημιουργούμε οικογένειες καμπυλών; H συνάρτηση TableForm εμφανίζει το όρισμα της σε βέλτιστη μορφή πίνακα. Στην προκειμένη περίπτωση θα δημιουργήσει ένα μονόστηλο πίνακα. TableForm[ Partition[Table[x^2 - x + c, {c, -, }], 3] ] x x 2 9 x x 2 8 x x 2 7 x x 2 6 x x 2 5 x x 2 4 x x 2 3 x x 2 2 x x 2 x x 2 x x 2 x x 2 2 x x 2 3 x x 2 4 x x 2 5 x x 2 6 x x 2 7 x x 2 8 x x 2 9 x x 2 x x 2 Πως σχεδιάζουμε οικογένειες καμπυλών; Plot[Evaluate[%], {x, -6, 6}] Αν η παραπάνω εντολή ακολουθεί ΑΜΕΣΩΣ ΜΕΤΑ από μια TableForm με μεταβλητή την x, τότε η εντολή Evaluate που οδηγεί σε άμεσο υπολογισμό των συναρτήσεων δίνει την δυνατότητα στην Plot να σχεδιάσει την οικογένεια καμπυλών η εντολή partition διαχωρίζει τα αποτελέσματα της σε Ν υπολίστες 3 2-4 -2 2 4
Σχεδιάζοντας οικογένειες καμπυλών Πως επηρεάζεται η γραφική παράσταση της y=ax+b αλλάζοντας το a; Ας δημιουργήσουμε ένα σύνολο δεδομένων από εξισώσεις ευθειών με διαφορετικές κλίσεις 27.5 TableForm[ Table[ a x + 2, {a,, 2,.}]] 2 x 2. x 2.2 x 2.3 x 2.4 x 2.5 x 2.6 x 2.7 x 2.8 x 2.9 x 2 2. x Τι κοινό έχουν όλες αυτές οι ευθείες; Ας δούμε και την αντίστοιχη γραφική παράσταση Plot[Evaluate[%], {x, -4, 4}, AspectRatio -> Automatic]; Η εντολή Evaluate[έκφραση] αναγκάζει την έκφραση να υπολογιστεί ακόμη και αν αυτή εμφανίζεται σαν μεταβλητή σε άλλη συνάρτηση οπότε μπορεί και να μην έχει υπολογιστεί. 25 22.5 2 7.5-4 -2 2 4 2.5
Σχεδιάζοντας οικογένειες καμπυλών Πως επηρεάζεται η γραφική παράσταση της y=ax+b αλλάζοντας το b; Ας δημιουργήσουμε ένα σύνολο δεδομένων από εξισώσεις ευθειών με διαφορετικά b 5 2 x 2 x 2 2 x 3 2 x 4 2 x 5 2 x 6 2 x 7 2 x 8 2 x 9 2 x 2 x TableForm[ Table[ 2 x + b, {b,, }]] Τι κοινό έχουν όλες αυτές οι ευθείες; Ας δούμε και την αντίστοιχη γραφική παράσταση Plot[Evaluate[%], {x, -4, 4}, AspectRatio -> Automatic] Η εντολή Evaluate[έκφραση] αναγκάζει την έκφραση να υπολογιστεί ακόμη και αν αυτή εμφανίζεται σαν μεταβλητή σε άλλη συνάρτηση οπότε μπορεί και να μην έχει υπολογιστεί. 5-4 -2 2 4-5
Σχεδιάζοντας οικογένειες καμπυλών Πως επηρεάζεται η γραφική παράσταση της y=ax 2 +bx+c αλλάζοντας το c; Ας δημιουργήσουμε ένα σύνολο δεδομένων από εξισώσεις παραβολών με διαφορετικά c και ας δούμε τις αντίστοιχες γραφικές παραστάσεις: TableForm[ Partition[Table[x^2 - x + c, {c, -, }], 3] ] Plot[Evaluate[%], {x, -4, 4}]; x x 2 9 x x 2 8 x x 2 7 x x 2 6 x x 2 5 x x 2 4 x x 2 3 x x 2 2 x x 2 x x 2 x x 2 x x 2 2 x x 2 3 x x 2 4 x x 2 5 x x 2 6 x x 2 7 x x 2 8 x x 2 9 x x 2 x x 2-4 -2 2 4 Πως επηρεάζει η μεταβολή του c την παραβολή y=ax 2 +bx+c; 3 2 -
Σχεδιάζοντας οικογένειες καμπυλών Πως επηρεάζεται η γραφική παράσταση της y=ax 2 +bx+c αλλάζοντας το a; Ας δημιουργήσουμε ένα σύνολο δεδομένων από εξισώσεις παραβολών με διαφορετικά a και ας δούμε τις αντίστοιχες γραφικές παραστάσεις: TableForm[ Partition[Table[a x^2-4 x +, {a, -, }], 3] ] Plot[Evaluate[%], {x, -4, 4}]; 2 4 x x 2 4 x 9 x 2 4 x 8 x 2 4 x 7 x 2 4 x 6 x 2 4 x 5 x 2 4 x 4 x 2 4 x 3 x 2 4 x 2 x 2 4 x x 2 4 x 4 x x 2 4 x 2 x 2 4 x 3 x 2 4 x 4 x 2 4 x 5 x 2 4 x 6 x 2 4 x 7 x 2 4 x 8 x 2 4 x 9 x 2 4 x x 2-4 -2 2 4 - Πως επηρεάζει η μεταβολή του a την παραβολή y=ax 2 +bx+c;
Σχεδιάζοντας οικογένειες καμπυλών Πως επηρεάζεται η γραφική παράσταση της y=ax 2 +bx+c αλλάζοντας το b; Ας δημιουργήσουμε ένα σύνολο δεδομένων από εξισώσεις παραβολών με διαφορετικά b και ας δούμε τις αντίστοιχες γραφικές παραστάσεις: TableForm[ Partition[Table[x^2 + b x - 5, {b, -, }], 3] ] Plot[Evaluate[%], {x, -6, 6}]; 5 x x 2 5 9 x x 2 5 8 x x 2 5 7 x x 2 5 6 x x 2 5 5 x x 2 5 4 x x 2 5 3 x x 2 5 2 x x 2 5 x x 2 5 x 2 5 x x 2 5 2 x x 2 5 3 x x 2 5 4 x x 2 5 5 x x 2 5 6 x x 2 5 7 x x 2 5 8 x x 2 5 9 x x 2 5 x x 2 4 2-6 -4-2 2 4 6-2 Πως επηρεάζει η μεταβολή του b την παραβολή y=ax 2 +bx+c;
Σχεδιάζοντας προσεγγίσεις συναρτήσεων Προσεγγίσεις της συνάρτησης sin (x) Plot[Evaluate[Table[Normal[Series[Sin[x],{x,,n}]],{n,2}]],{x,,2 Pi}] O ut[ ]=