Programowanie w Scilab

Podobne dokumenty
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

Metody numeryczne Laboratorium 2

Elementy metod numerycznych - zajęcia 9

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ć

Równania nieliniowe, nieliniowe układy równań, optymalizacja

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Całkowanie numeryczne

Równania nieliniowe, nieliniowe układy równań, optymalizacja

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Wprowadzenie do Scilab: podstawy języka Scilab

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

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:

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

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Ćwiczenie 1. Wprowadzenie do programu Octave

Scilab skrypty (programowanie)

JAVAScript w dokumentach HTML - przypomnienie

1 Programowanie w matlabie - skrypty i funkcje

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Dokonaj analizy poniŝszego kodu i na jego podstawie wyświetl w oknie przeglądarki swoje Imię oraz Nazwisko przy uŝyciu instrukcji echo i print

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Bloki anonimowe w PL/SQL

Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia

Matlab Składnia + podstawy programowania

System operacyjny Linux

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

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

ŚRODOWISKO MATLAB cz.3 Implementowanie algorytmów w skryptach i funkcjach programu

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

JAVAScript w dokumentach HTML (2)

Matlab Składnia + podstawy programowania

Ćwiczenie 1. Wprowadzenie do programu Octave

Języki skryptowe w programie Plans

Programowanie - wykład 4

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

//warunki początkowe m=500; T=30; c=0.4; t=linspace(0,t,m); y0=[-2.5;2.5];

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski

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

System operacyjny Linux

Języki i paradygmaty programowania 1 studia stacjonarne 2018/19. Lab 9. Tablice liczbowe cd,. Operacje na tablicach o dwóch indeksach.

Cw.12 JAVAScript w dokumentach HTML

Podstawowe operacje na macierzach, operacje we/wy

Przetwarzanie sygnałów

Skrypty BASH a. Systemy Operacyjne 2. Mateusz Hołenko. 4 października 2012

Kier. MTR Programowanie w MATLABie Laboratorium. 1. Tworzenie m-plików skryptowych i uruchamianie skryptów

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

I. Podstawy języka C powtórka

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Konstrukcje warunkowe Pętle

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 1. Wprowadzenie, środowisko programistyczne, pierwsze programy

Krótki kurs JavaScript

Laboratorium metod numerycznych - SCILAB Laboratorium 2

Podstawy programowania obiektowego

Funkcje i instrukcje języka JavaScript

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Algorytmy i struktury danych

Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego.

Wprowadzenie do Scilab: funkcje i wykresy

Wykresy i interfejsy użytkownika

Projektowanie aplikacji internetowych Pisanie skryptów wiersza poleceń - pętle

Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne

1 Podstawy c++ w pigułce.

Wstęp do programowania

Wstęp do Programowania, laboratorium 02

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Serwer WWW Apache. Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, , zakończony projekt

LibreOffice Calc VBA

Podstawy programowania skrót z wykładów:

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Interpolacja i aproksymacja, pojęcie modelu regresji

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

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Programowanie komputerowe. Zajęcia 3

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

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

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Część 4 życie programu

Pzetestuj działanie pętli while i do...while na poniższym przykładzie:

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Podstawy Informatyki Computer basics

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe

Ćwiczenie 3. Python 3: Python 3: Funkcje, moduły i operacje na plikach

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Zapis algorytmów: schematy blokowe i pseudokod 1

Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1

1. Indeksy/indeksowanie : Do elementów wektora, list, macierzy czy ramek, można się odwołać na kilka sposobów.

Wstęp do Informatyki dla bioinformatyków

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

Umieszczanie kodu. kod skryptu

Podstawy Programowania C++

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

Wstęp do programowania

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

Operatory arytmetyczne

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Wprowadzenie do Scilab: macierze

Transkrypt:

5 styczeń, 2006 Programowanie w Scilab Slajd 1 Programowanie w Scilab

5 styczeń, 2006 Programowanie w Scilab Slajd 2 Plan zajęć Wprowadzenie -operatory porównawcze: Pętle Przerywanie pętli Warunki Definiowanie funkcji Funkcje specjalne

5 styczeń, 2006 Programowanie w Scilab Slajd 3 Operatory porównawcze Scilab posiada wiele wbudowanych narzędzi do programowania, np. pętle, warunki, wybór przypadków. Podstawową użyteczność Scilaba stanowią funkcje. Istnieje pięć metod porównywania obiektów w Scilabie: == równe < mniejsze od > większe od <= mniejsze lub równe >= większe lub równe <> lub ~= nierówne

5 styczeń, 2006 Programowanie w Scilab Slajd 4 Warunki Definicja warunku if (w kilku liniach): if warunek-1 then instrukcja... [ elseif warunek-2 then instrukcja ] [ else instrukcja ] Przykład (zapis w kilku liniach): x=1; if x>0 then, y=-x, else, y=x, y y= -1 lub w jednej linii: if x>0 then, y=-x, else, y=x, ; y y= -1

5 styczeń, 2006 Programowanie w Scilab Slajd 5 Pętle Pętla for Definicja w jednej linii: for zmienna=wyrażenie, instrukcja, instrukcja, Definicja w kilku liniach: for zmienna=wyrażenie, instrukcja, instrukcja, Przykład: x=1; for k=[-1 3 0], x=x+k, x = 0. x = 3. x = 3.

5 styczeń, 2006 Programowanie w Scilab Slajd 6 Pętle Pętla for lub Przykład: x=1; for k=1:6 x=x*k x=1; for k=1:6, x=x*k, Uwaga! - Pętla nie musi być wpisana w jednej linii.

5 styczeń, 2006 Programowanie w Scilab Slajd 7 Pętle Pętla for może również operować na listach Przykład: 1. L=list(1, [1,2;3,4],'str'); for k=l, disp(k),! 1. 2.!! 3. 4.! str Ćwiczenie 1 Utwórz macierz o wymiarach 5x5, której wyrazy spełniają warunek a(i,j) = 1/(i+j-1) (korzystaj z SciPada) Zmodyfikuj wyrazy macierzy a tak aby na głównej przekątnej a(2,2)=2, a(3,3)=3 oraz a(4,4)=4

5 styczeń, 2006 Programowanie w Scilab Slajd 8 Pętla Ćwiczenie 1 Utwórz macierz o wymiarze 5x5, której wyrazy spełniają warunek a(i,j) = 1/(i+j-1) n=5; for i = 1:n, for j = 1:n, a(i,j) = 1/(i+j-1); ; ; a a =! 1. 0.5 0.3333333 0.25 0.2!! 0.5 0.3333333 0.25 0.2 0.1666667!! 0.3333333 0.25 0.2 0.1666667 0.1428571!! 0.25 0.2 0.1666667 0.1428571 0.125!! 0.2 0.1666667 0.1428571 0.125 0.1111111!

5 styczeń, 2006 Programowanie w Scilab Slajd 9 Pętla Ćwiczenie 1 Zmodyfikuj wyrazy macierzy a tak aby na głównej przekątnej a(2,2)=2, a(3,3)=3 oraz a(4,4)=4 for j = 2:n-1, ; a a(j,j) = j; a =! 1. 0.5 0.3333333 0.25 0.2!! 0.5 2.0 0.25 0.2 0.1666667!! 0.3333333 0.25 3.0 0.1666667 0.1428571!! 0.25 0.2 0.1666667 4.0 0.125!! 0.2 0.1666667 0.1428571 0.125 0.1111111!

5 styczeń, 2006 Programowanie w Scilab Slajd 10 Pętle Pętla while Definicja : while warunek instrukcja... [else instrukcja... ] lub (w jednej linii): while warunek do instrukcja,...[,else instrukcja], while warunek then instrukcja,...[,else instrukcja],

5 styczeń, 2006 Programowanie w Scilab Slajd 11 Pętle Pętla while Przykład: x=1; while x<14, x=2*x, x = 2. x = 4. x = 8. x = 16.

5 styczeń, 2006 Programowanie w Scilab Slajd 12 Pętle Przerwanie pętli instrukcja break warunek if Przykład: a=0; for i=1:5:100, a=a+1, if i>10 then break, ; a a = 3.

5 styczeń, 2006 Programowanie w Scilab Slajd 13 Pętle Ćwiczenie 2 Utwórz skrypt o nazwie break.sce o treści: for k=1:3; for j=1:4; if k+j>5 then, break, else, disp(k) ; ; ; Prześledź działanie instrukcji

5 styczeń, 2006 Programowanie w Scilab Slajd 14 Warunki Ćwiczenie 3 Stwórz procedurę tworzącą macierz kwadratową o dowolnym rozmiarze i cechach jak następująca macierz (użyj SciPada):! 2. - 1. 3. 3. 3. 3. 3. 3. 3. 3.!! - 1. 2. - 1. 3. 3. 3. 3. 3. 3. 3.!! 3. - 1. 2. - 1. 3. 3. 3. 3. 3. 3.!! 3. 3. - 1. 2. - 1. 3. 3. 3. 3. 3.!! 3. 3. 3. - 1. 2. - 1. 3. 3. 3. 3.!! 3. 3. 3. 3. - 1. 2. - 1. 3. 3. 3.!! 3. 3. 3. 3. 3. - 1. 2. - 1. 3. 3.!! 3. 3. 3. 3. 3. 3. - 1. 2. - 1. 3.!! 3. 3. 3. 3. 3. 3. 3. - 1. 2. - 1.!! 3. 3. 3. 3. 3. 3. 3. 3. - 1. 2.!

5 styczeń, 2006 Programowanie w Scilab Slajd 15 Warunki Ćwiczenie 3 n=10 for i=1:n, for j = 1:n, if i == j then, a(i,j) = 2; elseif abs(i-j) == 1 then, a(i,j) = -1; else, a(i,j) = 3; ; ; ; a

5 styczeń, 2006 Programowanie w Scilab Slajd 16 Warunki -->a a = Ćwiczenie 3 c.d.! 2. - 1. 3. 3. 3. 3. 3. 3. 3. 3.!! - 1. 2. - 1. 3. 3. 3. 3. 3. 3. 3.!! 3. - 1. 2. - 1. 3. 3. 3. 3. 3. 3.!! 3. 3. - 1. 2. - 1. 3. 3. 3. 3. 3.!! 3. 3. 3. - 1. 2. - 1. 3. 3. 3. 3.!! 3. 3. 3. 3. - 1. 2. - 1. 3. 3. 3.!! 3. 3. 3. 3. 3. - 1. 2. - 1. 3. 3.!! 3. 3. 3. 3. 3. 3. - 1. 2. - 1. 3.!! 3. 3. 3. 3. 3. 3. 3. - 1. 2. - 1.!! 3. 3. 3. 3. 3. 3. 3. 3. - 1. 2.!

5 styczeń, 2006 Programowanie w Scilab Slajd 17 Warunek typu select-case Definicja warunku if w kilku liniach: select wyrażenie, case wartość_1 then instrukcja, case wartość_2 then instrukcja,... [else instrukcja], Przykład: x=-1; select x, y = case 1, i y=x+5, case -1, y=sqrt(x),

5 styczeń, 2006 Programowanie w Scilab Slajd 18 Warunek typu select-case Ćwiczenie 4 Stwórz procedurę (w pliku select.sce), która będzie losowała liczby z przedziału <0, 2) Liczby losowe (rozkład jednorodny) mają być następnie zaokrąglone - funkcja round() Przerwanie losowania ma następować po wylosowaniu liczby która po zaokrągleniu daje 2

5 styczeń, 2006 Programowanie w Scilab Slajd 19 Warunek typu select-case while %t do n=round(2*rand(1,1)) select n case 0 then disp(0) case 1 then disp(1) else break Ćwiczenie 4

5 styczeń, 2006 Programowanie w Scilab Slajd 20 Definiowanie funkcji Składnia dowolnej funkcji: function [y1,y2,...,yn]=foo(x1,...xn)... function Przykład: function [x]=fact(k) k=int(k) if k<1 then k=1, x=1; for j=1:k, x=x*j; function -->exists('fact') ans 0.

5 styczeń, 2006 Programowanie w Scilab Slajd 21 Definiowanie funkcji Jeśli funkcja nie istnieje należy ją załadować do Scilaba exec lub getf: Przykład c.d.: -->exec('~/fact.sci') -->exists('fact') ans 1. -->x=fact(5) x = 120

5 styczeń, 2006 Programowanie w Scilab Slajd 22 Definiowanie funkcji Ćwiczenie 5 Zdefiniuj funkcje która będzie podawała sumę i różnicę dwóch liczb. Funkcję zapisz do pliku sumroz.sce:

5 styczeń, 2006 Programowanie w Scilab Slajd 23 Definiowanie funkcji Ćwiczenie 5 function [y1,y2]=f(x1,x2) y1=x1+x2 y2=x1-x2 function wywołaj funkcję: -->exec('~/f.sci') -->[x,y]=f(5,5) y = 0 x = 10

5 styczeń, 2006 Programowanie w Scilab Slajd 24 Funkcje specjalne Scilab posiada wiele wbudowanych kom pomocniczych funkcji: argn zwraca liczbę argumentów wejściowych i wyjściowych funkcji error używana do wyświetlania komunikatu o błędach warning pause używana do chwilowego zatrzymania działania funkcji break zatrzymanie pętli Return lub resume -wyprowadzenie lokalnych zmiennych ze środowiska funkcji

5 styczeń, 2006 Programowanie w Scilab Slajd 25 Definiowanie funkcji Ćwiczenie 6 Zdefiniuj funkcje która będzie obliczała iloczyn Cauchego dwóch macierzy. Funkcję zapisz do pliku mult.sce:

5 styczeń, 2006 Programowanie w Scilab Slajd 26 Definiowanie funkcji function [c]=mult(a,b) [m,n]=size(a); [k,l]=size(b); if n~=k then, c='blad - n~=k'; resume Ćwiczenie 6

5 styczeń, 2006 Programowanie w Scilab Slajd 27 Definiowanie funkcji Ćwiczenie 6 c.d. c=zeros(m,l); for i=1:m, for j=1:l, for p=1:n, c(i,j)=c(i,j)+a(i,p)*b(p,j); function

5 styczeń, 2006 Programowanie w Scilab Slajd 28 Definiowanie funkcji Ćwiczenie 6 c.d. wywołaj funkcję: -->exec('~/mult.sci') -->a=[2,4;4,5];b=[3, 6]; -->c=mult(a,b) c = Blad - n~=k -->a=[2,4;4,5];b=[3; 6]; -->c=mult(a,b) c =! 30.!! 42.!

5 styczeń, 2006 Programowanie w Scilab Slajd 29 Definiowanie funkcji Ćwiczenie 7 Zdefiniuj funkcje która będzie obliczała sumę dwóch macierzy. Funkcję zapisz do pliku add.sce:

5 styczeń, 2006 Programowanie w Scilab Slajd 30 Definiowanie funkcji Ćwiczenie 7 function [c]=add(a,b) [m,n]=size(a); [k,l]=size(b); if m~=k n~=l then, c='blad - rozmiary macierzy nie sa identyczne'; return,

5 styczeń, 2006 Programowanie w Scilab Slajd 31 Definiowanie funkcji Ćwiczenie 7 c.d. c=zeros(m,n); for i=1:m, for j=1:n, c(i,j)=a(i,j)+b(i,j); function

5 styczeń, 2006 Programowanie w Scilab Slajd 32 Definiowanie funkcji Ćwiczenie 7 c.d. wywołaj funkcję: -->exec('~/add.sci') -->a=[2,4;4,5];b=[3; 6]; -->c=add(a,b) c = Blad rozmiary macierzy nie są identyczne -->a=[2,4;4,5];b=[3 5; 6 5]; -->c=add(a,b) c =! 5. 9.!! 10. 10.!