
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
|