Zurück | (C)
Christof Ermer, Regensburg Gästebuch (public. sonst besser Email) ChristofErmer@gmail.com |
|
|
|
30.12.2021 |
Anwendung
von Matehmatik in der Programmierung von Mikrocontrollern und
Labortsoftware
Eine durchaus berechtigte Kritik am
schulischen
Mathematikunterricht ist, dass sich der Sinn in der Schule nicht
unmittelbar
erschließt.
Also, warum?, wozu? man die ganzen X und Ypsillons,
Formelumstellereien, Binome
, Nullstellen und tiefer gehendes wie Lim, Sinus etc. in Leben brauchen
kann.
Schön den Nullpunkt von irgendwas
bestimmen zu können, doch wozu?
Ein Satiriker sagte:
"Dank der Modernen Wissenschaft können
wir nicht
nur
das interessante, sondern auch das absolut uninteressante erforschen".
Das heißt, der Schulmathematik Unterricht vergisst gerne die "konkrete"
Anwendung.
Eine intellektuelle Beschäftigung in Ehren, aber das ist Schach auch.
Nur nicht
so exorbitant lernlastig.
Es ist
notwendig, hin und wieder den
akademischen Rahmen zu verlassen
und reale Beispiele, mit brauchbaren Niveau anzuwenden.
Mir hat folgendes geholfen:
Mein Erlebnis wo Mathe begonnen hat richtig Spaß zu
machen war
Formeln, Funktionen grafisch
darzustellen.
Aus abstrakten algebraischen Formen,
algorithmisch „angewendet“ entstanden ästhetisch
anspruchsvolle Grafiken die eine Reise in die Tiefe zuließen und zum
Experimentieren
geradezu einladen.
Hier ien Chaos-mathematisches Experiment. Ein sogenanntes
Feigenbaumdiagram: Feigenbaum.zip
zum Artikel:https://www.heise.de/newsticker/meldung/Zahlen-bitte-Die-Feigenbaum-Konstante-beschreibt-Ordnung-im-Chaos-4141733.html
Arbeitsweise:
a...get von 2...5, ab 3.2 wird es interessant, ab
3.4 gibt es 4 Wertem , ab
a = 0.2
x = 4.0
for i in range(200):
a = X*a*(1-a)
print(a)
1. Frage: wie
zeichnet man eine Line ?,
einen Kreis ?, indem man die erforderlichen Punkte für Plot(X,Y) manuel
erzeugt.
Jeden einzelnen Punkt. Quasi zuruß.....
Da kommen Computer, die einen Ablauf
ermöglichen zuhilfe.
Gleichzeitig muss man die Fragen :
Wie sieht die Gleichung oder das Mathe-Werkzeug/Gerüst dazu aus.
Wie abstrahiert man das in die einzelne Schritte und wie codiert man
das in
eine Programmierpsrache.
Bleiben wir erstmal beim mit Mathematik
erzeugtem:
Kreis
(Nennen wir die Grafik Auflösung R, die
Laufvariable Integer = n, die Maximale_punkte=M)
Das ganze in eine
Schleife wo „n
= n+1“
bis M läuft;
( Noch etwas unsauber definiert, ich
weiß, aber für den Anfang reicht es
( korrekt wäre ja sin(2* PI * N ) à
einzelne Schritte N= (n=0 bis (M-1)/M)
for(n=0,
n=n+1;Max)
{
Xpos = R + R/2
* sin( 2* PI * n);
Ypos = R + R/2
* cos( 2* PI * n);
};
Sinus und Cosinus laufen synchron. Das
gibt einen Kreis:
Es ist, als wenn sich„
gleiche“ Schwingungen (gleich=in Frequenz und Amplitude)
sich im Sinus und Cosinus überlagern.
Die Lissajuschen
Figuren entstehen, wenn also die beiden Gleichungen nicht mehr
synchron laufen.
Also wenn zwei „unterschiedliche“
Schwingungen/Frequenzen
sich überlagern.
Also:
Xpos = R + R/2
* sin( 2* PI * Value1 * n); Bsp.
Value1=100
Ypos =
R + R/2
* cos( 2* PI * Value 2 *n); Bsp.
Value2=150
Interessant wird es , wenn die Value 1 und 2 in
geraden
Verhältnissen zueinander stehen 1:2 1:3 1:4 usw
Siehe: https://youtu.be/7fvlUyja5aU
Code dazu zu finden in:
https://homepages.uni-regensburg.de/~erc24492/Programmier-Knowhow_DEV_C++/Programmier-Knowhow_DEV_C++.html
Fraktale:
siehe Fraktal
1984 ist mir die Spektrum Zeitschrift in die Hand gekommen wo in den
Mathematischen
Spielereien über Fraktale berichtet wurde.
Algebraisch kann man die Rekursion komplexer Zahlen gut darstellen:
Zn+1=Zn^2 + c
( Z und c sind Komplexe Zahlen )
// Programmiersprache ANSI-C
Algebraische Ausformung von "KOMPLEX" Zn+1=Z^2
+ c
// DATENTYPEN:
float64 RN; float64 IN; float64 Real; float64 Imag; float64 Betrag;
int32 IterNN;
IterNN =
Betrag = RN = IN = 0;
while( (Betrag < 4 ) &&
(IterNN < IterationMax) )
{
Real = RN * RN;
Imag = IN * IN;
Betrag = Real + Imag;
IN = (IN * RN * 2) - YC;
RN = Real - Imag - XC;
IterNN++;
};
if( IterNN >= IterationMax )
{
IterNN = 0;
};
// Es folgt pro Schleifendurchlauf noch die
Prüfung ob Z
> 4.
Dann setze den Punkt mit Modulo
des Durchlaufzählers = Farbe.
Die selbe Grafikmaschine wie für
Lissajousche Figuren,
jetzt als Fraktalmaschine
genutzt.
Hier die Seite dazu: https://homepages.uni-regensburg.de/~erc24492/Fraktal/Fraktal.html
Youtube: https://www.youtube.com/watch?v=aQzyvwN4QIQ
Code dazu zu finden in:
https://homepages.uni-regensburg.de/~erc24492/Programmier-Knowhow_DEV_C++/Programmier-Knowhow_DEV_C++.html
Projekt:
Fraktal (Kunst) mit Ping Pong Board:
https://www.youtube.com/watch?v=q_FECRtilEk
Das hat super Spaß gemacht !