- Daróczi Gergely honlapja - http://ppke.snowl.net -

3. hét

Vektorok definiálása:

x <- c(1, 3)
x
y <- c(2, 6)
y

Szorzás:

x*y
x %*% y
## lépésről lépsre
x
y
1*2 + 3*6

Műveletek mátrixokkal:

m <- matrix(1:4, 2, 2)
m
diag(m)
upper.tri(m)
m[upper.tri(m)]
lower.tri(m)
m[lower.tri(m)]

Determináns:

m[1, 1] * m[2, 2] - m[1, 2] * m[2, 1]
det(m)

Inverz:

solve(m)
m %*% solve(m)
 
m <- matrix(1:9, 3, 3)
m
det(m)
solve(m)

Egyenletrendszerek:

m <- matrix(1:4, 2, 2)
m
r <- c(7, 10)
r
cbind(m, r)
## Cramer
det(cbind(r, m[,2]))/det(m)
det(cbind(m[,1], r))/det(m)
## R fv.
solve(m, r)

Játék a solve fv-vel:

m
e <- matrix(0, 2, 2)
diag(e) <- 1
e
solve(m, e)
m * solve(m, e)
m %*% solve(m, e)

Egyenletrendszer készítése:

runif(1)
runif(3)
runif(3)*10
round(pi)
 
m <- round(runif(4)*100)
m <- matrix(round(runif(9)*100), 2, 2)
solve(m)
res <- c(1, 5) # ismeretlenek értékei
 
m[1,1]*res[1] + m[1,2]*res[2]
sum(m[1, ]*res)
 
sum(m[2, ]*res)
r <- c(727, 154)
solve(m,r)
 
## saját fv.
sor <- function(x) {
    sum(x*res)
}
r <- apply(m, 1, sor)
 
r <- apply(m, 1, function(x) sum(x*res))
solve(m,r)