Anzeigen des Gesamtinhalts (oder Logo links anklicken) oder des Impressums.

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
analogrechner:vektorlaenge [2018-01-31 15:59] – inverse methode nach vorne, als beste angesehen raineranalogrechner:vektorlaenge [2021-10-11 07:54] – asciimath rainer
Zeile 148: Zeile 148:
 nicht ausreichend groß. nicht ausreichend groß.
  
 +Polynom-Approximation
 +--------------------
  
-\ASCIIMATHML ./ASCIIMathML.js+Wegen 
 + `sqrt(x^2+y^2) >= max(x,y) 
 + 
 +kann man auch durch einen linearen Ausdruck approxmieren: 
 +      `sqrt(x^2 + y^2) ~~ alpha x + beta y 
 +       
 +Hierbei ist für `x > y` der Koeffizient `alpha` ungefähr 1;  
 +dies wird als "Alpha max plus beta min" Verfahren bezeichnet (siehe [https://en.wikipedia.org/wiki/Alpha_max_plus_beta_min_algorithm]  für Werte von `alpha` und `beta`). 
 + 
 +Damit für `y=0` der Funktionswert nicht kleiner als `x` wird, ist `alpha = 1` vorzuziehen. 
 + 
 +Dies entspricht einer Approximation 
 +      `sqrt(1+x^2) ~~ 1 + 0.38 x if |x| <= 1 
 + 
 +wobei der Wert 0.38 durch Probieren ermittelt wurde. Mit dem Faktor `sqrt(2)-1 ~~ 0.414` wird der Fehler am Bereichsende minimiert.  
 + 
 +Besser ist freilich eine Taylorreihe (für `x<=1`) mit 
 + 
 +    `sqrt(1+x^2) ~~ 1 + 0.41*x^2 if |x| <= 1 
 +     
 +benötigt aber einen Quadrierer (anstelle von dreien).      
 +     
 +Mit einem zusätzlichen Multiplizierer ist der Fehler unter 1%: 
 + 
 +     `sqrt(1+x^2) ~~ 1 + (0.47 - 0.06x)*x^2 if |x| <= 1 
 +      
 +Die Koeffizienten sind wieder empirisch ermittelt; gegebenenfalls können optimale Koeffizienten über eine 
 +[https://rclab.de/analogrechner/tschebyscheffapproximation Tschebyscheff-Approximation] bestimmt werden. 
 + 
 +\ASCIIMATHML https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/latest.js?config=AM_CHTML
  
  
  
 </nimla> </nimla>

Anmelden