Wprowadzenie do środowiska Matlab/GNU Octave

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

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.

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

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

Ćwiczenie 3: Wprowadzenie do programu Matlab

WPROWADZENIE DO ŚRODOWISKA SCILAB

Wprowadzenie do środowiska

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

Metody i analiza danych

Podstawy MATLABA, cd.

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Zanim zaczniemy GNU Octave

Wstęp do Programowania Lista 1

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

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

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

MATLAB - laboratorium nr 1 wektory i macierze

Ćwiczenie 1. Wprowadzenie do programu Octave

1 Programowanie w matlabie - skrypty i funkcje

Biblioteka standardowa - operacje wejścia/wyjścia

Programowanie w językach wysokiego poziomu

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

Matlab Składnia + podstawy programowania

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:

Przetwarzanie sygnałów

Elementy metod numerycznych - zajęcia 9

Laboratorium metod numerycznych numer 1

Instalacja Pakietu R

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

Ćwiczenie 1. Wprowadzenie do programu Octave

Zakłócenia w układach elektroenergetycznych LABORATORIUM

MATLAB Z3. Rafał Woźniak. Warsaw, Faculty of Economic Sciences, University of Warsaw

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Metody numeryczne Laboratorium 2

Podstawowe operacje na macierzach

Matlab Składnia + podstawy programowania

1 Typy i formaty danych

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

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

Elementy Projektowania Inżynierskiego MATLAB Wprowadzenie.

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

PRZETWARZANIE SYGNAŁÓW LABORATORIUM

Wprowadzenie do Scilab: macierze

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

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

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

do MATLABa podstawowe operacje na macierzach WYKŁAD Piotr Ciskowski

Metody i analiza danych

Obliczenia w programie MATLAB

Podstawowe operacje na macierzach, operacje we/wy

PRZYKŁADY OPERACJI PLIKOWYCH z wykorzystaniem biblioteki <stdio.h>

01.Wprowadzenie do pakietu MATLAB

Wprowadzenie do Pakietu R dla kierunku Zootechnika. Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

MATLAB Podstawowe polecenia

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

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

Wprowadzenie do pakietów MATLAB/GNU Octave

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

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Krótki kurs obsługi środowiska programistycznego Turbo Pascal z 12 Opracował Jan T. Biernat. Wstęp

Program wykonujący operację na plikach powinien zachować schemat działania zapewniający poprawną pracę:

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

Podstawy Programowania C++

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

MATrix LABoratory. A C21 delta tvx444 omega_zero. hxx J23 aaa g4534 Fx_38

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

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Modelowanie rynków finansowych z wykorzystaniem pakietu R

WPROWADZENIE ŚRODOWISKO OBLICZEŃ NUMERYCZNYCH MATLAB - SIMULINK

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Otwórz R. Zmień katalog roboczy za pomocą File/Change Dir. Wczytaj plik przypisując go obiektowi o nazwie students:

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

WIMIM/MIBM/N1/-/B04 WIMIM/ME/S1/-/C46 WIMIM/IM/S1/-/B19

Algorytmy i struktury danych

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Ćwiczenie 0 : Wprowadzenie do cyfrowego przetwarzania sygnałów. wyświetla listę tematów pomocy. wyświetla okno pomocy (Help / Product Help)

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

Kier. MTR Programowanie w MATLABie Laboratorium

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Wprowadzenie do Octave

Wprowadzenie do środowiska MATLAB z zastosowaniami w modelowaniu i analizie danych

Cw.12 JAVAScript w dokumentach HTML

zajęcia 2 Definiowanie wektorów:

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Teksty Liczby Formuły. Operatory. dr inż. Jarosław Forenc. Pasek narzędzi. Pasek narzędzi. (Atrybuty komórek)

dr inż. Jarosław Forenc

1. Wprowadzenie do systemu MATLAB Operacje macierzowe i grafika 2D i 3D Podstawy programowania. Sławomir Milewski

Matlab MATrix LABoratory Mathworks Inc.

Funkcje zawarte w bibliotece < io.h >

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119

Algebra macierzy

JAVAScript w dokumentach HTML (1)

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

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

1 Logika. 1. Udowodnij prawa logiczne: 3. (p q) (p q) 2. (p q) ( q p) 2. Sprawdź, czy wyrażenie ((p q) r) (p (q r)) jest tautologią.

I. Podstawy języka C powtórka

Transkrypt:

Wprowadzenie do środowiska Matlab/GNU Octave 1 Cel ćwiczenia 1. Wprowadzenie do środowiska Matlab/GNU Octave. 2. Wczytanie i wyświetlenie sygnału cyfrowego. 2 Ważne informacje Matlab GNU Octave http://www.math.utah.edu/lab/ms/matlab/matlab.html http://www.math.mtu.edu/ msgocken/intro/intro.html http://www.gnu.org/software/octave/doc/interpreter/ http://www.youtube.com/watch?v=twqysoistea&list=plz-e1vzltehmt UopmGx99KS775aHYP3e4& index=1 3 Zadania 1. Matlab jako kalkulator: Używając Command Window wykonaj następujące obliczenia (a) exp (x 2y)2 4 ; dla x = 2 i y = 3.5 (b) cos(2x) + π; dla x = π 3 (c) 2 5 (d) 3 156 Użyj funkcji whos aby uzyskać nazwy użytych zmiennych oraz informacje o nich. 2. Wygeneruj wektory: Uwaga: Od tej chwili kolejne zadania zapisz w osobnych skryptach (m-plikach) F ile > New lub (Ctrl + N) (a) A = [ 1 2 3 1... 99 100 ] (b) B = 1/2 3 9 3. Wygeneruj macierz P = 1 2 3 4 5 3 4 5 6 7 5 6 7 8 9 (c) C = [ 5 4.9 4.8... 1.1 1 ] (d) D = [Do wektora B dodaj element 5-ty o wartości 1 oraz zmień wartość elementu 2-giego na 10]. Która z poniższych odpowiedzi da macierz 1 3 4 3 5 6 5 7 8. (a) P (:, :) (b) P (:, 1:3:4) (c) P (1:3:4, :) (d) P (:, [1 3:4]) (e) P (:, 1:2:5) (f) P (:, [1 3 4]) Anna Broniec Page 1 of 6

4. Wygeneruj macierze A=[1 2; 3 4] oraz B=[ 1 2 ; 3 4 ]. Porównaj ich rozmiar za pomocą funkcji size() - z czego wynika różnica rozmiarów? Użyj funkcji str2num() do zamiany zmiennych znakowych na liczbowe i sprawdź ponownie rozmiar macierzy B po tej zmianie. 5. Jeśli A = [ 1 2 3 4 ], B = eye(3), C = 1 1 1 2 1 3 które z poniższych komend nie spowodują wystąpienia błędu?, D = zeros(3, 3), e = [ 1 2 4 ], F = ones(2) 5, (a) A - C (b) e * C (c) A * C (d) A * C (e) B * D (f) B. * D (g) F * A (h) F. * A (i) (A * F)-B (1:2,1:2) (j) F - e (1,2) (k) B(1,1)/D(2,3) (l) B(1,1)\D(2,3) 6. Wygeneruj wektor V = [ 1 4 8 10 2 15 ]. Zmień wartości wektora V mniejsze od 5 na wartość 100. Napisz kod dwoma sposobami: (1) używając odpowiednich pętli (klasycznie), a następnie (2) wektorowo tzn. V (V < 5) = 100. Porównaj czas jaki zajęło wykonanie obu kodów (służą do tego funkcje tic i toc)- który kod działa szybciej? 7. Wygeneruj 10-sekundowy odcinek funkcji sinc spróbkowany z częstotliwością F p = 1000 Hz, a następnie samodzielnie oblicz i narysuj: (a) wartość średnią, (b) funkcję autokorelacji unormowaną przez długość sygnału N: R x [k] = 1 N N 1 k n=0 x[n]x[n + k] dla 0 k N 1. (1) (c) Otrzymane wyniki porównaj stosując funkcję mean i xcorr(, biased ) Fp=1000;%czestotliwosc probkowania dt=1/fp ; t =0: dt : 1 0 - dt ; %wektor czasu y=s i n c ( t ) ; 5 p l o t ( t, y ) ; %rysowanie funkcji sinc N=s i z e ( t ) ; N=N( 2 ) ; sum=0.0; 10 R=z e r o s ( 1,N) ; 8. Wczytaj sygnał sygnal.bin zawierający dane spróbkowane z częstotliwością 1200 Hz i zapisane binarnie na 13 kanałach ([13 inf]), z precyzją float32. Narysuj fragment wczytanego sygnału trwający od 9 do 10 sekundy, dla pierwszych pięciu kanałów (każdy kanał na osobnym wykresie - użyj komendy subplot). c l e a r a l l c l o s e a l l %... Anna Broniec Page 2 of 6

s=fopen ( sygnal. bin, rb ) ; 5 A=f r e a d ( s, [ 1 3 i n f ], f l o a t 3 2 ) ; f c l o s e ( s ) ; Anna Broniec Page 3 of 6

9. Ściąga d i s p ( Sciaga z Matlaba ) %wypisanie na ekran %tak można wstawic komentarz %Ważne skroty: F1-pomoc, F5-save file and run, Ctrl+R -zakomentowanie %zaznaczonego fragmentu, Ctrl+T -odkomentowanie 5 a=2; %Usunięcie zmiennej z pamięci: c l e a r a % usuwa zmienna a; c l e a r a l l % usuwa wszystkie zmienne znajdujace się w pamięci 10 %Zapisanie zmiennych na dysku: save nazwapliku %domyslnie przyjmowane jest rozszerzenie.mat %Wczytanie danych z pliku: load nazwapliku 15 %Korzystanie z podręcznej pomocy podajacej opis funkcji: help s i n % Działania: + - * / ^ 20 %Wybrane funkcje: b=5; n=3; 25 a=abs ( b ) %wartosc bezwzgledna, modul liczby zespolonej a=c o s ( b ) %cosinus (przedrostek "a" oznacza funkcję arcus zas litera %"h" na końcu oznacza hiperboliczny a=s i n ( b ) %sinus a=tan ( b ) %tanges 30 a=cot ( b ) %cotangens a=a n g l e ( b ) %kat fazowy liczby zespolonej w radianach a=conj ( b ) %liczba sprzężona a=exp ( b ) %funkcja eksponencjalna a=imag ( b ) %czesc urojona liczby zespolonej 35 a=l o g ( b ) %logarytm naturalny a=log10 ( b ) %logarytm o podstawie 10 a=r e a l ( b ) %częsc rzeczywista liczby zespolonej a=round ( b ) %zaokraglenie a=s i g n ( b ) %znak funkcji 40 a=s q r t ( b ) %pierwiastek kwadratowy a=nthroot (b, n ) %pierwiastek n-tego stopnia a=eye ( b ) %tworzenie macierzy jednostkowej a=ones ( b ) %macierz jedynkowa a=z e r o s ( b ) %macierz zerowa 45 a=rand ( b ) %macierz losowa o rozkładzie równomiernym %Wybrane zmienne i stałe: ans %standardowa zmienna przypisywana do wyrażenia nieskojarzonego 50 p i %liczba pi i, j %jednostka urojona date %aktualna data Anna Broniec Page 4 of 6

c l o c k %aktualny czas [year month day hour minute seconds] I n f %nieskończonosc 55 NaN %Not-a-Number 60 %Operatory logiczne w języku MATLAB: a=1;b=2; % a == b równe % a ~= b różne % a < b mniejsze % a > b większe 65 % a <= b mniejsze lub równe % a >= b większe lub równe % a & b i % a b lub 70 %Wektory i macerze A= [ 1, 2, 3, 4 ] %wektor poziomy B= [ 1 ; 2 ; 3 ; 4 ] %wektor pionowy C=1:10 %generowanie wektora [1 2 3 4 5 6 7 8 9 10] 75 D=1: 2: 10 %generowanie wektora [1 3 5 7 9] E= [ 1, 2, 3 ; 4, 5, 6 ; 7, 8, 9 ] %macierz 3x3 F=E %macierz transponowana L=l e n g t h (A) %podaje długosc wektora lub rozmiar najdłuższego wiersza %lub kolumny macierzy 80 S=s i z e (A) %podaje rozmiar wektora lub macierzy %funkcje tworzenia macierzy: %[rand,ones,eye,randi,randn,zeros,toeplitz,diag,magic,hilb] 85 %Grafika dwuwymiarowa x=[1 2 1 1 0 3 4 ] p l o t ( x ) 90 %subplot(m,n,p) %m - liczba wykresów w pionie %n - liczba wykresów w poziomie %p - kolejny numer wykresu 95 %axis([xmin xmax ymin ymax]); zmiana skali wykresu %opis rysunku: t i t l e ( t y t u ł rysunku ) ; x l a b e l ( o p i s o s i x ) ; 100 y l a b e l ( o p i s o s i y ) ; legend ( legenda ) ; 105 Anna Broniec Page 5 of 6

%Obsługa plików % fopen - otwarcie pliku % plik = fopen( nazwa.txt, rt ); - otwarcie pliku txt do czytania % plik = fopen( nazwa.txt, rt ); - otwarcie pliku txt do pisania 110 % plik = fopen( nazwa.txt, rb ); - otwarcie pliku binarnego do czytania % plik = fopen( nazwa.txt, wb ); - otwarcie pliku binarnego do pisania % fread - czytanie danych z pliku binarnego % fwrite - zapis danych do pliku binarnego % fprintf - zapis danych do pliku tekstowego 115 % fscanf - czytanie danych z pliku tekstowego % fclose(plik)- zamknięcie pliku %Przykład odczytu FileName= dane1. bin ; 120 f i d 1=fopen ( FileName, rb ) ; A=f r e a d ( f i d, [ Channels i n f ], f l o a t 3 2 ) ; f c l o s e ( f i d 1 ) ; %Przykład zapisu 125 f i d 2 = fopen ( dane2. bin, w ) ; B = reshape ( [ 1 : 1 2 ], 4, 3 ) ; f w r i t e ( f i d 2, B ) ; f c l o s e ( f i d 2 ) ; 130 %Petla FOR f o r i = 1 :N c i a g i n s t r u k c j i ; end 135 %Petla WHILE while ( wyrazenie warunkowe ) c i a g i n s t r u k c j i ; end 140 %Petla IF i f ( wyrazenie warunkowe ) c i a g i n s t r u k c j i ; end Anna Broniec Page 6 of 6