Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

SciLab. Proste obliczenia -->3+2 -->2*2 -->1/(2+2) -->2^10 -->sqrt(121) -->sqrt(8) -->sin(100) -->max(1,3,4,5) -->1+2+... -->3+4 -->a=10+2+23; -->b=41+52*6;

Podobne prezentacje


Prezentacja na temat: "SciLab. Proste obliczenia -->3+2 -->2*2 -->1/(2+2) -->2^10 -->sqrt(121) -->sqrt(8) -->sin(100) -->max(1,3,4,5) -->1+2+... -->3+4 -->a=10+2+23; -->b=41+52*6;"— Zapis prezentacji:

1 SciLab

2 Proste obliczenia -->3+2 -->2*2 -->1/(2+2) -->2^10 -->sqrt(121) -->sqrt(8) -->sin(100) -->max(1,3,4,5) --> >3+4 -->a= ; -->b=41+52*6; -->a+b -->modulo (21,4) //reszta z dzielenia

3 Zmienne  zmienne w Scilabie traktowane są jak macierze  Skalary są interpretowane jako macierze o wymiarze 1x1  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 -->%i -->%e

4 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

5 Tabliczka mnożenia -->a=[ ]; -->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

6 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]

7  w przypadku, gdy instrukcja zostanie zakończona średnikiem, wynik nie pojawi się na ekranie -->b=[ ];  aby zobaczyć współrzędne wprowadzonego wektora, wystarczy wpisać  -->b

8  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=[ ;… --> ;… --> ;… --> ;… --> ;… --> ]

9  wprowadzanie liczb zespolonych -->c=1+6*%i -->Y=[5+%i, -2+3*%i ; -8, %i]

10 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)

11 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

12 -->M=[sin(%pi/3) sqrt(2) 5^(3/2); exp(-1) cosh(3.7) (1-sqrt(-3))/2] M = 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

13 Działania na macierzach -->A=[ 1 2 3; ; 2 4 5] -->D=A+ones(3,3) -->M= [ 1 2; 3 4] -->A+M -->C=ones(3,4) -->A*C -->C*A -->At=A‚ -->Ac=A+%i*eye(3,3) //tworzymy macierz o elementach zespolonych -->Ac’ -->Ac.‚ -->x=linspace(0,1,5)’ -->y=(1:5)‚ -->p=y'*x -->Pext=y*x‚ -->Pext/ >A^2 -->[0 1 0]*ans //można użyć zmiennej ans, która zawiera wynik ostatniego działania -->Pext*x-y+rand(5,2)*rand(2,5)*ones(x)+triu(Pext)*tril(Pext)*y; -->ans

14 -->sqrt(A) -->exp(A) -->A./A -->inv(A) //odwracanie macierzy -->A^(-1)

15

16 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

17 -->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)

18 A =[1,2,3,4,5,6; 8,8,8,8,8,8] -->A(1,3) -->A(1,3:6) -->B = A(1:2,2:3)

19 A =[1,2,3,4,5,6; 8,8,8,8,8,8] -->B = matrix(A, 3, 4) //zmiana kształtu macierzy – elementy macierzy czytane kolumnami

20 Zdeklaruj wektor X = [-5π,-4π,...,5π,6π]. Przepisz elementy wektora X do macierzy A (3 wiersze, 4 kolumny) wpisując wg kolumn. Zdeklaruj wektor Y, tworząc go jako wektor kolumnowy z pierwszych 4 współrzędnych wektora X.

21 -->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)

22 Ćwiczenia w konstruowaniu macierzy 1. Utwórz macierz 5x5 wykorzystując jeden wektor oraz jego transpozycję A = ! ! ! ! ! ! ! ! ! ! 2. Wyciągnij z macierzy A pierwszą i ostatnią linię. Oblicz produkt skalarny tak określonych wektorów. Zbuduj macierze trójkątne górne i dolne.

23 3. Oblicz macierz transponowaną do macierzy A. 4. Utwórz macierz z elementami losowymi. Wykonaj operacje sumowania, dzielenia z macierzą A. 5. Wydobądź element macierzy A leżący na przecięciu trzeciej linii i czwartej kolumny. 6. Oblicz wyznacznik macierzy (det(A)) oraz macierz odwrotną.

24 Ćwiczenia na liczbach zespolonych

25

26 Obliczenia

27 Zmienne tekstowe x=2;y=3 T='x+2*y’ //podstawienie ciągu znaków evstr(T) //obliczenie wartości wyrażenia T

28 Wielomiany Zdefiniowanie wielomianu zmiennej x o współczynnikach 10, 20, 30: -->w=poly([10,20,30],"x","coeff") //w jest wielomianem zmiennej x posiadającym trzy współczynniki 10,20,30 -->z=poly([1,2,3],"x","coeff") jeśli pominiemy trzeci argument w wywołaniu funkcji będzie to oznaczać, że generowany wielomian ma mieć pierwiastki podane jako pierwszy argument (tu [1 2 3]) -->w+z -->w*z -->derivat(w) //pochodna wielomianu -->horner(w,1) //wartość wielomianu w w punkcie 1 -->roots(w) //pierwiastki wielomianu

29

30 Operacje logiczne %t stała logiczna= True(prawda) %f stała logiczna= False (fałsz) -->2==2 -->[1 2 3]==[2 2 2] -->~(1==2) //zaprzeczenie -->[1 2 3]==1 //porównanie współczynników tablicy z podaną wartością -->w|z //alternatywa -->w&z //koniunkcja

31 Zdeklaruj wektory o współczynnikach stałych logicznych a=[ T T F T ] b=[ F T F T] Wyświetl ●wektor przeciwny do a ●koniunkcję a i b ●alternatywę a i b ●koniunkcję a i wektora przeciwnego do b

32 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))

33

34 -->x=[0:0.01:3*%pi]'; -->plot2d(x,[sin(x) cos(x) x^2],style=[3,5,7]); //plot2d działa podobnie jak plot, ale jest wzbogacony o kilka elementów; parametr style jest wektorem, którego wymiar jest równy ilości wykresów, a kolejne współrzędne oznaczają ich kolory -->x=linspace(-%pi,%pi,101); -->plot2d(x,sin(x),rect=[-4,-1,4,2]) //rect=[xmin,ymin,xmax,ymax] – podaje zasięg osi x i y -->plot2d(x,sin(x),axesflag=4) //axesflag określa sposób położenia osi i ramki wykresu, przyjmuje wartości od 0 do 5 i 9.

35 -->x=[-%pi:0.01:%pi]'; -->plot2d(x,[sin(x) cos(x) sinusa") //opis wykresów (parametr leg) -->x=linspace(-3,3,101); -->y=exp(-(x.*x)); -->plot2d(x,y) -->plot2d2(x,y) -->plot2d3(x,y) -->plot2d4(x,y)

36

37 -->x=linspace(-3,3,51); -->y=linspace(-3,3,61); -->xx=x'*ones(y) //trzymamy macierz o rozmiarach 51×61 o stałych wierszach -->yy=ones(x)'*y // trzymamy macierz o rozmiarach 51×61 o stałych kolumnach -->z=xx.*xx+yy.*yy -->plot3d(x,y,z)

38 Rysowanie linii śrubowej -->t=linspace(0,4*%pi,101); -->x=2*cos(t); -->y=2*sin(t); -->z=4*t; -->param3d(x,y,z)

39 Ceny 20 losowo wybranych mieszkań w Lublinie kształtują się następująco (w tys. zł): 150, 198, 250, 499, 187, 345, 267, 189, 177, 176, 246, 389, 470, 267, 678, 654, 376, 278, 189, 768. Stworzymy histogram liczebności dla tych danych. -->C=[150,198,250,499,187,345,267,189,177,176,246,389,470,267,678,654,376,278,189,768]; -->histplot(10,C); -->histplot(20,C);

40 Korzystanie z funkcji  Jeśli blok tych samych operacji jest wykonywany wielokrotnie, to warto te operacje zapisać w postaci funkcji. Dzięki temu będzie można ją wykorzystać wielokrotnie.  Najprostszy sposób wywołania funkcji to: wynik = funkcja (parametr)  Funkcje mogą przyjmować wiele parametrów wejściowych i zwracać więcej niż jedną wartość. W takim przypadku ogólniejsza postać wywołania jest następująca: [wyn_1,..., wyn_n] = funkcja (param_1,..., param_m)

41 Definiowanie funkcji  Do definiowania funkcji wykorzystuje się słowa kluczowe function i endfunction  Każda funkcja składa się z nagłówka oraz ciała funkcji. Nagłówkiem funkcji jest jej nazwa wraz ze zdefiniowanymi parametrami wejściowymi oraz wyjściowymi. Na ciało funkcji składają się wszystkie polecenia zawarte między nagłówkiem funkcji a słowem kluczowym endfunction  -->function r=kwadrat(x)  -->r=x^2  -->endfunction  -->x=kwadrat(7)

42 -->function r=suma(x) -->r=x+x -->endfunction -->x=suma(8) -->function z=srednia(x,y) -->z=(x+y)*0.5; -->endfunction -->q=srednia(5,7)

43 -->a=5; -->b=15; -->cel=srednia(a,b) -->zet=srednia(2*a,4*a)

44 Funkcja obliczająca przekątną prostokąta -->function [c]=przekatna(a,b) -->c=sqrt(a^2+b^2) -->endfunction

45


Pobierz ppt "SciLab. Proste obliczenia -->3+2 -->2*2 -->1/(2+2) -->2^10 -->sqrt(121) -->sqrt(8) -->sin(100) -->max(1,3,4,5) -->1+2+... -->3+4 -->a=10+2+23; -->b=41+52*6;"

Podobne prezentacje


Reklamy Google