Español
Fuente/ Codesnippets

Polynome a 7. Grades invertieren; z.B. en de Wirkung en Ursache a schließen

 

p.specht

Polynome son tan sozusagen el Gummi-Lineal el Mathematik: Durch Polynomanpassung a Messwerte kann así manche Formel para Vorgänge en Natur, Wirtschaft y Technik gefunden voluntad, el zwar una Zusammenhang beschreibt, el aber así no kausal geklärt es:

Wenn etwa steigende Börsennotierungen (Entrada) de Firmen con el Anzahl freigesetzter Mitarbeiter (Output) zusammenzuhängen scheinen, entonces hilft manchmal Inversion, sprich: El Interruptor el Formel después de el otro Página.
Man intenta dadurch, el Ergebnisvariable con el unabhängigen Variable a vertauschen y así una "Gegenformel" para encontrar: Wirkt el Freisetzung de Mitarbeitern (Entrada) en el Börsenkurs (Output) de, porque z.B. sinkende Lohnkosten Aktionäre y kurzsichtigen Spekulanten en größere Gewinnausschüttungen hoffen dejar? Verrückte Welt...

Anbei una Programa a Polynominversion en el obigen Sinne. Lo kann Formeln a para Grad 7 invertieren, el Koeffizient a1 darf esta pero no Null ser! Das todo natürlich como siempre sin jede Gewähr!
Windowtitle "Polynom-Inversion: Aus Y=a0+a1*X+a2*x^2+... se X=b0+b1*Y+b2*X^2+..."
Windowstyle 24:Cls'(D) Demo 2017-05 by P.Pájaro carpintero, Vienna/EU. No warranty whatsoever!
'****************************************************
'*   Program to demonstrate the series reversion    *
'* ------------------------------------------------ *
'* Reference: BASIC Scientific Subroutines, Vol. II *
'* By F.R. Ruckdeschel, BYTE/McGRAWW-HILL, 1981 [1].*
'*                                                  *
'*             F90 Versión by J.-P. Moreau, Paris.  *
'*                     (www.jpmoreau.fr)            *
'* XProfan 11.2 Versión by P.Pájaro carpintero, Vienna/Austria *
'* ------------------------------------------------ *
'* SAMPLE RUN:                                      *
'* What is the degree of the input polynomial: 3    *
'*                                                  *
'* Entrada the coefficients as prompted:              *
'*                                                  *
'*    A( 0) = 1                                     *
'*    A( 1) = 1                                     *
'*    A( 2) = 1                                     *
'*    A( 3) = 1                                     *
'*                                                  *
'* The reversed polynomial coefficients are:        *
'*                                                  *
'*    B( 0) =  9                                    *
'*    B( 1) =  1                                    *
'*    B( 2) =  0                                    *
'*    B( 3) = -1                                    *
'*    B( 4) =  0                                    *
'*    B( 5) =  3                                    *
'*    B( 6) =  0                                    *
'*    B( 7) = -12                                   *
'*                                                  *
'****************************************************
Conjunto("decimals",15)_Declare A![10],B![10],i&,n&,z!
Imprimir "\n Grad des Polynoms?: ";:Entrada n&
Imprimir "\n Bitte el Koeffizienten des Polynoms como abgefragte eingeben:\n"

WhileLoop 0,n&:i& = &Loop

    Imprimir " a(";i&;") = ";:Entrada z!:A![i&]=z!
    EndWhile:Imprimir
    Reverse_coeff(A![],B![])
    ::::ClearClip

    If A![1]<>0

        imprimir " El reversen Polynom-Koeffizienten lauten:\n"

        WhileLoop 0,7:i&=&Loop

            If Abs(B![i&]) < Val("1e-20")

                B![i&] = 0

            EndIf

            Imprimir " b(";i&;") = ";Formato$("%g",B![i&])
            ::::PutClip Formato$("%g",B![i&])+","

        EndWhile

        EndIf:Imprimir "\n OK"
        WaitInput:FIN

        Proc Reverse_coeff :Parámetros A![],B![]

            '******************************************************
            '* Series reversion - This routine takes a polynomial *
            '* Y = A(0) + A(1) * X + ... and returns a polynomial *
            '* X = B(0) + B(1) * Y + ... A(1) must be <> 0.       *
            '* The degree of reversion is limited to seven.       *
            '* -------------------------------------------------- *
            '* Reference: CRC Standard Mathematical Tables,       *
            '* 24th edition.                                      *
            '******************************************************
            Declarar a1!,a2!,a3!,a4!,a5!,a6!,a7!,aa!,bb!
            a1!=A![1]
            a2!=0

            If a1!=0

                imprimir " Fehler: Division por 0! A(1) darf no Null ser!":Volver

            más

                B![1]=1/a1!
                aa!=1/a1!

            EndIf

            bb!=aa!*aa!
            aa!=aa!*bb!
            B![2]=-a2!/aa!
            a3!=A![3]
            aa!=aa!*bb!
            B![3]=aa!*(2*a2!*a2! - a1!*a3!)
            a4!=A![4]
            aa!=aa!*bb!
            B![4]=aa!*(5*a1!*a2!*a3! - a1!*a1!*a4! - 5*a2!*a2!*a2!)
            a5!=A![5]
            aa!=aa!*bb!
            B![5]=6*a1!*a1!*a2!*a4! + 3*a1!*a1!*a3!*a3! + 14*a2!*a2!*a2!*a2!
            B![5]=B![5] - a1!*a1!*a1!*a5! - 21*a1!*a2!*a2!*a3!
            B![5]=aa!*B![5]
            a6!=A![6]
            aa!=aa!*bb!
            B![6]=7*a1!*a1!*a1!*a2!*a5! + 7*a1!*a1!*a1!*a3!*a4! + 84*a1!*a2!*a2!*a2!*a3!
            B![6]=B![6] - a1!*a1!*a1!*a1!*a6! - 28*a1!*a1!*a2!*a2!*a4!
            B![6]=B![6] - 28*a1!*a1!*a2!*a3!*a3! - 42*a2!*a2!*a2!*a2!*a2!
            B![6]=aa!*B![6]
            a7!=A![7]
            aa!=aa!*bb!
            B![7]=8*a1!*a1!*a1!*a1!*a2!*a6! + 8*a1!*a1!*a1!*a1!*a3!*a5!
            B![7]=B![7] + 4*a1!*a1!*a1!*a1!*a4!*a4! + 120*a1!*a1!*a2!*a2!*a2!*a4!
            B![7]=B![7] + 180*a1!*a1!*a2!*a2!*a3!*a3! + 132*a2!*a2!*a2!*a2!*a2!*a2!
            B![7]=B![7] - a1!*a1!*a1!*a1!*a1!*a7! - 36*a1!*a1!*a1!*a2!*a2!*a5!
            B![7]=B![7] - 72*a1!*a1!*a1!*a2!*a3!*a4! - 12*a1!*a1!*a1!*a3!*a3!*a3!
            B![7]=B![7] - 330*a1!*a2!*a2!*a2!*a2!*a3!
            B![7]=aa!*B![7]
            B![0]=0
            aa!=A![0]

            WhileLoop 1,7:i&=&Loop

                B![0]=B![0] - B![i&]*aa!
                aa!=aa!*A![0]

            EndWhile

        ENDPROC

        ' End of file reverse.prf
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
24.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.445 Views

Untitledvor 0 min.
p.specht20.11.2021
Uwe Lang20.11.2021
Manfred Barei19.11.2021
Wilfried Friebe17.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