Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| MÉTHODE du plus petit carré (régression linéaire) | |
| | Auteur | Message |
---|
Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: MÉTHODE du plus petit carré (régression linéaire) Mar 8 Mai 2012 - 21:32 | |
| METHODE DER KLEINSTEN QUADRATE (LINEARE REGRESSION) Hallo Panoramics, für mein Programm brauche ich eine graphische Darstellung einer Ausgleichsgeraden. Diese wird berechnet mit dem unten stehenden Programm. Ich habe bisher die Grafik-Befehle vermieden. Aber es gibt sehr schöne Plotprogramme hier im Forum. Meine Vorstellung: Beginn ca. 15% vor dem minimal Wert. Ende ca 15% nach dem maximal Wert. Severin METHOD OF THE SMALLEST SQUARE (LINEAR REGRESSION) Hello Panoramics, I need for my program is a graphical representation of a regression line. This is calculated with the program below. I've been avoiding the graphics commands. But there are some very nice plot programs here in the forum. My idea: Beginning about 15% before the minimum value. End of about 15% after the maximum value. Severin MÉTHODE du plus petit carré (régression linéaire) Bonjour Panoramiques, J'ai besoin pour mon programme est une représentation graphique d'une droite de régression. Il est calculé par le programme ci-dessous. J'ai été en évitant les commandes graphiques. Mais il existe quelques programmes très beau terrain ici dans le forum. Mon idée: Début d'environ 15% avant la valeur minimale. Fin d'environ 15% après que la valeur maximale. Severin - Code:
-
REM AUSGLEICHUNG VERMITTELNDER BEOBACHTUNGEN NACH DER REM METHODE DER KLEINSTEN QUADRATE (LINEARE REGRESSION) ' full_space 0 ' ' ****************************************************************************** ' ****************************************************************************** DIM X_WERT(100) DIM Y_WERT(100) DIM yi(100) DIM ui(100) DIM ui2(100) ' DIM n DIM xo DIM xx DIM xy DIM yy DIM A_WERT DIM B_WERT DIM EU DIM yo DIM vv DIM s DIM i DIM mfa DIM mfb DIM mw DIM amw DIM bmw DIM uis DIM R2_BESTIMMTHEITMASS ' ****************************************************************************** ' ****************************************************************************** n = 10 ' *** X_WERT-WERTE DER REGRESSION *************************************************** X_WERT(1) = 208 X_WERT(2) = 152 X_WERT(3) = 113 X_WERT(4) = 227 X_WERT(5) = 137 X_WERT(6) = 238 X_WERT(7) = 178 X_WERT(8) = 104 X_WERT(9) = 191 X_WERT(10)= 130 ' *** Y_WERT-WERTE DER REGRESSION *************************************************** Y_WERT(1) = 21.6 Y_WERT(2) = 15.5 Y_WERT(3) = 10.4 Y_WERT(4) = 31.0 Y_WERT(5) = 13.0 Y_WERT(6) = 32.4 Y_WERT(7) = 19.0 Y_WERT(8) = 10.4 Y_WERT(9) = 19.0 Y_WERT(10)= 11.8 ' xo = 0 yo = 0 xx = 0 xy = 0 yy = 0 ' FOR i = 1 TO n xo = xo + X_WERT(i) yo = yo + Y_WERT(i) xx = xx + X_WERT(i) * X_WERT(i) yy = yy + Y_WERT(i) * Y_WERT(i) xy = xy + X_WERT(i) * Y_WERT(i) NEXT i ' REM NORMALGLEICHUNGEN N*A_WERT+XO*B_WERT=YO; XO*A_WERT+XX*B_WERT=XY A_WERT = (yo * xx - xo * xy) / (n * xx - (xo*xo)) B_WERT = (n * xy - yo * xo) / (n * xx - (xo*xo)) ' REM AUSGLEICHSGERADE (LINEARE REGRESSION) ' ' PRINT "AUSGLEICHSGERADE" PRINT print "KONSTANTE" PRINT A_WERT PRINT print "STEIGUNGSVARIABLE" PRINT B_WERT PRINT ' REM FEHLERQUADRATSUMME (F.Q.S.) vv = yy - yo * A_WERT - xy * B_WERT s = SQR(vv / (n - 2)) ' REM MITTLERER FEHLER (M.F.) A_WERT mfa = s * SQR(xx / (n * xx - xo * xo)) ' PRINT mfa ' REM MITTLERER FEHLER B_WERT mfb = s * SQR(n / (n * xx - xo * xo)) ' PRINT mfb ' REM BESTIMMTHEITSMASS ' Mittelwert von Y_WERT FOR i = 1 TO n mw = mw + Y_WERT(i) NEXT i ' mw = mw /n ' Abweichung vom Mittelwert Y_WERT FOR i = 1 TO n amw = 0 amw = amw + Y_WERT(i) - mw bmw = bmw + (amw * amw) NEXT i bmw = bmw ' ' Qadrierte Abweichung Y_WERT * Y_WERT FOR i = 1 TO n yi(i) = A_WERT + (B_WERT * X_WERT(i)) ui(i) = Y_WERT(i) - yi(i) ui2(i) = (ui(i) * ui(i)) uis = uis + ui2(i) NEXT i
PRINT print "Bestimmtheitsmass" R2_BESTIMMTHEITMASS = 1 - (uis/bmw) print print R2_BESTIMMTHEITMASS
Dernière édition par Severin le Lun 21 Mai 2012 - 21:20, édité 1 fois | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: MÉTHODE du plus petit carré (régression linéaire) Mer 9 Mai 2012 - 0:23 | |
| Bonjour Séverin, bon, je vais avoir besoin de mes amis ingénieurs pour m'aider. Si j'ai bien compris, à partir de valeurs et d'un modèle, cette méthode permet d'évaluer un résultat à partir d'une valeur connue ... mais bon, je pense que vous pourrez m'expliquer plus clairement, car je plane un peu dans ce domaine, même si ça m'a l'air très intéressant. Bon, en attendant, j'ai essayé de traduire le programme pour m'aider à comprendre, mais j'ai sans doute fait des erreurs de traduction et je compte sur nos ingénieurs qui comprendront les lignes de code pour corriger mes erreurs de traduction - Code:
-
REM METHODE DES MOINDRES CARRES (REGRESSION LINEAIRE) ' full_space 0 ' ' ****************************************************************************** ' DIM n, xo, xx, xy, yo, yy : n = 10 : xo = 0 : yo = 0 : xx = 0 : xy = 0 : yy = 0 ' ****************************************************************************** ' DIM X_WERT(n), Y_WERT(n) : ' X_VALEUR_EXPLICATIVE (EXOGENE), Y_VALEUR_EXPLIQUEE (ENDOGENE) DIM yi(n), ui(n), ui2(n) ' *** X_WERT VALEURS DE REGRESSION ****************************************************** X_WERT(1) = 208 : X_WERT(2) = 152 : X_WERT(3) = 113 : X_WERT(4) = 227 : X_WERT(5) = 137 X_WERT(6) = 238 : X_WERT(7) = 178 : X_WERT(8) = 104 : X_WERT(9) = 191 : X_WERT(10)= 130 ' *** Y_WERT VALEURS DE REGRESSION ****************************************************** Y_WERT(1) = 21.6 :Y_WERT(2) = 15.5 :Y_WERT(3) = 10.4 :Y_WERT(4) = 31.0 :Y_WERT(5) = 13.0 Y_WERT(6) = 32.4 :Y_WERT(7) = 19.0 :Y_WERT(8) = 10.4 :Y_WERT(9) = 19.0 :Y_WERT(10)= 11.8 ' *************************************************************************************** ' DIM A_WERT, B_WERT DIM EU, vv, s, i DIM mfa, mfb, mw, amw, bmw, uis DIM R2_BESTIMMTHEITMASS : ' Résultat de l'estimation ' ****************************************************************************** ' FOR i = 1 TO n xo = xo + X_WERT(i) : yo = yo + Y_WERT(i) xx = xx + X_WERT(i) * X_WERT(i) : yy = yy + Y_WERT(i) * Y_WERT(i) xy = xy + X_WERT(i) * Y_WERT(i) NEXT i ' REM EQUATIONS NORMALES: N*A_WERT+XO*B_WERT=YO; XO*A_WERT+XX*B_WERT=XY A_WERT = (yo * xx - xo * xy) / (n * xx - (xo*xo)) B_WERT = (n * xy - yo * xo) / (n * xx - (xo*xo)) ' REM METHODE DES MOINDRES CARRES (LINEARE REGRESSION) ' ' PRINT "METHODE DES MOINDRES CARRES": PRINT PRINT "CONSTANTE" : PRINT A_WERT : PRINT PRINT "PERTURBATION": PRINT B_WERT : PRINT ' REM SOMME DES CARRES (F.Q.S.) vv = yy - yo * A_WERT - xy * B_WERT s = SQR(vv / (n - 2)) ' REM ERREUR (M.F.) A_WERT mfa = s * SQR(xx / (n * xx - xo * xo)) PRINT "ERREUR VALEUR A" : PRINT mfa : PRINT ' REM ERREUR B_WERT mfb = s * SQR(n / (n * xx - xo * xo)) PRINT "ERREUR VALEUR B" : PRINT mfb : PRINT ' REM ESTIMATION ' Moyenne de Y_WERT FOR i = 1 TO n: mw = mw + Y_WERT(i) : NEXT i ' mw = mw /n ' Dérivée de la moyenne de Y_WERT FOR i = 1 TO n amw = 0 : amw = amw + Y_WERT(i) - mw bmw = bmw + (amw * amw) NEXT i bmw = bmw ' ' Quadrature de la dérivée Y_WERT * Y_WERT FOR i = 1 TO n yi(i) = A_WERT + (B_WERT * X_WERT(i)) ui(i) = Y_WERT(i) - yi(i) ui2(i) = (ui(i) * ui(i)) uis = uis + ui2(i) NEXT i
R2_BESTIMMTHEITMASS = 1 - (uis/bmw) PRINT "ESTIMATION" : PRINT R2_BESTIMMTHEITMASS | |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: MÉTHODE du plus petit carré (régression linéaire) Mer 9 Mai 2012 - 18:11 | |
| METHODE DER KLEINSTEN QUADRATE (LINEARE REGRESSION) Hallo Panoramics, ich hab unter das Programm eine Skizze gezeichnet. @ Jicehel du hast das Programm verstanden. Mir fehlt nur die Darstellung der Gerade mit den Y-Punkten, in den XY Kordinaten. Severin Meine Antworten dauern, ich bin auf Dienstreise. METHOD OF THE SMALLEST SQUARE (LINEAR REGRESSION) Hello Panoramics, I have a sketch drawn by the program. @ Jicehel you understand the program. I have not only the representation of straight line with the Y-points, in the XY coordinates. Severin My last answer, I'm on a business trip. MÉTHODE du plus petit carré (régression linéaire) Bonjour Panoramiques, J'ai un croquis dessiné par le programme. @ Jicehel vous comprenez le programme. Je n'ai pas seulement la représentation de la ligne droite avec les points de Y-, dans les coordonnées XY. Severin Ma dernière réponse, je suis en voyage d'affaires. Look at Graphic Novel - Code:
-
REM METHODE DES MOINDRES CARRES (REGRESSION LINEAIRE) ' full_space 0 ' ' ****************************************************************************** ' DIM n, xo, xx, xy, yo, yy : n = 10 : xo = 0 : yo = 0 : xx = 0 : xy = 0 : yy = 0 ' ****************************************************************************** ' DIM X_WERT(n), Y_WERT(n) : ' X_VALEUR_EXPLICATIVE (EXOGENE), Y_VALEUR_EXPLIQUEE (ENDOGENE) DIM yi(n), ui(n), ui2(n) ' *** X_WERT VALEURS DE REGRESSION ****************************************************** X_WERT(1) = 208 : X_WERT(2) = 152 : X_WERT(3) = 113 : X_WERT(4) = 227 : X_WERT(5) = 137 X_WERT(6) = 238 : X_WERT(7) = 178 : X_WERT(8) = 104 : X_WERT(9) = 191 : X_WERT(10)= 130 ' *** Y_WERT VALEURS DE REGRESSION ****************************************************** Y_WERT(1) = 21.6 :Y_WERT(2) = 15.5 :Y_WERT(3) = 10.4 :Y_WERT(4) = 31.0 :Y_WERT(5) = 13.0 Y_WERT(6) = 32.4 :Y_WERT(7) = 19.0 :Y_WERT(8) = 10.4 :Y_WERT(9) = 19.0 :Y_WERT(10)= 11.8 ' *************************************************************************************** ' DIM A_WERT, B_WERT DIM EU, vv, s, i DIM mfa, mfb, mw, amw, bmw, uis DIM R2_BESTIMMTHEITMASS : ' Résultat de l'estimation DIM R1_BESTIMMTHEITMASS : ' Résultat de l'estimation % ' ****************************************************************************** ' FOR i = 1 TO n xo = xo + X_WERT(i) : yo = yo + Y_WERT(i) xx = xx + X_WERT(i) * X_WERT(i) : yy = yy + Y_WERT(i) * Y_WERT(i) xy = xy + X_WERT(i) * Y_WERT(i) NEXT i ' REM EQUATIONS NORMALES: N*A_WERT+XO*B_WERT=YO; XO*A_WERT+XX*B_WERT=XY A_WERT = (yo * xx - xo * xy) / (n * xx - (xo*xo)) B_WERT = (n * xy - yo * xo) / (n * xx - (xo*xo)) ' REM METHODE DES MOINDRES CARRES (LINEARE REGRESSION) ' ' PRINT "METHODE DES MOINDRES CARRES": PRINT PRINT "CONSTANTE" : PRINT A_WERT : PRINT PRINT "PERTURBATION": PRINT B_WERT : PRINT ' REM SOMME DES CARRES (F.Q.S.) vv = yy - yo * A_WERT - xy * B_WERT s = SQR(vv / (n - 2)) ' REM ERREUR (M.F.) A_WERT mfa = s * SQR(xx / (n * xx - xo * xo)) PRINT "ERREUR VALEUR A" : PRINT mfa : PRINT ' REM ERREUR B_WERT mfb = s * SQR(n / (n * xx - xo * xo)) PRINT "ERREUR VALEUR B" : PRINT mfb : PRINT ' REM ESTIMATION ' Moyenne de Y_WERT FOR i = 1 TO n: mw = mw + Y_WERT(i) : NEXT i ' mw = mw /n ' Dérivée de la moyenne de Y_WERT FOR i = 1 TO n amw = 0 : amw = amw + Y_WERT(i) - mw bmw = bmw + (amw * amw) NEXT i bmw = bmw ' ' Quadrature de la dérivée Y_WERT * Y_WERT FOR i = 1 TO n yi(i) = A_WERT + (B_WERT * X_WERT(i)) ui(i) = Y_WERT(i) - yi(i) ui2(i) = (ui(i) * ui(i)) uis = uis + ui2(i) NEXT i
R2_BESTIMMTHEITMASS = 1 - (uis/bmw) PRINT "ESTIMATION" : PRINT R2_BESTIMMTHEITMASS :PRINT
R1_BESTIMMTHEITMASS = (R2_BESTIMMTHEITMASS * R2_BESTIMMTHEITMASS)*100 PRINT "ESTIMATION %" : PRINT R1_BESTIMMTHEITMASS
' Startwert = -8,645 + 0,161 * (Ymin -15%) ' Endwert = -8,645 + 0,161 * (Ymax -15%) ' ****************************************************************************** ' ' I * ' I ' I * ' I ' I * ' I ' I * ' I * ' I ' I ' I ' I * ' I ' ______________________________________________________________________________ ' I I ' 10,4 -15% 32,4 + 15%
| |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: MÉTHODE du plus petit carré (régression linéaire) Jeu 10 Mai 2012 - 22:21 | |
| @ Jicehel
hilfst du mir bei der grafischen Darstellung ? Oder hast du aufgegeben? Severin
@ Jicehel
help me in the graph? Or have you given up? Severin
@ Jicehel
m'aider dans le graphique? Ou avez-vous renoncé? Severin | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: MÉTHODE du plus petit carré (régression linéaire) Jeu 10 Mai 2012 - 23:50 | |
| Je ne suis pas sûr de ce que je fais, mais je te propose un ébauche qui sera à améliorer par tes soins si ça correspond approximativement à ce que tu souhaites. Ca peut largement être amélioré je pense ... (et j'espère ne pas avoir fait d'erreur de logique, je ne connais pas assez pour vérifier que ce que je fais est cohérent) - Code:
-
REM METHODE DES MOINDRES CARRES (REGRESSION LINEAIRE) ' full_space 0 ' ' ****************************************************************************** ' DIM n, xo, xx, xy, yo, yy : n = 10 : xo = 0 : yo = 0 : xx = 0 : xy = 0 : yy = 0 ' ****************************************************************************** ' DIM X_WERT(n), Y_WERT(n) : ' X_VALEUR_EXPLICATIVE (EXOGENE), Y_VALEUR_EXPLIQUEE (ENDOGENE) DIM yi(n), ui(n), ui2(n) ' *** X_WERT VALEURS DE REGRESSION ****************************************************** X_WERT(1) = 208 : X_WERT(2) = 152 : X_WERT(3) = 113 : X_WERT(4) = 227 : X_WERT(5) = 137 X_WERT(6) = 238 : X_WERT(7) = 178 : X_WERT(8) = 104 : X_WERT(9) = 191 : X_WERT(10)= 130 ' *** Y_WERT VALEURS DE REGRESSION ****************************************************** Y_WERT(1) = 21.6 :Y_WERT(2) = 15.5 :Y_WERT(3) = 10.4 :Y_WERT(4) = 31.0 :Y_WERT(5) = 13.0 Y_WERT(6) = 32.4 :Y_WERT(7) = 19.0 :Y_WERT(8) = 10.4 :Y_WERT(9) = 19.0 :Y_WERT(10)= 11.8 ' *************************************************************************************** ' DIM A_WERT, B_WERT DIM EU, vv, s, i, p DIM mfa, mfb, mw, amw, bmw, uis DIM R2_BESTIMMTHEITMASS : ' Résultat de l'estimation DIM R1_BESTIMMTHEITMASS : ' Résultat de l'estimation % ' ****************************************************************************** DIM X_MIN,X_MAX,Y_MIN,Y_MAX : X_MIN=X_WERT(1):X_MAX=X_WERT(1):Y_MIN=Y_WERT(1):Y_MAX=Y_WERT(1) DIM lx,ly: lx = 1200 : ly = 750 : width 0,lx : height 0,ly : ' Dimensions de la fenêtre DIM mx,my: mx=10 : my=10 : ' Marges x et y DIM titre$ : titre$ = string$(120," ") : titre$ = titre$ + "METHODE DES MOINDRES CARRES (REGRESSION LINEAIRE) PAR SEVERIN" caption 0,titre$
' FOR i = 1 TO n if X_WERT(i) < X_MIN then X_MIN=X_WERT(i) if X_WERT(i) > X_MAX then X_MAX=X_WERT(i) if Y_WERT(i) < Y_MIN then Y_MIN=Y_WERT(i) if Y_WERT(i) > Y_MAX then Y_MAX=Y_WERT(i) xo = xo + X_WERT(i) : yo = yo + Y_WERT(i) xx = xx + X_WERT(i) * X_WERT(i) : yy = yy + Y_WERT(i) * Y_WERT(i) xy = xy + X_WERT(i) * Y_WERT(i) NEXT i ' REM EQUATIONS NORMALES: N*A_WERT+XO*B_WERT=YO; XO*A_WERT+XX*B_WERT=XY A_WERT = (yo * xx - xo * xy) / (n * xx - (xo*xo)) B_WERT = (n * xy - yo * xo) / (n * xx - (xo*xo)) ' REM METHODE DES MOINDRES CARRES (LINEARE REGRESSION) ' ' PRINT "METHODE DES MOINDRES CARRES": PRINT PRINT "CONSTANTE" : PRINT A_WERT : PRINT PRINT "PERTURBATION": PRINT B_WERT : PRINT ' REM SOMME DES CARRES (F.Q.S.) vv = yy - yo * A_WERT - xy * B_WERT s = SQR(vv / (n - 2)) ' REM ERREUR (M.F.) A_WERT mfa = s * SQR(xx / (n * xx - xo * xo)) PRINT "ERREUR VALEUR A" : PRINT mfa : PRINT ' REM ERREUR B_WERT mfb = s * SQR(n / (n * xx - xo * xo)) PRINT "ERREUR VALEUR B" : PRINT mfb : PRINT ' REM ESTIMATION ' Moyenne de Y_WERT FOR i = 1 TO n: mw = mw + Y_WERT(i) : NEXT i ' mw = mw /n ' Dérivée de la moyenne de Y_WERT FOR i = 1 TO n amw = 0 : amw = amw + Y_WERT(i) - mw bmw = bmw + (amw * amw) NEXT i bmw = bmw ' ' Quadrature de la dérivée Y_WERT * Y_WERT FOR i = 1 TO n yi(i) = A_WERT + (B_WERT * X_WERT(i)) ui(i) = Y_WERT(i) - yi(i) ui2(i) = (ui(i) * ui(i)) uis = uis + ui2(i) NEXT i
R2_BESTIMMTHEITMASS = 1 - (uis/bmw) PRINT "ESTIMATION" : PRINT R2_BESTIMMTHEITMASS :PRINT
R1_BESTIMMTHEITMASS = (R2_BESTIMMTHEITMASS * R2_BESTIMMTHEITMASS)*100 PRINT "ESTIMATION %" : PRINT R1_BESTIMMTHEITMASS
' Startwert = -8,645 + 0,161 * (Ymin -15%) ' Endwert = -8,645 + 0,161 * (Ymax -15%) ' ****************************************************************************** ' ' I * ' I ' I * ' I ' I * ' I ' I * ' I * ' I ' I ' I ' I * ' I ' ______________________________________________________________________________ ' I I ' 10,4 -15% 32,4 + 15% ' ****************************************************************************** ' *** Tracé des axes
p=x_max-x_min if p < 1 p = 0.1 else if p < 5 p = 0.5 else if p < 20 p = 1 else if p < 50 p = 5 else p = 10 end_if end_if end_if end_if xo = (lx-120) / p : xx= 110 : yy = ly/2 for i = x_min to x_max step p print_locate xx,yy+10 : print i 2d_pen_color 127,127,127 : 2d_line xx,10,xx,ly-10 xx= xx+xo next i 2d_pen_color 200,50,50 : 2d_line lx/2,10,lx/2,ly-10 p=y_max-y_min if p < 1 p = 0.1 else if p < 5 p = 0.5 else if p < 20 p = 1 else if p < 50 p = 5 else p = 10 end_if end_if end_if end_if yo = (ly-20) / p : yy= 10 : xx = lx/2 for i = y_min to y_max step p print_locate xx+10,yy : print i 2d_pen_color 127,127,127 : 2d_line 110,yy,lx-10,yy yy= yy+yo next i 2d_pen_color 200,50,50 : 2d_line 110,ly/2,lx-10,ly/2 2d_pen_color 50,200,50 xo=(lx-120)/(x_max-x_min):yo=(ly-20)/(y_max-y_min) FOR i = 1 TO n 2d_circle (X_WERT(i)-x_min)*xo+110,(Y_WERT(i)-y_min)*yo+10, 3 caption 0, str$(xo) + " : " + str$(X_WERT(i)*xo+110) +" : "+str$(Y_WERT(i)*yo+10) wait 500 NEXT i end
| |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: MÉTHODE du plus petit carré (régression linéaire) Ven 11 Mai 2012 - 22:47 | |
| Hallo Panoramics, hier der Versuch einer Grafik für die Messpunkte. Einfach programmiert. Severin Verbesserung erwünscht. Hello Panoramics, image for an attempt at measurement points. Easy to program. Severin Improvement is desired. Bonjour Panoramiques, l'image pour une tentative de points de mesure. Facile à programmer. Severin L'amélioration est souhaitée. - Code:
-
REM METHODE DES MOINDRES CARRES (REGRESSION LINEAIRE) ' full_space 0 ' ' ****************************************************************************** ' DIM n, xo, xx, xy, yo, yy : n = 10 : xo = 0 : yo = 0 : xx = 0 : xy = 0 : yy = 0 ' ****************************************************************************** ' DIM X_WERT(n), Y_WERT(n) : ' X_VALEUR_EXPLICATIVE (EXOGENE), Y_VALEUR_EXPLIQUEE (ENDOGENE) DIM yi(n), ui(n), ui2(n) ' *** X_WERT VALEURS DE REGRESSION ****************************************************** X_WERT(1) = 208 : X_WERT(2) = 152 : X_WERT(3) = 113 : X_WERT(4) = 227 : X_WERT(5) = 137 X_WERT(6) = 238 : X_WERT(7) = 178 : X_WERT(8) = 104 : X_WERT(9) = 191 : X_WERT(10)= 130 ' *** Y_WERT VALEURS DE REGRESSION ****************************************************** Y_WERT(1) = 21.6 :Y_WERT(2) = 15.5 :Y_WERT(3) = 10.4 :Y_WERT(4) = 31.0 :Y_WERT(5) = 13.0 Y_WERT(6) = 32.4 :Y_WERT(7) = 19.0 :Y_WERT(8) = 10.4 :Y_WERT(9) = 19.0 :Y_WERT(10)= 11.8 ' *************************************************************************************** ' DIM A_WERT, B_WERT DIM EU, vv, s, i DIM mfa, mfb, mw, amw, bmw, uis DIM R2_BESTIMMTHEITMASS : ' Résultat de l'estimation DIM R1_BESTIMMTHEITMASS : ' Résultat de l'estimation % ' ****************************************************************************** ' DIM NullPunkt_X : DIM FX DIM NullPunkt_Y : DIM FY DIM PUNKTXY ' FOR i = 1 TO n xo = xo + X_WERT(i) : yo = yo + Y_WERT(i) xx = xx + X_WERT(i) * X_WERT(i) : yy = yy + Y_WERT(i) * Y_WERT(i) xy = xy + X_WERT(i) * Y_WERT(i) NEXT i ' REM EQUATIONS NORMALES: N*A_WERT+XO*B_WERT=YO; XO*A_WERT+XX*B_WERT=XY A_WERT = (yo * xx - xo * xy) / (n * xx - (xo*xo)) B_WERT = (n * xy - yo * xo) / (n * xx - (xo*xo)) ' REM METHODE DES MOINDRES CARRES (LINEARE REGRESSION) ' ' ' Form 0000 TOP 0000,0 LEFT 0000,0 WIDTH 0000,SCREEN_X HEIGHT 0000,SCREEN_Y-44 COLOR 0000,000,000,000 CAPTION 0000,"REGRESSION LINEAIRE" ' ' ZEICHENFLÄCHE COMMAND_TARGET_IS 0000 FORM 0010 TOP 0010,100 LEFT 0010,100 WIDTH 0010,SCREEN_X-12-100-100 HEIGHT 0010,SCREEN_Y-106-100 COLOR 0010,000,255,000 BORDER_HIDE 0010 ' 2D_TARGET_IS 0010 ' WAAGERECHTE LINIEN for i = 0 To SCREEN_Y-106-100 Step 50 2d_LINE 0,i,SCREEN_X-12-100-100,i next i ' SENKRECHTE LINIEN for i = 0 To SCREEN_X-12-100-100 Step 50 2d_LINE i,0,i,SCREEN_Y-106-100 next i ' ' Punkte setzen **************************************************************** ' 2d_fill_color 255,000,000 ' Höhe im Diagramm FY bestimmt den Abstand zur X-Linie NullPunkt_Y = SCREEN_Y-106-100 FY = 20 ' NullPunkt_X = 0 FX = 5 ' PUNKTXY = 5 ' ' For i = 1 TO 10 ' 2d_circle (NullPunkt_X+(X_WERT(i))*FX),(NullPunkt_Y - (Y_WERT(i))*FY),PUNKTXY ' Next i ' COMMAND_TARGET_IS 0000
PRINT "METHODE DES MOINDRES CARRES": PRINT PRINT "CONSTANTE" : PRINT A_WERT : PRINT PRINT "PERTURBATION": PRINT B_WERT : PRINT ' REM SOMME DES CARRES (F.Q.S.) vv = yy - yo * A_WERT - xy * B_WERT s = SQR(vv / (n - 2)) ' REM ERREUR (M.F.) A_WERT mfa = s * SQR(xx / (n * xx - xo * xo)) PRINT "ERREUR VALEUR A" : PRINT mfa : PRINT ' REM ERREUR B_WERT mfb = s * SQR(n / (n * xx - xo * xo)) PRINT "ERREUR VALEUR B" : PRINT mfb : PRINT ' REM ESTIMATION ' Moyenne de Y_WERT FOR i = 1 TO n: mw = mw + Y_WERT(i) : NEXT i ' mw = mw /n ' Dérivée de la moyenne de Y_WERT FOR i = 1 TO n amw = 0 : amw = amw + Y_WERT(i) - mw bmw = bmw + (amw * amw) NEXT i bmw = bmw ' ' Quadrature de la dérivée Y_WERT * Y_WERT FOR i = 1 TO n yi(i) = A_WERT + (B_WERT * X_WERT(i)) ui(i) = Y_WERT(i) - yi(i) ui2(i) = (ui(i) * ui(i)) uis = uis + ui2(i) NEXT i
R2_BESTIMMTHEITMASS = 1 - (uis/bmw) PRINT "ESTIMATION" : PRINT R2_BESTIMMTHEITMASS :PRINT
R1_BESTIMMTHEITMASS = (R2_BESTIMMTHEITMASS * R2_BESTIMMTHEITMASS)*100 PRINT "ESTIMATION %" : PRINT R1_BESTIMMTHEITMASS | |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: MÉTHODE du plus petit carré (régression linéaire) Ven 11 Mai 2012 - 23:51 | |
| Ein Problem habe ich gerade festgestellt. wenn die Form in den Hintergrund gestellt wird verliert sie alle Linien. Wie befestige ich die Linien ? Severin
One problem I've just noticed. when the mold is placed in the background, she loses all the lines. How do I attach the lines? Severin
Un problème que je viens de remarqué. lorsque le moule est placé dans le fond, elle perd toutes les lignes. Comment puis-je joindre les lignes? Severin | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: MÉTHODE du plus petit carré (régression linéaire) Sam 12 Mai 2012 - 13:06 | |
| Zeichne nicht auf einer FORM, sondern auf ein PICTURE. Dieses Objekt verliert die Linien nicht.
Ne dessinne pas dans une FORM, mais dans un PICTURE. Cet objet ne perd pas les lignes. | |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: MÉTHODE du plus petit carré (régression linéaire) Sam 12 Mai 2012 - 22:57 | |
| Frage ? Kann ich ein ALPHA mit PARENT an ein PICTURE anbinden ? Oder geht es mit DLL von Klaus ? Oder geht es überhaupt nicht ?
Danke an alle Severin
Question? Can I connect an ALPHA with a PARENT PICTURE? Or is this DLL with Klaus? Or is it not at all?
Thanks to all Severin
Question? Puis-je connecter un ALPHA avec une image PARENT? Ou est-ce DLL avec Klaus? Ou n'est-il pas du tout?
Merci à tous Severin | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: MÉTHODE du plus petit carré (régression linéaire) Dim 13 Mai 2012 - 1:04 | |
| Nein, das geht nicht. Du musst mit PRINT in das Picture hineinschreiben.
Non, ça ne marche pas. Tu dois écrire dans le picture avec PRINT. | |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: MÉTHODE du plus petit carré (régression linéaire) Dim 20 Mai 2012 - 0:59 | |
| Hallo Panoramic's, hier eine neue Version von lineare Regression. Es ist nur der Beginn, ich habe wenig Zeit. Komentare sind erwünscht. Dank an JL35 für Textdrehung 90 Grad. Severin Hello Panoramic's here is a new version of linear regression. It is only the beginning, I have little time. Comentars are welcome. Thanks to JL35 for text rotation 90 degrees. Severin Bonjour de panoramique voici une nouvelle version de la régression linéaire. Il n'est que le début, j'ai peu de temps. Comentars sont les bienvenus. Merci à JL35 pour le texte de rotation de 90 degrés. Severin - Code:
-
REM METHODE DES MOINDRES CARRES (REGRESSION LINEAIRE) ' ' ****************************************************************************** DIM I :DIM J :DIM ZAEHLER_NR% :Dim SCHRIFTART ' Label Schriftart09F :Label Schriftart08N ' Dim Menuetext$ :DIM TITEL$(99,3) :DIM TEXT$(0999) :DIM SPRACHE% SPRACHE% = 1 :' deutsch ' SPRACHE% = 2 :' englisch ' SPRACHE% = 3 :' französisch ' *** Start Klaus ************************************************************** DIM n_forms%, forms%(400), iklaus%, jklaus% ' End Klaus ' *** ABMESSUNG DER ZEICHENFLÄCHE (PICTURE) DEFINIEREN ************************ DIM OBEN_LINKS :DIM OBEN_RECHTS :DIM UNTEN_LINKS :DIM UNTEN_RECHTS LABEL OBJEKT_AN :' Objekt anhängen LABEL detacher :' Objekt abhängen ' DIM PARENTNUMMER1% :DIM PARENTNUMMER2% :DIM ancien% ' *** Variable für alle Formen erstellen *************************************** DIM Screen_Nr% :DIM Screen_Beginn% :DIM Screen_End% :DIM FORM_NUMMER% ' *** LABEL FÜR FORMEN ERSTELLEN *********************************************** LABEL SCREENSHOW :LABEL SCREENSHOW1 LABEL BUTTON_SCHLIESSEN_FORMAT LABEL PROGRAMM_ENDE LABEL CLIENTARENA :' Hier werden die EINGABE getätigt Label Hauptmenue_deaktivieren :Label Hauptmenue_aktivieren :LABEL Felder ' *** LABEL FÜR TEXT DREHEN **************************************************** LABEL TEXT_DREHEN_090 :LABEL Rota_text_090 ' 01 LABEL SCREEN1000:LABEL FORM_SCHLIESSEN1000 LABEL SCREEN1020:LABEL FORM_SCHLIESSEN1020 LABEL SCREEN1040:LABEL FORM_SCHLIESSEN1040 LABEL SCREEN1060:LABEL FORM_SCHLIESSEN1060 ' LABEL SCREEN1080:LABEL FORM_SCHLIESSEN1080:' Trennlinie LABEL SCREEN1100:LABEL FORM_SCHLIESSEN1100 LABEL SCREEN1120:LABEL FORM_SCHLIESSEN1120 LABEL SCREEN1140:LABEL FORM_SCHLIESSEN1140 LABEL SCREEN1160:LABEL FORM_SCHLIESSEN1160 LABEL SCREEN1180:LABEL FORM_SCHLIESSEN1180:LABEL VARIABLE_DIM1180:LABEL VARIABLE_FILL1180 LABEL SCREEN1200:LABEL FORM_SCHLIESSEN1200 LABEL SCREEN1220:LABEL FORM_SCHLIESSEN1220 LABEL SCREEN1240:LABEL FORM_SCHLIESSEN1240 LABEL SCREEN1260:LABEL FORM_SCHLIESSEN1260 LABEL SCREEN1280:LABEL FORM_SCHLIESSEN1280 LABEL SCREEN1300:LABEL FORM_SCHLIESSEN1300 LABEL SCREEN1320:LABEL FORM_SCHLIESSEN1320 ' LABEL SCREEN1340:LABEL FORM_SCHLIESSEN1340:' Trennlinie ' LABEL SCREEN1360:LABEL FORM_SCHLIESSEN1360 LABEL FORM_SCHLIESSENXXXX LABEL BUTTON_SCHLIESSEN :LABEL BUTTON_ERSTELLT :LABEL BUTTON_WEITER LABEL Menueschliessen ' *** VARIABLE FÜR BUTTON -- FORM SCHLIESSEN *********************************** DIM BUTTON_TOP% :DIM BUTTEN_LEFT% :DIM BUTTEN_WIDTH% :DIM BUTTON_HEIGHT% :DIM BUTTON_NR% BUTTON_TOP% = (SCREEN_Y - 181) - 25 BUTTEN_LEFT% = (SCREEN_X - 16) - 140 BUTTEN_WIDTH% = 120 BUTTON_HEIGHT% = 20 ' Form 0000 *********** TOP 0000,0 LEFT 0000,0 WIDTH 0000,SCREEN_X HEIGHT 0000,SCREEN_Y-44 COLOR 0000,000,000,000 CAPTION 0000,"REGRESSION LINEAIRE" ' *** FORM 0090 ERSTELLEN ---> FUSSLEISTE ************************************** COMMAND_TARGET_IS 0000 FORM 0090 TOP 0090,SCREEN_Y-101 LEFT 0090,2 WIDTH 0090,SCREEN_X-12 HEIGHT 0090,28 ' *** FORMEN SCHRIFTART UND SCHRIFTGRÖSSE FESTLEGEN **************************** FONT_NAME 0090,"Courier NEW" FONT_SIZE 0090,08 COLOR 0090,000,200,000 BORDER_HIDE 0090 PARENTNUMMER1% = handle(0090) :' Form 0090 auf Form 0000 fixieren PARENTNUMMER2% = handle(0000) :' Grundform auf der alle Formen fixiert sind GOSUB OBJEKT_AN ' COMMAND_TARGET_IS 0090 ' *** später durch Bild ersetzen BUTTON 0091 TOP 0091,3 LEFT 0091,2 WIDTH 0091,22 HEIGHT 0091,22 CAPTION 0091,"ICON" SHOW 0091 ' edit 0092 TOP 0092,4 LEFT 0092,28 WIDTH 0092,40 HEIGHT 0092,24 FONT_COLOR 0092,255,000,000 TEXT 0092," 0090 " ' Menuetext$ = TEXT$(0092) ' print Menuetext$ edit 0093 TOP 0093,4 LEFT 0093,74 WIDTH 0093,370 HEIGHT 0093,24 ' TITEL$(2,1) = " Willkommen im Programm --- ZEITWIRTSCHAFT ---" ' TITEL$(2,2) = " Welcome to the program --- TIME ECONOMY ---" ' TITEL$(2,3) = " Bienvenue dans le programme --- économie de temps --- " FONT_COLOR 0093,255,000,000 ' TEXT 0093,TITEL$(2,SPRACHE%) ' Menuetext$ = TITEL$(2,SPRACHE%) ' print Menuetext$ ' *** ZAHL DER GEÖFFNETEN FORM IN FUSSLEISTE ANZEIGEN ************************** I = 1 :' Anzahl der Nummern-Felder 19 Felder J = 24 :' Abstand der Nummernfelder Breite 22Pixel und 2 Pixel Abstand = 24 For ZAEHLER_NR% = 9981 TO 9999 BUTTON ZAEHLER_NR% TOP ZAEHLER_NR%,3 LEFT ZAEHLER_NR%,SCREEN_X - 492 + J WIDTH ZAEHLER_NR%,22 HEIGHT ZAEHLER_NR%,22 SCHRIFTART = ZAEHLER_NR% GOSUB Schriftart09F CAPTION ZAEHLER_NR%,I inactive ZAEHLER_NR% J = J + 24 :I = I + 1 NEXT ZAEHLER_NR% ' *** FORM 0010 ERSTELLEN ****************************************************** COMMAND_TARGET_IS 0000 Form 0010 TOP 0010,2 LEFT 0010,2 WIDTH 0010,SCREEN_X-12 HEIGHT 0010,SCREEN_Y-106 BORDER_HIDE 0010 COLOR 0010,000,000,000 PARENTNUMMER1% = handle(0010) :' Form 0010 auf Form 0000 fixieren PARENTNUMMER2% = handle(0000) :' Grundform auf der alle Formen fixiert sind GOSUB OBJEKT_AN COMMAND_TARGET_IS 0010 ' *** Hauptmenü erstellen ****************************************************** main_menu 0001 sub_menu 9001:CAPTION 9001,"REGRESSION LINEAIRE":parent 9001,0001 ' *** Hauptmenue 01 --- DATEI UNTERMENÜ 1000 bis 1360 ************************* sub_menu 100:CAPTION 100," Neu ":parent 100,9001 sub_menu 102:CAPTION 102," Öffnen ... ":parent 102,9001 sub_menu 104:CAPTION 104," Speichern ":parent 104,9001 sub_menu 106:CAPTION 106," Speichern unter ":parent 106,9001 sub_menu 108:CAPTION 108,"====================":parent 108,9001 sub_menu 110:CAPTION 110," UNTERMENUE 0106 ":parent 110,9001 sub_menu 112:CAPTION 112," UNTERMENUE 0107 ":parent 112,9001 sub_menu 114:CAPTION 114," UNTERMENUE 0108 ":parent 114,9001 sub_menu 116:CAPTION 116," UNTERMENUE 0109 ":parent 116,9001 sub_menu 118:CAPTION 118,"REGRESSION LINEAIRE":parent 118,9001 sub_menu 120:CAPTION 120," UNTERMENUE 0111 ":parent 120,9001 sub_menu 122:CAPTION 122," UNTERMENUE 0112 ":parent 122,9001 sub_menu 124:CAPTION 124," UNTERMENUE 0113 ":parent 124,9001 sub_menu 126:CAPTION 126," UNTERMENUE 0114 ":parent 126,9001 sub_menu 128:CAPTION 128," UNTERMENUE 0115 ":parent 128,9001 sub_menu 130:CAPTION 130," UNTERMENUE 0116 ":parent 130,9001 sub_menu 132:CAPTION 132," UNTERMENUE 0117 ":parent 132,9001 sub_menu 134:CAPTION 134,"====================":parent 134,9001 sub_menu 136:CAPTION 136," QUIT ":parent 136,9001 inactive 108:inactive 134 ' *** FORM 0020 ERSTELLEN ---> Schaltflächenleiste ***************************** COMMAND_TARGET_IS 0010 FORM 0020 TOP 0020,1 LEFT 0020,0 WIDTH 0020,SCREEN_X-12 HEIGHT 0020,50 COLOR 0020,229,229,229 BORDER_HIDE 0020 PARENTNUMMER2% = handle(0010) :' Form 0010 auf der Form0020 fixiert ist PARENTNUMMER1% = handle(0020) :' Form 0020 auf Form 0100 fixieren GOSUB OBJEKT_AN ' *** FORM 0095 ERSTELLEN ---> StartForm START ********************************* COMMAND_TARGET_IS 0010 FORM 0095 TOP 0095,55 LEFT 0095,2 WIDTH 0095,SCREEN_X-16 HEIGHT 0095,SCREEN_Y-181 COLOR 0095,000,000,255 BORDER_HIDE 0095 PARENTNUMMER2% = handle(0010) PARENTNUMMER1% = handle(0095) GOSUB OBJEKT_AN SET_FOCUS 0010 ' *** Alle FORMEN ERSTELLEN ---> CLIENTARENA *********************************** COMMAND_TARGET_IS 0000 Screen_Beginn% = 1000 Screen_End% = 1340 FOR Screen_Nr% = Screen_Beginn% TO Screen_End% step 20 FORM Screen_Nr% HIDE Screen_Nr% TOP Screen_Nr%,55 LEFT Screen_Nr%,2 WIDTH Screen_Nr%,SCREEN_X-16 HEIGHT Screen_Nr%,SCREEN_Y-181 FONT_NAME Screen_Nr%,"Courier NEW" FONT_SIZE Screen_Nr%,08 COLOR Screen_Nr%,229,229,229 BORDER_HIDE Screen_Nr% PARENTNUMMER1% = handle(Screen_Nr%) PARENTNUMMER2% = handle(0010) GOSUB OBJEKT_AN Next Screen_Nr% ' CLICK AUF MENÜ FORM 0010 ***************************************************** ' 01 on_click 0100,SCREEN1000 on_click 0102,SCREEN1020 on_click 0104,SCREEN1040 on_click 0106,SCREEN1060 ' on_click 0108,CLIENTARENA :' Teilungsstrich im Untermenü on_click 0110,SCREEN1100 on_click 0112,SCREEN1120 on_click 0114,SCREEN1140 on_click 0116,SCREEN1160 on_click 0118,SCREEN1180 on_click 0120,SCREEN1200 on_click 0122,SCREEN1220 on_click 0124,SCREEN1240 on_click 0126,SCREEN1260 on_click 0128,SCREEN1280 on_click 0130,SCREEN1300 on_click 0132,SCREEN1320 ' on_click 0134,CLIENTARENA :' Teilungsstrich im Untermenü on_click 0136,PROGRAMM_ENDE end ' *** 01 -- 1000 DATEI NEU ***************************************************** SCREEN1000: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9981 ' BUTTON ZURÜCK ERSTELLEN ****************************************************** GOSUB BUTTON_SCHLIESSEN RETURN ' HIER Programm-Teil ' HIER Programm-Teil FORM_SCHLIESSEN1000: gosub SCREENSHOW1 gosub Menueschliessen inactive 9981 RETURN end ' *** 01 -- 1020 DATEI NEU ***************************************************** SCREEN1020: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9982 ' HIER Programm-Teil ' HIER Programm-Teil GOSUB BUTTON_SCHLIESSEN RETURN FORM_SCHLIESSEN1020: gosub SCREENSHOW1 gosub Menueschliessen inactive 9982 RETURN end ' *** 01 -- 1040 DATEI NEU ***************************************************** SCREEN1040: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9983 ' HIER Programm-Teil ' HIER Programm-Teil ' BUTTON ZURÜCK ERSTELLEN ****************************************************** GOSUB BUTTON_SCHLIESSEN RETURN FORM_SCHLIESSEN1040: gosub SCREENSHOW1 gosub Menueschliessen inactive 9983 RETURN end ' *** 01 -- 1060 DATEI NEU ***************************************************** SCREEN1060: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9984 ' HIER Programm-Teil ' HIER Programm-Teil ' BUTTON ZURÜCK ERSTELLEN ****************************************************** GOSUB BUTTON_SCHLIESSEN RETURN FORM_SCHLIESSEN1060: gosub SCREENSHOW1 gosub Menueschliessen inactive 9984 RETURN end ' *** 01 -- 1080 DATEI NEU *** TRENNSTRICH ************************************* ' ' *** 01 -- 1100 DATEI NEU ***************************************************** SCREEN1100: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9986 ' HIER Programm-Teil ' HIER Programm-Teil ' BUTTON ZURÜCK ERSTELLEN ****************************************************** GOSUB BUTTON_SCHLIESSEN RETURN FORM_SCHLIESSEN1100: gosub SCREENSHOW1 gosub Menueschliessen inactive 9986 RETURN end ' *** 01 -- 1120 DATEI NEU ***************************************************** SCREEN1120: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9987 ' HIER Programm-Teil ' HIER Programm-Teil ' BUTTON ZURÜCK ERSTELLEN ****************************************************** GOSUB BUTTON_SCHLIESSEN RETURN FORM_SCHLIESSEN1120: gosub SCREENSHOW1 gosub Menueschliessen inactive 9987 RETURN end ' *** 01 -- 1140 DATEI NEU ***************************************************** SCREEN1140: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9988 ' HIER Programm-Teil ' HIER Programm-Teil ' BUTTON ZURÜCK ERSTELLEN ****************************************************** GOSUB BUTTON_SCHLIESSEN RETURN FORM_SCHLIESSEN1140: gosub SCREENSHOW1 gosub Menueschliessen inactive 9988 RETURN end ' *** 01 -- 1160 DATEI NEU ***************************************************** SCREEN1160: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9989 ' HIER Programm-Teil ' HIER Programm-Teil ' BUTTON ZURÜCK ERSTELLEN ****************************************************** GOSUB BUTTON_SCHLIESSEN RETURN FORM_SCHLIESSEN1160: gosub SCREENSHOW1 gosub Menueschliessen inactive 9989 RETURN end ' *** 01 -- 1180 "REGRESSION LINEAIRE" ***************************************** SCREEN1180: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9990 GOSUB BUTTON_SCHLIESSEN ' *** HIER Programm BEGINN ***************************************************** ' *** TABELLIERUNG DER WERTE *************************************************** GOSUB VARIABLE_DIM1180 Print:Print:Print FOR i = 1 TO n Print " ",i," ",X_WERT(i)," ";Y_WERT(i) NEXT i ' *** ZEICHENFLÄCHE2 ERSTELLEN ************************************************* COMMAND_TARGET_IS 1180 ' Picture 1181 TOP 1181,0 + 50 LEFT 1181,2 + 300 WIDTH 1181,SCREEN_X-16 -300 - 50 HEIGHT 1181,SCREEN_Y-181 - 100 COLOR 1181,000,255,255 OBEN_LINKS = 0 :' TOP UNTEN_LINKS = 2 + 300 :' LEFT OBEN_RECHTS = SCREEN_X-16 -300 - 50 :' WIDTH UNTEN_RECHTS = SCREEN_Y-181 - 100 :' HEIGHT ' *** WAAGERECHTE LINIEN ******************************************************* 2D_TARGET_IS 1181 ' *** Rahmenlinie dick oben 2d_LINE 25,OBEN_LINKS+0,OBEN_RECHTS,OBEN_LINKS+0 2d_LINE 25,OBEN_LINKS+1,OBEN_RECHTS,OBEN_LINKS+1 2d_LINE 25,OBEN_LINKS+2,OBEN_RECHTS,OBEN_LINKS+2 ' *** Linke Beschriftung oben dick 2d_LINE 00,OBEN_LINKS+0,12,OBEN_LINKS+0 2d_LINE 00,OBEN_LINKS+1,12,OBEN_LINKS+1 2d_LINE 00,OBEN_LINKS+2,12,OBEN_LINKS+2 ' *** Rahmenlinie dick unten 2d_LINE 25,UNTEN_RECHTS-25,OBEN_RECHTS,UNTEN_RECHTS-25 2d_LINE 25,UNTEN_RECHTS-24,OBEN_RECHTS,UNTEN_RECHTS-24 2d_LINE 25,UNTEN_RECHTS-23,OBEN_RECHTS,UNTEN_RECHTS-23 ' *** Linke Beschriftung unten dick 2d_LINE 00,UNTEN_RECHTS-25,12,UNTEN_RECHTS-25 2d_LINE 00,UNTEN_RECHTS-24,12,UNTEN_RECHTS-24 2d_LINE 00,UNTEN_RECHTS-23,12,UNTEN_RECHTS-23 ' *** Beschriftungslinie dick unten 2d_LINE 25,UNTEN_RECHTS-15,OBEN_RECHTS,UNTEN_RECHTS-15 2d_LINE 25,UNTEN_RECHTS-14,OBEN_RECHTS,UNTEN_RECHTS-14 2d_LINE 25,UNTEN_RECHTS-13,OBEN_RECHTS,UNTEN_RECHTS-13 ' *** LINIEN an Beschriftungslinie waagerecht STEP_SPRUNG1 = (UNTEN_RECHTS -25 -1)/10 for i = 25 To UNTEN_RECHTS Step STEP_SPRUNG1 2d_LINE 25,UNTEN_RECHTS-i,OBEN_RECHTS,UNTEN_RECHTS-i next i for i = 25 To UNTEN_RECHTS Step STEP_SPRUNG1 2d_LINE 04,UNTEN_RECHTS-i,12,UNTEN_RECHTS-i next i ' *** SENKRECHTE LINIEN ******************************************************** ' *** Rahmenlinie dick rechts 2d_LINE OBEN_RECHTS-1,OBEN_LINKS,OBEN_RECHTS-1,UNTEN_RECHTS-25 2d_LINE OBEN_RECHTS-2,OBEN_LINKS,OBEN_RECHTS-2,UNTEN_RECHTS-25 2d_LINE OBEN_RECHTS-3,OBEN_LINKS,OBEN_RECHTS-3,UNTEN_RECHTS-25 ' 2d_LINE OBEN_RECHTS-1,UNTEN_RECHTS+0,OBEN_RECHTS-1,UNTEN_RECHTS-13 2d_LINE OBEN_RECHTS-2,UNTEN_RECHTS+0,OBEN_RECHTS-2,UNTEN_RECHTS-13 2d_LINE OBEN_RECHTS-3,UNTEN_RECHTS+0,OBEN_RECHTS-3,UNTEN_RECHTS-13 ' *** Rahmenlinie dick links 2d_LINE 25,OBEN_LINKS,25,UNTEN_RECHTS-22 2d_LINE 24,OBEN_LINKS,24,UNTEN_RECHTS-22 2d_LINE 23,OBEN_LINKS,23,UNTEN_RECHTS-22 ' 2d_LINE 25,UNTEN_RECHTS-15,25,UNTEN_RECHTS-0 2d_LINE 24,UNTEN_RECHTS-15,24,UNTEN_RECHTS-0 2d_LINE 23,UNTEN_RECHTS-15,23,UNTEN_RECHTS-0 ' STEP_SPRUNG2 = (OBEN_RECHTS -25 -1)/10 for i = 25 To OBEN_RECHTS Step STEP_SPRUNG1 2d_LINE i,OBEN_LINKS,i,UNTEN_RECHTS-25 next i ' for i = 25 To OBEN_RECHTS Step STEP_SPRUNG1 2d_LINE i,UNTEN_RECHTS-13,i,UNTEN_RECHTS-04 next i ' *** BESCHRIFTUNG LINKS 2d_LINE 11,OBEN_LINKS,11,UNTEN_RECHTS-22 2d_LINE 12,OBEN_LINKS,12,UNTEN_RECHTS-22 2d_LINE 13,OBEN_LINKS,13,UNTEN_RECHTS-22 ' *** BESCHRIFTUNG SENKRECHT LINKS ********************************************* COMMAND_TARGET_IS 1180 j = 0 For i = 32 To 42 ALPHA i font_name i,"Courier NEW" font_size i,8 TOP i,UNTEN_RECHTS +17-j LEFT i,250 ' WIDTH i,200 :' OBEN_RECHTS ' HEIGHT i,40 :' UNTEN_RECHTS ' Parent i,FORM_NUMMER% COLOR i,220,220,220 ' hide i j = j + STEP_SPRUNG1 next i caption 32," 0.00" caption 33," 2.50" caption 34," 5.00" caption 35," 7.50" caption 36," 10.00" caption 37," 12.50" caption 38," 15.00" caption 39," 17.50" caption 40," 20.00" caption 41," 22.50" caption 42," 25.00" ' *** ANZEIGE der Y-ACHSEBESCHRIFTUNG ****************************************** GOSUB TEXT_DREHEN_090 ' *** BESCHRIFTUNG UNTEN ******************************************************* COMMAND_TARGET_IS 1180 j = 0 i = 0 For i = 62 To 83 ALPHA i font_name i,"Courier NEW" font_size i,8 TOP i,(SCREEN_Y-181)-45 LEFT i,2 + 300+j ' WIDTH i,200 :' OBEN_RECHTS ' HEIGHT i,40 :' UNTEN_RECHTS ' Parent i,FORM_NUMMER% COLOR i,000,255,255 caption i," 0,00" ' hide i j = j + STEP_SPRUNG1 next i caption 63," 2.50" caption 64," 5.00" caption 65," 7.50" caption 66,"10.00" caption 67,"12.50" caption 68,"15.00" caption 69,"17.50" caption 70,"20.00" caption 71,"22.50" caption 72,"25.00" caption 73,"27.50" ' SCREEN_Y-181 caption 74,"30.00" caption 75,"32.50" caption 76,"35.00" caption 77,"37.50" caption 78,"40.00" caption 79,"42.50" caption 80,"45.00" caption 81,"47.50" caption 82,"50.00" caption 83,"52.50" ' *** ANZEIGE der X-ACHSEBESCHRIFTUNG ****************************************** ALPHA 50 font_name 50,"Courier NEW" font_size 50,8 TOP 50,(SCREEN_Y-181)-25 LEFT 50,2 + 300 ' WiDTH 80,200 :' OBEN_RECHTS ' HEiGHT 80,40 :' UNTEN_RECHTS ' Parent 80,FORM_NUMMER% COLOR 50,000,255,255 caption 50," X = LÄNGE IN METER -------> " ' Punkte setzen **************************************************************** 2D_TARGET_IS 1181 2d_fill_color 255,000,000 ' Höhe im Diagramm FY bestimmt den Abstand zur X-Linie ' NullPunkt_Y = UNTEN_RECHTS-100 ' FY = 1 ' NullPunkt_X = 100 ' FX = 1 ' PUNKTXY = 5 ' For i = 1 TO 10 i = 1 2d_circle (212+(X_WERT(i))*00),(206+(Y_WERT(i))*00),5 ' Next i end ' FOR i = 1 TO n xo = xo + X_WERT(i) : yo = yo + Y_WERT(i) xx = xx + X_WERT(i) * X_WERT(i) : yy = yy + Y_WERT(i) * Y_WERT(i) xy = xy + X_WERT(i) * Y_WERT(i) NEXT i REM EQUATIONS NORMALES: N*A_WERT+XO*B_WERT=YO; XO*A_WERT+XX*B_WERT=XY A_WERT = (yo * xx - xo * xy) / (n * xx - (xo*xo)) B_WERT = (n * xy - yo * xo) / (n * xx - (xo*xo)) REM METHODE DES MOINDRES CARRES (LINEARE REGRESSION) end ' *** BUTTON ZURÜCK ERSTELLEN ************************************************** GOSUB BUTTON_SCHLIESSEN RETURN FORM_SCHLIESSEN1180: gosub SCREENSHOW1 gosub Menueschliessen inactive 9990 RETURN end ' *** Variablen erstellen und befüllen ***************************************** VARIABLE_DIM1180: ON_ERROR_GOTO VARIABLE_FILL1180 Picture 1181 DIM n, xo, xx, xy, yo, yy n = 10 DIM X_WERT(n) : ' X_VALEUR_EXPLICATIVE (EXOGENE) DIM Y_WERT(n) : ' Y_VALEUR_EXPLIQUEE (ENDOGENE) DIM yi(n), ui(n), ui2(n) DIM A_WERT, B_WERT DIM EU, vv, s :' , i, j DIM mfa, mfb, mw, amw, bmw, uis DIM R2_BESTIMMTHEITMASS : ' Résultat de l'estimation DIM R1_BESTIMMTHEITMASS : ' Résultat de l'estimation % DIM NullPunkt_X : DIM FX DIM NullPunkt_Y : DIM FY DIM PUNKTXY DIM STEP_SPRUNG1 DIM STEP_SPRUNG2 VARIABLE_FILL1180: OFF_ERROR_GOTO i = 0 j = 0 n = 10 :xo = 0 : yo = 0 : xx = 0 : xy = 0 : yy = 0 ' *** X_WERT VALEURS DE REGRESSION X_WERT(1) = 208 : X_WERT(2) = 152 : X_WERT(3) = 113 : X_WERT(4) = 227 : X_WERT(5) = 137 X_WERT(6) = 238 : X_WERT(7) = 178 : X_WERT(8) = 104 : X_WERT(9) = 191 : X_WERT(10)= 130 ' *** Y_WERT VALEURS DE REGRESSION Y_WERT(1) = 21.6 :Y_WERT(2) = 15.5 :Y_WERT(3) = 10.4 :Y_WERT(4) = 31.0 :Y_WERT(5) = 13.0 Y_WERT(6) = 32.4 :Y_WERT(7) = 19.0 :Y_WERT(8) = 10.4 :Y_WERT(9) = 19.0 :Y_WERT(10)= 11.8 ' ****************************************************************************** RETURN end ' *** 01 -- 1200 DATEI NEU ***************************************************** SCREEN1200: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9991 ' HIER Programm-Teil ' HIER Programm-Teil ' BUTTON ZURÜCK ERSTELLEN ****************************************************** GOSUB BUTTON_SCHLIESSEN RETURN FORM_SCHLIESSEN1200: gosub SCREENSHOW1 gosub Menueschliessen inactive 9991 RETURN end ' *** 01 -- 1220 DATEI NEU ***************************************************** SCREEN1220: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9992 ' HIER Programm-Teil ' HIER Programm-Teil ' BUTTON ZURÜCK ERSTELLEN ****************************************************** GOSUB BUTTON_SCHLIESSEN RETURN FORM_SCHLIESSEN1220: gosub SCREENSHOW1 gosub Menueschliessen inactive 9992 RETURN end ' *** 01 -- 1240 DATEI NEU ***************************************************** SCREEN1240: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9993 ' HIER Programm-Teil ' HIER Programm-Teil ' BUTTON ZURÜCK ERSTELLEN ****************************************************** GOSUB BUTTON_SCHLIESSEN RETURN FORM_SCHLIESSEN1240: gosub SCREENSHOW1 gosub Menueschliessen inactive 9993 RETURN end ' *** 01 -- 1260 DATEI NEU ***************************************************** SCREEN1260: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9994 ' HIER Programm-Teil ' HIER Programm-Teil ' BUTTON ZURÜCK ERSTELLEN ****************************************************** GOSUB BUTTON_SCHLIESSEN RETURN FORM_SCHLIESSEN1260: gosub SCREENSHOW1 gosub Menueschliessen inactive 9994 RETURN end ' *** 01 -- 1280 DATEI NEU ***************************************************** SCREEN1280: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9995 ' HIER Programm-Teil ' HIER Programm-Teil ' BUTTON ZURÜCK ERSTELLEN ****************************************************** GOSUB BUTTON_SCHLIESSEN RETURN FORM_SCHLIESSEN1280: gosub SCREENSHOW1 gosub Menueschliessen inactive 9995 RETURN end ' *** 01 -- 1300 DATEI NEU ***************************************************** SCREEN1300: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9996 ' HIER Programm-Teil ' HIER Programm-Teil ' BUTTON ZURÜCK ERSTELLEN ****************************************************** GOSUB BUTTON_SCHLIESSEN RETURN FORM_SCHLIESSEN1300: gosub SCREENSHOW1 gosub Menueschliessen inactive 9996 RETURN end ' *** 01 -- 1320 DATEI NEU ***************************************************** SCREEN1320: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9997 ' HIER Programm-Teil ' HIER Programm-Teil ' BUTTON ZURÜCK ERSTELLEN ****************************************************** GOSUB BUTTON_SCHLIESSEN RETURN FORM_SCHLIESSEN1320: gosub SCREENSHOW1 gosub Menueschliessen inactive 9997 RETURN end ' *** 01 -- 1340 DATEI NEU *** TRENNSTRICH ************************************* ' ' *** 01 -- 1360 DATEI NEU ***************************************************** SCREEN1360: GOSUB SCREENSHOW SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% color FORM_NUMMER%,000,255,000 active 9997 ' HIER Programm-Teil ' HIER Programm-Teil ' BUTTON ZURÜCK ERSTELLEN ****************************************************** GOSUB BUTTON_SCHLIESSEN RETURN ' FORM_SCHLIESSEN1320: gosub SCREENSHOW1 gosub Menueschliessen inactive 9997 RETURN end ' *** DATEN DER AUSGEWÄHLTEN FORM IN FUSSLEISTE ANZEIGEN *********************** SCREENSHOW: FORM_NUMMER% = number_click FORM_NUMMER% = FORM_NUMMER% * 10 ' Start Klaus jklaus% = 1 if n_forms%>0 for iklaus%=1 to n_forms% if forms%(iklaus%)=form_nummer% jklaus% = 0 exit_for end_if next iklaus% end_if if jklaus%=1 n_forms% = n_forms% + 1 forms%(n_forms%) = form_nummer% end_if ' End Klaus Return :' vorläufig end ' FONT_COLOR 0092,000,000,255 ' TEXT 0092," "+Str$(FORM_NUMMER%) ' Menuetext$ = TEXT$(0092) ' FONT_COLOR 0093,000,000,255 ' if number_click > 099 then Text 0093,TEXT_MENUE_00$(01,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) ' if number_click > 139 then Text 0093,TEXT_MENUE_00$(02,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) ' if number_click > 179 then Text 0093,TEXT_MENUE_00$(03,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) ' if number_click > 219 then Text 0093,TEXT_MENUE_00$(04,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) ' if number_click > 259 then Text 0093,TEXT_MENUE_00$(05,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) ' if number_click > 299 then Text 0093,TEXT_MENUE_00$(06,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) if number_click > 339 then Text 0093,TEXT_MENUE_00$(07,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) if number_click > 379 then Text 0093,TEXT_MENUE_00$(08,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) if number_click > 419 then Text 0093,TEXT_MENUE_00$(09,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) if number_click > 459 then Text 0093,TEXT_MENUE_00$(10,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) if number_click > 499 then Text 0093,TEXT_MENUE_00$(11,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) if number_click > 539 then Text 0093,TEXT_MENUE_00$(12,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) if number_click > 579 then Text 0093,TEXT_MENUE_00$(13,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) if number_click > 619 then Text 0093,TEXT_MENUE_00$(14,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) if number_click > 659 then Text 0093,TEXT_MENUE_00$(15,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) if number_click > 699 then Text 0093,TEXT_MENUE_00$(16,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) if number_click > 739 then Text 0093,TEXT_MENUE_00$(17,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) ' if number_click > 779 then Text 0093,TEXT_MENUE_00$(18,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) if number_click > 819 then Text 0093,TEXT_MENUE_00$(19,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) if number_click > 859 then Text 0093,TEXT_MENUE_00$(20,SPRACHE%)+" --- "+TEXT_MENUE_01$(number_click,SPRACHE%) ' RETURN ' *** ANZEIGE STARTDATEN DER FORM 0090 IN FUSSLEISTE ANZEIGEN ****************** SCREENSHOW1: FONT_COLOR 0092,255,000,000 TEXT 0092," 0090 " Menuetext$ = TEXT$(0092) print Menuetext$ FONT_COLOR 0093,255,000,000 TEXT 0093,TITEL$(2,SPRACHE%) Menuetext$ = TITEL$(2,SPRACHE%) print Menuetext$ RETURN ' ****************************************************************************** Menueschliessen: ' Start Klaus if n_forms%>0 HIDE FORM_NUMMER% n_forms% = n_forms% - 1 if n_forms%>0 form_nummer% = forms%(n_forms%) command_target_is form_nummer% show form_nummer% else active 0010 HIDE FORM_NUMMER% COMMAND_TARGET_IS 0010 end_if end_if ' End Klaus gosub Hauptmenue_aktivieren RETURN ' *** Unterprogramm EINEN BUTTON AUF ALLEN FORMEN ERSTELLEN -- FORMATIEREN ***** BUTTON_SCHLIESSEN_FORMAT: BUTTON_NR% = FORM_NUMMER% + 39 BUTTON_TOP% = (SCREEN_Y - 181) - 25 BUTTEN_LEFT% = (SCREEN_X - 16) - 120 BUTTEN_WIDTH% = 120 BUTTON_HEIGHT% = 20 ' BUTTON_NR% = FORM_NUMMER% + 39 SCHRIFTART = BUTTON_NR% GOSUB Schriftart08N RETURN END BUTTON_TOP% = (SCREEN_Y - 181) - 25 :' neue Abmessung BUTTEN_LEFT% = (SCREEN_X - 16) - 120 :' neue Abmessung BUTTEN_WIDTH% = 120 BUTTON_HEIGHT% = 20 ' *** Unterprogramm EINEN BUTTON AUF ALLEN FORMEN ERSTELLEN ******************** BUTTON_SCHLIESSEN: COMMAND_TARGET_IS FORM_NUMMER% BUTTON_NR% = FORM_NUMMER% + 39 ON_ERROR_GOTO BUTTON_ERSTELLT BUTTON BUTTON_NR% BUTTON_ERSTELLT: OFF_ERROR_GOTO COMMAND_TARGET_IS FORM_NUMMER% TITEL$(99,1) = "SCHLIESSEN " TITEL$(99,2) = " CLOSE " TITEL$(99,3) = " proche " ' BUTTON_TOP% = (SCREEN_Y - 181) - 30 ' BUTTEN_LEFT% = (SCREEN_X - 16) - 160 ' BUTTEN_WIDTH% = 120 ' BUTTON_HEIGHT% = 20 ' BUTTON_NR% = FORM_NUMMER% + 39 TOP BUTTON_NR%,BUTTON_TOP% LEFT BUTTON_NR%,BUTTEN_LEFT% WIDTH BUTTON_NR%,BUTTEN_WIDTH% HEIGHT BUTTON_NR%,BUTTON_HEIGHT% SCHRIFTART = BUTTON_NR% GOSUB Schriftart08N CAPTION BUTTON_NR%,TITEL$(99,SPRACHE%) hint BUTTON_NR%,TITEL$(99,SPRACHE%) SHOW BUTTON_NR% on_click BUTTON_NR%,BUTTON_WEITER RETURN end ' *** CLIENTARENA FÜR ALLE NICHT ANGELEGTE FORMEN ****************************** CLIENTARENA: Gosub SCREENSHOW BUTTON_TOP% = (SCREEN_Y - 181) - 30 BUTTEN_LEFT% = (SCREEN_X - 16) - 160 BUTTEN_WIDTH% = 120 BUTTON_HEIGHT% = 20 SHOW FORM_NUMMER% COMMAND_TARGET_IS FORM_NUMMER% print_target_is FORM_NUMMER% TITEL$(3,1) = " Hier ist die CLIENTARENA " TITEL$(3,2) = " Here is the CLIENTARENA " TITEL$(3,3) = " Voici le CLIENTARENA " print :print :print TITEL$(3,SPRACHE%)+" ",FORM_NUMMER% :print ' BUTTON ZURÜCK ERSTELLEN ****************************************************** GOSUB BUTTON_SCHLIESSEN RETURN end ' FORM_SCHLIESSENXXXX: gosub SCREENSHOW1 gosub Menueschliessen ' inactive 9993 RETURN end ' *** NICHT GEWÄHLTE MENÜS DEAKTIVIERN ***************************************** Hauptmenue_deaktivieren: inactive 9001 RETURN END ' *** ALLE MENÜS AKTIVIERN ***************************************************** Hauptmenue_aktivieren: active 9001 RETURN END ' ****************************************************************************** Felder: Print "Nummerfeld geklickt" Return end ' ****************************************************************************** end COMMAND_TARGET_IS 0000 PRINT "METHODE DES MOINDRES CARRES": PRINT PRINT "CONSTANTE" : PRINT A_WERT : PRINT PRINT "PERTURBATION": PRINT B_WERT : PRINT ' REM SOMME DES CARRES (F.Q.S.) vv = yy - yo * A_WERT - xy * B_WERT s = SQR(vv / (n - 2)) ' REM ERREUR (M.F.) A_WERT mfa = s * SQR(xx / (n * xx - xo * xo)) PRINT "ERREUR VALEUR A" : PRINT mfa : PRINT ' REM ERREUR B_WERT mfb = s * SQR(n / (n * xx - xo * xo)) PRINT "ERREUR VALEUR B" : PRINT mfb : PRINT ' REM ESTIMATION ' Moyenne de Y_WERT FOR i = 1 TO n: mw = mw + Y_WERT(i) : NEXT i ' mw = mw /n ' Dérivée de la moyenne de Y_WERT FOR i = 1 TO n amw = 0 : amw = amw + Y_WERT(i) - mw bmw = bmw + (amw * amw) NEXT i bmw = bmw ' *** Quadrature de la dérivée Y_WERT * Y_WERT ********************************* FOR i = 1 TO n yi(i) = A_WERT + (B_WERT * X_WERT(i)) ui(i) = Y_WERT(i) - yi(i) ui2(i) = (ui(i) * ui(i)) uis = uis + ui2(i) NEXT i ' R2_BESTIMMTHEITMASS = 1 - (uis/bmw) PRINT "ESTIMATION" : PRINT R2_BESTIMMTHEITMASS :PRINT ' R1_BESTIMMTHEITMASS = (R2_BESTIMMTHEITMASS * R2_BESTIMMTHEITMASS)*100 PRINT "ESTIMATION %" : PRINT R1_BESTIMMTHEITMASS ' *** FORMEL-ERGEBNIS ANZEIGEN ************************************************* ALPHA 0012 font_name 0012,"Arial" font_size 0012,10 TOP 0012,OBEN_LINKS + 55 LEFT 0012,UNTEN_LINKS + 145 ' WIDTH 0012,200 :' OBEN_RECHTS ' HEIGHT 0012,40 :' UNTEN_RECHTS COLOR 0012,255,255,255 caption 0012," "+STR$(A_WERT)+" + "+STR$(B_WERT)+" x "+" Variable X " ' *** FORMEL-ERGEBNIS ANZEIGEN ************************************************* ALPHA 0014 font_name 0014,"Arial" font_size 0014,10 TOP 0014,OBEN_LINKS + 105 LEFT 0014,UNTEN_LINKS + 145 ' WIDTH 0014,200 :' OBEN_RECHTS ' HEIGHT 0014,40 :' UNTEN_RECHTS COLOR 0014,255,255,255 ' SCHRIFTART = 0014 ' GOSUB SchriftartF caption 0014," Bestimmtheitsmass: "+STR$(R1_BESTIMMTHEITMASS)+" % " ' *** PROGRAMM BEENDEN ********************************************************* PROGRAMM_ENDE: terminate end ' *** Objekt anhängen ********************************************************** OBJEKT_AN: dll_on "LoadProgram.dll" ancien% = dll_call3("SetFormParent",PARENTNUMMER1%,PARENTNUMMER2%,1) dll_off RETURN ' *** Objekt abhängen ********************************************************** detacher: dll_on "LoadProgram.dll" ancien% = dll_call3("SetFormParent",hnd20%,ancien%,0) dll_off RETURN ' RÜCKSPRUNG AUF FORM NACH KLICK AUF BUTTON 1 ********************************** BUTTON_WEITER: select FORM_NUMMER% ' 01 case 1000:GOTO FORM_SCHLIESSEN1000:case 1020:GOTO FORM_SCHLIESSEN1020 case 1040:GOTO FORM_SCHLIESSEN1040:case 1060:GOTO FORM_SCHLIESSEN1060 ' Trennlinie case 1100:GOTO FORM_SCHLIESSEN1100:case 1120:GOTO FORM_SCHLIESSEN1120 case 1140:GOTO FORM_SCHLIESSEN1140:case 1160:GOTO FORM_SCHLIESSEN1160 case 1180:GOTO FORM_SCHLIESSEN1180:case 1200:GOTO FORM_SCHLIESSEN1200 case 1220:GOTO FORM_SCHLIESSEN1220:case 1240:GOTO FORM_SCHLIESSEN1240 case 1260:GOTO FORM_SCHLIESSEN1260:case 1280:GOTO FORM_SCHLIESSEN1280 case 1300:GOTO FORM_SCHLIESSEN1300:case 1320:GOTO FORM_SCHLIESSEN1320 ' Trennlinie ' direkt zu Programm schließen end_select end ' *** SCHRIFTART ARIAL 08 Normal Schwarz Schriftart08N: font_name SCHRIFTART,"Arial" font_size SCHRIFTART,08 font_bold_off SCHRIFTART font_underline_off SCHRIFTART font_strike_off SCHRIFTART font_italic_off SCHRIFTART font_color SCHRIFTART,0,0,0 RETURN ' *** SCHRIFTART "Courier New" GRÖSSE 09 Fett Schriftart09F: font_name SCHRIFTART,"Arial" font_size SCHRIFTART,09 font_bold SCHRIFTART font_underline_off SCHRIFTART font_strike_off SCHRIFTART font_italic_off SCHRIFTART RETURN ' *** TEXTDREHEN 90 GRAD ****nach JL35 ***************************************** TEXT_DREHEN_090: DIM pf, t$, x%, y%, x1%, y1%, l%, h%, al%, i%, j%, r%, g%, b%, ob, fnt$, sz% ' *** Grundbild erstellen ****************************************************** PICTURE 1182 TOP 1182,(SCREEN_Y - 181) - 400 LEFT 1182,200 WIDTH 1182, 28 HEIGHT 1182,350 COLOR 1182,255,000,000 ' *** AUSGABE BILD ERSTELLEN *************************************************** t$ = " X = BREITE IN METER -------> " fnt$ = "Courier NEW" sz% = 08 ob = 1182: ' objet destinataire x% = 10 y% = 100 al% = 90 GOSUB Rota_text_090 DISPLAY RETURN END ' *** TEXT DREHEN ************************************************************** Rota_text_090: ' ob objet destinataire ' fnt$, sz% fonte et taille ' x%, y% coordonnées du coin supérieur gauche arrivée ' l%, h% dimensions du texte, en pixels ' al% angle de rotation, = 90, 180 ou 270 degrés ' DREHUNG 90 GRAD EINGESTELLT ************************************************* IF al% = 0
PRINT_TARGET_IS ob FONT_NAME ob, fnt$ FONT_SIZE ob, sz% FONT_BOLD ob PRINT_LOCATE x%, y%: PRINT t$ ' ELSE pf = NUMBER_OBJECTS+1 ' PICTURE pf TOP pf, -200 WIDTH pf, 1000 HEIGHT pf, 100 ' PRINT_TARGET_IS pf ' FONT_NAME pf, fnt$ FONT_SIZE pf, sz% FONT_BOLD pf ' l% = TEXT_WIDTH(t$,pf)+4: h% = TEXT_HEIGHT(t$,pf) PRINT t$ 2D_TARGET_IS ob FOR j% = 0 TO h%-1 FOR i% = 0 TO l%-1 r% = COLOR_PIXEL_RED(pf,i%,j%) g% = COLOR_PIXEL_GREEN(pf,i%,j%) b% = COLOR_PIXEL_BLUE(pf,i%,j%) 2D_PEN_COLOR r%,g%,b% SELECT al%
CASE 90: 2D_POINT x%+j%,y%+l%-i%
END_SELECT NEXT i% NEXT j% PRINT_TARGET_IS 0: 2D_TARGET_IS 0 DELETE pf END_IF RETURN end | |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: MÉTHODE du plus petit carré (régression linéaire) Lun 21 Mai 2012 - 21:20 | |
| 21.5.2012, 21:20
Keine Reaktion ? Nur wenn ich dumme Sachen schreibe seid ihr Wach. Wie ich gerade sehe sind 15 Besucher online. 2 registrierte, 13 Gäste. 15 Besucher ohne Meinung ??? Severin
No reaction? Only when I write stupid things you are awake. I see only 15 visitors online. 2 registered, 13 guests. 15 Visitors without an opinion? Severin
Pas de réaction? Ce n'est que lorsque j'écris des choses stupides que vous êtes éveillé. Je vois seulement 15 visiteurs en ligne. 2 inscrits, invités 13. 15 visiteurs sans une opinion? Severin
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: MÉTHODE du plus petit carré (régression linéaire) Lun 21 Mai 2012 - 21:39 | |
| Jeder reagiert nach seinen Interessen.
Dein visuelles Interface nimmt Form an ! Es ist interressant, für uns aber ungewohnt. Schwer zu sagen woran das liegt - Design oder Farbwahl vielleicht. Es funktionniert aber gut, und man kann sehr deutlich den Sinn der client-area sehen, der die scroll-bar fehlt !
Chacun réagit selon ses points d'intérêt.
Ton inerface visuelle prend forme ! C'est intéressant, mais inhabutiel pour nous. Difficile à dire à quoi ça tient - design ou choix des couleurs, peut-être. Mais cela fonctionne bien, et on peut voir très clairement l'utilité de la zone client à laquelle manque la barre de défilement; | |
| | | Severin
Nombre de messages : 547 Localisation : Braunschweig / Germany Date d'inscription : 13/12/2010
| Sujet: Re: MÉTHODE du plus petit carré (régression linéaire) Lun 21 Mai 2012 - 22:01 | |
| Das ist der Anfang. Ich währe froh wenn ein User die Farben anpasst. Es soll auch Jack inspirieren ein Clienarena zu enwickeln. Nach dem Prinzip alle wissen mehr als einer. Nochmal die Bitte an alle User was ist unstimmig oder falsch. Ich versuche eine interaktion mit dem Bediener.
Ich habe hier im Forum nur die normalen Programme gesehen. Deshalb laufe ich warscheinlich ins leere mit meiner Forderung nach mehr Objekten.
Trotzdem danke ich die für ihre Beurteilung. Wenn sie Verbesserungen haben, raus damit. Severin
This is the beginning. I Währe glad when a user adjusts the colors. It should also inspire Clienarena enwickeln to Jack. Following the principle of all are better than one. Again, the request to all users which is inconsistent or incorrect. I tried one interaction with the operator.
I've seen here in the forum only normal programs. So I walk into the empty probably with my demand for more objects.
Nevertheless, I thank you for their assessment. If you have improvements, out with it. Severin
C'est le début. Je wahre heureux quand un utilisateur ajuste les couleurs. Il devrait également inspirer Clienarena enwickeln à Jack. Suivant le principe de tous valent mieux qu'une. Encore une fois, la demande à tous les utilisateurs ce qui est incompatible ou incorrect. J'ai essayé une interaction avec l'opérateur.
J'ai vu ici dans le forum que les programmes normaux. Alors je marche dans le vide sans doute à ma demande pour des objets plus.
Néanmoins, je vous remercie pour leur évaluation. Si vous avez des améliorations, avec elle. Severin | |
| | | Contenu sponsorisé
| Sujet: Re: MÉTHODE du plus petit carré (régression linéaire) | |
| |
| | | | MÉTHODE du plus petit carré (régression linéaire) | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |