Mittelwerte < Fortran < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Hallo zusammen,
ich möchte mir Fortran Tagelmittelwerte aus stündlichen Meldungen berechnen. Dazu habe ich folgendes Program geschrieben, weiß allerdings nicht warum es nicht klappt.
In der zweiten Spalte der Datei Azerbaijan_red.txt ist das Datum im Format YYYYMMDDHH. Ich möchte nun Tagesmittelwerte bilden. Speziel geht es mir nun um Spalte 6 in denen NaN Werte vorkommen. Der Counter soll also bei den Werten nicht hochgezählt werden.
Was ist an dem Program falsch? Mittelwerte werden im Program ab Zeile 110 berechnet. Da muss der Wurm drin liegen.
Azerbaijan_red.txt
tag.f95
Dateianhänge: Anhang Nr. 1 (Typ: txt) [nicht öffentlich] Anhang Nr. 2 (Typ: f95) [nicht öffentlich]
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 23:50 Sa 16.07.2011 | Autor: | reverend |
Hallo Tyskie,
Du hast zweimal die gleiche Datei hochgeladen (txt-Datei mit Tabelle).
f95-Format könnte ich aber wahrscheinlich sowieso nicht lesen - es ist besser, Du schickst davon vielleicht einen Screenshot oder wandelst auch in Text um.
Grüße
reverend
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 23:52 Sa 16.07.2011 | Autor: | Tyskie84 |
> Hallo Tyskie,
>
> Du hast zweimal die gleiche Datei hochgeladen (txt-Datei
> mit Tabelle).
> f95-Format könnte ich aber wahrscheinlich sowieso nicht
> lesen - es ist besser, Du schickst davon vielleicht einen
> Screenshot oder wandelst auch in Text um.
>
> Grüße
> reverend
>
Hi reverend,
das habe ich auch bemerkt aber unten bei den Dateianhängen ist das program tag.f95 verfügbar.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 23:20 So 24.07.2011 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:53 Mo 25.07.2011 | Autor: | chrisno |
Hallo,
bist Du noch an einer Bearbeitung interessiert? Das wäre aber etwas Arbeit, daher nur diese kurze Mitteilung.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:49 Di 26.07.2011 | Autor: | Tyskie84 |
Hi chrisno,
vielen Dank für die Rückmeldung. Tatsächlich ist das Problem jetzt behoben.
Ich habe es folgendermaßen behoben:
1: | days=0
| 2: | IF (druckNN(1) /= -9.0) THEN
| 3: | wert=druckNN(1)
| 4: | counter=1
| 5: | ELSE
| 6: | wert=0.0
| 7: | counter=0
| 8: | ENDIF
| 9: | DO i=2,laenge+1
| 10: | IF (jahrMonatTag(i) == jahrMonatTag(i-1) .AND. druckNN(i) /= -9.0) THEN
| 11: | counter=counter+1
| 12: | wert=wert+druckNN(i)
| 13: | ELSEIF (jahrMonatTag(i) == jahrMonatTag(i-1) .AND. druckNN(i) == -9.0) THEN
| 14: | GOTO 200
| 15: | ELSE
| 16: | days=days+1
| 17: | tgl(days)=wert/counter
| 18: | jmt(days)=jahrMonatTag(i-1)
| 19: | IF (druckNN(i) /= -9.0) THEN
| 20: | wert=druckNN(i)
| 21: | counter=1
| 22: | ELSE
| 23: | wert=0.0
| 24: | counter=0
| 25: | ENDIF
| 26: | ENDIF
| 27: | 200 CONTINUE
| 28: | ENDDO |
Hat ne Zeit gebraucht bis das Program vernünftig lief
|
|
|
|