Español
Fuente/ Codesnippets

Interpolation por Kettenbruch-Desarrollo: Der Thiele-Algorithmus

 

p.specht

Interpolation liefert siempre exakte Werte a el Stützstellen. Das unterscheidet ellos de el Approximation, el intenta, sogenannte Ausgleichskurven zwischen viele Messdaten con geringstem Fehler einzupassen.

Un Interpolation por konvergente Kettenbruch-Desarrollo ha folgende Stärke: Rationale Características puede ya en Base de wenigen Stützstellen así entwickelt voluntad, daß gute Näherungen existieren; una exzellente Variante es el sog. Thiele'sche Kettenbruch. El hier gefundenen (en el wahrsten Sinne des Wortes) "Bruchstücke" voluntad ausgegeben, anschließend puede x-Werte eingegeben voluntad, en Zwischenwerte zwischen el Stützstellen abzufragen.
Als Demo wurde en File-I/O verzichtet. Ohne jede Gewähr:
Título de la ventana "Interpolation por konvergente Kettenbruchentwicklung"
Ventana de Estilo 24:randomize:font 2:set("decimals",17)
'{ Interpolation por Kettenbruchentwicklung
'*************************************************************
'*    Interpolate a function F(x) by continuous fractions    *
'* --------------------------------------------------------- *
'* SAMPLE RUN:                                               *
'* (Interpolate function e(x) between x=0 and x=2)           *
'*                                                           *
'* Number of points: 3                                       *
'* X, Y: 0,1                                                 *
'* X, Y: 1,2.71828                                           *
'* X, Y: 2,7.38906                                           *
'*                                                           *
'* Coefficients D(K):                                        *
'* D(0) =      1.000000                                      *
'* D(1) =      0.581977                                      *
'* D(2) =     -3.718271                                      *
'*                                                           *
'* X = 1.5                                                   *
'*                                                           *
'* For X = 1.5    Y =    4.351909                            *
'*                                                           *
'* --------------------------------------------------------- *
'* Ref.: "Methodes de calcul numerique, Tome 2 By Claude     *
'*        Nowakowski, PSI Edition, 1984" [BIBLI 04].         *
'*                                                           *
'*                       Basic Release By J-P Moreau, Paris. *
'*                                (www.jpmoreau.fr)          *
'*************************************************************
'*                                                           *
'*       XProfan-Versión by 2014-10 by P.Pájaro carpintero, Wien        *
'*                                                           *
'}************************************************************
CLS rnd(8^8)
Declarar n1&,n&,m&,K&,L&,xxx!,yyy!,DD!,DL!,XX!,S!
PRINT "\n Anzahl Stützwerte: ";:INPUT  N1& :imprimir
N&=N1&-1
Declarar X![N&],Y![N&],D![N&]
'Read data from screen

whileloop 0,n&:k&=&Loop

    imprimir "  X("+str$(k&)+") = ";
    input xxx!
    X![K&]=xxx!
    imprimir tab(20);" Y("+str$(k&)+") = ";
    input yyy!
    Y![K&]=yyy!

endwhile

'Calculate coefficients D(K)

whileloop 0,n&:k&=&Loop

    D![K&] = Y![K&]

endwhile

M&=N&

whileloop m&:L&=&Loop

    whileloop L&,N&:K&=&Loop

        DD! = (X![K&]-X![L&-1])/(D![K&]-D![L&-1])

        IF K&<>L&

            D![K&]=DD!

        ELSE

            DL!=DD!

        ENDIF

    endwhile

    D![L&]=DL!

endwhile

'imprimir coefficients
PRINT
PRINT " Koeffizienten D(K):"

whileloop 0,n&:k&=&Loop

    PRINT " D[";K&; "] = ";
    PRINT format$("%g",D![K&])

endwhile

REPEAT

    'Interpolate for X=XX
    PRINT
    imprimir " X = ",:Entrada XX!
    'Evaluate continuous fraction
    S!=(XX!-X![N&-1])/D![N&]

    whileloop n&-1,1,-1:k&=&Loop

        S!=(XX!-X![K&-1])/(D![K&]+S!)

    endwhile

    S!=S!+D![0]
    caso %csrlin>23:cls rnd(8^8)
    PRINT
    PRINT " Für el eingegebene X=";format$("%g",XX!);" es (Ihre Stützwerte zugrunde- "
    imprimir " gelegt) el Interpolierte Funktionswert Y =";format$("%g",S!)
    imprimir "---------------------------------------------------------------------"
    waitinput

UNTIL 0

 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
16.05.2021  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

1.421 Views

Untitledvor 0 min.
Erhard Wirth14.06.2024
p.specht21.11.2021
R.Schneider20.11.2021
Uwe Lang20.11.2021
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie