FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
MÉTHODE du plus petit carré (régression linéaire) Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
MÉTHODE du plus petit carré (régression linéaire) Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
MÉTHODE du plus petit carré (régression linéaire) Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
MÉTHODE du plus petit carré (régression linéaire) Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
MÉTHODE du plus petit carré (régression linéaire) Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
MÉTHODE du plus petit carré (régression linéaire) Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
MÉTHODE du plus petit carré (régression linéaire) Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
MÉTHODE du plus petit carré (régression linéaire) Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
MÉTHODE du plus petit carré (régression linéaire) Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
MÉTHODE du plus petit carré (régression linéaire) Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
MÉTHODE du plus petit carré (régression linéaire) Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
MÉTHODE du plus petit carré (régression linéaire) Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
MÉTHODE du plus petit carré (régression linéaire) Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
MÉTHODE du plus petit carré (régression linéaire) Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
MÉTHODE du plus petit carré (régression linéaire) Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-55%
Le deal à ne pas rater :
Friteuse sans huile – PHILIPS – Airfryer HD9200/90 Série 3000
49.99 € 109.99 €
Voir le deal

 

 MÉTHODE du plus petit carré (régression linéaire)

Aller en bas 
3 participants
AuteurMessage
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MÉTHODE du plus petit carré (régression linéaire) Empty
MessageSujet: MÉTHODE du plus petit carré (régression linéaire)   MÉTHODE du plus petit carré (régression linéaire) EmptyMar 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
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

MÉTHODE du plus petit carré (régression linéaire) Empty
MessageSujet: Re: MÉTHODE du plus petit carré (régression linéaire)   MÉTHODE du plus petit carré (régression linéaire) EmptyMer 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
Revenir en haut Aller en bas
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MÉTHODE du plus petit carré (régression linéaire) Empty
MessageSujet: Re: MÉTHODE du plus petit carré (régression linéaire)   MÉTHODE du plus petit carré (régression linéaire) EmptyMer 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%
Revenir en haut Aller en bas
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MÉTHODE du plus petit carré (régression linéaire) Empty
MessageSujet: Re: MÉTHODE du plus petit carré (régression linéaire)   MÉTHODE du plus petit carré (régression linéaire) EmptyJeu 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
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

MÉTHODE du plus petit carré (régression linéaire) Empty
MessageSujet: Re: MÉTHODE du plus petit carré (régression linéaire)   MÉTHODE du plus petit carré (régression linéaire) EmptyJeu 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
Revenir en haut Aller en bas
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MÉTHODE du plus petit carré (régression linéaire) Empty
MessageSujet: Re: MÉTHODE du plus petit carré (régression linéaire)   MÉTHODE du plus petit carré (régression linéaire) EmptyVen 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
Revenir en haut Aller en bas
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MÉTHODE du plus petit carré (régression linéaire) Empty
MessageSujet: Re: MÉTHODE du plus petit carré (régression linéaire)   MÉTHODE du plus petit carré (régression linéaire) EmptyVen 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
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

MÉTHODE du plus petit carré (régression linéaire) Empty
MessageSujet: Re: MÉTHODE du plus petit carré (régression linéaire)   MÉTHODE du plus petit carré (régression linéaire) EmptySam 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.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MÉTHODE du plus petit carré (régression linéaire) Empty
MessageSujet: Re: MÉTHODE du plus petit carré (régression linéaire)   MÉTHODE du plus petit carré (régression linéaire) EmptySam 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
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

MÉTHODE du plus petit carré (régression linéaire) Empty
MessageSujet: Re: MÉTHODE du plus petit carré (régression linéaire)   MÉTHODE du plus petit carré (régression linéaire) EmptyDim 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.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MÉTHODE du plus petit carré (régression linéaire) Empty
MessageSujet: Re: MÉTHODE du plus petit carré (régression linéaire)   MÉTHODE du plus petit carré (régression linéaire) EmptyDim 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
Revenir en haut Aller en bas
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MÉTHODE du plus petit carré (régression linéaire) Empty
MessageSujet: Re: MÉTHODE du plus petit carré (régression linéaire)   MÉTHODE du plus petit carré (régression linéaire) EmptyLun 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
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

MÉTHODE du plus petit carré (régression linéaire) Empty
MessageSujet: Re: MÉTHODE du plus petit carré (régression linéaire)   MÉTHODE du plus petit carré (régression linéaire) EmptyLun 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;
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Severin




Nombre de messages : 547
Localisation : Braunschweig / Germany
Date d'inscription : 13/12/2010

MÉTHODE du plus petit carré (régression linéaire) Empty
MessageSujet: Re: MÉTHODE du plus petit carré (régression linéaire)   MÉTHODE du plus petit carré (régression linéaire) EmptyLun 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
Revenir en haut Aller en bas
Contenu sponsorisé





MÉTHODE du plus petit carré (régression linéaire) Empty
MessageSujet: Re: MÉTHODE du plus petit carré (régression linéaire)   MÉTHODE du plus petit carré (régression linéaire) Empty

Revenir en haut Aller en bas
 
MÉTHODE du plus petit carré (régression linéaire)
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Programmation linéaire
» Les pentaminos
» Algèbre linéaire
» Méthode manuelle d'extraction de la racine carrée
» Carré mystérieux

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos projets-
Sauter vers: