Seite 10 von 33
Re: kleine Mathe-Spielereien
Verfasst: Sonntag 15. Januar 2023, 10:10
von OSWALD
15.001.2023
Endlich ist es mir nach einigen Problemen gelungen, mein
Ziel zu erreichen : Ein Popup-Menue , die Übertragung von
Objekten auf eine zweite Ebene.
Der Code ist leicht verständlich und kann beliebig ausgebaut
werden.
Gute Zeit OSWALD
"wer immer strebend sich bemüht, den können wier erlösen " Goethe FII
.
Code: Alles auswählen
from tkinter import *
import subprocess
from subprocess import *
from tkinter.filedialog import askopenfilename
def code1():
subprocess.call(["C:/windows/system32/mspaint.exe"])
#subprocess.call(["C:/Program Files/Internet Explorer/iexplore.exe"])
def code2():
subprocess.call(["C:/windows/system32/calc.exe"])
def code3():
subprocess.call(["C:/Program Files/Internet Explorer/iexplore.exe"])
def code4():
subprocess.call( [ "C:\Program Files\Google\Chrome\Application\chrome.exe" ])
def NewFile():
print("New File!")
def OpenFile():
name = askopenfilename
print(name)
def About():
print("example of a menu" )
window = Tk()
menu = Menu(window)
window.config(menu=menu)
filemenu = Menu(menu)
menu.add_cascade(label="File", menu=filemenu)
filemenu.add_command(label="P a i n t", command=code1)
filemenu.add_command(label= "C a l c ", command=code2)
filemenu.add_command(label= "E x p l o r e " ,command =code3)
filemenu.add_command(label= "G o o g l e" , command = code4)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=window.quit)
helpmenu = Menu(menu)
menu.add_cascade(label="Help", menu=helpmenu)
helpmenu.add_command(label="About...", command=About)
mainloop()
Re: kleine Mathe-Spielereien
Verfasst: Dienstag 24. Januar 2023, 16:59
von OSWALD
24.01.2023
Heute möchte ich einen einfachen aber mächtigen Texteditor
vorstrellen , den ich im WWW finden konnte..
Diesen konnte ich mit *subprocess* zunächst zwar auf die bekannte Weise
auf die Subebene geladen kriegen. Aber nicht öffnen.
jetzt habe ich den umgekehrten Weg eingeschlagen und *Paint*.exe
im Texteditor implementiert.
Ich glaube inzwischen zu wissen, dass die oft komplizierten und
schwer darzustellenden Pfade die Ursache dafür sind, obwohl ich immer
alle Objekte im gleichen Ordner zusammenstelle.
Gute Zeit Oswald
Code: Alles auswählen
mport subprocess
from subprocess import *
import tkinter as tk
from tkinter.filedialog import askopenfilename, asksaveasfilename
#########################
def open_file():
"""Öffne einen Dateiordner """
filepath = askopenfilename(
filetypes=[("Text Files", "*.txt"), ("All Files", "*.*")]
)
if not filepath:
return
txt_edit.delete(1.0, tk.END)
with open(filepath, "r") as input_file:
text = input_file.read()
txt_edit.insert(tk.END, text)
window.title(f"Texteditor - {filepath}")
def save_file():
"""Save the current file as a new file."""
filepath = asksaveasfilename(
defaultextension="txt",
filetypes=[("Text Files", "*.txt"), ("All Files", "*.*")],
)
if not filepath:
return
with open(filepath, "w") as output_file:
text = txt_edit.get(1.0, tk.END)
output_file.write(text)
window.title(f"Text Editor Application - {filepath}")
#########################
def code1():
subprocess.call(["C:/windows/system32/mspaint.exe"])
#########################
window = tk.Tk()
window.title("Öffne Dateiordner, Text, Scrollen, Speichern als, Löschen ")
window.geometry("800x400")
txt_edit = tk.Text(window)
fr_buttons = tk.Frame(window, relief=tk.RAISED, bd=3)
btn_open = tk.Button(fr_buttons, text="Open", command=open_file)
btn_save = tk.Button(fr_buttons, text="Save As...", command=save_file)
btn_laden = tk.Button(fr_buttons, text="Laden..", command=code1())
btn_open.grid(row=0, column=0, sticky="ew", padx=5, pady=5)
btn_save.grid(row=1, column=0, sticky="ew", padx=5)
fr_buttons.grid(row=0, column=0, sticky="ns")
txt_edit.grid(row=0, column=1, sticky="nsew")
window.mainloop()
nddn
Re: kleine Mathe-Spielereien
Verfasst: Dienstag 24. Januar 2023, 17:06
von grubenfox
OSWALD hat geschrieben: ↑Dienstag 24. Januar 2023, 16:59
24.01.2023
Heute möchte ich einen einfachen aber mächtigen Texteditor
vorstrellen , den ich im WWW finden konnte..
Aha, ... und welcher ist es?
Re: kleine Mathe-Spielereien
Verfasst: Dienstag 24. Januar 2023, 17:30
von OSWALD
Hallo ich habe vergessen zu erwähnen, dass zunächst 'Paint*
erscheint -
Deshalb noch einmal der Ediitor-Code, in dem ich subprocess
inaktiviert habe.
Code: Alles auswählen
[/
import subprocess
from subprocess import *
import tkinter as tk
from tkinter.filedialog import askopenfilename, asksaveasfilename
#########################
def open_file():
"""Öffne einen Dateiordner """
filepath = askopenfilename(
filetypes=[("Text Files", "*.txt"), ("All Files", "*.*")]
)
if not filepath:
return
txt_edit.delete(1.0, tk.END)
with open(filepath, "r") as input_file:
text = input_file.read()
txt_edit.insert(tk.END, text)
window.title(f"Texteditor - {filepath}")
def save_file():
"""Save the current file as a new file."""
filepath = asksaveasfilename(
defaultextension="txt",
filetypes=[("Text Files", "*.txt"), ("All Files", "*.*")],
)
if not filepath:
return
with open(filepath, "w") as output_file:
text = txt_edit.get(1.0, tk.END)
output_file.write(text)
window.title(f"Text Editor Application - {filepath}")
#########################
#def code1():
# #subprocess.call(["C:/windows/system32/mspaint.exe"])
# subprocess.run(["Windows\(C:)GUIRechner.py"])
#########################
window = tk.Tk()
window.title("Öffne Dateiordner, Text, Scrollen, Speichern als, Löschen ")
window.geometry("800x400")
txt_edit = tk.Text(window)
fr_buttons = tk.Frame(window, relief=tk.RAISED, bd=3)
btn_open = tk.Button(fr_buttons, text="Open", command=open_file)
btn_save = tk.Button(fr_buttons, text="Save As...", command=save_file)
#btn_laden = tk.Button(fr_buttons, text="GUIRechner..", command=code1())
btn_open.grid(row=0, column=0, sticky="ew", padx=5, pady=5)
btn_save.grid(row=1, column=0, sticky="ew", padx=5)
fr_buttons.grid(row=0, column=0, sticky="ns")
txt_edit.grid(row=0, column=1, sticky="nsew")
window.mainloop()
code]
Re: kleine Mathe-Spielereien
Verfasst: Samstag 4. Februar 2023, 10:48
von OSWALD
4.2.23
Bei der Beschäftoigung mit dem hema
Pandas und Mathematik bin ich erstmalig
auf eInen Code gestossen. , der
Dataclass mit Pandas kombiniert.Dieser soll Interessierten
nicht vorenthalten werden, denn hier findet sich auch ein
Beweis für die Bedeutung der Mathematik für Pandas.
Kann man aber auch Mathematik mit Pandas betreiben ?
Code: Alles auswählen
from dataclasses import dataclass
from dataclasses import field
from dataclasses import InitVar
import pandas as pd
import random
from math import *
@dataclass
class DataClass_Modern(object):
# Invisible attribute (init-only)
attr0:InitVar[int] = 81
# Initialized attribute
attr1:int =0
attr2:float =0.
attr3:str ='undefined'
attr4:list = field(default_factory=list)
# Generated attribute
attr5:float = field(init=False)
# Generated attribute - read property
@property
def attr5(self)->float:
return sqrt(abs(self._attrHidden))
# Generated attr - set property (required by dataclasses)
@attr5.setter
def attr5(self,_):pass # Do nothing, this is a read-only attribute
def __post_init__(self,attr0):
# Make a copy of the init-only attribute to a local attribute that
# is used for the generated attribute (via a property)
self._attrHidden = attr0 # This attribute should remain hidden from pandas
@classmethod
def rand_factory(cls):
'''
Returns an object of the calling class with randomized initialization attributess
'''
return cls(
attr0=random.randint(-1e3,1e3),
attr1=random.randint(-1e6,1e6),
attr2=random.random(),
attr3=random.choice(
[
'Tool',
'PinkFloyd',
'Soundgarden',
'FaithNoMore',
'aPerfectCircle',
'KingCrimson',
'PearlJam',
'ChildrenOfBodom']),
attr4=random.choices(range(100,999),k=3)
)
if __name__ == '__main__':
rand_objects = [DataClass_Modern.rand_factory() for _ in range(10)]
df = pd.DataFrame(rand_objects)
print(df)
#Google ermittelt den Cumulative Layout Shift durch eine Formel,
#die die beiden Variablen „impact friction“ und „distance friction“
# miteinander multipliziert:
# =CLS-Wert#
Re: kleine Mathe-Spielereien
Verfasst: Samstag 4. Februar 2023, 11:33
von OSWALD
4.223
Hier ein erster Versch in
'Mathematik und Pandas' einzusteigen:
Auch die Ststistik kommt hinzu.
Gute Zeit OSWALD
Code: Alles auswählen
from math import *
import pandas as pd
import numpy as np
print(" Test 1" )
zahlen1 =[]
zahlen = [ [12, 17, 19 ], [ 14, 28, 13] , [ 23,14,36]]
df = pd.DataFrame(zahlen )
print(df)
df +df
print (df+df)
df-df
print (df-df)
df *df
print (df*df)
df/df
print(df/df)
#############################
print(" Test 2")
zahlen =[]
zahlen = [[sin(1), cos(3), tan(0.5)], [ 14, 28, 13]]
df2 = pd.DataFrame(zahlen)
df2 + df2
print (df2+df)
df2-df2
print (df2-df2)
df2 *df2
print (df2*df2)
df2/df2
print(df2/df2)
#############################
print(" Test 3")
zahlen3 =[]
zahlen3 = [[sin(1), cos(3), tan(0.5)], [ log(14), exp(0.35), log10(16)]]
df3 = pd.DataFrame(zahlen3)
df3 + df3
print (df3+df3)
df3-df3
print (df3-df3)
df3 *df3
print (df3*df3)
df3/df3
print(df3/df2)
Re: kleine Mathe-Spielereien
Verfasst: Samstag 4. Februar 2023, 15:54
von OSWALD
4.2.23 zum Schluß noch ein Beispiel dafür ,wie kompakt man
auch mit Canvas e.twas Mathe machen kann.
Der Phantasie sind keine Grenzen gesetzt.
Gute Zeit OSWALD
Wer immersterebend sich bemüht , den können wir erlösen (Faust II)
Code: Alles auswählen
from math import *
import pandas as pd
import numpy as np
zahlen = [ [12, 17, 19 ], [ 14, 28, 13] , [ 23,14,36]]
df = pd.DataFrame(zahlen )
zahlen1 = [ [1, 7, 19 ], [ 4, 8, 3] , [ 3,4,6]]
df1 = pd.DataFrame(zahlen1)
print(df+df1)
print(df-sin(5) )
print(df*df1)
print(df/ 1/3)
############################
zahlen =[]
zahlen = [[sin(1), cos(3), tan(0.5)], [ 14, 28, 13]]
zahlen1 = [[ 1 ,3 , 5 ], [ 3 ,3 , 2 ]]
df = pd.DataFrame(zahlen)
df2 = pd.DataFrame(zahlen1)
print(df2+df)
print(df-df2)
print(df*df2)
print(df/df2)
print(df **3)
#############################
Re: kleine Mathe-Spielereien
Verfasst: Dienstag 7. Februar 2023, 10:30
von OSWALD
7.2.23
Hier stelle ich zwei weitere wichtige Funktionen
von Pandas vor:
1,Konvcrtierung von Strings in Float
2.Konvertierung von NAN-Werten in 0
Damit ewird die Flexibilität von Pamdas erhöht und auch
die mathemaische Anwendungf v. P verbessert,.
Gute Zeit OSWALD
Code: Alles auswählen
import numpy as np
import pandas as pd
df = pd.DataFrame({'Punkte': [np.nan, 12, 15, 14, 19],
'Helfer': ['5', np.nan, '7', '9', '12'],
'rebounds': ['11', '8', '10', '6', '6']})
print(" Zunächst das Original Dataframe ")
print(" Es enthält zwei Leerstellen ")
print(df)
print( " Spaltendatentypen anzeigen")
df.dtypes
print(df.dtypes)
dtype: object
print(" Konvertieren einer einzelnen Spalte in Float")
print( " Es betrifft die Spalte 'Helfer' ")
#"assists" von string in float konvertieren
df['Helfer'] = df['Helfer'].astype(float)
print(df.dtypes)
df.dtypes
print(df)
print("Spalten 'rebounds' u.'Helfer' in float konvertieren")
df[['Helfer', 'rebounds']] = df[['Helfer','rebounds']].astype(float)
print(df)
df.dtypes#Spaltendatentypen anzeigen
print(df.dtypes)
dtype: object
#Beispiel 3: Alle Spalten in Float umwandeln
#Die folgende Syntax zeigt, wie Sie alle Spalten im DataFrame in Floats konvertieren:
#konvertieren Sie alle Spalten in Float
df.dtypes
df = df.astype(float)
print()
print("Spaltendatentypen jetzt :" )
dtype: object
print("Konvertieren von String in Float und Füllen von NaN-Werten")
print("'Helfer'von Strings in Floats u.die NaN-Werte mit Nullen füllen")
#konvertiere "assists" von string in float und fülle NaN-Werte mit Nullen aus
df['Helfer'] = df['Helfer'].astype(float).fillna(0)
print(df)
print("Jetzt letztes DataFrame anzeigen.")
print(df['Helfer'])
Re: kleine Mathe-Spielereien
Verfasst: Dienstag 7. Februar 2023, 11:17
von OSWALD
7.2.23
kleine Korrektur:
die Zeilen 48 bis 54 bitte ersetzen
Leider die Konvertierung eines NaN-Wertes vergessen
'Kein Programm ohne Fehler'
Gute Zeit Oswald
Code: Alles auswählen
[
#konvertiere "Helfer" von string in float und fülle NaN-Werte mit Nullen aus
df['Punkte'] = df['Punkte'].astype(float).fillna(0)
df['Helfer'] = df['Helfer'].astype(float).fillna(0)
print(df)
print("Jetzt letztes DataFrame anzeigen.")
print(df['Punkte'])
/code]
Re: kleine Mathe-Spielereien
Verfasst: Dienstag 7. Februar 2023, 15:36
von OSWALD
7.2.23
Mathematik mit Pandas
mit Hilfe von scipy lässt sich schon
tief in die Algebra undArithmetik eintauchen,,
serielle Berechnungen kommen dazu
Als nächstes Ziel möchte ich mit (x=1)
dee Lösung von Gleichungen versuchen.
Jedenfalls eröffnen sich viele neue
Möglichkeiten für "viele kleine Mathe-Spielereien."
OSWALD
Code: Alles auswählen
import numpy as np
from scipy import*
from math import *
import pandas as pd
a = pd.DataFrame([1,2,3,6,2,3,1,8,9,10])
b = pd.DataFrame([1,2,3,4,5,6,7,8,9,10])
c = pd.DataFrame([1,1,1,1,1,1,1,1,1,1])
#########################
#print(3* a **3)
#print(b**3)
#print(3*c**3)
#########################
#print(a**2 + 2*a*b + b**2)
#print(3*(a + b) * 2*(a - b))
print(a/(a+b)+a*b)
print((a-b)/(b +c -a))
#print(b + 3*np.pi- 2*exp(2) )
##print(4*a*3 + b**3 )
#(3*( a + 2*a + a**2)* (3-b**3 )-c )
##print(( a + b-c) * (a-b))
Re: kleine Mathe-Spielereien
Verfasst: Dienstag 7. Februar 2023, 15:59
von __blackjack__
@OSWALD: Da wird überhaupt nichts von `scipy` verwendet, nicht mal im auskommentierten Code. Mir erschliesst sich auch der Sinn dieses Beitrags und auch so einiger anderer Beiträge nicht. Ich meine das hier ist „es gibt Pandas“ und Python kennt die Grundrechenarten. Wer hätte das gedacht…

Re: kleine Mathe-Spielereien
Verfasst: Dienstag 14. Februar 2023, 12:55
von OSWALD
14.2.

Hallo BlackJack,
Soeben habe ich im Internet unter 'IT-Witze'
einen 'guten' Sprich gesucht und gefunden:
'Das ist suboptimal gelaufen.
Bedeutung: Das ist scheiße gelaufen.'
Bei menem Ausflug ins Pandas-LAND bin ich
leider in einem Irrwegstecken geblieben.
Das mit der angekündigten 'Einfachheit' und 'Effizienz '
war leider nicht der Fall. Der Lehrling darf aiuch Fehler machen.
Deshalb versuche ich jetzt - reuig - mein Heil bei Scipy und Sympy,
speziell beim bestimmten Integral und ich bin sicher ,
dass ich hier nicht enttäuscht werde.
Auf bald OSWALD
Re: kleine Mathe-Spielereien
Verfasst: Dienstag 14. Februar 2023, 16:05
von OSWALD
14.2.23
Der Einstieg beginnt mit der einfachen Brechnung
der 'Fläche unter der Kurve' mit scipy.
Beim Vergleich mit anderen Biblioheken
ergaben sich identische Werte.
OSWALD
Code: Alles auswählen
# Einfaches bestimmtes Integral
import scipy.integrate as spi
import numpy as np
print("Integral,Fläche von b -a)" )
integrand = lambda x : 3*x**3 +6
a = 1
b = 2.5
result, error = spi.quad(integrand, a, b)
print('Ergebnis: ', result)
print('geschätzter Fehler ', error)
Re: kleine Mathe-Spielereien
Verfasst: Dienstag 14. Februar 2023, 17:13
von OSWALD
[ 14.2.23
nun eine Integration mit sympy, jedoch mit
anderen Werten. Hier werden 2 Ergebnisse verglichen.
der erste Wert sollte der genauere sein.
Gute Zeit OSWALD
Code: Alles auswählen
import sympy as sy
# Sympy-Variablen initiieren:
x = sy.S( 'x' )
a, b = sy.S( [1,2] ) # hier Ober- /Untergrenze
# Bestimmtes Integral berechnen:
sy.integrate( sy.pi * (x**2 + x + 1/x) , (x,a,b) )
print("Hinweis zu Zeile 10: 1/x wird zu log() ")
print("Exaktes Ergebnis = :",sy.integrate( sy.pi * (x**2 + x + 1/x) , (x,a,b) ))
sy.integrate( sy.pi * (x**2 + x + 1/x) , (x,a,b) ).evalf()
print(" jetzt Auswertung mit eval ")
print("Ergebnis2=:",sy.integrate( sy.pi * (x**2 + x + 1/x) , (x,a,b) ).evalf() )
Re: kleine Mathe-Spielereien
Verfasst: Freitag 17. Februar 2023, 11:12
von OSWALD
17.02.2023
Die Berechnung von Rotationskörpern
mit Volumen und Manteloberfläche
war schon wesentlich schwieriger, besonders
die Mantelfläche.
Gute Zeit OSWALD
Code: Alles auswählen
import scipy.integrate as spi
import numpy as np
print("Parabelfläche von x**2 : Rotation um die X-Achse ")
print("Berechnung der Mantelfläche ")
integrand = lambda x : np.pi *x**2 *(x**2+1) **1/2
a = 1.
b = 3
result, none = spi.fixed_quad(integrand, a, b, n=5)
print('Mantelfläche =: ', result)
print()#################################################
print("Parabelfläche von x**2 : Rotation um die X-Achse ")
print("Integral fixed_quad mit scipy")
print('Integral über Pi * f(Pi*x**2) **2 ')
integrand = lambda x : np.pi * (x**2)**2
a = 1
b = 3
result, none = spi.fixed_quad(integrand, a, b, n=5)
print("Volumen =:" ,result)
Re: kleine Mathe-Spielereien
Verfasst: Sonntag 19. Februar 2023, 10:43
von OSWALD
19.02.2023
Zwei kleine Codes mit SYMPY vereinfachen das
Arbeiten mit dem bestimmten Integral.
Sie sind selbsterklärend und beliebig erweiterbar.
Die Ergebnisse sind exakti.
Gute Zeit OSAWLD
Code: Alles auswählen
1.
from math import *
import numpy as np
import scipy
from scipy.integrate import quad
def func(x):
return x + sin(x) -cos(x) + exp(x)
integral,error = scipy.integrate.quad(func,0,2)
print("Ergebnis als Summe aller Elemente : " + str(integral))
print("Der Fehler = :" +str(error))
#########################
2.from sympy import sin , asin ,cos , atan , tan , exp , log , integrate
from sympy import integrate
from sympy.abc import x ,y ,z
print(integrate ( 1 / x , x ) )
print(integrate ( 1 / x ) )
print(integrate ( log ( x), x ) )
print(integrate ( log ( x )) )
print(integrate ( exp ( x ) / ( 1 + exp ( 2 * x )) , x ) )
print(integrate ( cos ( x ) ** 4 * sin ( x ) ** 3 , x ) )
print(integrate ( cos ( x ) ** 4 * sin ( x ) ** 5 , x ) )
print(integrate ( tan ( x ), x ) )
print(integrate ( sin ( x ), x ) )
print(integrate ( asin (x) ,x ))
print(integrate ( atan (y) , y ))
print(integrate ( 1/z**3 ,z ))
Re: kleine Mathe-Spielereien
Verfasst: Sonntag 19. Februar 2023, 15:58
von OSWALD
Visuelle Darstellung
Fläche unter der Kurve x**2
mit Grenzen 4-9
(siehe Integral Berechnung der Fläche)
OSWALD
Code: Alles auswählen
mport numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
def func(x):
return x**2
a, b = 4, 9 # integral limits
x = np.linspace(2, 10)
y = func(x)
fig, ax = plt.subplots()
ax.plot(x, y, 'r', linewidth=2)
ax.set_ylim(bottom=0)
# Make the shaded region
ix = np.linspace(a, b)
iy = func(ix)
verts = [(a, 1), *zip(ix, iy), (b, 0)]
poly = Polygon(verts, facecolor='0.9', edgecolor='0.5')
ax.add_patch(poly)
ax.text(0.5 * (a + b), 30, r"$\int_a^b f(x**2)\mathrm{d}x$",
horizontalalignment='center', fontsize=20)
fig.text(0.9, 0.05, '$x$')
fig.text(0.1, 0.9, '$y$')
ax.spines[['top', 'right']].set_visible(False)
ax.set_xticks([a, b], labels=['$a$', '$b$'])
ax.set_yticks([])
plt.title('Funktion = x**2,. Grenzen a=4, b=9 ')
plt.grid(True)
plt.show()
##########################
Re: kleine Mathe-Spielereien
Verfasst: Montag 20. Februar 2023, 11:00
von OSWALD
20.02.2023
Für die Praxis: Wo integriert wird,
wird in der Regel auch differenziert.
SYMPY machts möglich.
f --> F ->> f'
Gute Zeit OSWALD
Code: Alles auswählen
from sympy import *
x = symbols('x')
f = 7*x**5- ln(x)+3
print("f(x) =", f)
print("Stammfunktion: F(x) =", integrate(f, x))
print("Ableitung: f'(x) =", diff(f, x))
print()
f = - 2*x**2 + log(4*x) * 1/x
print("f(x) =", f)
print("Stammfunktion: F(x) =", integrate(f, x))
print("Ableitung: f'(x) =", diff(f, x))
print()
f = exp(x) + sin(2*x)*cos(x)
print("f(x) =", f)
print("Stammfunktion: F(x) =", integrate(f, x))
print("Ableitung: f'(x) =", diff(f, x))
Re: kleine Mathe-Spielereien
Verfasst: Dienstag 21. Februar 2023, 16:38
von OSWALD
21.02.2023
Die Berechnung der Bogenlänge mit sympy
(erweiterter Code von Dennis hier, so,)
Angebunden eine Graphik mit der gleichen Funktion.
Ich habe versucht die Grenzen des Bogens zu visualisieren,
zumindest symbolisch. Die Funktion ist beliebig
austauschbar. Schwieriges Terrain für Anfänger
Macht aber zunehmend Spass.
Re: kleine Mathe-Spielereien
Verfasst: Dienstag 21. Februar 2023, 16:44
von OSWALD
siehe oben
warum nicht kopiert ??
aber jetzt
Code: Alles auswählen
import sympy
import numpy as np
import numpy as np
from scipy.interpolate import make_interp_spline
A =-0.5 #siehe Zeeile 33
B= 1.5 #--ort A,B einsetzen'
def main():
x = sympy.symbols('x')
bogenlänge_y = 3*x**3 +2*x**2 +5 # sqrt ist die Wurzel
# diff ist die Ableitung
z = sympy.sqrt(1 + sympy.diff(bogenlänge_y, x) ** 2)
print(z)
# integrate ist die Integration
s = sympy.integrate(z, (x, A, B))
print(s)
# N wandelt das sympy-Objekt in eine Dezimalzahl
bogenlänge_s = sympy.N(s, 7)
print(f"Bogenlänge für y = {bogenlänge_y}")
print(f"Grenzen a ={A}, b ={B}")
print(f"Bogenlänge s = {bogenlänge_s}")
if __name__ == '__main__':
main()
import matplotlib.pyplot as plt
import numpy as np
# Definieren der x- und y-Werte
x = np.arange(A,B,0.1)
y = x**4 - 4*x**3
# Diagramm der Werte erstellen
plt.plot(x,y)
#Füllen Sie den Bereich zwischen den beiden Linien aus
plt.fill_between(x, y, np.max(y), color='red', alpha=.5)