Normalizacja liczb

Witam,mam zadanie,jego treść zaczyna się tak:

" Jednym z często występujących problemów jest normalizacja ciągu liczb, tj. ich przeskalowanie tak,by wszystkie zawierały się w określonym przedziale(zwykle od zera do jedynki).Znormalizowania i-tej liczby w ciągu(xi i- indeks dolny) do przedziału[0;1] dokonuje się według wzoru:

http://www19.zippyshare.com/v/3476701/file.html

gdzie max i min sa odpowiednio najwiekszą i najmniejszą liczba w ciągu.Napisz program dokonujący normalizacji n liczb wprowadzanych z klawiatury do tablicy x[] do przedziału [0;1]."

co to wogóle jest ten przedział?:stuck_out_tongue:

Problem polega na tym że nie wiem co to wogole jest normalizacja,nierozumiem tego wogóle,bardzo prosze o dobre wyjaśnienie(nie chce byscie mi podawali kod programu,bo nie o to mi chodzi…). Wielkie dzięki z góry…

Normalizacja = przeskalowanie z jednego zakresu w drugi(0…1).

Przykład: mamy kolor RGB(składowa to jeden bajt)(ciąg liczb) (255, 0, 128), min = 0, max = 255 - skalujemy wszystkie po kolei:

R = (255 - min)/(max - min) = (255 - 0) / (255 - 0) = 255 / 255 = 1

G = … = 0 / 255 = 0

B = … = 128 / 255 = 0.5…

Rozumiesz już?

dodam że chodzi mi o Pascala:P

Dodane 13.08.2009 (Cz) 22:59

z tego co napisales nie czaje jakos:P

A słowo skalowanie rozumiesz? To tak jak z większej fotki zrobić mniejszą gdzie też trzeba przeskalować wszystkie odległości między punktami do nowych rozmiarów.

Obrazowo można to ładnie pokazać wykorzystując tw. Talesa, gdzie na jednym ramieniu kąta zaznaczamy dowolny odcinek AB, a na drugim ramieniu kąta zaznaczamy odcinek o długości 1(początek w punkcie 0, a koniec w punkcie 1 na osi liczbowej. Przez punkt B i koniec odcinka<0;1> prowadzimy prostą p.

Jeżeli przez dowolny punkt odcinka AB poprowadzimy prostą równoległą do prostej p, to na odcinku<0;1> znajdziemy odpowiadający mu punkt. W ten sposób dla każdego punktu odcinka AB znajdziemy odpowiadający mu punkty na odcinku o długości 1 (Początek odcinka w punkcie 0, a koniec w punkcie 1 na osi liczbowej). Wszystkie punkty na odcinku <0;1> będą miały współrzędne z przedziału <0;1>

powoli zaczynam łapać,ale jak to się ma to programowania w pascalu?

Dokładnie tak samo jak w prawie każdym innym języku, wg podanego wzoru z uwzględnieniem syntaksysu języka, dla pascala:

x[I]:=(x[I]-min)/(max-min); [/code]

Oczywiście ma to być w pętle dla każdego elementu tablicy, przed normalizacją trzeba znaleźć min oraz max dla tablicy x[] a jeszcze przed tym jakoś tablicę wypełnić danymi.