Code übermitteln
Verfasst: Montag 7. August 2023, 16:40
Ich finde die Stelle nicht, wo man einen Code eingeben kann.
Seit 2002 Diskussionen rund um die Programmiersprache Python
https://www.python-forum.de/
Code: Alles auswählen
import matplotlib.pyplot as plt
import numpy as np
def pkt(A, lw, c):
for i in range(len(A)):
plt.plot(A[i][0], A[i][1], color = c, marker = 'o', markersize = 3*lw)
def gls(a, A):
b = []
for i in range(len(A)):
b.append(A[i][1])
x = np.linalg.solve(a,b)
return x
def zeichne(A,lw, c):
a0 = []
for i in range(len(A)):
a0.append(A[i][0])
a = np.vander(a0, increasing = True)
if np.linalg.det(a) == 0:
print('singuläre Matrix, übersprungen')
return
x = gls(a, A)
t = np.linspace(-20,20,300)
y = 0
for i in range(len(A)):
y += x[i]*t**i
pkt(A, lw, c)
plt.plot(t,y, linewidth=lw, color = c)
A = [[-5,-2], [1,2], [2,5], [-3,-2], [-1,5], [3,2], [4,-2]]
B = [[1,-2], [2,-5], [3,2], [4,5], [5,2]]
def kurve(A,B,b,r):
plt.xlim(-10, 10)
plt.ylim(-30, 30)
v = -5
while v < 5:
zeichne(A, 1, b)
zeichne(B, 1, r)
plt.pause(0.2)
zeichne(A, 5, 'white')
zeichne(B, 5, 'white')
A[0][0] += 0.1
B[-1][0] -= 0.11
v += 0.1
zeichne(A, 1, b)
zeichne(B, 1, r)
plt.show()
kurve(A,B,'blue','red')
Code: Alles auswählen
import matplotlib.pyplot as plt
import numpy as np
def pkt(points, line_width, color):
return plt.plot(points[:, 0], points[:, 1], linewidth=0, color=color, marker='o', markersize=3*line_width)
def gls(a, b):
x = np.linalg.solve(a, b)
return x
def zeichne(A, linewidth, color):
A = np.array(A)
a0 = A[:, 0]
a = np.vander(a0, increasing=True)
if np.linalg.det(a) == 0:
print('singuläre Matrix, übersprungen')
return []
x = gls(a, A[:, 1])
t = np.linspace(-20,20,300)
y = np.polyval(x[::-1], t)
return (
pkt(A, linewidth, color)
+ plt.plot(t, y, linewidth=linewidth, color=color)
)
def kurve(A, B, b, r):
plt.xlim(-10, 10)
plt.ylim(-30, 30)
for v in np.linspace(-5, 5, 100, endpoint=False):
plots = (
zeichne(A, 1, b)
+ zeichne(B, 1, r)
)
plt.pause(0.2)
for p in plots:
p.remove()
A[0][0] += 0.1
B[-1][0] -= 0.11
zeichne(A, 1, b)
zeichne(B, 1, r)
plt.show()
def main():
A = [[-5,-2], [1,2], [2,5], [-3,-2], [-1,5], [3,2], [4,-2]]
B = [[1,-2], [2,-5], [3,2], [4,5], [5,2]]
kurve(A, B, 'blue', 'red')
if __name__ == "__main__":
main()
Code: Alles auswählen
def zeichne(A, linewidth, color):
A = np.array(A)
x = np.polyfit(A[:,0], A[:, 1], len(A) - 1)
t = np.linspace(-20, 20, 300)
y = np.polyval(x, t)
return (
plt.plot(A[:, 0], A[:, 1], linewidth=0, color=color, marker='o', markersize=3*line_width)
+ plt.plot(t, y, linewidth=linewidth, color=color)
)