Sci Lab Proste obliczenia 32 22 122 210
Sci. Lab
Proste obliczenia -->3+2 -->2*2 -->1/(2+2) -->2^10 -->a=10+2+23; -->b=41+52*6; -->a+b -->sqrt(121) -->sqrt(8) -->sin(100) -->max(1, 3, 4, 5) -->1+2+. . . -->3+4 -->modulo (21, 4) //reszta z dzielenia
Zmienne § zmienne w Scilabie traktowane są jak macierze § Skalary są interpretowane jako macierze o wymiarze 1 x 1 § who – wyświetla listę zmiennych § whos() – wyświetla listę zmiennych, ich wymiar, ile zajmują miejsca w pamięci; wyświetla też listę nazw funkcji zdefiniowanych przez użytkownika § clear a – usuwa zmienną a § clear – usuwa wszystkie zdefiniowane przez użytkownika zmienne Zmienne predefiniowane: -->%pi -->%e
Wektory -->a=[1 2 3] -->a’ //transponowanie wektora z zamianą na wartości sprzężone -->a. ’ //transponowanie wektora „zwykłe” Iloczyn skalarny dwóch wektorów -->a=[1 2 3]; -->b=[3 2 1]; -->c=a*b’ //10
Tabliczka mnożenia -->a=[1 2 3 4 5 6 7 8 9 10]; -->a'*a Specjalny operator umożliwiający mnożenie macierzy w sposób analogiczny do dodawania, tzn. element przez odpowiadający mu element -->a=[1 2 3]; -->b=[3 2 1]; -->c=a. *b Analogicznie możemy podzielić dwa wektory -->d=a. /b
Macierze 1. Elementy tego samego wiersza oddzielone są spacją lub przecinkiem 2. Lista elementów musi być ujęta w nawias kwadratowy [] 3. Każdy wiersz, z wyjątkiem ostatniego, musi być zakończony średnikiem. --> A=[1 1 1; 2 2 2; 3 3 3]
§ w przypadku, gdy instrukcja zostanie zakończona średnikiem, wynik nie pojawi się na ekranie -->b=[2 9 15 980]; § aby zobaczyć współrzędne wprowadzonego wektora, wystarczy wpisać §-->b
§ bardzo długa instrukcja może być napisana w kilku liniach, przy czym przechodząc do następnej linii, linię poprzednią należy zakończyć trzema kropkami -->T=[1 0 0 0; … --> 1 2 3 0 0 0; … --> 1 2 3 4 5 6]
§ wprowadzanie liczb zespolonych -->c=1+6*%i -->Y=[5+%i , -2+3*%i ; -8, %i]
Typowe macierze Macierz jednostkowa -->I=eye(3, 3) Macierz diagonalna -->B=diag([1, 2, 3, 4]) -->B=diag(b) //elementy na głównej przekątnej pochodzą z wcześniej zdefiniowanego wektora b Macierz zerowa -->O=zeros(3, 4) Macierz jedynkowa -->C=ones(2, 3)
Macierz trójkątna -->U=triu(T) //górna -->U=tril(T) //dolna Macierze o elementach losowych funkcja rand pozwala utworzyć macierz o elementach pseudolosowych (pochodzących z przedziału [0, 1) -->M=rand(3, 4) n elementowy wektor o stałej różnicy między elementami -->x=linspace(0, 1, 11) -->x=1: 5 -->y=0: 0. 3: 1 -->i=0: 2: 12
-->M=[sin(%pi/3) sqrt(2) 5^(3/2); exp(-1) cosh(3. 7) (1 -sqrt(-3))/2] M = 0. 8660254 1. 4142136 11. 18034 0. 3678794 20. 236014 0. 5 - 0. 8660254 i - powyższy przykład ilustruje potencjalne niebezpieczeństwo podczas obliczania pierwiastka kwadratowego z liczby ujemnej – Scilab rozważa, czy ma do czynienia z liczbami zespolonymi i zwraca jeden z pierwiastków jako rezultat
Działania na macierzach -->A=[ 1 2 3; 3 4 5 ; 2 4 5] -->x=linspace(0, 1, 5)’ -->D=A+ones(3, 3) -->y=(1: 5)‚ -->M= [ 1 2; 3 4] -->A+M -->p=y'*x -->C=ones(3, 4) -->Pext=y*x‚ -->A*C -->Pext/0. 25 -->C*A -->A^2 -->At=A’ -->Ac=A+%i*eye(3, 3) //tworzymy macierz o elementach zespolonych -->[0 1 0]*ans //można użyć zmiennej ans, która zawiera wynik ostatniego działania -->Ac’ -->Pext*x-y+rand(5, 2)*rand(2, 5)*ones(x)+triu(Pext)*tril(Pext)*y; -->Ac. ‚ -->ans
-->sqrt(A) -->exp(A) -->A. /A -->inv(A) //odwracanie macierzy -->A^(-1)
Aby odnieść się do konkretnego elementu macierzy wystarczy przy nazwie podać w nawiasie jego indeksy: -->A=[1 2 3; 4 5 6; 7 8 9] -->A(2, 2) //element z drugiego wiersza i drugiej kolumny -->x=1: 30 -->x(1, 29) -->x(29) // jeśli macierz jest wektorem wierszowym wystarczy wpisać numer kolumny, w której znajdzie się szukany element – analogicznie postępujemy w przypadku wektora kolumnowego
-->A=[1 2 3; 4 5 6; 7 8 9] -->A(: , 2) //druga kolumna -->A(2, : ) //drugi wiersz -->A(1: 2, 1: 2) //wybieramy pierwsze dwa wiersze i pierwsze dwie kolumny -->A([1 3], [2 3]) -->A([1 3], : ) -->sum(A) //suma elementów macierzy -->sum(A, "r") //suma elementów w wierszu -->sum(A, "c") //suma elementów w kolumnach -->min(A) -->max(A) -->mean(A)
-->B=[1 2 3; 4 5 6] -->B_new=matrix(B, 3, 2) //funkcja matrix umożliwia takie przekształcenie macierzy, aby miała ona nowe wymiary (przy zachowaniu tych samych współczynników)
Wielomiany Zdefiniowanie wielomianu zmiennej x o współczynnikach 10, 20, 30: -->w=poly([10, 20, 30], "x", "coeff") -->z=poly([1, 2, 3], "x", "coeff") -->w+z -->w*z -->derivat(w) //pochodna wielomianu -->horner(w, 1) //wartość wielomianu w w punkcie 1 -->roots(w) //pierwiastki wielomianu
Wykresy plot(x, y) – x i y są wektorami, a wynikiem jest zbiór punktów o współrzędnych (x, y) branych kolejno z obu wektorów -->x=[-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]; -->plot(x, x) -->plot(x, x. ^2) -->plot(x, x. ^3) -->t=[-%pi: 0. 01: %pi]; -->plot(t, sin(t))
- Slides: 20