przewodnikPoPakiecieR2

przewodnikPoPakiecieR2



76


pazuRrry


Typy y.iniimnycli i operacje na nich


77


diagO jest macierz diagonalna z elementami wektora argumentu na przekątnej i zę-'| rami poza. W tabeli 2.4 przedstawiono przydatne funkcje do wykonywania operacji® na kolumnach i wierszach macierzy oraz na całych macierzach.


Tabela 2.4: Funkcje do operacji na macierzach lub ich wierszach/kolumnach

qr(base)

Funkcja do wyznaczania dekompozycji QR macierzy.

eigen(base)

Funkcja do wyznaczania wartości własnych i wektorów włą- i snych macierzy.

svd(base)

Funkcja do wyznaczania dekompozycji SVD macierzy.

det(base)

Funkcja do wyznaczania wyznacznika zadanej macierzy. j

upper.tri(base)

Wynikiem funkcji są indeksy elementów znajdujących się ] powyżej przekątnej macierzy.

lower.tri(base)

Wynikiem funkcji są indeksy elementów znajdujących się poniżej przekątnej macierzy.

solve(base)

Funkcja do wyznaczania odwrotności macierzy.

t(base)

Wykonuje transpozycje macierzy (używając języka potocznego, zamienia kolumny z wierszami).

colSums(base)

Wyznacza wektor z sumami elementów w każdej kolumnie.

rowSums(base)

Wyznacza wektor z sumami elementów w każdym wierszu.

colMeans(base)

Wyznacza wektor ze średnimi elementów w każdej kolumnie.

rowMeans(base)

Wyznacza wektor ze średnimi elementów w każdym wierszu.

rowsum(base)

Jeżeli pierwszy argument tej funkcji jest macierzą o wymiarach n x m a argument drugi argument jest wektorem n elementowym o wartościach typu czynnikowego o k poziomach, to funkcja rowsumO dla każdej kolumny z wejściowej macierzy wyznacza sumy elementów pogrupowanych przez czynniki zmiennej grupującej. Wynikiem jest więc macierz wymiaru k x m.


Przypisując elementy do macierzy lub wektora nie musimy podawać ty- i —    lu wartości ile pól chcemy zmienić. Przy przypisywaniu obowiązuje tzwl|

/•> zasada recycling rule. Najprościej rzecz ujmując, aby wypełnić x pól i n macierzy lub wektora możemy podać y wartości, pod warunkiem, że ife jest wielokrotnością'y. Przykładowo, jeżeli chcemy zmienić sześć pól w wektorze lub macierzy, to możemy podać po prawej stronie operatora przypisania wektor sześció-elementowy, trójelementowy, dwu- lub jednoelementowy. Krótszy wektor zostanie ^ zwielokrotniony tyle razy ile potrzeba, by wypełnić wszystkie wskazane pola. Poni-:> żej przedstawiamy kilka przykładów wykorzystania zasady recycling rule..


I


>    # recycling rule działa1,    dodajemy    wektor JO~elementowy    do    2-elementowejSfi

>    1:10 + (1:2)    V;J|

Cl] 2    4    4    6    6    8    8 10 10 12

>    macierz = matrłx(0,2,3>    >.||

>    # a teraz kilka przykładów    na    macierzach, wypełnijmy    całą    macierz    .-fg§§

>    (macierz[] = 1:6)    •'••Si

C, 13 C,23 C,3]    »f|

3    5    i -m

4    6


CU

C2,3


iy # krótsze wektory zostaną zreplikowanc .(oacierzU =1:3)

£,13 c,2] c,3)

m- i 3    2

2,1    2    1    3

'(macierz □ = 1:2)

C, 13 t,23 t,33

1

2

1)

C * 33

i l


i,3.    1    1

[2,3    2    2

^'■"(macierz □ -

pi f.ll    C.2]

«|]    1    1

Mj .    i    i


Bardzo przydatnymi funkcjami do operowania na dużych macierzach są funkcje kronecker(base) (funkcja wyznaczająca iloczyn Kroneckera dwóch macierzy) oraz óuter(base) (przy domyśluych argumentach funkcja ta mnoży macierzowo dwie macierze). Funkcja outerO ma znaczne możliwości, może być wykorzystana np. do generowania siatek argumentów. Wywołanie funkcji outer(obil, obi2, fun) powoduje wykonanie funkcji fun dla każdej kombinacji elementów zmiennej obił z elementami zmiennej obi2 (zmienne obił i obi2 mogą być wektorami lub macierzami). Poniżej przedstawimy kilka przykładów użycia tej funkcji.

v>,? konstruujemy macierz, której elementy są iloczynem współrzędnych > outer(1:4,1:4)

c.13 c.23 c»3] [,43


2

4

6

8


3

6

9

12


4

8

12

16


>    P konstruujemy macierz, której elementy równe są indeksowi wiersza V buter(l:4,1:4, fuaction(x,y) x)

' "    C.13    C,2)    C,33    C,4]

1111 2    2    2    2

3    3    3    3

....    4    4    4    4

>    * tworzymy napisy składające się z litery, znaku * i cyfry, wszystkie

kombinacje

: puter(ietters[l:4], 1:5, pastę, sep="*")


j4

C,13

C,23

1,3]

C.4]

C,5]

,tl,]

" a* 1"

"a*2''

"a*3"

"a*4"

"a*5

, (2J

"b*2"

"b*3"

"b*4"

"b*5

l3 , ]

" c* 1"

”c»2"

"c*3"

"c*4"

"c*5

■ f 4 3

"d*!"

"d*2"

"d*3 "

"d*4"

"d*5


Funkcję outerO można też wykorzystać do wygenerowania wszystkich kombinacji poziomów dla zmiennych czynnikowych, l iii sunie elekt można uzyskać też funkcją expand.grid(base). Wynikiem tej funkcji jest, macierz, której wiersze zawierają wszystkie kombinacje zmiennych wskazanych jako argumenty tej funkcji.


Jak? To pytanie czytelnik może potraktować jako zadanie.



Wyszukiwarka

Podobne podstrony:
DSC08343 Ćwiczenie 2. Tworzenie tablic i operacje na nich 1. Utworzyć wektory zawierające następując
DSC08341 ćwiczenie 2. Tworzenie tablic i operacje na nich 1. Utworzyć wektory zawierające następując
DSC08343 Ćwiczenie 2. Tworzenie tablic i operacje na nich 1. Utworzyć wektory zawierające następując
przewodnikPoPakiecieR6 84 pazuRrry P Klasa może zawierać również funkcje. Szczególnie przydatne je
przewodnikPoPakiecieR6 84 pazuRrry Klasa może zawierać również funkcje. Szczególnie przydatne jest
FizykaII57901 575 wagi swojej tćm bardziej, im silniejsze jest napięcie elektryczne na nich. Przyrz
str19 Zgodnie ze wzorem (14.239) Wynik wskazuje, że macierz D jest macierzą diagonalną mającą na głó
Współpraca z plikami zewnętrznymi 95 diag - macierz diagonalna lub wektor elementów na przekątnej, f
Współpraca z plikami zewnętrznymi 95 diag - macierz diagonalna lub wektor elementów na przekątnej, f
A = diag(x) funkcja tworząca macierz przekątniową A z elementami wektora x na głównej przekątnej »
17495 tbiu12 PT76 Widok czołgu PT-76 od tylu. Podczas przemarszów na dłuższych dystansach czołgi mo

więcej podobnych podstron