Commit 8f5b3e11 authored by MigAP's avatar MigAP

relecture and final adjustments

parent 0a598b55
module3/exo3/bigOsillations.png

24.7 KB | W: | H:

module3/exo3/bigOsillations.png

24.9 KB | W: | H:

module3/exo3/bigOsillations.png
module3/exo3/bigOsillations.png
module3/exo3/bigOsillations.png
module3/exo3/bigOsillations.png
  • 2-up
  • Swipe
  • Onion skin
module3/exo3/bigOsillationsTime.png

41.9 KB | W: | H:

module3/exo3/bigOsillationsTime.png

42.8 KB | W: | H:

module3/exo3/bigOsillationsTime.png
module3/exo3/bigOsillationsTime.png
module3/exo3/bigOsillationsTime.png
module3/exo3/bigOsillationsTime.png
  • 2-up
  • Swipe
  • Onion skin
module3/exo3/co2Prediction.png

45.7 KB | W: | H:

module3/exo3/co2Prediction.png

46.3 KB | W: | H:

module3/exo3/co2Prediction.png
module3/exo3/co2Prediction.png
module3/exo3/co2Prediction.png
module3/exo3/co2Prediction.png
  • 2-up
  • Swipe
  • Onion skin
module3/exo3/dataFFT.png

25.8 KB | W: | H:

module3/exo3/dataFFT.png

24.7 KB | W: | H:

module3/exo3/dataFFT.png
module3/exo3/dataFFT.png
module3/exo3/dataFFT.png
module3/exo3/dataFFT.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -89,10 +89,10 @@ table[:5] ...@@ -89,10 +89,10 @@ table[:5]
* Traitement et affichage des données. * Traitement et affichage des données.
Dans cette partie on convertit les données dans des formats qui Dans cette partie, on convertit les données dans des formats qui
permettront de traiter les données plus facilement. permettront de les traiter plus facilement.
** Converstion des /string/ en valeurs numériques. ** Conversion des /string/ en valeurs numériques.
Les données dans ~table~ sont des string. On va convertir la première Les données dans ~table~ sont des string. On va convertir la première
colonne en objets ~datetime~ de Python, et la deuxième colonne en colonne en objets ~datetime~ de Python, et la deuxième colonne en
~float~. ~float~.
...@@ -106,7 +106,7 @@ colonne en objets ~datetime~ de Python, et la deuxième colonne en ...@@ -106,7 +106,7 @@ colonne en objets ~datetime~ de Python, et la deuxième colonne en
#+end_src #+end_src
** Affichage des données. ** Affichage des données.
Ensuite on convertit les dates dans un format qui peut être utilisé Ensuite, on convertit les ~datetime~ dans un format qui peut être utilisé
pour l'affichage des données, et on affiche les données brutes. pour l'affichage des données, et on affiche les données brutes.
#+begin_src python :results file :session :var matplot_lib_filename="rawData.png" :exports both #+begin_src python :results file :session :var matplot_lib_filename="rawData.png" :exports both
...@@ -118,7 +118,7 @@ pour l'affichage des données, et on affiche les données brutes. ...@@ -118,7 +118,7 @@ pour l'affichage des données, et on affiche les données brutes.
plt.figure(figsize=(10,5)) plt.figure(figsize=(10,5))
plt.plot_date(plotDates,concentration) plt.plot_date(plotDates,concentration)
plt.title("Concentration de CO2 en fonction du temps") plt.title("Concentration de CO2 en fonction du temps")
plt.xlabel("Temps [semaines]") plt.xlabel("Temps [années]")
plt.ylabel("Concentration de CO2 [ppm]") plt.ylabel("Concentration de CO2 [ppm]")
plt.tight_layout() plt.tight_layout()
...@@ -130,13 +130,13 @@ pour l'affichage des données, et on affiche les données brutes. ...@@ -130,13 +130,13 @@ pour l'affichage des données, et on affiche les données brutes.
[[file:rawData.png]] [[file:rawData.png]]
On remarque sur la figure la superposition de deux phénomènes : On remarque sur la figure la superposition de deux phénomènes :
1. Un phénomène périodique de faible amplitude. 1. Un phénomène périodique de faible amplitude à haute fréquence.
2. Une croissance lente avec une forme qui ressemble à un début de 2. Une croissance globale, "lente" de forme parabolique.
parabole.
** /Zoom/ sur l'affichage des données ** /Zoom/ sur l'affichage des données
Effectuons un /zoom/ sur une période de temps plus courte caractériser Effectuons un /zoom/ sur une période de temps plus courte pour
les oscillations rapides observés précédemment. caractériser les oscillations rapides observées précédemment.
#+begin_src python :results file :session :var matplot_lib_filename="zoomRawData.png" :exports both #+begin_src python :results file :session :var matplot_lib_filename="zoomRawData.png" :exports both
# Window's size where we want to zoom. # Window's size where we want to zoom.
...@@ -146,7 +146,7 @@ les oscillations rapides observés précédemment. ...@@ -146,7 +146,7 @@ les oscillations rapides observés précédemment.
plt.figure(figsize=(10,5)) plt.figure(figsize=(10,5))
plt.plot_date(plotDatesZoom,concentration[:windowSize]) plt.plot_date(plotDatesZoom,concentration[:windowSize])
plt.title("Concentration de CO2 en fonction du temps") plt.title("Concentration de CO2 en fonction du temps")
plt.xlabel("Temps [semaines]") plt.xlabel("Temps [années]")
plt.ylabel("Concentration de CO2 [ppm]") plt.ylabel("Concentration de CO2 [ppm]")
plt.tight_layout() plt.tight_layout()
...@@ -157,16 +157,20 @@ les oscillations rapides observés précédemment. ...@@ -157,16 +157,20 @@ les oscillations rapides observés précédemment.
#+RESULTS: #+RESULTS:
[[file:zoomRawData.png]] [[file:zoomRawData.png]]
Sur cette figure on met plus en évidence le phénomène périodique sur Sur cette figure, on met en évidence le phénomène périodique sur le
le niveau de concentration de CO2. D'après la figure, dans un premier niveau de concentration de CO2. On peut faire les premières hypothèses
temps on peut supposer que les oscillations ont une période de un an et une suivantes :
amplitude entre cinq et sept.
1. La période des oscillations est de l'ordre d'une année.
2. L'amplitude varie entre cinq et 7 ppm.
* Analyse fréquentielle de la variation de la concentration de CO2. * Analyse fréquentielle de la variation de la concentration de CO2.
Dans cette partie on souhaite faire une analyse fréquentielle des Dans cette partie, on souhaite faire une analyse fréquentielle des
données en effectuant une transformée de Fourier sur les mesures afin données en effectuant une transformée de Fourier sur les mesures afin
de mieux caractériser les phénomènes observés. Pour cela on utilise le de mieux caractériser les phénomènes observés précédemment. Pour cela,
module =numpy= et l'on affiche les résultats avec =matplotlib=. on utilise le module ~numpy~ et l'on affiche les résultats avec
~matplotlib~.
#+begin_src python :results file :session :var matplot_lib_filename="dataFFT.png" :exports both #+begin_src python :results file :session :var matplot_lib_filename="dataFFT.png" :exports both
import numpy as np import numpy as np
...@@ -194,7 +198,7 @@ module =numpy= et l'on affiche les résultats avec =matplotlib=. ...@@ -194,7 +198,7 @@ module =numpy= et l'on affiche les résultats avec =matplotlib=.
plt.figure(figsize=(10,5)) plt.figure(figsize=(10,5))
plt.plot(freq,concentrationFFTNorm) plt.plot(freq,concentrationFFTNorm)
plt.title("Spectre des données mesurés") plt.title("Spectre des données mesurés")
plt.xlabel("Fréquence par unité de temps") plt.xlabel("Fréquence par semaine")
plt.ylabel("Amplitude") plt.ylabel("Amplitude")
plt.tight_layout() plt.tight_layout()
...@@ -205,9 +209,11 @@ module =numpy= et l'on affiche les résultats avec =matplotlib=. ...@@ -205,9 +209,11 @@ module =numpy= et l'on affiche les résultats avec =matplotlib=.
#+RESULTS: #+RESULTS:
[[file:dataFFT.png]] [[file:dataFFT.png]]
Sur ce graphique on peut voir l'ensemble du spectre des mesures. On Sur ce graphique, on peut voir l'ensemble du spectre des mesures. On
remarque quelques pics qui devraient correpondre au phénomène remarque quatres pics qui devraient correpondre au phénomène
périodique. On tentera de caractériser plus précisément ses pics. périodique. On tentera dans la prochaine partie de caractériser plus
précisément ces pics.
** /Zoom/ sur le spectre du signal ** /Zoom/ sur le spectre du signal
On effectue un zoom sur la partie positive du graphique pour tenter de On effectue un zoom sur la partie positive du graphique pour tenter de
...@@ -220,7 +226,7 @@ caractériser les différentes fréquences d'oscillations du signal. ...@@ -220,7 +226,7 @@ caractériser les différentes fréquences d'oscillations du signal.
plt.figure(figsize=(10,5)) plt.figure(figsize=(10,5))
plt.plot(freq[startIndx:fftzoomIndx],concentrationFFTNorm[startIndx:fftzoomIndx]) plt.plot(freq[startIndx:fftzoomIndx],concentrationFFTNorm[startIndx:fftzoomIndx])
plt.title("Zoom sur le spectre des données mesurés") plt.title("Zoom sur le spectre des données mesurés")
plt.xlabel("Fréquence par unité de temps") plt.xlabel("Fréquence par semaine")
plt.ylabel("Amplitude") plt.ylabel("Amplitude")
plt.tight_layout() plt.tight_layout()
...@@ -232,18 +238,20 @@ caractériser les différentes fréquences d'oscillations du signal. ...@@ -232,18 +238,20 @@ caractériser les différentes fréquences d'oscillations du signal.
[[file:fftZoom.png]] [[file:fftZoom.png]]
On remarque sur le spectre du signal que le phénomène périodique On remarque sur le spectre du signal que le phénomène périodique
possède deux pics d'amplitudes d'environ 1400 et 4000. On suppose que possède deux pics d'amplitude d'environ 1400 et 4000. On suppose que
le premier pic avec une plus grande amplitude correspond au phénomène le premier pic avec une plus grande amplitude correspond au phénomène
périodique que l'on a mis en évidence dans le graphique temporel des périodique que l'on a mis en évidence dans l'observation des données
données. En effet on a supposé précédemment que les oscillations brutes. En effet, on a supposé précédemment que les oscillations
avaient une période de un an, notre unité de temps étant une semaine, avaient une période d'une année, notre unité de temps étant une semaine,
on peut déduire la fréquence des oscillation en supposant que une on peut déduire la fréquence des oscillations en considérant qu'une
année a 52 semaine : \( f = \frac{1}{52} \approx 0.019 \) ce qui reste année a 52 semaine : \( f = \frac{1}{52} \approx 0.019 \) [/semaines] ce qui reste
cohérent avec les résultats dans le graphique. cohérent avec les résultats dans le graphique.
** Filtrage de la contribution lente ** Filtrage de la contribution lente
On élimine toutes les valeurs supérieures aux seuils établis précédemment On élimine toutes les valeurs supérieures au seuil établi
dans le spectre pour éliminer la contribution lente dans le signal. précédemment (4000) dans le spectre pour éliminer la
contribution lente dans le signal.
#+begin_src python :results file :session :var matplot_lib_filename="smallOsillations.png" :exports both #+begin_src python :results file :session :var matplot_lib_filename="smallOsillations.png" :exports both
# Extraction of the small oscillations # Extraction of the small oscillations
...@@ -254,7 +262,7 @@ dans le spectre pour éliminer la contribution lente dans le signal. ...@@ -254,7 +262,7 @@ dans le spectre pour éliminer la contribution lente dans le signal.
plt.figure(figsize=(10,5)) plt.figure(figsize=(10,5))
plt.plot(freq,smallNorm) plt.plot(freq,smallNorm)
plt.title("Spectre des données sans la contribution lente") plt.title("Spectre des données sans la contribution lente")
plt.xlabel("Fréquence par unité de temps") plt.xlabel("Fréquence par semaine")
plt.ylabel("Amplitude") plt.ylabel("Amplitude")
plt.tight_layout() plt.tight_layout()
...@@ -277,7 +285,7 @@ d'observation comme on l'a fait précédemment. ...@@ -277,7 +285,7 @@ d'observation comme on l'a fait précédemment.
plt.figure(figsize=(10,5)) plt.figure(figsize=(10,5))
plt.plot(t,smallSignal) plt.plot(t,smallSignal)
plt.title("Reconstruction du phénomène périodique sur la concentration de CO2 en fonction du temps") plt.title("Reconstruction du phénomène périodique de la concentration de CO2 en fonction du temps")
plt.xlabel("Temps [semaines]") plt.xlabel("Temps [semaines]")
plt.ylabel("Concentration de CO2 [ppm]") plt.ylabel("Concentration de CO2 [ppm]")
plt.tight_layout() plt.tight_layout()
...@@ -306,7 +314,9 @@ Effectuons un zoom sur le signal reconstruit : ...@@ -306,7 +314,9 @@ Effectuons un zoom sur le signal reconstruit :
[[file:smallOsillationsTimeZoom.png]] [[file:smallOsillationsTimeZoom.png]]
On peut déduire que le phénomène périodique a une amplitude de cinq d'après le graphique. On peut déduire que le phénomène périodique a une amplitude de cinq d'après le graphique.
** Filtrage du phénomène périodique ** Filtrage du phénomène périodique
On souhaite maintenant filtrer le phénomène périodique ce qui pourrait On souhaite maintenant filtrer le phénomène périodique ce qui pourrait
nous aider a mieux comprendre la contribution lente. On élimine donc nous aider a mieux comprendre la contribution lente. On élimine donc
toutes les valeurs inférieures au seuil établit précédemment. toutes les valeurs inférieures au seuil établit précédemment.
...@@ -320,7 +330,7 @@ toutes les valeurs inférieures au seuil établit précédemment. ...@@ -320,7 +330,7 @@ toutes les valeurs inférieures au seuil établit précédemment.
plt.figure(figsize=(10,5)) plt.figure(figsize=(10,5))
plt.plot(freq,bigNorm) plt.plot(freq,bigNorm)
plt.title("Spectre des données sans le phénomène périodique") plt.title("Spectre des données sans le phénomène périodique")
plt.xlabel("Fréquence par unité de temps") plt.xlabel("Fréquence par semaine")
plt.ylabel("Amplitude") plt.ylabel("Amplitude")
plt.tight_layout() plt.tight_layout()
...@@ -333,7 +343,7 @@ toutes les valeurs inférieures au seuil établit précédemment. ...@@ -333,7 +343,7 @@ toutes les valeurs inférieures au seuil établit précédemment.
** Reconstruction de la contribution lente du signal ** Reconstruction de la contribution lente du signal
Finalement on reconstruit le signal temporel puis l'on affiche afin de Finalement on reconstruit le signal temporel puis on l'affiche afin de
mieux le caractériser. mieux le caractériser.
#+begin_src python :results file :session :var matplot_lib_filename="bigOsillationsTime.png" :exports both #+begin_src python :results file :session :var matplot_lib_filename="bigOsillationsTime.png" :exports both
...@@ -344,7 +354,7 @@ mieux le caractériser. ...@@ -344,7 +354,7 @@ mieux le caractériser.
plt.figure(figsize=(10,5)) plt.figure(figsize=(10,5))
plt.plot(t,bigSignal) plt.plot(t,bigSignal)
plt.title("Reconstruction du signal sans phénomène périodique sur la concentration de CO2 en fonction du temps") plt.title("Reconstruction du signal sans phénomène périodique sur la concentration de CO2 en fonction du temps")
plt.xlabel("Temps [semaines]") plt.xlabel("Temps [années]")
plt.ylabel("Concentration de CO2 [ppm]") plt.ylabel("Concentration de CO2 [ppm]")
plt.tight_layout() plt.tight_layout()
...@@ -355,9 +365,9 @@ mieux le caractériser. ...@@ -355,9 +365,9 @@ mieux le caractériser.
#+RESULTS: #+RESULTS:
[[file:bigOsillationsTime.png]] [[file:bigOsillationsTime.png]]
Ce graphique nous permet pas de déduire grand chose quant à cette Ce graphique ne nous permet pas de déduire grand chose quant à cette
contribution lente. Tentons de le comparer avec les mesures. contribution lente. Tentons de le comparer avec les mesures.
** Comparaison des signaux filtré et brut ** Comparaison des signaux filtrés et brut
#+begin_src python :results file :session :var matplot_lib_filename="bigOsillationsComparisons.png" :exports both #+begin_src python :results file :session :var matplot_lib_filename="bigOsillationsComparisons.png" :exports both
plt.figure(figsize=(10,5)) plt.figure(figsize=(10,5))
...@@ -376,28 +386,28 @@ contribution lente. Tentons de le comparer avec les mesures. ...@@ -376,28 +386,28 @@ contribution lente. Tentons de le comparer avec les mesures.
#+RESULTS: #+RESULTS:
[[file:bigOsillationsComparisons.png]] [[file:bigOsillationsComparisons.png]]
Malheuresement, cette approche nous permet pas d'avoir plus Malheuresement, cette approche ne nous permet pas d'avoir plus
d'informations pertinentes quant à cette contribution lente. Donc par d'informations pertinentes quant à cette contribution lente. Donc par
la suite on décidera de modéliser cette contribution par un polynôme la suite, on modélisera cette contribution par un polynôme
d'ordre 2. d'ordre 2.
* Modélisation des phénomènes et extrapolations * Modélisation des phénomènes et extrapolations
** Oscillations périodiques ** Oscillations périodiques
L'analyse fréquentielle nous a permis caractériser le phénomène L'analyse fréquentielle nous a permis caractériser le phénomène
périodique par un signal de fréquence \( f = 0.02 \) par unité de périodique par un signal de fréquence \( f = 0.02 \) par unité de
temps (par semaine), et avec une amplitude de 5. Ainsi, soit \(s_p(t)\) le temps (par semaine), et avec une amplitude de 5 [ppm]. Ainsi, soit \(s_p(t)\) le
signal périodique avec \(t\) en semaine on a : signal périodique avec \(t\) en semaine, on a :
\begin{equation} \begin{equation}
s_p(t) = 5 \cos (0.02 t) s_p(t) = 5 \cos (0.02 t)
\end{equation} \end{equation}
** Contribution lente du signal ** Contribution lente du signal
L'analyse fréquentielle nous a pas permis d'avoir plus d'information L'analyse fréquentielle ne nous a pas permis d'avoir plus
quant à la contribution lente du signal. Cependant si l'on regarde d'information quant à la contribution lente du signal. Cependant, si
l'allure générale des données peut supposer dans un premier temps que l'on regarde l'allure générale des données, on peut supposer que le
le concentration de CO2 varie de façon quadratique par rapport au concentration de CO2 varie de façon quadratique par rapport au
temps. Donc on va modéliser cette contribution lente par un polynôme temps. Donc, on va modéliser cette contribution lente par un polynôme
d'ordre deux \( y(t) = at^2 +bt +c \). On utilisera un outil de /curve d'ordre deux \( y(t) = at^2 +bt +c \). On utilisera un outil de /curve
fitting/ pour caractériser ce polynôme. fitting/ pour caractériser ce polynôme.
...@@ -407,7 +417,7 @@ calculent la norme deux de l'erreur entre le modèle et les données, ...@@ -407,7 +417,7 @@ calculent la norme deux de l'erreur entre le modèle et les données,
donc il est inutile de filtrer les données brute pour tenter d'enlever donc il est inutile de filtrer les données brute pour tenter d'enlever
le phénomène périodique pour caractériser la contribution lente. le phénomène périodique pour caractériser la contribution lente.
Dans un premier temps on définit une fonction de notre modèle pour la Dans un premier temps, on définit une fonction de notre modèle pour la
contribution lente contribution lente
#+begin_src python :results silent :session :exports both #+begin_src python :results silent :session :exports both
...@@ -415,8 +425,8 @@ contribution lente ...@@ -415,8 +425,8 @@ contribution lente
return a*t*t + b*t + c return a*t*t + b*t + c
#+end_src #+end_src
Puis l'on utilise le module =scipy= plus spécifiquement le module Puis l'on utilise le module ~scipy~ plus spécifiquement le module
=scipy.optimize= pour déterminer les paramètres de notre modèle. ~scipy.optimize~ pour déterminer les paramètres de notre modèle.
#+begin_src python :results output :session :exports both #+begin_src python :results output :session :exports both
from scipy import optimize from scipy import optimize
...@@ -441,7 +451,7 @@ Finalement on compare le modèle obtenu avec les données des mesures : ...@@ -441,7 +451,7 @@ Finalement on compare le modèle obtenu avec les données des mesures :
plt.plot(t,co2Model,label="Model") plt.plot(t,co2Model,label="Model")
plt.legend() plt.legend()
plt.title("Modélisation de la variation lente de la concentration de CO2 en fonction du temps") plt.title("Modélisation de la variation lente de la concentration de CO2 en fonction du temps")
plt.xlabel("Temps [semaines]") plt.xlabel("Temps [années]")
plt.ylabel("Concentration de CO2 [ppm]") plt.ylabel("Concentration de CO2 [ppm]")
plt.tight_layout() plt.tight_layout()
...@@ -457,7 +467,7 @@ caractérisation de la contribution lente. ...@@ -457,7 +467,7 @@ caractérisation de la contribution lente.
** Extrapolation de la concentration de CO2 jusqu'à 2025 ** Extrapolation de la concentration de CO2 jusqu'à 2025
Dans un premier temps on crée une liste qui contient l'ensemble des Dans un premier temps, on crée une liste qui contient l'ensemble des
données et l'on rajoute des dates jusqu'à la première semaine de 2025. données et l'on rajoute des dates jusqu'à la première semaine de 2025.
#+begin_src python :results value :session :exports both #+begin_src python :results value :session :exports both
...@@ -473,7 +483,7 @@ données et l'on rajoute des dates jusqu'à la première semaine de 2025. ...@@ -473,7 +483,7 @@ données et l'on rajoute des dates jusqu'à la première semaine de 2025.
#+RESULTS: #+RESULTS:
: 2025-01-04 00:00:00 : 2025-01-04 00:00:00
Finalement on extrapole à l'aide du modèle puis on affiche les Finalement, on extrapole à l'aide du modèle puis on affiche les
résultats. résultats.
#+begin_src python :results file :session :var matplot_lib_filename="co2Prediction.png" :exports both #+begin_src python :results file :session :var matplot_lib_filename="co2Prediction.png" :exports both
...@@ -486,7 +496,7 @@ résultats. ...@@ -486,7 +496,7 @@ résultats.
plt.plot_date(plotDates,concentration,label="Measurements") plt.plot_date(plotDates,concentration,label="Measurements")
plt.legend() plt.legend()
plt.title("Extrapolation de la variation lente de la concentration de CO2 en fonction du temps") plt.title("Extrapolation de la variation lente de la concentration de CO2 en fonction du temps")
plt.xlabel("Temps [semaines]") plt.xlabel("Temps [années]")
plt.ylabel("Concentration de CO2 [ppm]") plt.ylabel("Concentration de CO2 [ppm]")
plt.tight_layout() plt.tight_layout()
...@@ -497,7 +507,8 @@ résultats. ...@@ -497,7 +507,8 @@ résultats.
#+RESULTS: #+RESULTS:
[[file:co2Prediction.png]] [[file:co2Prediction.png]]
Calcul de l'augmentation de concentration en pourcentage : On finit par calculer l'augmentation de concentration en pourcentage
par rapport à notre dernière mesure :
#+begin_src python :results output :session :exports both #+begin_src python :results output :session :exports both
augmentation = (co2Prediction[-1] - concentration[-1])/ concentration[-1] *100 augmentation = (co2Prediction[-1] - concentration[-1])/ concentration[-1] *100
...@@ -506,3 +517,18 @@ Calcul de l'augmentation de concentration en pourcentage : ...@@ -506,3 +517,18 @@ Calcul de l'augmentation de concentration en pourcentage :
#+RESULTS: #+RESULTS:
: Augmentation de la concentration en % : 2.4518838408355386 : Augmentation de la concentration en % : 2.4518838408355386
* Conclusion
Cette étude propose un modèle de la variation de concentration de CO2,
puis utilise ce modèle afin de prédire l'augmentation de la
concentration de C02 en 2025 par rapport à la dernière mesure.
On considère que l'on peut caractériser la variation de la
concentration de C02 en deux phénomènes dont on propose un modèle
mathématique :
1. Une variation périodique dont la période correspond à une année et
d'amplitude 5 ppm.
2. Une variation "globale" modélisée par un polynôme d'ordre 2.
module3/exo3/fftZoom.png

41.3 KB | W: | H:

module3/exo3/fftZoom.png

40.8 KB | W: | H:

module3/exo3/fftZoom.png
module3/exo3/fftZoom.png
module3/exo3/fftZoom.png
module3/exo3/fftZoom.png
  • 2-up
  • Swipe
  • Onion skin
module3/exo3/modelBigOsillations.png

65.6 KB | W: | H:

module3/exo3/modelBigOsillations.png

66.1 KB | W: | H:

module3/exo3/modelBigOsillations.png
module3/exo3/modelBigOsillations.png
module3/exo3/modelBigOsillations.png
module3/exo3/modelBigOsillations.png
  • 2-up
  • Swipe
  • Onion skin
module3/exo3/rawData.png

42.9 KB | W: | H:

module3/exo3/rawData.png

43.4 KB | W: | H:

module3/exo3/rawData.png
module3/exo3/rawData.png
module3/exo3/rawData.png
module3/exo3/rawData.png
  • 2-up
  • Swipe
  • Onion skin
module3/exo3/smallOsillations.png

39.4 KB | W: | H:

module3/exo3/smallOsillations.png

39.7 KB | W: | H:

module3/exo3/smallOsillations.png
module3/exo3/smallOsillations.png
module3/exo3/smallOsillations.png
module3/exo3/smallOsillations.png
  • 2-up
  • Swipe
  • Onion skin
module3/exo3/smallOsillationsTime.png

53.3 KB | W: | H:

module3/exo3/smallOsillationsTime.png

53.5 KB | W: | H:

module3/exo3/smallOsillationsTime.png
module3/exo3/smallOsillationsTime.png
module3/exo3/smallOsillationsTime.png
module3/exo3/smallOsillationsTime.png
  • 2-up
  • Swipe
  • Onion skin
module3/exo3/zoomRawData.png

47.5 KB | W: | H:

module3/exo3/zoomRawData.png

47.8 KB | W: | H:

module3/exo3/zoomRawData.png
module3/exo3/zoomRawData.png
module3/exo3/zoomRawData.png
module3/exo3/zoomRawData.png
  • 2-up
  • Swipe
  • Onion skin
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment