Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.javascript > #5269 > unrolled thread

Fehler bei Berechnungen in JavaScript

Started byLeo Baumann <ib@leobaumann.de>
First post2021-11-26 21:19 +0100
Last post2021-12-03 05:18 +0100
Articles 16 on this page of 36 — 4 participants

Back to article view | Back to de.comp.lang.javascript


Contents

  Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-11-26 21:19 +0100
    Re: Fehler bei Berechnungen in JavaScript Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-11-27 02:53 +0100
      Re: Fehler bei Berechnungen in JavaScript Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-11-27 02:59 +0100
      Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-11-27 03:31 +0100
        Re: Fehler bei Berechnungen in JavaScript Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-11-27 04:32 +0100
          Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-11-27 04:51 +0100
            Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-11-27 06:00 +0100
              Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-11-27 06:28 +0100
            Re: Fehler bei Berechnungen in JavaScript Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-11-27 06:50 +0100
              Re: Fehler bei Berechnungen in JavaScript Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-11-27 19:41 +0100
            Re: Fehler bei Berechnungen in JavaScript Stefan Reuther <stefan.news@arcor.de> - 2021-11-27 10:59 +0100
              Re: Fehler bei Berechnungen in JavaScript Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-11-27 16:28 +0100
            Re: Fehler bei Berechnungen in JavaScript Arno Welzel <usenet@arnowelzel.de> - 2021-11-28 00:53 +0100
              Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-11-28 05:47 +0100
                Re: Fehler bei Berechnungen in JavaScript Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-11-29 00:51 +0100
                  Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-11-29 15:41 +0100
                    Re: Fehler bei Berechnungen in JavaScript Arno Welzel <usenet@arnowelzel.de> - 2021-11-29 16:12 +0100
                      Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-11-29 16:23 +0100
                        Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-11-29 16:30 +0100
                        Re: Fehler bei Berechnungen in JavaScript Arno Welzel <usenet@arnowelzel.de> - 2021-11-29 16:56 +0100
                          Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-11-29 17:00 +0100
                            Re: Fehler bei Berechnungen in JavaScript Arno Welzel <usenet@arnowelzel.de> - 2021-11-29 17:02 +0100
                          Re: Fehler bei Berechnungen in JavaScript Arno Welzel <usenet@arnowelzel.de> - 2021-11-29 17:02 +0100
                            Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-11-29 17:06 +0100
                            Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-11-29 17:10 +0100
                    Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-11-29 23:46 +0100
                      Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-11-30 04:12 +0100
    Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-12-01 14:29 +0100
      Re: Fehler bei Berechnungen in JavaScript Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-12-02 01:27 +0100
        Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-12-02 02:20 +0100
          Re: Fehler bei Berechnungen in JavaScript Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-12-02 04:00 +0100
            Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-12-02 07:11 +0100
              Re: Fehler bei Berechnungen in JavaScript Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-12-03 03:51 +0100
                Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-12-03 04:57 +0100
                  Re: Fehler bei Berechnungen in JavaScript Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2021-12-03 05:33 +0100
                Re: Fehler bei Berechnungen in JavaScript Leo Baumann <ib@leobaumann.de> - 2021-12-03 05:18 +0100

Page 2 of 2 — ← Prev page 1 [2]


#5290

FromLeo Baumann <ib@leobaumann.de>
Date2021-11-29 17:00 +0100
Message-ID<so2teg$3fi$1@solani.org>
In reply to#5289
Am 29.11.2021 um 16:56 schrieb Arno Welzel:
>> Natürlich ist beides erfüllt, 10 x kontrolliert.:(
> Also:
> 
> Du sagst, dass hier würde NaN ergeben:
> 
> Math.abs(
>    Math.acos(
>      Math.sin(bs) -
>      Math.sin(bb) * cose1 / Math.cos(bb) / Math.sin(h)
>    )
> )
> 
> Und bs, bb, cose1 und h sind gültige numerische Werte und Math.cos(bb)
> sowie Math.sin(h) sind ungleich 0.
> 
> Das ist aus meiner Sicht unmöglich.

Darum bin ich aktuell auch verzweifelt und konfus. Definitiv sind 
cos(bb) sowie sin(h) ungleich Null und alle anderen sind gültige Werte.

[toc] | [prev] | [next] | [standalone]


#5292

FromArno Welzel <usenet@arnowelzel.de>
Date2021-11-29 17:02 +0100
Message-ID<j0kbthFlpooU2@mid.individual.net>
In reply to#5290
Leo Baumann:

> Am 29.11.2021 um 16:56 schrieb Arno Welzel:
>>> Natürlich ist beides erfüllt, 10 x kontrolliert.:(
>> Also:
>>
>> Du sagst, dass hier würde NaN ergeben:
>>
>> Math.abs(
>>    Math.acos(
>>      Math.sin(bs) -
>>      Math.sin(bb) * cose1 / Math.cos(bb) / Math.sin(h)
>>    )
>> )
>>
>> Und bs, bb, cose1 und h sind gültige numerische Werte und Math.cos(bb)
>> sowie Math.sin(h) sind ungleich 0.
>>
>> Das ist aus meiner Sicht unmöglich.
> 
> Darum bin ich aktuell auch verzweifelt und konfus. Definitiv sind 
> cos(bb) sowie sin(h) ungleich Null und alle anderen sind gültige Werte.

Ja - aber Math.acos(x) will für x einen Wert von -1 bis 1 haben. Das ist
für den Ausdruck

Math.sin(bs) - Math.sin(bb) * cose1 / Math.cos(bb) / Math.sin(h)

nicht garantiert.


-- 
Arno Welzel
https://arnowelzel.de

[toc] | [prev] | [next] | [standalone]


#5291

FromArno Welzel <usenet@arnowelzel.de>
Date2021-11-29 17:02 +0100
Message-ID<j0kbrrFlpooU1@mid.individual.net>
In reply to#5289
Arno Welzel:

> Leo Baumann:
> 
>> Am 29.11.2021 um 16:12 schrieb Arno Welzel:
>>> Was ist "grüner Bereich"? Relevant ist, ob folgendes erfüllt ist:
>>>
>>> Math.cos(bb) != 0
>>> Math.sin(h) != 0
>>
>> Natürlich ist beides erfüllt, 10 x kontrolliert. :(
> 
> Also:
> 
> Du sagst, dass hier würde NaN ergeben:
> 
> Math.abs(
>   Math.acos(
>     Math.sin(bs) -
>     Math.sin(bb) * cose1 / Math.cos(bb) / Math.sin(h)
>   )
> )
> 
> Und bs, bb, cose1 und h sind gültige numerische Werte und Math.cos(bb)
> sowie Math.sin(h) sind ungleich 0.
> 
> Das ist aus meiner Sicht unmöglich.

I stand corrected.

Math.acos(x) will für x einen Wert von -1 bis 1 haben. Alle Werte unter
-1 oder über 1 liefern NaN.

Siehe auch:

<https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Math/acos>

-- 
Arno Welzel
https://arnowelzel.de

[toc] | [prev] | [next] | [standalone]


#5293

FromLeo Baumann <ib@leobaumann.de>
Date2021-11-29 17:06 +0100
Message-ID<so2tqm$4h0$1@solani.org>
In reply to#5291
Am 29.11.2021 um 17:02 schrieb Arno Welzel:
> I stand corrected.
> 
> Math.acos(x) will für x einen Wert von -1 bis 1 haben. Alle Werte unter
> -1 oder über 1 liefern NaN.
> 
> Siehe auch:
> 
> <https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Math/acos>

ah - ok - danke - Ich werde prüfen.

[toc] | [prev] | [next] | [standalone]


#5294

FromLeo Baumann <ib@leobaumann.de>
Date2021-11-29 17:10 +0100
Message-ID<so2u26$4rf$1@solani.org>
In reply to#5291
Am 29.11.2021 um 17:02 schrieb Arno Welzel:
> I stand corrected.
> 
> Math.acos(x) will für x einen Wert von -1 bis 1 haben. Alle Werte unter
> -1 oder über 1 liefern NaN.
> 
> Siehe auch:
> 
> <https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Math/acos>

x wird -1.9896

danke - damit komme ich weiter :)

[toc] | [prev] | [next] | [standalone]


#5295

FromLeo Baumann <ib@leobaumann.de>
Date2021-11-29 23:46 +0100
Message-ID<so3l8o$kjg$1@solani.org>
In reply to#5285
Jetzt läuft die Integration durch. Ergebnisse aber zu groß.
Ich suche weiter ...

[toc] | [prev] | [next] | [standalone]


#5296

FromLeo Baumann <ib@leobaumann.de>
Date2021-11-30 04:12 +0100
Message-ID<so44rh$s9q$1@solani.org>
In reply to#5295
Am 29.11.2021 um 23:46 schrieb Leo Baumann:
> Jetzt läuft die Integration durch. Ergebnisse aber zu groß.
> Ich suche weiter ...

Hier nochmal die Winkel:
https://www.lti.kit.edu/rd_download/Solarenergie_20081024_Sonne.pdf

Aufsummiert wird cos(θ_gen/sin(γ_s)).-

Ausschließen muss ich γ_s<0 weil die Sonne unter dem Horizont ist.

Ausschließen muss ich auch Sonnenbestrahlung hinter die Fläche. Sieht 
jemand in der Zeichung im pdf welcher Winkel das ist?

Die Zeichnung macht meine Augen wild ...

[toc] | [prev] | [next] | [standalone]


#5297

FromLeo Baumann <ib@leobaumann.de>
Date2021-12-01 14:29 +0100
Message-ID<so7tca$r0h$1@solani.org>
In reply to#5269
Am 26.11.2021 um 21:19 schrieb Leo Baumann:
> Hallo,
> das Programm berechnet das Integral (Simpson) der rel. Bestahlungsstärke 
> einer geneigten Fläche durch die Sonne.
> 
> Zwei funtionierende Programme für waagerechte und senkrechte Bestrahlung 
> sind beigefügt.
> 
> Simpsonneig() ist die Integration nach Simpson, function cosen() ist die 
> Funktion für die rel. Bestrahlungsstärke.
> 
> Die zugehörige Eingabe und der Aufruf für Simpsonneig() ist ganz unten.
> 
> Für die eingetragenen Parameter kommt ein sinnvolles Ergebnis heraus, 
> variiert man die Parameter, gibt es Probleme.

Das Script funktioniert jetzt für die meisten Parameter, aber wie sich 
durch Vergleich mit dem anderen, zweiten Script zeigt, liefert die 
Berechnungsgleichung für senkrechte Flächen falsche Ergebnisse. Die 
Berechnungsgleichung aus dem Internet

https://www.lti.kit.edu/rd_download/Solarenergie_20081024_Sonne.pdf

e=(-Math.cos(ele)*Math.sin(neig)*Math.cos(ris-rif)+Math.sin(ele)*Math.cos(neig));

ist wohl falsch.

> 
> Hier die Programme:

<!DOCTYPE HTML>
<html lang="de">
<head>
<script language="JavaScript">
		
		function cose(t,bb,lb,pi,nwk)
		{
		ls=2*pi/24*t-pi;
		bs=Math.sin(2*pi/8760*t-pi/2)*nwk;
		e=Math.sin(bb)*Math.sin(bs)+Math.cos(bb)*Math.cos(bs)*Math.cos(ls-lb);
		if (e<=0) e=0;            // wenn die Sonne unter dem Horizont steht 
wird das nicht mit gerechnet
		return e
		}

         function sine(t,bb,lb,pi,nwk)
		{
		ls=2*pi/24*t-pi;
		bs=Math.sin(2*pi/8760*t-pi/2)*nwk;
	 
eh=Math.sin(bb)*Math.sin(bs)+Math.cos(bb)*Math.cos(bs)*Math.cos(ls-lb); 
  // *****cos(e)
         e=Math.sqrt(1-Math.pow(eh,2));  // *****sin(e)
		if (eh<0) e=0;            // *****wenn die Sonne unter dem Horizont 
steht wird das nicht mit gerechnet
		return e
		}

        function cosen(t,bb,lb,pi,nwk,neig,rif)
		{
		ls=2*pi/24*t-pi;                          // Länge Sonne
		bs=Math.sin(2*pi/8760*t-pi/2)*nwk;        // Breite Sonne

 
cose1=Math.sin(bb)*Math.sin(bs)+Math.cos(bb)*Math.cos(bs)*Math.cos(ls-lb); 
  // cos des Winkels zum Subsonnenpunkt
		h=Math.acos(cose1);   // Winkel des Subsonnenpunktes im Ermittelpunkt 

		if (h!=0) 
{rish=Math.sin(bb)-Math.sin(bs)*cose1/Math.cos(bs)/Math.sin(h); 
ris=Math.abs(Math.acos(rish))} else if (h==0) {ris=0;} // Richtung zur Sonne
		if (h!=0) {vz=Math.sin(ls-lb)*Math.cos(bs)/Math.sin(h);} else if 
(h>=0) {vz=1;};
		if (vz<0) {ris=-ris;}

 
ele=pi/2-Math.acos(Math.sin(bb)*Math.sin(bs)+Math.cos(bb)*Math.cos(bs)*Math.cos(ls-lb)); 
        // Sonnenhöhe
         if ((ele<=0)||(ele>=pi-neig)) {e=0;} else 
{e=(-Math.cos(ele)*Math.sin(neig)*Math.cos(ris-rif)+Math.sin(ele)*Math.cos(neig));} 
// /Math.sin(ele);}
         //console.log(e);
		return e
		}

         // Simpson() integriert über cose() von t=0 bis t=8760 Stunden, 
also ein Jahr  (waagerechte Fläche auf der Erde)
		function Simpson()
		{
		var pi=Math.PI;
		var lb=0;
		var bb=Math.abs(parseFloat(document.eingabe3.gb.value)*pi/180);
		var g=0;
		var s=0;
		var ug=0;
		var og=8760;
		var min=1023;
		var nwk=23.5*pi/180;
	
		var n=1;
		var gs=2;
		var te=Math.pow(10,-gs);
		var sw=(og-ug)/2;
		var c=cose(ug,bb,lb,pi,nwk)+cose(og,bb,lb,pi,nwk);
		var u=cose(ug+sw,bb,lb,pi,nwk);
		var sa=sw/3*(c+4*u);
		do
			{
			sw=sw/2;
			n=2*n+1;
			g=g+u;
			u=0;

			for (t=1;t<=n;t=t+2)
				{
				u=u+cose(u+t*sw,bb,lb,pi,nwk);
				}

			s=sw/3*(c+2*g+4*u);
			if (s==0) s=te;
			fe=Math.abs((s-sa)/(15*s));
			sa=s;
			}while ((fe>te) || (n<min));

		document.eingabe3.schritte.value=String(n+1);
		document.eingabe3.fehler.value=String(Math.round(fe*1e8)/1e8);
		document.eingabe3.erg.value=String(Math.round(sa/8760*1e4)/100);
		document.eingabe3.erg1.value=String(Math.round(sa*100)/100);
		}

         // Simpsonsenk() integriert über sine() von t=0 bis t=8760 
Stunden, also ein Jahr (senkrechte Fläche auf der Erde)
         function Simpsonsenk()
		{
		var pi=Math.PI;
		var lb=0;
		var bb=Math.abs(parseFloat(document.eingabe10.gb.value)*pi/180);
		var g=0;
		var s=0;
		var ug=0;
		var og=8760;
		var min=1023;
		var nwk=23.5*pi/180;
	
		var n=1;
		var gs=2;
		var te=Math.pow(10,-gs);
		var sw=(og-ug)/2;
		var c=sine(ug,bb,lb,pi,nwk)+cose(og,bb,lb,pi,nwk);
		var u=sine(ug+sw,bb,lb,pi,nwk);
		var sa=sw/3*(c+4*u);

         if (bb<=nwk) nwk=bb;    // *****für den Fall, dass der 
Beobachter innerhalb des Wendekreises ist
		do
			{
			sw=sw/2;
			n=2*n+1;
			g=g+u;
			u=0;

			for (t=1;t<=n;t=t+2)
				{
				u=u+sine(u+t*sw,bb,lb,pi,nwk);
				}

			s=sw/3*(c+2*g+4*u);
			if (s==0) s=te;
			fe=Math.abs((s-sa)/(15*s));
			sa=s;
			}while ((fe>te) || (n<min));

		document.eingabe10.schritte.value=String(n+1);
		document.eingabe10.fehler.value=String(Math.round(fe*1e8)/1e8);
		document.eingabe10.erg.value=String(Math.round(sa/8760*1e4)/100);
		document.eingabe10.erg1.value=String(Math.round(sa*100)/100);
		}

         // Simpsonneig() integriert über cose() von t=0 bis t=8760 
Stunden, also ein Jahr (geneigte Fläche auf der Erde)
        function Simpsonneig()
		{
		var pi=Math.PI;
		var lb=0;
		var bb=Math.abs(parseFloat(document.eingabe11.gb.value)*pi/180);
         var neig=parseFloat(document.eingabe11.neig.value)*pi/180;
         var rif=parseFloat(document.eingabe11.rif.value)*pi/180;
		var g=0;
		var s=0;
		var ug=0;
		var og=8760;
		var min=1023;
		var nwk=23.5*pi/180;
	
		var n=1;
		var gs=2;
		var te=Math.pow(10,-gs);
		var sw=(og-ug)/2;
		var c=cosen(ug,bb,lb,pi,nwk,neig,rif)+cosen(og,bb,lb,pi,nwk,neig,rif);
		var u=cosen(ug+sw,bb,lb,pi,nwk,neig,rif);
		var sa=sw/3*(c+4*u);

         if (bb<=nwk) nwk=bb;    // *****für den Fall, dass der 
Beobachter innerhalb des Wendekreises ist
		do
			{
			sw=sw/2;
			n=2*n+1;
			g=g+u;
			u=0;

			for (t=1;t<=n;t=t+2)
				{
				u=u+cosen(u+t*sw,bb,lb,pi,nwk,neig,rif);
				}

			s=sw/3*(c+2*g+4*u);
			if (s==0) s=te;
			fe=Math.abs((s-sa)/(15*s));
			sa=s;
			}while ((fe>te) || (n<min));

		document.eingabe11.schritte.value=String(n+1);
		document.eingabe11.fehler.value=String(Math.round(fe*1e8)/1e8);
		document.eingabe11.erg.value=String(Math.round(sa/8760*1e4)/100);
		document.eingabe11.erg1.value=String(Math.round(sa*100)/100);
		}

</script>

</head>

<a name="Start"></a>
<body  link="#0000cb" vlink="#00008b" alink="#ff8c00" 
background="grid.gif">
	<p><center><font face="Eras Bold ITC"><h1 style= "color: 
#0000cb"><u>Berechnungsprogramme</u></h1></font></center></p>

	<p><table border=1 bordercolor="0000b0" cellspacing="7" bgcolor="#fffff0">
	<tr><th>Art der Berechnung:</th></tr>
	<tr><td><img src="pfeilre.gif"><a href="#Sonne">effektive 
Sonnenbestrahlung, waagerechte Fl&auml;che</a></td></tr>
     <tr><td><img src="pfeilre.gif"><a href="#Sonnesenk">effektive 
Sonnenbestrahlung, senkrechte Fl&auml;che</a></td></tr>
     <tr><td><img src="pfeilre.gif"><a href="#Sonneneig">effektive 
Sonnenbestrahlung, geneigte Fl&auml;che</a></td></tr>
	</table></p>

	<p><hr noshade color="#000000" size=1></p>

	

	<a name="Sonne"></a>
	<p><h4 style="color:#000000"><u><b>Berechnung der effektiven 
Bestrahlungsst&auml;rke der waagerechten Fl&auml;che durch die 
Sonne</b></u></h4></p>

	<p>Wieviel Prozent der Sonnenstrahlung f&auml;llt auf eine waagerechte 
Fl&auml;che an der angegebenen geografischen Position, weil die Sonne ja 
nicht
	unbedingt senkrecht &uuml;ber dieser steht und au&szlig;erdem dem 
Tageszeiten- und Jahreszeitenverlauf unterliegt? Die eingetragenen
	Koordinaten geh&ouml;ren zu Mainflingen-Offenbach. Die Berechnung ist 
schwierig, weil &uuml;ber folgende Gro&szlig;kreisformel
	integriert werden mu&szlig, und zwar von 0 bis 365 x 24 Stunden.</p>
	<p><center>cos(e) = sin(bf)*sin(bs)+cos(bf)*cos(bs)*cos(ls-lf)</center>
	<center>mit ls=2*pi/24*t-pi und bs=nWK*sin(2*pi/365/24*t-pi/2) den 
Koordinaten des Subsonnenpunktes</center></p>
	<p>Auch in Kugelkoordinaten ist diese Berechnung schwierig. Darum 
empfiehlt sich hier die SIMPSON-Formel. F&uuml;r beliebige Koordinaten auf
	der Erdoberfl&auml;che ist diese Iteration hier geeignet.</p>

	<p><table border=1 bordercolor="#0000b0"cellpadding="10" 
cellspacing="7" bgcolor="#fffff0">
	<tr><th colspan="2">effektive Sonnenbestrahlung, 
Bestrahlungsst&auml;rke, waagerechte Fl&auml;che</th></tr><tr><td>
	<form name="eingabe3">
		<input name="gb" type="text" size=12 value="50.1"> geografische Breite 
der Fl&auml;che in Dezimalgrad (s&uuml;dlich negativ)<br>
		<input name="schritte" type="text" readonly size=12> <span 
style="color:#ff0000;">Anzahl der Intervalle der Integration</span><br>
		<input name="fehler" type="text" readonly size=12> <span 
style="color:#0000ff;">Rechenfehler</span><br>
		<input name="erg" type="text" readonly size=12> <span 
style="color:#ff0000;">% der wirksamen Bestrahlungsst&auml;rke durch die 
Sonne</span><br>
		<input name="erg1" type="text" readonly size=12> <span 
style="color:#0000ff;">&auml;quivalente Sonnen-Stunden senkrechter 
Einstrahlung</span><br>
		<input name="rechnen" type="button" value="Berechnen" 
onClick="Simpson()"><center><img src="sunshine.gif"></center>
	</form>
	</table></p>

     <a name="Sonnesenk"></a>
	<p><h4 style="color:#000000"><u><b>Berechnung der effektiven 
Bestrahlungsst&auml;rke der senkrechten Fl&auml;che durch die 
Sonne</b></u></h4></p>

	<p>Wieviel Prozent der Sonnenstrahlung f&auml;llt auf eine senkrechte, 
nach S&uuml;den bzw. Norden zeigende Fl&auml;che an der angegebenen 
geografischen Position, weil die Sonne ja nicht
	unbedingt senkrecht &uuml;ber dieser steht und au&szlig;erdem dem 
Tageszeiten- und Jahreszeitenverlauf unterliegt? Die eingetragenen
	Koordinaten geh&ouml;ren zu Mainflingen-Offenbach. Die Berechnung ist 
schwierig, weil &uuml;ber folgende Gro&szlig;kreisformel
	integriert werden mu&szlig, und zwar von 0 bis 365 x 24 Stunden.</p>
	<p><center>sin(e) = 
sqrt(1-(sin(bf)*sin(bs)+cos(bf)*cos(bs)*cos(ls-lf))²)</center>
	<center>mit ls=2*pi/24*t-pi und bs=nWK*sin(2*pi/365/24*t-pi/2) den 
Koordinaten des Subsonnenpunktes</center></p>
	<p>Auch in Kugelkoordinaten ist diese Berechnung schwierig. Darum 
empfiehlt sich hier die SIMPSON-Formel. F&uuml;r beliebige Koordinaten auf
	der Erdoberfl&auml;che ist diese Iteration hier geeignet.</p></p>

	<p><table border=1 bordercolor="#0000b0"cellpadding="10" 
cellspacing="7" bgcolor="#fffff0">
	<tr><th colspan="2">effektive Sonnenbestrahlung, 
Bestrahlungsst&auml;rke, senkrechte Fl&auml;che</th></tr><tr><td>
	<form name="eingabe10">
		<input name="gb" type="text" size=12 value="50.1"> geografische Breite 
der Fl&auml;che in Dezimalgrad (s&uuml;dlich negativ)<br>
		<input name="schritte" type="text" readonly size=12> <span 
style="color:#ff0000;">Anzahl der Intervalle der Integration</span><br>
		<input name="fehler" type="text" readonly size=12> <span 
style="color:#0000ff;">Rechenfehler</span><br>
		<input name="erg" type="text" readonly size=12> <span 
style="color:#ff0000;">% der wirksamen Bestrahlungsst&auml;rke durch die 
Sonne</span><br>
		<input name="erg1" type="text" readonly size=12> <span 
style="color:#0000ff;">&auml;quivalente Sonnen-Stunden senkrechter 
Einstrahlung</span><br>
		<input name="rechnen" type="button" value="Berechnen" 
onClick="Simpsonsenk()"><center><img src="sunshine.gif"></center>
	</form>
	</table></p>

	<a href="#Start">[Oben]</a><a href="index.htm" 
target="_parent">[Anfang]</a>

	<p><hr noshade color="#000000" size=1></p>

     <a name="Sonneneig"></a>
	<p><h4 style="color:#000000"><u><b>Berechnung der effektiven 
Bestrahlungsst&auml;rke der geneigten Fl&auml;che durch die 
Sonne</b></u></h4></p>

	<p>Wieviel Prozent der Sonnenstrahlung f&auml;llt auf eine geneigte, 
nach S&uuml;den bzw. Norden zeigende Fl&auml;che an der angegebenen 
geografischen Position, weil die Sonne ja nicht
	unbedingt senkrecht &uuml;ber dieser steht und au&szlig;erdem dem 
Tageszeiten- und Jahreszeitenverlauf unterliegt? Die eingetragenen
	Koordinaten geh&ouml;ren zu Mainflingen-Offenbach.</p>

	<p><table border=1 bordercolor="#0000b0"cellpadding="10" 
cellspacing="7" bgcolor="#fffff0">
	<tr><th colspan="2">effektive Sonnenbestrahlung, 
Bestrahlungsst&auml;rke, geneigte Fl&auml;che</th></tr><tr><td>
	<form name="eingabe11">
		<input name="gb" type="text" size=12 value="50.1"> geografische Breite 
der Fl&auml;che in Dezimalgrad (s&uuml;dlich negativ)<br>
         <input name="neig" type="text" size=12 value="45"> Neigung der 
Fl&auml;che in Grad<br>
         <input name="rif" type="text" size=12 value="180"> Richtung der 
Fl&auml;che in Grad<br>
         <input name="schritte" type="text" readonly size=12> <span 
style="color:#ff0000;">Anzahl der Intervalle der Integration</span><br>
		<input name="fehler" type="text" readonly size=12> <span 
style="color:#0000ff;">Rechenfehler</span><br>
		<input name="erg" type="text" readonly size=12> <span 
style="color:#ff0000;">% der wirksamen Bestrahlungsst&auml;rke durch die 
Sonne</span><br>
		<input name="erg1" type="text" readonly size=12> <span 
style="color:#0000ff;">&auml;quivalente Sonnen-Stunden senkrechter 
Einstrahlung</span><br>
		<input name="rechnen" type="button" value="Berechnen" 
onClick="Simpsonneig()"><center><img src="sunshine.gif"></center>
	</form>
	</table></p>

	<a href="#Start">[Oben]</a><a href="index.htm" 
target="_parent">[Anfang]</a>

</body>
</html>

[toc] | [prev] | [next] | [standalone]


#5298

FromThomas 'PointedEars' Lahn <PointedEars@web.de>
Date2021-12-02 01:27 +0100
Message-ID<4361753.LvFx2qVVIh@PointedEars.de>
In reply to#5297
Leo Baumann wrote:

> Das Script funktioniert jetzt für die meisten Parameter, aber wie sich
> durch Vergleich mit dem anderen, zweiten Script zeigt, liefert die
> Berechnungsgleichung für senkrechte Flächen falsche Ergebnisse. Die
> Berechnungsgleichung aus dem Internet
> 
> https://www.lti.kit.edu/rd_download/Solarenergie_20081024_Sonne.pdf
> 
> e=(-Math.cos(ele)*Math.sin(neig)*Math.cos(ris-
rif)+Math.sin(ele)*Math.cos(neig));
> 
> ist wohl falsch.

Wahrscheinlicher ist, dass Du sie falsch implementiert hast, aufgrund Deiner 
unstrukturierten Vorgehensweise.  GIGO.

>> Hier die Programme:

Trotz ausführlicher Hinweise und Erklärungen immer noch derselbe Müll :-(

-- 
PointedEars
FAQ: <http://PointedEars.de/faq> | <http://PointedEars.de/es-matrix>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.

[toc] | [prev] | [next] | [standalone]


#5299

FromLeo Baumann <ib@leobaumann.de>
Date2021-12-02 02:20 +0100
Message-ID<so971e$9aj$2@solani.org>
In reply to#5298
Am 02.12.2021 um 01:27 schrieb Thomas 'PointedEars' Lahn:
> Wahrscheinlicher ist, dass Du sie falsch implementiert hast, aufgrund Deiner
> unstrukturierten Vorgehensweise.  GIGO.

Nein, das ist geprutscht, liefert aber für waagerechte Flächen das 
richtige Ergebnis - für senkrechte nicht.

[toc] | [prev] | [next] | [standalone]


#5300

FromThomas 'PointedEars' Lahn <PointedEars@web.de>
Date2021-12-02 04:00 +0100
Message-ID<1951559.oMNUckLgyt@PointedEars.de>
In reply to#5299
Leo Baumann wrote:

> Am 02.12.2021 um 01:27 schrieb Thomas 'PointedEars' Lahn:
>> Wahrscheinlicher ist, dass Du sie falsch implementiert hast, aufgrund
>> Deiner unstrukturierten Vorgehensweise.  GIGO.
> 
> Nein, das ist geprutscht,
                ^^^^^^^^^^
Wie bitte?

> liefert aber für waagerechte Flächen das richtige Ergebnis - für
> senkrechte nicht.

cos(90°) = 0, insofern ist das kein Wunder.

-- 
PointedEars
FAQ: <http://PointedEars.de/faq> | <http://PointedEars.de/es-matrix>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.

[toc] | [prev] | [next] | [standalone]


#5301

FromLeo Baumann <ib@leobaumann.de>
Date2021-12-02 07:11 +0100
Message-ID<so9o2s$ism$1@solani.org>
In reply to#5300
Am 02.12.2021 um 04:00 schrieb Thomas 'PointedEars' Lahn:
>> liefert aber für waagerechte Flächen das richtige Ergebnis - für
>> senkrechte nicht.
> cos(90°) = 0, insofern ist das kein Wunder.

Nun, das Integral über

sin(e) = sqrt(1-(sin(bf)*sin(bs)+cos(bf)*cos(bs)*cos(ls-lf))²)

mit ls=2*pi/24*t-pi und bs=nWK*sin(2*pi/365/24*t-pi/2) den Koordinaten 
des Subsonnenpunktes

liefert das richtige Ergebnis, also ist das Integral

cos(e)=(-Math.cos(ele)*Math.sin(neig)*Math.cos(ris-rif)+Math.sin(ele)*Math.cos(neig))

für einen Neigungswinkel von 90 Grad nicht geeignet.

Ersteres habe ich selber hergeleitet, zweiteres ist Zweifelhaftes aus 
dem Internet von:

https://www.lti.kit.edu/rd_download/Solarenergie_20081024_Sonne.pdf

[toc] | [prev] | [next] | [standalone]


#5302

FromThomas 'PointedEars' Lahn <PointedEars@web.de>
Date2021-12-03 03:51 +0100
Message-ID<2220571.ElGaqSPkdT@PointedEars.de>
In reply to#5301
Leo Baumann wrote:

> Am 02.12.2021 um 04:00 schrieb Thomas 'PointedEars' Lahn:
>>> liefert aber für waagerechte Flächen das richtige Ergebnis - für
>>> senkrechte nicht.
>> cos(90°) = 0, insofern ist das kein Wunder.
> 
> Nun, das Integral über
> 
> sin(e) = sqrt(1-(sin(bf)*sin(bs)+cos(bf)*cos(bs)*cos(ls-lf))²)
> 
> mit ls=2*pi/24*t-pi und bs=nWK*sin(2*pi/365/24*t-pi/2) den Koordinaten
> des Subsonnenpunktes
> 
> liefert das richtige Ergebnis, 

Na dann ist ja alles gut.  Und was heisst nun „geprutscht“?

-- 
PointedEars
FAQ: <http://PointedEars.de/faq> | <http://PointedEars.de/es-matrix>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.

[toc] | [prev] | [next] | [standalone]


#5303

FromLeo Baumann <ib@leobaumann.de>
Date2021-12-03 04:57 +0100
Message-ID<soc4ji$6bu$1@solani.org>
In reply to#5302
Am 03.12.2021 um 03:51 schrieb Thomas 'PointedEars' Lahn:
> Und was heisst nun „geprutscht“?

"Geprutscht" heisst zusammengestrickt, gemogelt, unsauber programmiert.

[toc] | [prev] | [next] | [standalone]


#5305

FromThomas 'PointedEars' Lahn <PointedEars@web.de>
Date2021-12-03 05:33 +0100
Message-ID<2804250.e9J7NaK4W3@PointedEars.de>
In reply to#5303
Leo Baumann wrote:

> Am 03.12.2021 um 03:51 schrieb Thomas 'PointedEars' Lahn:
>> Und was heisst nun „geprutscht“?
> 
> "Geprutscht" heisst zusammengestrickt, gemogelt, unsauber programmiert.

Ahja.

-- 
PointedEars
FAQ: <http://PointedEars.de/faq> | <http://PointedEars.de/es-matrix>
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2 | Please do not cc me./Bitte keine Kopien per E-Mail.

[toc] | [prev] | [next] | [standalone]


#5304

FromLeo Baumann <ib@leobaumann.de>
Date2021-12-03 05:18 +0100
Message-ID<soc5r0$6up$1@solani.org>
In reply to#5302
Am 03.12.2021 um 03:51 schrieb Thomas 'PointedEars' Lahn:
> Na dann ist ja alles gut

Nun, nein - nicht alles ist gut. Ich wollte gerne die äquivalenten 
Sonnenstunden senkrechter Einstrahlung für geneigte Flächen berechnen. 
Und natürlich so, dass die Ergebnisse nicht nur für waagerechte Flächen, 
sondern auch für senkrechte Flächen mit den beiden ersten Skripten 
übereinstimmt.

So bin ich noch nicht weiter ...

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | de.comp.lang.javascript


csiph-web