Na ukážku využitia operácií s vektormi som zvolila prácu v trojuholníku
# zadefinovanie vektorov - vrcholov trojuholníka
A <- c(1, 2)
B <- c(5, 3)
C <- c(3, 7)
# vektorové strany:
AB <- B - A
BC <- C - B
CA <- A - C
AB; BC; CA
## [1] 4 1
## [1] -2 4
## [1] -2 -5
#Výpočet dĺžky vektorov
dlzka_AB <- sqrt(sum(AB^2))
dlzka_CA <- sqrt(sum(CA^2))
dlzka_BC <- sqrt(sum(BC^2))
Výpočet obvodu trojuholníka:
obvod <- dlzka_AB + dlzka_BC + dlzka_CA
cat("Obvod trojuholníka =", obvod, "\n\n") # tento príkaz vypíše text v spojení s premennou
## Obvod trojuholníka = 13.98041
#skalárne súčiny
suc_AB = A%*%B
suc_BC = B%*%C
suc_CA = C%*%A
suc_AB; suc_BC; suc_CA
## [,1]
## [1,] 11
## [,1]
## [1,] 36
## [,1]
## [1,] 17
Tu ideme vypočítať obsah nášho trojuholníka pomocou vzorca: S=1/2⋅∣AB[1]*CA[2]−AB[2]*CA[1]∣
plot(NA, xlim = c(0,8), ylim = c(0,8), asp = 1,
xlab = "x", ylab = "y", main = "Môj trojuholník")
polygon(x = c(A[1], B[1], C[1]), y = c(A[2], B[2], C[2]),
border = "blue", col = rgb(0.2,0.6,1,0.2), lwd = 2)
points(rbind(A,B,C), pch = 19, col = "red")
# Práca s maticami Na vyskúšanie jednoduchých operácií s maticami si
spravíme jednoduchú úlohu ako v práci v pizzerii
# 1. Matica receptov (riadky = suroviny, stĺpce = druhy pízz)
R <- matrix(c(
250, 270, 300, # múka (g)
100, 120, 200, # syr (g)
80, 90, 70 # rajčinová omáčka (g)
), nrow = 3, byrow = TRUE)
# 2. Počet predaných pízz
p <- c(20, 15, 10) # M, F, Q
# 3. Výpočet celkovej spotreby surovín
spotreba <- R %*% p
print(spotreba)
## [,1]
## [1,] 12050
## [2,] 5800
## [3,] 3650
# 4. Cena surovín za 1 gram
cena <- c(0.005, 0.02, 0.01) # € za gram (múka, syr, omáčka)
# 5. Výpočet celkovej ceny použitých surovín
celkova_cena <- sum(spotreba * cena)
cat("\nCelkova cena použitých surovín:", round(celkova_cena, 2), "EUR\n")
##
## Celkova cena použitých surovín: 212.75 EUR
# 6. Výpočet tržby
# Predajné ceny pízz (v eurách)
cena_pizze <- c(7.5, 8.5, 9.5) # M, F, Q
# Tržba = súčet (počet * cena)
trzba <- sum(p * cena_pizze)
cat("\nVýpočet tržby:\n")
##
## Výpočet tržby:
cat("Celkova tržba =", round(trzba, 2), "EUR\n")
## Celkova tržba = 372.5 EUR
# --- 7. Zisk (tržba - cena surovín) ---
zisk <- trzba - celkova_cena
cat("\nČistý zisk pizzerie =", round(zisk, 2), "EUR\n")
##
## Čistý zisk pizzerie = 159.75 EUR
# 5. Prišlo veľa zákazníkov a potrebujeme zdvojnásobiť várky
Vela_zakaznikov = R %*% (2 * p)
cat("Koľko surovín potrebujeme pri veľa zákazníkoch(v gramoch):\n")
## Koľko surovín potrebujeme pri veľa zákazníkoch(v gramoch):
print(Vela_zakaznikov)
## [,1]
## [1,] 24100
## [2,] 11600
## [3,] 7300