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

Podobne dokumenty
1 Podstawy c++ w pigułce.

Wstęp do Programowania Lista 1

1 Podstawy c++ w pigułce.

Podstawy Programowania C++

Matlab Składnia + podstawy programowania

Ćwiczenie 1. Wprowadzenie do programu Octave

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Ćwiczenie 1. Wprowadzenie do programu Octave

do MATLABa programowanie WYKŁAD Piotr Ciskowski

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

Przetwarzanie sygnałów

Matlab Składnia + podstawy programowania

MATLAB - laboratorium nr 1 wektory i macierze

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

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

Wprowadzenie do środowiska

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Wprowadzenie do Scilab: macierze

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Modelowanie rynków finansowych z wykorzystaniem pakietu R

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

Konstrukcje warunkowe Pętle

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Podstawy Programowania Podstawowa składnia języka C++

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

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

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Metody i analiza danych

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

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

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

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

Obliczenia w programie MATLAB

Metody numeryczne Laboratorium 2

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

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

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 4. Karol Tarnowski A-1 p.

Operacje logiczne i struktury sterujące.

Programowanie - instrukcje sterujące

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Struktura pliku projektu Console Application

Wykład z Technologii Informacyjnych. Piotr Mika

Wprowadzenie do Scilab: macierze

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

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ć

Podstawy i języki programowania

Języki programowania zasady ich tworzenia

Warunki logiczne instrukcja if

Pętla for. Wynik działania programu:

Wprowadzenie do Scilab: podstawy języka Scilab

Programowanie w języku Python. Grażyna Koba

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

Algebra macierzy

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo

Zapis algorytmów: schematy blokowe i pseudokod 1

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

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

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Podstawowe operacje na macierzach

2 Przygotował: mgr inż. Maciej Lasota

Podstawy programowania w języku C i C++

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Algorytmy i struktury danych

LibreOffice Calc VBA

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

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

Diary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku

Wprowadzenie do programowania w VBA

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

Zakłócenia w układach elektroenergetycznych LABORATORIUM

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

Programowanie w języku C++ Grażyna Koba

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

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

Bloki anonimowe w PL/SQL

MACIERZE. Sobiesiak Łukasz Wilczyńska Małgorzata

Pętle. Dodał Administrator niedziela, 14 marzec :27

Algorytmika i Programowanie VBA 1 - podstawy

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Odczyt danych z klawiatury Operatory w Javie

Wprowadzenie do Scilab: macierze

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

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

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

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

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

KOTLIN. Język programowania dla Androida

04 Układy równań i rozkłady macierzy - Ćwiczenia. Przykład 1 A =

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Transkrypt:

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem Matlab oraz jego podstawowymi funkcjami. 1.1. Deklaracja zmiennych Zmienne są podstawowym elementem każdego języka programowania. W języku Matlab nazwy zmiennych muszą spełniać dwa podstawowe warunki: mogą zawierać tylko litery a-z, cyfry 0-9 i podkreślenie _, muszą rozpoczynać się literą Zmienne są tworzone poprzez przypisanie im wartości, np.: a = 22; W Matlabie wszystkie zmienne są traktowane jako tablice, w związku z czym zmienna określona pojedynczą wartością (skalar) traktowana jest jako tablica 1x1. Wartość zmiennej można wyświetlić podając jej nazwę bez zakończenia średnikiem lub korzystając z polecenia disp, np.: disp(x). 1.2. Wielkość liter w nazwach W języku Matlab wielkość liter używanych do tworzenia nazw zmiennych lub funkcji jest rozróżniana (jest to język case sensitive). Przykładowo zmienne promień i PROMIEŃ to dwie różne wielkości. Dlatego bardzo istotne jest zwrócenie uwagi na używanie dokładnie takich nazw jakie zostały zadeklarowane. 1.3. Przestrzeń robocza Jednym z podstawowych zagadnień w Matlabie jest przestrzeń robocza (workspace). Wszystkie zmienne utworzone podczas pracy zostają zapisane w przestrzeni roboczej, aż nie zostaną z niej usunięte. Zmienne można usunąć z przestrzeni roboczej poleceniem clear. Listę wszystkich zmiennych zapisanych w przestrzeni roboczej można uzyskać wpisując komę who lub whos. 2. Podstawowe operacje w Matlabie 2.1. Typy danych W Matlabie można wyróżnić 14 podstawowych typów danych. Domyślnym typem jest double (double-precision floating point) typ zmiennoprzecinkowy. Spośród innych typów danych można wyróżnić jeszcze single (single-precision floating point) oraz typy całkowite int. 2.2. Podstawowe operacje Obliczanie wartości wprowadzanych wyrażeń odbywa się poprzez wykonywanie operacji arytmetycznych. Można wyróżnić następujące operacje wykonywane na wielkościach skalarnych: dodawanie: a + b, odejmowanie: a - b, mnożenie: a * b, dzielenie (prawostronne i lewostronne): a / b, a \ b,

potęgowanie: a ^ b. 2.3. Kolejność wykonywania operacji W ch wprowadzanych w środowisku Matlab kilka operacji może być podanych jednocześnie, np.: a * b ^ 3. Dlatego Matlab ma bardzo ścisłe reguły dotyczące kolejności wykonywania operacji. Kolejność wykonywania działań jest następująca: Kolejność Operator 1 operacje w nawiasach 2 potęgowanie 3 mnożenie i dzielenie 4 dodawanie i odejmowanie W przypadku operatorów o tej samej wadze operacje są wykonywane od lewej do prawej. 3. Wektory i macierze (tablice) Tablice w Matlabie to listy liczb lub wyrażeń ułożonych poziomo w wierszach i pionowo w kolumnach. Tablicę o tylko jednym wierszu lub tylko jednej kolumnie nazywamy wektorem, natomiast gdy ma ona m wierszy i n kolumn nazywamy ją macierzą o wymiarach m n. Korzystając z operacji na tablicach można wykonywać określone operacje na dużych zbiorach danych, co jest jedną z największych zalet Matlaba. 3.1. Deklaracja wektorów i macierzy Wektory lub macierze można deklarować w następujący sposób: podając ich elementy, np.: x = [1 2 3] %deklaracja wektora wierszowego x = [1; 2; 3] %deklaracja wektora kolumnowego x = [1 2 3; 4 5 6] %deklaracja macierzy 2 3 podając wartość minimalną i maksymalną oraz krok postępu (opcjonalnie): x = 1:10 %wektor o 10 elementach będących wartościami od 1 do 10 z domyślnym krokiem 1 x = 1:0.5:10 %wektor o 20 elementach będących wartościami od 1 do 10 z krokiem 0.5 x = [1:5; 6:10] %macierz 2 5 o elementach będących wartościami od 1 do 10 z domyślnym krokiem 1 korzystając z polecenia linspace tworzącego wektor o równomiernie rozmieszczonych elementach: x = linspace(1, 10, 5) %wektor o 5 równomiernie rozmieszczonych elementach od 1 do 10 3.2. Operacje na wektorach i macierzach W przypadku korzystania z wektorów i macierzy możliwe jest wykonywanie takich samych operacji jak w przypadku wielkości skalarnych, jednak z uwzględnieniem zasad algebry liniowej, tj.: dodawane, odejmowane lub dzielone wektory/macierze muszą mieć takie same wymiary, mnożenie macierzy A*B jest możliwe jeśli macierz B ma tyle samo wierszy co macierz A kolumn, potęgowanie jest możliwe w przypadku macierzy kwadratowych. Wymienione wyżej operacje mają charakter macierzowy. Oprócz nich możliwe jest również wykonywanie operacji element po elemencie, takich jak: mnożenie: A.* B, dzielenie: A./ B,

potęgowanie: A.^ 2, Operacje element po elemencie oznaczane są przez użycie przedrostka w postaci., np..*. Kolejną operacją wykonywaną na wektorach i macierzach jest transpozycja, oznaczana symbolem, np.: x. Transpozycja pozwala na transformację wektora wierszowego w kolumnowy i odwrotnie, a w przypadku macierzy powoduję zamianę wierszy z kolumnami. Transpozycja ma drugą co do wielkości wagę w kolejności wykonywania operacji (po nawiasach). 3.3. Indeksowanie Położenie poszczególnych elementów wektora lub macierzy jest określane przez tzw. indeksy. W związku z tym do wartości z określonej pozycji wektora/macierzy można się odwołać podając wartość jej indeksu, np.: x(3). W Matlabie indeksowanie zawsze rozpoczyna się od wartości 1. 4. Instrukcje warunkowe Instrukcje warunkowe służą do wykonywania określonych operacji (fragmentów kodu programu) w przypadku gdy został spełniony określony warunek. W matalbie dostępne są instrukcje warunkowe if oraz switch. 4.1. Instrukcja if Instrukcja if jest podstawową instrukcją warunkową i ma postać: if warunek wyrażenie, If x > 0.5 x = x / 2, Warunek jest pewnym wyrażeniem logicznym, a więc zawierającym jeden z operatorów relacji: Operator Znaczenie < mniejszy <= mniejszy lub równy == równy ~= różny > większy >= większy lub równy Konstrukcja if może być rozszerzona o wyrażenie wykonywane w przypadku gdy określony warunek nie jest spełniony przy pomocy instrukcji : if warunek 4.2. Instrukcja if Konstrukcja if pozwala na rozwinięcie instrukcji if z uwzględnieniem kolejnego sprawdzania kilku warunków. Warunek określony przy instrukcji if jest sprawdzany

tylko i wyłącznie wtedy, gdy poprzedzające warunki nie zostały spełnione. Konstrukcja instrukcji warunkowych z wykorzystaniem if ma postać: if warunek1 if warunek2 if warunek3 wyrażenie3... wyrażenien if x < 0 disp( Liczba ujemna ) if x > 0 disp( Liczba dodatnia ) disp( Zero ) 4.3. Instrukcja switch Instrukcja warunkowa switch pozwala na wykonanie określonych operacji w zależności od wartości określonej zmiennej lub. Ma ona postać: switch (wyrażenie) case wartość1 case wartość2... otherwise wyrażenien switch (sign(x)) case -1 disp( Liczba ujemna ) case 1 disp( Liczba dodatnia ) otherwise disp( Zero )

5. Pętle Pętle umożliwiają cykliczne wykonywanie ciągu określonych instrukcji (wyrażeń) aż do momentu zajścia warunku zakończenia pętli. W Matlabie dostępne są dwa rodzaje pętli: for i while. 5.1. Pętla for Pętla for służy do wykonania określonego ciągu instrukcji założoną uprzednio ilość razy. Liczba powtórzeń wykonania pętli zależna jest od liczby wartości indeksu pętli. Konstrukcja for ma postać: for indeks = v Wielkość v jest wektorem możliwych wartości indeksu. Stąd przykładowa konstrukcja pęli for może mieć postać: for i = 1:0.5:10 lub for i = [1 4 6 7 9] 5.2. Pętla while Pętla while służy do wykonywania określonego ciągu instrukcji tak długo, aż nie zostanie spełniony warunek zakończenia pętli. Konstrukcja while ma postać: while warunek_zakończenia i = 0; while i<10 i = i + 1; disp(i)