Program Scilab

Jeżeli $f$ jest funkcją jednej zmiennej liczbowej (np. $f(x)=\sin(x)$), a $A$ jest tablicą liczb rozmiaru $w\times k$, to polecenie
B = f(x)
utworzy nową tablicę – również rozmiaru $w\times k$. Liczby w tej tablicy, to wartości funkcji $f$ na liczbach z tablicy $A$.
A = 0:30:90 ⇒ 0.  30.  60.  90.
C = [A;sind(A);sin(A)] ⇒
0.    30.          60.          90.        
0.    0.5          0.8660254    1.         
0.  - 0.9880316  - 0.3048106    0.8939967
W Scilabie są dwie funkcje sinus, funkcja $\sin$ oczekująca argumentu w radianach i funkcja $sind$ oczekująca argumentu w stopniach (degree). Analogicznie, istnieją dwie funkcje cosinus $\cos$ i $cosd$, dwie funkcje tangens $\tan$ i $tand$ oraz dwie funkcje cotangens $\cot$ i $cotd$.

Tak samo zachowują się operatory arymetyczne i operator potęgowania.

A = linspace(0,10,6) ⇒ 0.  2.  4.  6.  8.  10.
A + 5 ⇒ 5.  7.  9.  11.  13.  15.
A.^0.5 ⇒ 0.  1.4142136  2.  2.4494897  2.8284271  3.1622777
W wersji 5.5 Scilaba można operator potęgowania zapisać odrobinę krócej A^0.5, w wersji 6 wymagany będzie zapis A.^0.5.

Operatory arytmetyczne i operator potęgowania można zastosować również dla dwóch tablic. Obie tablicy muszą mieć taki sam rozmiar, działania wykonywane są wyraz po wyrazie.

A = 1:4 ⇒ 1.  2.  3.  4.
B = 2:5 ⇒ 2.  3.  4.  5.
A+B     ⇒ 3.  5.  7.  9.
A.^B    ⇒ 1.  8.  81.  1024.
A.*B    ⇒ 2.  6.  12.  20.
Operatory potęgowania, mnożenia i dzielenia trzeba pisać z kropką (A.*B) – istnieją, ważne w algebrze liniowej, operatory mnożenia i dzielenia bez kropki. Działaja zupełnie inaczej i wymagają innych zależności między rozmiarami tablic.
A*B ⇒ !--error 10 Niezgodne mnożenie.
Istnieją też funkcje, które działają na całej tablicy, a nie na poszczególnych wyrazach.
  • max(A) zwraca największą liczbę w tablicy,
  • min(A) zwraca najmniejszą liczbę w tablicy,
  • sum(A) zwraca sumę liczb w tablicy,
  • prod(A) zwraca iloczyn liczb w tablicy,
  • length(A) zwraca ilość liczb w tablicy.

Utwórz tablicę rozmiaru $5\times 4$ zawierajacą losowe liczby całkowite z przedziału $[0,9]$. Oblicz wartość średnią liczb w tablicy.
Wskazówka, przydatna będzie funkcja $floor(x)$ zaokrąglająca w dół.

Rozwiązanie
A = floor(9*rand(5,4))
avg = sum(A)/length(A)
    
Ukryj