AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Gewichteter Mittelwert

Ein Thema von Go2EITS · begonnen am 1. Nov 2006 · letzter Beitrag vom 1. Nov 2006
 
Go2EITS

Registriert seit: 25. Jun 2006
519 Beiträge
 
Delphi 7 Personal
 
#4

Re: Gewichteter Mittelwert

  Alt 1. Nov 2006, 15:28
So, ich habe ein wenig experimentiert, um Zahlen zu bekommen, die den "Zahlen" näher kommen:
Delphi-Quellcode:

  //Gewichteter Mittelwert:
  n:=1;
  for i:=5 to 20 do
      begin
      n:=1-(20/100);
      n:=n+(i/100);
      Writeln('Durchlauf i: ',i,' n: ',n:0:2);
      //Gew. Mittelwert auf "Zahlen"
      gmw[i]:=zahlen[i]*n;
      end;
      for x:=5 to 20 do GMW[x]:=GMW[x]/n;
Dabei scheint der erste Wert 0.85 = 85% zu sein und der letzte Wert mit 1 stellt wohl 100% dar.

Das Ergebnis für alle Interessierte (Liste gekürzt):
1.ter Wert die Zahl, 2.ter Wert=Mittelwert aus 5 Zahlen, 3.ter Wert=Gewichteter Mittelwert
Zitat:
10,96 10,87 9,24
11,55 11,1 9,54
11,98 11,27 9,81
12,05 11,52 10,14
12,5 11,81 10,51
...
13,96 13,87 13,18
14,55 14,1 13,53
14,98 14,27 13,85
15,05 14,52 14,23
15,5 14,81 14,66
16,67 15,35 15,35
Na ja, für meine eigentlichen Zweck, einen "schnelleren Mittelwert" zu bekommen, geht nur über einen Mittelwert mit weniger Werten. Sei es drum. Es war ein interssanter Versuch.
Der geänderte Code:
Delphi-Quellcode:
program Project2000;
{$APPTYPE CONSOLE}
uses
  SysUtils;
Var
  Zahlen :Array[1..20] of Real; //Basiswerte
  MW :Array[1..20] of Real; //Mittelwert
  GMW :Array[1..20] of Real; //Gewichteter Mittelwert
  i,x :Integer;
  f :TextFile;
  n:Real;
  begin
//Zahlen zuweisen:
  Zahlen[1]:=10.42;
  Zahlen[2]:=11.10;
  Zahlen[3]:=10.83;
  Zahlen[4]:=11.05;
  Zahlen[5]:=10.96;
  Zahlen[6]:=11.55;
  Zahlen[7]:=11.98;
  Zahlen[8]:=12.05;
  Zahlen[9]:=12.50;
  Zahlen[10]:=12.67;
  Zahlen[11]:=13.42;
  Zahlen[12]:=14.10;
  Zahlen[13]:=13.83;
  Zahlen[14]:=14.05;
  Zahlen[15]:=13.96;
  Zahlen[16]:=14.55;
  Zahlen[17]:=14.98;
  Zahlen[18]:=15.05;
  Zahlen[19]:=15.50;
  Zahlen[20]:=16.67;

  //Mittelwert zuweisen (5 Werte)
  for i:=5 to 20 do
      begin
      for x:=i-4 to i do MW[i]:=MW[i]+zahlen[X]/5;
      end;

  //Gewichteter Mittelwert:
  for i:=5 to 20 do
      begin
      n:=1-(20/100);
      n:=n+(i/100);
      Writeln('Durchlauf i: ',i,' n: ',n:0:2);
      // Gewichteter Mittelwert
      for x:=i-4 to i do GMW[i]:=GMW[i]+zahlen[X]/5;
      GMW[i]:=gmw[i]*n;
      end;
      for x:=5 to 20 do
          GMW[x]:=GMW[x]/n;

// Nachfolgender Code nur für die Bildschirmdarstellung
// und Speicherung der Daten Excel kompatibel

// ### Speicherung Daten
//In Datei für Excel mit Komma als Trenner schreiben, damit ist ein Diagramm möglich
assignfile(f,'C:\Gewichte.csv');
Rewrite(f);
for i:=1 to 20 do
     Writeln(f,zahlen[i]:0:2,',',MW[i]:0:2,',',GMW[i]:0:2);
CloseFile(f);
// ### Speicherung Ende

// ### Screen
//.. und auf den Screen natürlich
Writeln('Testprogramm: Gew. Mittelwert');
Writeln;
Writeln('Zahlen MW GMW');
Writeln;
for i:=1 to 20 do
     Writeln(zahlen[i]:0:2,' ',MW[i]:6:2,' ',GMW[i]:6:2);
Writeln;
// ### Screen Ende

// ### ENDE
Writeln('Fertig - Programm beenden: [Enter]');Readln;
end.
Beste Grüße
Go2EITS
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz