Wersje instalacyjne programu Scilab mogą zostać pobrane ze strony

Podobne dokumenty
Scilab - podstawy. Wersje instalacyjne programu Scilab mogą zostać pobrane ze strony

SCILAB. Wprowadzenie do Scilaba:

Wartości x-ów : Wartości x ów można w Scilabie zdefiniować na kilka sposobów, wpisując odpowiednie polecenie na konsoli.

Modelowanie komputerowe w ochronie środowiska

Przykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Matlab Składnia + podstawy programowania

Wprowadzenie do środowiska

Matlab Składnia + podstawy programowania

Metody optymalizacji - wprowadzenie do SciLab a

MATLAB wprowadzenie śycie jest zbyt krótkie, aby tracić czas na pisanie pętli!

GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

TWORZENIE WYKRESÓW (1)

zajęcia 2 Definiowanie wektorów:

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Matlab MATrix LABoratory Mathworks Inc.

Wprowadzenie do Mathcada 1

Elementy metod numerycznych - zajęcia 9

1 Programowanie w matlabie - skrypty i funkcje

Grafika w Matlabie. Wykresy 2D

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Metody i analiza danych

Laboratorium Algorytmy Obliczeniowe. Lab. 9 Prezentacja wyników w Matlabie

Instalacja

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

Scilab - wprowadzenie

Programowanie: grafika w SciLab Slajd 1. Programowanie: grafika w SciLab

Wprowadzenie do Scilab: podstawy języka Scilab

Wprowadzenie do Scilab: macierze

Metody i analiza danych

Wprowadzenie do systemu Scilab

Wprowadzenie do Scilab: funkcje i wykresy

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.

ANALIZA DANYCH I PROCESÓW. Mgr inż. Paweł Wojciech Herbin

Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych

Zadanie: Napisać program, który odgadnie liczbę naturalną z przedziału [1, 50] wylosowaną przez komputer. Można zastosować różne algorytmy.

Operatory arytmetyczne

Wprowadzenie do pakietów MATLAB/GNU Octave

Podstawy MATLABA, cd.

Ćwiczenie 3: Wprowadzenie do programu Matlab

PRZYKŁADOWE SKRYPTY (PROGRAMY W MATLABIE Z ROZSZERZENIEM.m): 1) OBLICZANIE WYRAŻEŃ 1:

Wykorzystanie programów komputerowych do obliczeń matematycznych

Podstawowe operacje na macierzach

Cw.12 JAVAScript w dokumentach HTML

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Wprowadzenie do programowania w SciLab: typy danych, wyrażenia, operatory, funkcje własne, skrypty.

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Programowanie w języku Matlab

MATLAB - podstawy użytkowania

Metody Numeryczne. Laboratorium 1. Wstęp do programu Matlab

Przykładowo, jeśli współrzędna x zmienia się od 0 do 8 co 1, a współrzędna y od 12 co 2 do 25, to punkty powinny wyglądać następująco:

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad

Wprowadzenie do Octave

AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie

Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych

Scilab. chdir( D:\Mój katalog\scilab ) Katalog roboczy można również zmienić w oknie Przeglądarka plików. Przejście do nowej linii:

Ćwiczenia nr 2. Edycja tekstu (Microsoft Word)

Drugi sposób definiowania funkcji polega na wykorzystaniu polecenia:

Technologie informacyjne lab. 3

Przetwarzanie sygnałów

3.4. Opis konfiguracji layoutów.

MATLAB - laboratorium nr 1 wektory i macierze

Laboratorium metod numerycznych - SCILAB Laboratorium 2

Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II. Podstawy MATLABA, cz2.

Obliczenia iteracyjne

Wprowadzenie do Scilab: macierze

Podstawowe operacje graficzne.

WPROWADZENIE DO ŚRODOWISKA SCILAB

Elementy okna MatLab-a

Scilab skrypty (programowanie)

1. Przypisy, indeks i spisy.

Algebra macierzy

Obliczenia w programie MATLAB

Wprowadzenie do Scilab: macierze

Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Metody numeryczne Laboratorium 2

Zanim zaczniemy GNU Octave

1) Podstawowe obliczenia. PODSTAWY AUTOMATYKI I ROBOTYKI Laboratorium. Wykonał: Łukasz Konopacki Sala 125. Grupa: poniedziałek/p,

Pokaz slajdów na stronie internetowej

ŚRODOWISKO MATLAB WPROWADZENIE. dr inż. Dariusz Borkowski. Podstawy informatyki. (drobne) modyfikacje: dr inż. Andrzej Wetula

Spis rysunków Widok okien głównych Matlaba i Scilaba Edytory skryptów w Matlabie i Scilabie... 7

Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, Bielsko-Biała

Obliczenia inżynierskie arkusz kalkulacyjny. Technologie informacyjne

Wykresy. Lekcja 10. Strona 1 z 11

Wstęp do Programowania Lista 1

POMIARY WIDEO W PROGRAMIE COACH 5

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

Wizualizacja funkcji w programie MATLAB

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

1 Podstawy c++ w pigułce.

Uruchom polecenie z menu Wstaw Wykres lub ikonę Kreator wykresów na Standardowym pasku narzędzi.

, h(x) = sin(2x) w przedziale [ 2π, 2π].

Transkrypt:

Scilab - podstawy Scilab jest środowiskiem numerycznym, programistycznym i numerycznym dostępnym za darmo z INRIA (Institut Nationale de Recherche en Informatique et Automatique). Jest programem podobnym do MATLABa oraz jego darmowego 'klonu' OCTAVE'a. Wersje instalacyjne programu Scilab mogą zostać pobrane ze strony http://www.scilab.org. Wprowadzenie do Scilaba: http://www.scilab.org/content/download/1754/19024/file/introscilab.pdf Help - uzyskiwanie pomocy help polecenie, np. help sin apropos polecenie wyświetla informacje związane z danym poleceniem Na stronie http://www.scilab.org/product/man Okna Konsola Scilab Edytor Scilab (wywołanie: Applications/SciNotes)? - Help Na dobry początek wykresy funkcji Elementy procedury tworzenia wykresu: utworzenie ciągu wartości x-ów utworzenie ciągu wartości y-ków rysowanie zapisanie rysunku do pliku graficznego Wartości x-ów : x=[0,1,2,3,4,5,5.5,10,20] ; - ciąg wartości x=(-10:0.1:10) ; (wartość początkowa : krok : wartość końcowa) x=linspace(0, 3.141592, 20); (wartość początkowa, wartość końcowa, ile wartości) Uwagi: ; - wartości nie są wypisywane na konsoli; - transpozycja; jako wartość π można wpisać %pi, czyli: x=linspace(0,%pi,20). Wartości y-ków przykłady: Uwaga: określenie y-ki jest symboliczne; tworzony obiekt może mieć dowolną nazwę. y=x; y1=2*x; z=2*x-1; fun=sin(x)+cos(2*x); y2=x^3 g=tan(x)^2; Znak ^ oznacza potęgowanie. Uwaga: Wszystkie podane wyżej wyrażenia działają na wektorach Scilab wprowadzenie, UKSW -1- Anna Trykozko, ICM, Uniwersytet Warszawski

Uwaga: działanie (przykładowe) z=x*x spowoduje pojawienie sie komunikatu o błędzie. Na razie zastąpmy to wyrażenie wyrażeniem: z=x^2. Rysowanie funkcja plot plot(x,y) Pierwszy przykład: x=linspace (0, %pi, 50); y=sin(x); plot (x,y); y1=cos(2*x); plot(x,y1); xgrid(); Zapisanie rysunku do pliku: W oknie graficznym (interakcyjnie): Plik / eksportuj do /... wybrać typ pliku (PNG, GIF, JPG,...), podać nazwę pliku Poprzez wpisanie w oknie konsoli odpowiedniego polecenia, np: xs2png (numer_okna_graficznego, nazwa_pliku.png ) Uwagi: numer_okna_graficznego jest wyświetlony w pasku tytułowym okna. Standardowo pierwsze utworzone okno ma numer 0. Scilab wyróżnia katalog bieżący (Plik/ Wyświetl katalog bieżący). O ile nazwa pliku nie zostanie poprzedzona ścieżką dostępu, plik zostanie zapisany w katalogu bieżącym. Zmiana katalogu bieżącego: Plik/ Zmiana bieżącego katalogu...) Zmienne: W programie operuje się na zmiennych. Nadawanie im wartości odbywa się poprzez podstawienie: a=2.5; b=6.3 c=a+b Umieszczenie średnika na końcu polecenia sprawia, że wyliczona wartość (lub wartości) nie jest wyświetlana. Stałe specjalne: %i - wartość urojona równa 1 %pi - π %e - podstawa logarytmu naturalnego Scilab wprowadzenie, UKSW -2- Anna Trykozko, ICM, Uniwersytet Warszawski

%eps - największa wartość, dla której 1 + % eps = 1 %inf - nieskończoność (komputerowa) %t, %f - zmienne logiczne o wartościach prawda (true) i fałsz (f) Wektory Program Scilab jest programem wektorowym, większość operacji jest wykonywanych w odniesieniu do wektorów. Istotne jest rozróżnienie wektora wierszowego i kolumnowego. Wektor wierszowy - elementy oddzielone spacją lub przecinkiem: v=[1 2 3 4] albo v=[1, 2, 3, 4] Wektor kolumnowy - elementy oddzielone średnikiem lub pisane od nowego wiersza: r=[1; 2; 3; 4] r=[1 2 3 4] Uwaga: W przypadku dużych zestawów wartości należy umieszczać średnik na końcu polecenia. Transpozycja - zamiana wektora wierszowego na kolumnowy, i odwrotnie: vt = v' rt = r' vt' y=[1 2 3] Wektor można zdefiniować zadając wartość pierwszego elementu, krok oraz wartość ostatniego elementu, oddzielając je dwukropkiem: x=[-10:0.5:10] Zwróćmy uwagę na różnicę: x=[-10:0.5:10] Z kolei polecenie: z=linspace (-10, 10, 101); wygeneruje wektor o 101 elementach, przyjmujących wartości z przedziału [-10, 10]. Na wektorach o zgodnych wymiarach można wykonywać różne operacje: x+y x-y x*y x*y' x'*y Odwołania do elementów wektorów, np: x(1) x(10) y(2)+x(3) Wektory można konstruować w oparciu o zmienne: a=1 b=2 c=3 Scilab wprowadzenie, UKSW -3- Anna Trykozko, ICM, Uniwersytet Warszawski

x=[a, b, c] Macierze: A=[1,2,3; 4,5,6; 7,8,9] B=[1,2,3 1, 2, 3 1, 2, 3] u=[-1, -2, -3] v=[1, 1, 1] w=[-1, 0, 1] C=[u; v; w] // należy zwrócić uwagę na te trzy polecenia r=[u v w] // i dzielące je różnice D=[u' v' w'] Operacje na macierzach (Uwaga na zgodność wymiarów macierzy) A+B C-D A*B - mnożenie macierzowe B*A A.*B - mnożenie 'element po elemencie' C*u inv(a) cond(b) det(c) A*inv(A) Operacje 'element po elemencie':.*./.^ Rozwiązywanie układów równań liniowych A=[1, 3, 2; 2,13, 8; 0, 2 3] b=[1, 2, -4]' x=a\b Jest to najszybszy sposób rozwiązania układu równań. Szybkie tworzenie specjalnych macierzy i wektorów c=ones(5,3) d=zeros(10,1) dd=zeros(10) I=eye(5,5) D=diag( [2 1 0-1 -2]) L=diag([1,2,3,4], -1) U=rand(3,3) R=rand(3,3,'normal') rv=rand(10,1) rv=rand(1,10) Skrypty Polecenia programu Scilab też można umieścić w pliku (skrypcie) i wielokrotnie wykonywać. W plikach tych oprócz poleceń umieszcza się komentarze; są to linie rozpoczynające się //. Zwyczajowe rozszerzenie takich plików to.sci. Uruchomienie poleceń z pliku następuje po wprowadzeniu polecenia (albo poprzez wybór z menu poleceń): exec plik.sci Funkcje: sin, cos, log, exp, abs, sqrt, sum, max, min, sort Scilab wprowadzenie, UKSW -4- Anna Trykozko, ICM, Uniwersytet Warszawski

Pętla for for i=1:10...... Pętla while h=0; while h<7 h=h+1; disp (h) ; Instrukcja warunkowa if warunek then...instrukcje elseif warunek1 then...instrukcje1 elseif warunek2 then...instrukcje2 else... Więcej informacji o tworzeniu wykresów: Następujące po sobie polecenia plot powodują dodanie ( dorysowanie ) kolejnego wykresu do bieżącego okna. Operacje na oknach: clf() wyczyszczenie bieżącego okna. clf(1) wyczyszczenie okna nr 1. scf(1) utworzenie okna o numerze 1. xdel() usunięcie bieżącego okna. xdel(1) usunięcie okna o numerze 1. Kilka wykresów na raz : plot (x,y,x,y1); Uwaga: w związku z tym można na jednym rysunku umieszczać wykresy zdefiniowane dla różnych zakresów lub gęstości x-ów. x=linspace (0, %pi, 20); y=sin(x); x1=linspace(-%pi, %pi, 50); y1=cos(x1); x2=linspace(-2*%pi, -%pi, 20); y2=sin(2*x2); plot(x,y,x1,y1,x2,y2); xgrid(); Kolory są ustalane automatycznie. Poprzez odpowiednie zdefiniowanie parametrów można sterować zarówno kolorami, jak i rodzajem linii oraz markerów; porównajmy z poprzednim wykresem: Scilab wprowadzenie, UKSW -5- Anna Trykozko, ICM, Uniwersytet Warszawski

plot(x,y,'r',x1,y1,'g:o',x2,y2,'b*'); Każda para x-ów i y-ków została uzupełniona o ciąg symboli definiujących sposób wykreślania. Kolory: symbol kolor plot(x,y,'r',x1,y1,'r',x2,y2); r czerwony g zielony b niebieski c cyjan m magenta y żółty k czarny w biały Style wykreślania linii: plot(x,y, - ); linia ciągła (domyślnie) plot(x,y, - - ); linia przerywana plot(x,y, : ); linia kropkowana plot(x,y, -. ); linia kreskowo-kropkowa Znaczniki: Symbol znacznik Symbol znacznik + plus ^ o kółko v * gwiazdka >. kropka < krzyżyk gwiazda x 'pentagram' pięcioramienna 'square' lub 's' kwadracik 'none' brak znacznika - 'diamond' lub 'd' domyślnie Uwaga: Domyślnie znaczniki nie są rysowane. Jeśli wskaże się tylko znacznik, to trzeba jawnie podać symbol stylu wykreślania linii. W przeciwnym przypadku wykres nie będzie zawierał linii. Opisywanie wykresów: tytuł, opisy osi, lega title ( Tytul wykresu ); xtitle( Tytul wykresu, opis osi x-ow, opis osi pionowej ); leg ( opis 1. funkcji, opis 2. funkcji, opis 3. funkcji ); Wszystkie opisy odnoszą się do bieżącego okna. Scilab wprowadzenie, UKSW -6- Anna Trykozko, ICM, Uniwersytet Warszawski

leg ( opis 1. funkcji, opis 2. funkcji, opis 3. funkcji,4); położenie legy zdefiniowanie za pomocą myszy: leg ( opis 1. funkcji, opis 2. funkcji, opis 3. funkcji,5); Uwaga: Legę można uzupełnić o informację o jej położeniu na rysunku poprzez podanie na końcu opcjonalnego parametru. Domyślnym położeniem legy jest prawy górny róg. Polecenie: leg ( opis 1. funkcji, opis 2. funkcji, opis 3. funkcji,4); spowoduje umieszczenie legy w lewym dolnym rogu. Przykładowe inne możliwości można podawać albo opis liczbowy, albo opis słowny (w apostrofach): 1 lub "in_upper_right" prawy górny róg, przyjmowane domyślnie 2 lub "in_upper_left" lewy górny róg 3 lub "in_lower_left" lewy dolny róg 4 lub "in_lower_right" prawy dolny róg 5 lub "by_coordinates" położenie legy zdefiniowanie za pomocą myszki w oknie graficznym. Kilka rozłącznych wykresów w jednym oknie subplot Przykład 4 wykresów rozmieszczonych w 2 kolumnach i 2 wierszach. -->clf() -->subplot(2,2,1); -->plot(x,y) -->subplot(2,2,2); -->plot(x,y,'ro-.') -->subplot(2,2,2); -->subplot(2,2,3); -->plot(x,y,'mo-.') -->xgrid() -->subplot(2,2,4); -->plot(x,2*y,x,y); -->xgrid() Scilab wprowadzenie, UKSW -7- Anna Trykozko, ICM, Uniwersytet Warszawski

Rozwiązanie równania ( D u( x)) = f ( x) w przedziale [0, 10]. W x=0 warunek Dirichleta f(0)=10. x=10: warunek Dirichleta f(10)=0 clear; // przedzial: a=0; b=10; // liczba wezlow n=10; h=(b-a)/(n-1); // wspolczynnik dyfuzji D=0.5; // polozenie wezlow for i=1:n x(i)=a+(i-1)*h; /// macierz dyfuzji A=zeros(n-2,n-2); for i=1:n-2 A(i,i)=D*2/(h*h); for i=1:n-3 A(i,i+1)=-D/(h*h); for i=2:n-2 A(i,i-1)=-D/(h*h); /// /// /// prawa strona f=zeros(n-2,1); f(1)=d*10/(h*h); // zrodlo (np. ciepla) w punkcie 5 f(5)=2; scf(0); clf(0); ///Backslash denotes left matrix division. ///x=a\b is a solution to A*x=b u1=a\f; u1_full=[10;u1;0]; plot(x,u1_full); x=10: warunek Neumanna df/dx=0 clear; // przedzial: a=0; b=10; // liczba wezlow n=10; h=(b-a)/(n-1); // wspolczynnik dyfuzji D=0.5; // polozenie wezlow for i=1:n x(i)=a+(i-1)*h; /// macierz dyfuzji A=zeros(n-1,n-1); for i=1:n-1 A(i,i)=D*2/(h*h); for i=1:n-2 A(i,i+1)=-D/(h*h); for i=2:n-1 A(i,i-1)=-D/(h*h); /// modyfikacja macierzy A A(n-1,n-2)=-2*D/(h*h); /// prawa strona f=zeros(n-1,1); f(1)=d*10/(h*h); // zrodlo (np. ciepla) w punkcie 5 f(5)=2; scf(0); clf(0); ///Backslash denotes left matrix division. ///x=a\b is a solution to A*x=b u1=a\f; u1_full=[10;u1]; plot(x,u1_full); Scilab wprowadzenie, UKSW -8- Anna Trykozko, ICM, Uniwersytet Warszawski