kleine Mathe-Spielereien

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Benutzeravatar
Dennis89
User
Beiträge: 524
Registriert: Freitag 11. Dezember 2020, 15:13

Hallo,

klicke mal auf den Link und schau dir an, wie das aussehen soll.

Grüße
Dennis
“A ship is always safe at the shore, but that is not what it is built for.”
Sirius3
User
Beiträge: 16232
Registriert: Sonntag 21. Oktober 2012, 17:20

@Dennis89: der Link funktioniert nicht.
Benutzeravatar
Dennis89
User
Beiträge: 524
Registriert: Freitag 11. Dezember 2020, 15:13

Zum editieren war ich zu langsam, hier der neue Link:
https://www.dropbox.com/s/dpwhcgzk9t2b3 ... 8.png?dl=0

Grüße
Dennis
“A ship is always safe at the shore, but that is not what it is built for.”
OSWALD
User
Beiträge: 55
Registriert: Freitag 18. März 2022, 17:32

Danke für den link. heruntergeladen und gedruckt.
Alles soll jetzt gut werden und müsste jetzt klappen.
Anbei ein Beispiel aus meinen Anfängen in Python.
Wer immer strebend sich bemüht, den können wir erlösen. F II Goethe
Gute Zeit OSWALD

Code: Alles auswählen

[/

import math

a = ((3 + 5) / 2 + 3) * (2 + 1)**2
print ("Klammern:", a)
b = math.sqrt(a)
print ("Wurzel:",b)
c = math.fsum([ 1.5, 2.3, 1.9, -3.0, 2.8])
print ("Summe exakt:", c)
c1 = sum([ 1.5, 2.3, 1.9, -3.0, 2.8])
print ("Summe:", c1)
d = math.exp(-c)
print ("Exp.:", d)


code]
Sirius3
User
Beiträge: 16232
Registriert: Sonntag 21. Oktober 2012, 17:20

Der Code muß zwischen die Tags und nicht zwischen [/ und code]
Benutzeravatar
ThomasL
User
Beiträge: 1263
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Und das Leerzeichen zwischen print und ( ist überflüssig.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
OSWALD
User
Beiträge: 55
Registriert: Freitag 18. März 2022, 17:32

05.08.22

Probieren geht über studieren.na dann mal los
OSWALD

code


import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
def func(x, a, b, c):
return a * np.exp(-b * x) + c
Definieren Sie die Daten, die mit etwas Rauschen angepasst werden sollen:

xdata = np.linspace(0, 4, 50)
y = func(xdata, 2.5, 1.3, 0.5)
rng = np.random.default_rng()
y_noise = 0.2 * rng.normal(size=xdata.size)
ydata = y + y_noise
plt.plot(xdata, ydata, 'b-', label='data')
Fit für die Parameter a, b, c der Funktion func :

popt, pcov = curve_fit(func, xdata, ydata)
popt
array([2.56274217, 1.37268521, 0.47427475])
plt.plot(xdata, func(xdata, *popt), 'r-',
label='fit: a=%5.3f, b=%5.3f, c=%5.3f' % tuple(popt))
Beschränken Sie die Optimierung auf den Bereich von , und :0 <= a <= 30 <= b <= 10 <= c <= 0.5

popt, pcov = curve_fit(func, xdata, ydata, bounds=(0, [3., 1., 0.5]))
popt
array([2.43736712, 1. , 0.34463856])
plt.plot(xdata, func(xdata, *popt), 'g--',
label='fit: a=%5.3f, b=%5.3f, c=%5.3f' % tuple(popt))
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.show()


code
__deets__
User
Beiträge: 12289
Registriert: Mittwoch 14. Oktober 2015, 14:29

Du musst Code Tags benutzen.

[code*]

[/code*]

Die müssen vor und hinter deinem Code stehen. Und der Stern * muss weggelassen werden (sonst zeigt der das ja hier nicht an).

Du kannst das üben mir der Vorschau Funktion, bis es Sitzt.
Benutzeravatar
Kebap
User
Beiträge: 485
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Hier sieht man, wie der Beitrag richtig aussehen würde.
Oben steht Fließtext, dann ein Codeblock, der nur den ausführbaren Python-Quelltext enthält:

Code: Alles auswählen

import math

a = ((3 + 5) / 2 + 3) * (2 + 1)**2
print ("Klammern:", a)
b = math.sqrt(a)
print ("Wurzel:",b)
c = math.fsum([ 1.5, 2.3, 1.9, -3.0, 2.8])
print ("Summe exakt:", c)
c1 = sum([ 1.5, 2.3, 1.9, -3.0, 2.8])
print ("Summe:", c1)
d = math.exp(-c)
print ("Exp.:", d)
Zuletzt kann auch noch Fließtext folgen, oder ein weiterer Codeblock, oder noch ganz andere Dinge.. :mrgreen:
Man kann übrigens auch bei fremden Beiträgen auf den "Zitat"-Knopf (das Anführungszeichen) klicken, um zu studieren, wie dort die Tags benutzt wurden.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
OSWALD
User
Beiträge: 55
Registriert: Freitag 18. März 2022, 17:32

Hallo ich werde jetzt die gleichen Z;eichen setzen , die ch eben
über einen Ziatatknopf gesehen haben.

Code: Alles auswählen


 import scipy
import numpy as np
import matplotlib.pyplot as plt 
from scipy.stats import norm
 
[code]

das müsste jetzt stimmen
__deets__
User
Beiträge: 12289
Registriert: Mittwoch 14. Oktober 2015, 14:29

Nein, das stimmt immer noch nicht. Du hast das schliessende Code-Tag falsch gemacht, da muss ein Slash (/) rein. Und wie gesagt, mit der Vorschau-Funktion kannst du sowas auch selber pruefen, statt nur zu hoffen.
OSWALD
User
Beiträge: 55
Registriert: Freitag 18. März 2022, 17:32

6.8.2022
*Man fliegt schneller hier raus, als man schreiben kann.Soeben passiert*
Ein neues Spiel, ein neuer Spass.
Heute Thema : plynome 3.Grades mit scipy und matplotlib plotten.
Beginn mit dem einfachsten Code.
Zuletzt endlich die tags richtig einsetzen.

Code: Alles auswählen


import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

x = np.arange(-5, 5, 0.25)
y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(x, y)
F = 3 + 3*x + 6*X*Y + 5*X**4
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, F)
plt.show()


'wer immer stetig strebend sich bemüht, den können wir erlösen FII, Goethe
`Gute Zeit OSWALD
OSWALD
User
Beiträge: 55
Registriert: Freitag 18. März 2022, 17:32

]Dieses Spiel, das "Spass" macht , hat hat aber auch einen handfesten
Hintergrund. Die Mathematik. Getoppt wird die Visualisierung z.B . nur noch
durch den Isomorphismus, den ich nie verstehen werde.
Auch für die Visualisierung spielt Mathematik eine die Rolle schlechthin.
Es sollte sich also lohnen ,mit dem vorliegenden Code alle Funktionen
und Parameter auszuprobieren. Die entstehenden ' Bildchen' sind alle
keine Zufälle, sondern Ergebnisse von der Anwendung mathematische
Funktionen.Erst verstehen, dann neue Parameter hinzufügen. Ein weiter Weg.


[

Code: Alles auswählen


# -*- coding: utf-8 -*-
import scipy  
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

x = np.arange(-1, 5, 0.25)
y = np.arange(-1, 5, 0.25)
X, Y = np.meshgrid(x, y)

F= np.exp(Y-X)
#F= np.exp(X-Y)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X, Y, F)

plt.show()
   
Gute Zeit OSWALD
Antworten