Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyVýpočetní matematické systémy Výuka jazyka R Matice a pole Úlohy k procvičení

Logo Matematická biologie

Úlohy k procvičení

Cvičení 1. Vytvořte matici A1 s rozměry 3 x 5, jejíž první řádek bude tvořen posloupností -1, 1, 3,..., druhý řádek budou tvořit hodnoty 3 a poslední řádek ekvidistantní posloupnost s minimální hodnotou -2 a maximální hodnotou 2.

Řešení

A1 <- matrix(c(seq(from=-1, by=2, length=5), rep(3, 5),
seq(from=-2, to=2, length=5)), nrow=3, byrow=T)

 

 

Cvičení 2. Vytvořte matici A2 s rozměry 3 x 5, jejíž první sloupec bude tvořen náhodnými čísly z rovnoměrného rozložení na intervalu [0, 5], druhý a třetí sloupec bude tvořit posloupnost s maximální hodnotou 3.5 a krokem 0.2 a poslední dva sloupce budou obsahovat hodnotu NA.

Řešení

A2 <- matrix(c(runif(n=3, min=0, max=5), seq(to=3.5, by=0.2, length=6), rep(NA, 6)), nrow=3)

 

 

Cvičení 3. Vypište čtvrtý sloupec matice A1 jako řádkový i sloupcový vektor.

Řešení

A1[,4], 
A1[,4, drop=FALSE]

 

 

Cvičení 4. Vypište prvky prvního a druhého řádku a všech lichých sloupců matice A1. Uložte je do matice A3 a vhodným příkazem zjistěte její rozměry, použijte i funkci pro zjištění počtu řádků a sloupců zvlášť.

Řešení

A3 <- A1[c(1,2), seq(from=1, by=2, to=ncol(A1))]
dim(A3)}, nrow(A3), ncol(A3)

 

 

Cvičení 5. Pomocí funkcí rbind nebo cbind vhodně doplňte hodnotami 1 matici A3 na čtvercovou matici a spočítejte její determinant, stopu a hodnost.

Řešení

A3 <- rbind(A3, rep(1, ncol(A3)))
det(A3)}, sum(diag(A3)), qr(A3)$rank

 

 

Cvičení 6. Byla pozorována kvalita říční vody. Z údajů v následující tabulce

   
tvrdost
vodivost
koncentrace drasliku
lokalita 1
měření 1
měření 2
19.4
0.832
1.9
18.9
0.84
2.4
lokalita 2
měření 1
měření 2
21.2
0.826
2.1
17
0.479
1.6

vytvořte pole kvalita s rozměry 2 x 3 x 2, dimenze, řádky i sloupce pojmenujte.

Řešení

kvalita <- array(c(19.4, 18.9, 0.832, 0.84, 1.9, 2.4, 21.2, 17, 0.826, 0.479, 2.1, 1.6), dim=c(2, 3, 2), dimnames=list(c("mereni1", "mereni2"), c("tvrdost", "vodivost", "koncentraceK"), c("lokalita1", "lokalita2")))

 

 

 

 

Cvičení 7. Vytvořte matici A, vektory c a d:

a matici B o rozměrech 3 x 6 s hodnotami rovnými 1.
a) Řešte systém lineárních rovnic Ax = c.
b) Vysvětlete výstupy příkazů A * B, A %*% B, A * c, A * d, c * A, d * A, A %*% c A %*% d
c) Vhodnými příkazy vytvořte k matici A dolní trojúhelníkovou matici C a pro vektor pravé strany 

řešte soustavu lineárních rovnic C x = e s dolní trojúhelníkovou maticí C.

Řešení

A <- matrix(c(1, -1, 0, 0, 1, -1, 1, 1, 1), 3),
B <- matrix(1, nrow=3, ncol=6),
c <- matrix(1:3, ncol=1), d <- matrix(1:2, ncol=1)
a) x <- solve(A, c)
b) A * B, A * c, A * d,... násobení po složkách (neodpovídající rozměry),
c * A, d * A,... násobení po složkách, uplatněno pravidlo recycling rule
A %*% B, A %*% c, A %*% d,... maticové násobení, 
c) e <- matrix(c(3, 0, 1), nrow=3), backsolve(A, e, upper.tri=FALSE) nebo pomocí konstrukce dolní trojúhelníkové matice C:
C <- A, C[!lower.tri(A,1)] <- 0, solve(C, e)

 

 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity