Zur Beschreibungsseite auf Commons

Datei:MDKQ6 anim.gif

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

MDKQ6_anim.gif (450 × 350 Pixel, Dateigröße: 42 KB, MIME-Typ: image/gif, Endlosschleife, 10 Bilder, 1,0 s)

Diese Datei und die Informationen unter dem roten Trennstrich werden aus dem zentralen Medienarchiv Wikimedia Commons eingebunden.

Zur Beschreibungsseite auf Commons


Beschreibung

Beschreibung
Deutsch: Teilbild einer Animation Polynomapproximation unterschiedlicher Polynomordnung
Datum
Quelle MDKQ anim.gif
Urheber Johannes Kalliauer
Andere Versionen File:MDKQ_anim.gif

Lizenz

Ich, der Urheber dieses Werkes, veröffentliche es unter der folgenden Lizenz:
Creative Commons CC-Zero Diese Datei wird unter der Creative-Commons-Lizenz CC0 1.0 Verzicht auf das Copyright zur Verfügung gestellt.
Die Person, die das Werk mit diesem Dokument verbunden hat, übergibt dieses weltweit der Gemeinfreiheit, indem sie alle Urheberrechte und damit verbundenen weiteren Rechte – im Rahmen der jeweils geltenden gesetzlichen Bestimmungen – aufgibt. Das Werk kann – selbst für kommerzielle Zwecke – kopiert, modifiziert und weiterverteilt werden, ohne hierfür um Erlaubnis bitten zu müssen.

Quellen: Skript zur Bildgenerierung

Erzeugungsskript, um die Grafik zu erstellen.

Anleitung

Benötigte Open-Source-Software:

Nach der Installation von Python den Quelltext in eine Datei mdkq.py kopieren und starten durch Doppelklicken oder in der Konsole durch Eingabe von

python mdkq.py

Python-Skript

 
Dieser Plot wurde von v mit Matplotlib erstellt.
#This source code is public domain
#Created by Christian Schirm
#Edited by Johannes Kalliauer
import numpy, pylab
from matplotlib.font_manager import FontProperties
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from numpy.random import randn

x=[1,2,3,4,5,6]
y=[2.0,2.5,2.5,3.4,3.7,6.6]

for N in range(1,7):
   A=numpy.zeros((N,N))
   for i in range(N):
       for j in range(N):
           A[i,j]=sum(xi**(i+j) for xi in x)
   b=numpy.zeros((N))
   for i in range(N):
       b[i]=sum(xi**(i)*yi for xi,yi in zip(x,y))
   c=numpy.linalg.solve(A, b)
   xr=numpy.asarray(x)
   yr=numpy.sum([c[i]*xr**i for i in range(len(c))],axis=0)
   residuen=[]
   for i in range(len(x)): residuen+=[[xr[i],xr[i]],[y[i],yr[i]],'g-']
   xneu=numpy.linspace(0, 8, num=100)
   yneu=numpy.sum([c[i]*xneu**i for i in range(len(c))],axis=0)
   plt.clf()
   fig = plt.figure(figsize=(4.5, 3.5))
   fig.subplotpars.bottom=0.13
   y0=plt.plot(*residuen[:-3])
   plt.setp(y0, color='#80d080', linewidth=1.5)
   #y0=plt.plot(*residuen[-3:], label="Residuen")
   y0,=plt.plot(*residuen[-3:])
   plt.setp(y0, color='#80d080', linewidth=1.5)
   #y2=plt.plot(xneu,yneu,'r-', label="Modellfunktion")
   y2,=plt.plot(xneu,yneu,'r-')
   #y1=plt.plot(x,y,'o', label="Messpunkte")
   y1,=plt.plot(x,y,'o')
   plt.xlabel('x')
   plt.ylabel('y')
   font = FontProperties()
   font.set_size('medium')
   leg = plt.legend([y1,y2,y0],['Messpunkte','Modellfunktion','Residuen'],frameon=True,loc='lower right',labelspacing=0.3,prop=font)
   #leg = plt.legend(frameon=True,loc='lower right',labelspacing=0.3,prop=font)
   plt.grid(True)
   plt.axis([0, 8, 0, 8])
   plt.text(1,7, "Polynomgrad "+str(N-1),bbox=dict(boxstyle="square,pad=0.5",color='white',ec='black',fill=True))
   #plt.show()
   plt.savefig('MDKQ_anim%i.png'%N)
   plt.savefig('test.eps', format='eps', dpi=900)
   plt.savefig("MDKQ_anim%i.svg"%N)

Kurzbeschreibungen

Ergänze eine einzeilige Erklärung, was diese Datei darstellt.

In dieser Datei abgebildete Objekte

Motiv

image/gif

42.702 Byte

1 Sekunde

350 Pixel

450 Pixel

974da00f0d33b14bc01a21c140e2b8b3519a6159

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell17:23, 25. Jun. 2017Vorschaubild der Version vom 17:23, 25. Jun. 2017450 × 350 (42 KB)JoKalliauer

Globale Dateiverwendung

Die nachfolgenden anderen Wikis verwenden diese Datei: