Kleines Matheproblem
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Kleines Matheproblem
Hallo,
Wenn man einen Durchschnittswert errechnen will, summiert man die Einzelwerte auf und teilt das Ergebnis dann durch die Anzahl an Elementen.
In meinem konkreten Fall haben die einzelnen Werte aber eine unterschiedliche Wichtung.
z.B.
10 qm 15% +
12 qm 19% +
3 qm 14%
Wie errechnet sich jetzt der Durchschnittliche Prozentsatz auf der gesamten Fläche?
Wenn man einen Durchschnittswert errechnen will, summiert man die Einzelwerte auf und teilt das Ergebnis dann durch die Anzahl an Elementen.
In meinem konkreten Fall haben die einzelnen Werte aber eine unterschiedliche Wichtung.
z.B.
10 qm 15% +
12 qm 19% +
3 qm 14%
Wie errechnet sich jetzt der Durchschnittliche Prozentsatz auf der gesamten Fläche?
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Kleines Matheproblem
Wäre dies ein Idee ?
(10 * 15 + 12 * 19 + 3 * 14) / ( 15 + 19 + 14)
Dies spuckt mir 8.75 aus.
(10 * 15 + 12 * 19 + 3 * 14) / ( 15 + 19 + 14)
Dies spuckt mir 8.75 aus.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Kleines Matheproblem
Mich stört, dass da Prozente stehen. Warum addieren sich diese nicht zu 100%? Da fällt irgendwas unter den Tisch...
Was ist denn genau die Fragestellung?
Was ist denn genau die Fragestellung?
Re: Kleines Matheproblem
Ich habe keine Ahnung von Mathe und der Fragestellung, aber ich werfe mal in der Raum:
(1.5 + 2.28 + 0.43) / 25qm x 100 = 16.84%
(1.5 + 2.28 + 0.43) / 25qm x 100 = 16.84%
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Kleines Matheproblem
Es geht um eine Berechnung für Photovoltaikanlagen.
Ich habe eine Geodatenbank, aus der hervorgeht, daß an einem bestimmten Ort bei optimaler Ausrichtung der Photovoltaikmodule eine Sonnenleistung von z.B. 1230kWh / m² / Jahr auftrifft.
Die Photovoltaikmodule diverser Hersteller können aber tatsächlich nur einen gewissen Prozentsatz dieser Energie in nutzbaren Strom umwandeln.
Der liegt üblicherweise so zwischen 15 und 22 Prozent.
Mir geht es jetzt darum zu ermitteln, wieviel kWh eine installierte Anlage tatsächlich liefern kann, auch wenn unterschiedliche Module installiert wurden.
Ich habe eine Geodatenbank, aus der hervorgeht, daß an einem bestimmten Ort bei optimaler Ausrichtung der Photovoltaikmodule eine Sonnenleistung von z.B. 1230kWh / m² / Jahr auftrifft.
Die Photovoltaikmodule diverser Hersteller können aber tatsächlich nur einen gewissen Prozentsatz dieser Energie in nutzbaren Strom umwandeln.
Der liegt üblicherweise so zwischen 15 und 22 Prozent.
Mir geht es jetzt darum zu ermitteln, wieviel kWh eine installierte Anlage tatsächlich liefern kann, auch wenn unterschiedliche Module installiert wurden.
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2805
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Kleines Matheproblem
Dann würde ich keine durchschnittlichen Prozentwert bilden, sondern für jedes Modul einzeln der Wert ausrechnen und dann addieren.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
- h-elsner
- Lazarusforum e. V.
- Beiträge: 281
- Registriert: Di 24. Jul 2012, 15:42
- OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 2.2.4, FPC3.2.2
- CPU-Target: X86-64; arm 32bit
- Wohnort: Illertissen
- Kontaktdaten:
Re: Kleines Matheproblem
Mein Tipp, Theo hat recht.
Aber, wenn es unterschiedliche PV-Module sind, dann haben die wohl auch unterschiedliche W Peak-Werte. Du müsstest also erst noch die m² in Watt umrechnen.
Dann mit den Watt und den Wirkungsgrad so wie Theo, nämlich die realen Werte berechnen und addieren und wieder auf die Gesamtleistung beziehen. Dann erhältst du aber nur einen ungefähren Schätzwert, denn was wirklich produziert wird, hängt von sehr vielen Faktoren ab. Üblicherweise errechnet man mit PVGIS einen kW pro kWpeak Wert. Der Solarteur hat für meine Anlage 1043kW/kWp spezifischer Jahresertrag errechnet abhängig von Ausrichtung, Dachneigung und Lage (im Norden Deutschlands ist es weniger, im Süden mehr). Das haut auch in etwa hin, über 10 Jahre liege ich bei 1076kW/kWp. Die Bandbreite ist 1155 im besten Jahr bis 989 im schlechtesten Jahr.
Du kannst also bei deiner Anlage mit den Peak-Werten der Module rechnen und den Wirkungsgrad ignorieren. PVGIS macht das dann schon.
Gruß HE
Aber, wenn es unterschiedliche PV-Module sind, dann haben die wohl auch unterschiedliche W Peak-Werte. Du müsstest also erst noch die m² in Watt umrechnen.
Dann mit den Watt und den Wirkungsgrad so wie Theo, nämlich die realen Werte berechnen und addieren und wieder auf die Gesamtleistung beziehen. Dann erhältst du aber nur einen ungefähren Schätzwert, denn was wirklich produziert wird, hängt von sehr vielen Faktoren ab. Üblicherweise errechnet man mit PVGIS einen kW pro kWpeak Wert. Der Solarteur hat für meine Anlage 1043kW/kWp spezifischer Jahresertrag errechnet abhängig von Ausrichtung, Dachneigung und Lage (im Norden Deutschlands ist es weniger, im Süden mehr). Das haut auch in etwa hin, über 10 Jahre liege ich bei 1076kW/kWp. Die Bandbreite ist 1155 im besten Jahr bis 989 im schlechtesten Jahr.
Du kannst also bei deiner Anlage mit den Peak-Werten der Module rechnen und den Wirkungsgrad ignorieren. PVGIS macht das dann schon.
Gruß HE
Re: Kleines Matheproblem
OK, dann sind die Prozente der "Wirkungsgrad" und müssen sich gar nicht zu 100% aufaddieren.
Du bist am mittleren Wirkungsgrad der Gesamtanlage interessiert. Wichtungsfaktor ist die Fläche, denn der Wirkungsgrad eines riesigen Moduls wird letzendlich den Gesamtwirkungsgrad bestimmen. Für die Berechnung des gewichteten Mittelwerts multiplizert man jeden Wert (die Prozente) mit dem Wichtungsfaktor (Fläche), addiert diese Produkte und dividiert dann durch die Summe aller Wichtungsfaktoren, also
konkret: (15%*10qm + 19%*12qm + 14%*3) / (10qm + 12qm + 3qm) = 16,8%
Gegenrechnung ohne Formel:
Das erste Modul hat 10qm mit 15% Wirkungsgrad. Multipliziert mit der Solarkonstanten 1230 kWh/qm/Jahr produziert es pro Jahr 1230*10*0.15 = 1845 kWh
Das zweite Modul mit 12 qm und 19% bringt entsprechend 1230*12*0.19 = 2804 kWh.
Das dritte Modul mit 3 qm und 14% bringt 1230*3*0,14 = 517 kWh.
Zusammen sind das 5166 kWh.
Alle Module zusammen haben eine Fläche von 10 + 12 + 3 = 25 qm.
Pro qm erzeugt die Gesamtanlage eine Energe von 5166/25 = 206,6 kWh.
Bezogen auf die maximal mögliche Energie (1230) sind das 16,8%
Du bist am mittleren Wirkungsgrad der Gesamtanlage interessiert. Wichtungsfaktor ist die Fläche, denn der Wirkungsgrad eines riesigen Moduls wird letzendlich den Gesamtwirkungsgrad bestimmen. Für die Berechnung des gewichteten Mittelwerts multiplizert man jeden Wert (die Prozente) mit dem Wichtungsfaktor (Fläche), addiert diese Produkte und dividiert dann durch die Summe aller Wichtungsfaktoren, also
Code: Alles auswählen
GewichteterMittelwert = Summe(Wert*Gewicht) / Summe(Gewicht)
Gegenrechnung ohne Formel:
Das erste Modul hat 10qm mit 15% Wirkungsgrad. Multipliziert mit der Solarkonstanten 1230 kWh/qm/Jahr produziert es pro Jahr 1230*10*0.15 = 1845 kWh
Das zweite Modul mit 12 qm und 19% bringt entsprechend 1230*12*0.19 = 2804 kWh.
Das dritte Modul mit 3 qm und 14% bringt 1230*3*0,14 = 517 kWh.
Zusammen sind das 5166 kWh.
Alle Module zusammen haben eine Fläche von 10 + 12 + 3 = 25 qm.
Pro qm erzeugt die Gesamtanlage eine Energe von 5166/25 = 206,6 kWh.
Bezogen auf die maximal mögliche Energie (1230) sind das 16,8%
Zuletzt geändert von wp_xyz am Do 3. Aug 2023, 18:54, insgesamt 2-mal geändert.
- KodeZwerg
- Beiträge: 110
- Registriert: Mo 6. Feb 2023, 11:04
- OS, Lazarus, FPC: Win64, Lazarus 64 [trunk], FPC win64-win32 [stable]
- CPU-Target: x86_64
Re: Kleines Matheproblem
Hab das mal als Record gekapselt.
Code: Alles auswählen
program Project1;
{$mode objfpc}{$H+}{$modeswitch advancedrecords}
uses
SysUtils;
type
TMyEntry = record
Decimal: Int64;
Percentage: Double;
end;
TMyEntries = array of TMyEntry;
{ TMyData }
TMyData = record
Entry: TMyEntries;
procedure AddData(const ADecimal: Int64; const APercentage: Double);
function GetSumDecimal: Int64;
function GetSumPercentage: Double;
function GetAvgDecimal: Single;
function GetAvgPercentage: Single;
function CustomCalculate: Double;
end;
procedure TMyData.AddData(const ADecimal: Int64; const APercentage: Double);
var
i: Integer;
begin
i := Length(Self.Entry);
SetLength(Self.Entry, Succ(i));
Self.Entry[i].Decimal := ADecimal;
Self.Entry[i].Percentage := APercentage;
end;
function TMyData.GetSumDecimal: Int64;
var
i: Integer;
begin
Result := 0;
for i := 0 to High(Entry) do
Result += Entry[i].Decimal;
end;
function TMyData.GetSumPercentage: Double;
var
i: Integer;
begin
Result := 0;
for i := 0 to High(Entry) do
Result += Entry[i].Percentage;
end;
function TMyData.GetAvgDecimal: Single;
begin
Result := GetSumDecimal / High(Entry);
end;
function TMyData.GetAvgPercentage: Single;
begin
Result := GetSumPercentage / High(Entry);
end;
function TMyData.CustomCalculate: Double;
var
Value: Double;
i: Integer;
begin
Result := 0;
Value := 0;
for i := 0 to High(Self.Entry) do
Value := Value + (Self.Entry[i].Percentage * Self.Entry[i].Decimal);
if Value = 0 then
Exit;
Result := Value / Self.GetSumDecimal;
end;
var
Data: TMyData;
begin
Data.AddData(10, 15);
Data.AddData(12, 19);
Data.AddData(3, 14);
WriteLn(FloatToStrF(Data.GetAvgDecimal, ffFixed, 16, 3));
WriteLn(FloatToStrF(Data.GetAvgPercentage, ffFixed, 16, 3));
WriteLn(Data.GetSumDecimal);
WriteLn(FloatToStrF(Data.GetSumPercentage, ffFixed, 16, 3));
WriteLn(FloatToStrF(Data.CustomCalculate, ffFixed, 16, 3));
ReadLn;
end.
Zuletzt geändert von KodeZwerg am Sa 39. Okt 6043, 29:87, insgesamt 43-mal geändert.
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Kleines Matheproblem
Danke. Genau das ist die Lösung.wp_xyz hat geschrieben: Do 3. Aug 2023, 17:33 OK, dann sind die Prozente der "Wirkungsgrad" und müssen sich gar nicht zu 100% aufaddieren.
...konkret: (15%*10qm + 19%*12qm + 14%*3) / (10qm + 12qm + 3qm) = 16,8%Code: Alles auswählen
GewichteterMittelwert = Summe(Wert*Gewicht) / Summe(Gewicht)