- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
I wrote a program for the calculate the media value of real numbers. Program calculate the median value, but the calculated median value does not similar to excel or spss calculated median value. The excel gave median value 27.21 for the input data, but the program gave 29.45 for same input data. I also tried using integer or other data set the program also gave different median value from others.
Please give a solution How can I solve this issues. Many thanks for your support.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
REAL, DIMENSION(0:100) :: X
INTEGER :: N
INTEGER :: IOstatus
INTEGER :: i
OPEN(1,FILE ='DATA07.DAT', STATUS = 'OLD')
DO
READ(1,*,IOSTAT=IOstatus) N, (X(i), i = 1, N)
I was noting the array X start at x(0) through to x(100) , that is 101 elements but in your loop you have i = 1, n that is i does not start at zero. Was that what you intended? X(0) is not set.
Link kopiert
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
IF (MOD(N,2) == 0) THEN ! compute the median
Median = (Temp(N/2) + Temp(N/2+1)) / 2.0
ELSE
Median = Temp(N/2+1)
END IF
At a guess and I do not do median -- these are wrong -- you are probably missing a bra and a ket as we say in Pure Math - could be wrong
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
@JohnNichols Previously I used this format, then I changed it. But Both format output was given similar errors. Many thanks and looking further solution
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Shouldn't the median value be an element of the set of values, unlike the average ?
You could choose either possibility when the count is even.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Not necessarily, the definition at Wikipedia, https://en.wikipedia.org/wiki/Median, includes the average of two numbers in the sequence, f you have an even amount of data.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
I didn't study the program much but I noted that your array is zero based but all your loops look at elements 1 to N rather than 0 to n-1 is that your problem?
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
@andrew_4619 Your explanation may not clear. Many thanks for your reply. If you have more energy please give me a solution
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
This looks to me like a class work assignment. If so, you should not be asking others to do your work for you.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
@Steve_Lionel Dear Steve, this is not class work. I try to write a program for WQI model. That is a another part of my module.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Ok - the code you had and the problem reminded me of class assignments.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
REAL, DIMENSION(0:100) :: X
INTEGER :: N
INTEGER :: IOstatus
INTEGER :: i
OPEN(1,FILE ='DATA07.DAT', STATUS = 'OLD')
DO
READ(1,*,IOSTAT=IOstatus) N, (X(i), i = 1, N)
I was noting the array X start at x(0) through to x(100) , that is 101 elements but in your loop you have i = 1, n that is i does not start at zero. Was that what you intended? X(0) is not set.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
@andrew_4619 Many thanks for your feedback. I solved this problem with array size correction.

- RSS-Feed abonnieren
- Thema als neu kennzeichnen
- Thema als gelesen kennzeichnen
- Diesen Thema für aktuellen Benutzer floaten
- Lesezeichen
- Abonnieren
- Drucker-Anzeigeseite