autor: dr hab. inż. M. Kotulska
modyfikacje: mgr inż. B. Konopka
1) Zapoznaj się ze środowiskiem języka R
a. w
ww.youtube.com – szukaj Statistics with R (part 1), user: wildsc0p b. R-intro.pdf
c. ht
tp://linuxgazette.net/138/dellomodarme.html
2) Uruchom przykładowe programy:
a. Jak definiujesz w R wektory? Jak macierze? Jak listy (struktury)? Jak wyciągamy elementy danych każdego typu?
b. Jak korzystać z helpa poszukiwanej funkcji? Co zrobić jeżeli nie wiemy jaki pakiet trzeba wczytać, żeby uruchomić funkcję realizującą określone zadanie?
i. Co robią funkcje: ls(), rbind(), cbind() ii. Poszukaj informacji o teście Kołmogorowa-Smirnova 1. Jak funkcja, jaka biblioteka?
c. Jak wpisać w odrębny plik własny skrypt? Jak go potem uruchomić? Jak wprowadza się komentarz?
d. Jak narysować wykres funkcji? ( plot, plot.default, curve, lines, boxplot, pakiety: rgl, scatterplot3d). Przykłady np.
http://linuxgazette.net/138/dellomodarme.html
Co robi skrypt:
x = c(1:36)
y = c( 1:36)
z <- sin(pi*(x)/18) %o% cos(pi*(y)/18) library(lattice)
wireframe(z, drape=TRUE, xlab="x", ylab="y", scale=list(arrows=FALSE)) i. narysuj wykres funkcji f(x)=x^2+2x+3 za pomocą plot() i curve(), 1. opisz wykres (tytuł, osie)
2. spróbuj różnych kolorów
3. spróbuj różnych metod wyświetlania punktów (linie, kółka...) e. Jak zapisać grafikę?
wykonaj poniższy skrypt i wjaśnij poszczególne linie: jpeg("obrazek.jpeg", width=640, height=480) plot(c(1,2,3))
dev.off()
i. Co robią f-cje pdf, bmp ?
ii. Zapisz wykres funkcji f(x) z pkt. „d” do pliku f. Jak wpisać dane do pliku (binarne, tekstowe). Jak w pliku zapisać macierz/tablicę? Jak wczytać dane z pliku ? (wypróbuj f-cje read.table, read.csv, write...load )
3) Jak pracować z własnymi funkcjami? Zacznij od przykładu: moja = function (x) {
moja=x+100
# wynik funkcji jest wynikiem podstawień w ostatniej linii z=x+1
}
moja2 = function(x) {
# wynik jest w ostatniej linii
z=moja(x)+1
}
4) Jakim poleceniem wczytać całą bibliotekę, a jakim własny kod funkcji/skryptu z pliku 5) Napisz program, który zainicjuje populację dla algorytmu genetycznego, szukającego sin210x
maksimum funkcji dopasowania f x=
, dla x ϵ [0,1]. Program ma także
1 x
narysować tą funkcję oraz wskazać na tym wykresie jakie wartości funkcji dopasowania mają osobniki w populacji. Wykres powinien posiadać legendę oraz dobrze opisane osie. Wygeneruj plik pdf z wykresem, a populację zapisz do pliku tekstowego.
a.
Parametry populacji:
i. długość chromosomu 10
ii. ustawiana zmienna liczba osobników b. Populacja musi być listą z trzema polami: i. chr - chromosom
ii. x - wartości w systemie dziesiątkowym iii. y – wartości funkcji dopasowania c.
Kroki:
i. wylosuj z rozkładu równomiernego n wartości x ii. zamień wartości x na liczby binarne(zaimplementuj podany pseudokod), długość chromosomu to 10
iii. wylicz wartości f(x)
Pseudokod:
chromosom=zamiana dziesiętny na binarny (a){
a=round(a*1000)
chromosom=zeros(1,10) %deklaracja chromosomu tmp=a
Dla każdego wykładnika
od 9 do 0 {
a= a mod 2^wykładnik
Jeżeli „a” nie zmieniło się:
to chromosom(i)=0
W przeciwnym wypadku
chromosom(i)=1
koniec
}
chromosom
}