Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyVýpočetní matematické systémy Výuka jazyka R Konstanty, operátory a matematické výpočty Aritmetické operátory

Logo Matematická biologie

Aritmetické operátory

Transpozicí (řádkového) vektoru je v jazyce R stále (řádkový) vektor. Transpozicí řádkového vektoru je v systému MATLAB sloupcový vektor.
> a <- c(3, 5, 7, 8); b <- c(1, 2, 3); c <- c(4, 1, 8)
> a + b
[1]    4    7    10    9
Warning message:
In a + b : longer object length is not a multiple of shorter object length

Protože vektor b je menší délky než vektor a, je potřeba jeho délku zvětšit o jednu pozici. (Pravidlo pro postupné opakování složek do požadované délky se nazývá recycling rule.) Poslední složka výstupního vektoru je tedy součtem 4. složky vektoru a a 1. složky vektoru b. Na stejném principu fungují i všechny ostatní aritmetické operátory.

MATLAB by v tomto případě hlásil chybu a výpočet by neprovedl, protože sčítance nejsou stejné dimenze.
> "a" + "b"
Error in "a" + "b" : non-numeric argument to binary operator
Binární operátory můžeme použít pouze na numerické argumenty. Na rozdíl od R, v MATLABu je můžeme použít i na textové řetězce, které jsou převedeny na odpovídající kód v ASCII tabulce a následně provedena příslušná operace.
> b / c
[1]    0.250    2.000    0.375
> b %/% c
[1]    0    2    0
> b %% c
[1]    1    0    3

 

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