WYKŁAD 16 i 17. Podstawy programowania w języku MATLAB. Patrz przykłady zamieszczone na tej stronie: prog1.m... prog7.m oraz cw_0.m... cw_12.

Wielkość: px
Rozpocząć pokaz od strony:

Download "WYKŁAD 16 i 17. Podstawy programowania w języku MATLAB. Patrz przykłady zamieszczone na tej stronie: prog1.m... prog7.m oraz cw_0.m... cw_12."

Transkrypt

1 WYKŁAD 16 i 17 Podstawy programowania w języku MATLAB Patrz przykłady zamieszczone na tej stronie: prog1.m... prog7.m oraz cw_0.m... cw_12.m Tomasz Zieliński

2 KOMPILATOR vs. INTERPRETER (przypomnienie) C/C++ = kompilatory tłumaczą od razu cały program na kod maszynowy potem dopiero program jest wykonywany stosowane kiedy jest już znany algorytm rozwiązania Basic = interpretery Matlab tłumaczona i wykonywana jest linia po linii programu stosowane kiedy jest poszukiwany algorytm rozwiązania Kompilator Interpreter Zalety Szybkie działanie programu Możliwość optymalizacji kodu programu, np. minimalizacji potrzebnej pamięci Krótka droga do pomysłu do jego weryfikacji Wady Długa droga do pomysłu do jego weryfikacji Wolne działanie programu

3 PRACA NAD PROGRAMEM: kompilator vs. interpreter f1.obj, f2.obj,... statyczne (lib) i dynamiczne (dll) dołączanie bibliotek system.lib Lib Maker Konsolidator my.lib system.dll my.dll wykonanie całego programu Edytor tekstu KOMPILATOR programu Linker System operacyjny prog.c prog.obj prog.exe INTERPRETER to oddzielny program / aplikacja 1 2 Edytor linii Program czyli zbiór linii 1 2 INTERPRETER Interpreter linii >>...?... (CR) Egzekutor linii

4 SZYBKOŚĆ PISANIA vs. SZYBKOŚĆ DZIAŁANIA czas napisania i uruchamiania (usunięcia błędów) programu czas wykonania programu Asembler Język C/C++ Matlab Simulink WNIOSEK: kiedy poszukuję rozwiązania problemu, wybieram język wysokiego poziomu, nawet graficzny, z dużą liczbą bibliotek (szybko piszę program, który wolno działa) kiedy znam rozwiązanie problemu wybieram język niskiego poziomu (wolno piszę program, który szybko działa)

5 ZALETY MATLABA: 1) Obliczenia numeryczne (inżynierskie): zapis wektorowo-macierzowy: A*x = b, x = inv(a)*b, C = A*B olbrzymia, wiarygodna biblioteka funkcji matematycznych: algebra liniowa, całkowanie, różniczkowanie, optymalizacja,... kompromis pomiędzy prostotą, dokładnością, szybkością 2) Zaawansowana wizualizacja 2D/3D danych, prosta w użyciu. 3) Biblioteki specjalistyczne (toolboxes) pisane przez ekspertów światowych z zakresu elektroniki, telekomunikacji, automatyki,... 4) Simulink, Stateflow, SimEvent, SimPower, Link to ModelSim (VHDL, FPGA, ASIC) - okienkowo-zorientowane środowiska graficzne do uruchamiania algorytmów na podstawie ich schematów blokowych, wyposażone w liczne biblioteki (blocksets). 5) Otwarta architektura: m-zbiory dostępne w kodzie źródłowym łatwość dołączania swoich funkcji mnogość interfejsów do różnych typów danych (wav, avi, DICOM,...) 6) C-maker, Real-Time Workshop, procesory DSP (TI Composer Studio)

6 Z języka C do Matlaba (1) Zbiór dyskowy: prog1.m % % Program prog1: budżet rodziny osoby = 3; kasa = ; moje = kasa/osoby, % liczba osób % łączny przychód % moje kieszonkowe disp('moje kieszonkowe = '), disp(moje), % display % Uwagi: 1) Brak jest specjalnych słów początku i końca programu. Program jest zbiorem linii zapisanych w osobnym zbiorze na dysku o rozszerzeniu *.m 2) Brak deklaracji zmiennych. Wszystkie są typu double. 3) % stanowi znak początku komentarza (za nim do końca linii). 4) Znak ; informuje, żeby nie wyświetlać wyniku operacji. 5) Znak... na końcu linii informuje, że następna linia jest kontynuacją bieżącej. 6) Instrukcja disp() służy do wyświetlania tekstu lub wartości zmiennej. Zbiór dyskowy: prog2.m % % Program prog2: budżet rodziny osoby = 3; % liczba osób kasa = input('ile do podziału? '); % komunikat, czytaj z klawiatury moje = kasa/osoby, % oblicz, pokaż wynik gdyż brak ; % Uwagi: 1) W instrukcji input po wyświetleniu na ekranie tekstu ile do podziału? jest wczytywana liczba z klawiatury, której wartość jest podstawiana do zmiennej kasa.

7 Z języka C do Matlaba (2) Zbiór dyskowy: prog3.m % osoby = 3; kasa = input('ile do podziału? '); moje = wzor3( kasa, osoby ), % wywołanie funkcji wzor3() % Zbiór dyskowy: wzor3.m % function kieszen = wzor3( forsa, osoby ) % Moja funkcja, licząca kieszonkowe % Wejście: forsa - budzet rodzinny % Wyjście: kieszen - moje kieszonkowe kieszen = forsa/osoby; % wyjście = funkcja wejścia % Uwagi: 1) Każda funkcja jest osobnym plikiem na dysku. Od programu różni się tym, że rozpoczyna ją słowo function. 2) Przykładowa budowa: function [ x, y, z ] = zróbcoś( a, b, c) % komentarz co funkcja robi, wyświetlany podczas help zróbcoś x = a + b; % wyraź parametry wyjściowe {x, y, z} y = a - b; % poprzez parametry wejściowe {a, b, c} z = c; % czyli {x, y, z } = funkcja( a, b, c)

8 Z języka C do Matlaba (3) Zbiór dyskowy: prog4.m % clear all; % wyzeruj wszystkie zmienne global osoby; % deklaracja zmiennej globalnej, % dostępnej także w funkcjach osoby = 3; % ustaw liczbę osób kasa = input(' ile do podziału? '); % wczytaj wartość budżetu moje = wzor4( kasa ), % oblicz moje kieszonkowe % Zbiór dyskowy: wzor4.m % function kieszen = wzor4( forsa ) global osoby kieszen = forsa/osoby; % Uwagi: 1) Aby wartość zmiennej była dostępna w także w funkcji, zmienna ta musi być zadeklarowana jako global (w programie i w funkcji)

9 Z języka C do Matlaba (4) Zbiór dyskowy: prog5.m % clear all; % wyzeruj wszystkie zmienne global osoby; % deklaracja zmiennej globalnej osoby = 3; % ustaw liczbę osób kasa = input('ile do podziału? '); % wczytaj wartość budżetu [tata, mama, ja] = wzor5( kasa ), % kilka zwracanych wartości % Zbiór dyskowy: wzor5.m % function [osoba1, osoba2, osoba3] = wzor5( forsa ) % Moja funkcja, licząca kieszonkowe % Wejście: forsa - budżet rodzinny % Wyjście: osoba1, osoba2, osoba3 - kieszonkowe trzech osób global osoby srednia = forsa/osoby; osoba1 = 1.25 * srednia; osoba2 = 1.00 * srednia; osoba3 = 0.75 * srednia; % Uwagi: 1) W tym przypadku obliczamy w funkcji kieszonkowe dla wszystkich członków rodziny, które zwracamy do programu głównego.

10 Z języka C do Matlaba (5) Zbiór dyskowy: prog6.m % clear all; % wyzeruj wszystkie zmienne global osoby; % zadeklaruj zmienną globalną osoby imiona = [ 'tata'; 'mama'; 'ja ' ]; osoby = 3; kasa = input('ile do podziału? '); rodzina = wzor6( kasa ), % imiona członków rodziny % liczb osób % wczytaj budżet, wstaw do kasy % funkcja teraz zwraca tablicę disp('tata = '); disp( rodzina(1) ); % kieszonkowe taty disp('mama = '); disp( rodzina(2) ); % kieszonkowe mamy disp('ja = '); disp( rodzina(3) ); % kieszonkowe moje for i = 1 : osoby % pętla for-end: wyświetlanie % if( i == 2) break; end % break to wyjście z pętli for disp( ['osoba nr ' num2str(i) ',czyli ' imiona(i,:) ' = ' num2str(rodzina(i))]); end if( rodzina(2) > rodzina(3) ) % warunek logiczny if-else-end disp('mama ma więcej niż ja!'); else disp('mam co najmniej tyle co mama'); end while( rodzina(1) > rodzina(2) ) % pętla while-end; break ją kończy disp('tata ma więcej od mamy'); break; end plot( 1:osoby, rodzina, 'b*--'); % rysunek (x, y) xlabel( 'nr czlonka rodziny' ); % opis osi x ylabel( 'kieszonkowe [PLN]' ); % opis osi y title( 'BUDŻET RODZINNY' ); % tytuł % pauza %

11 Z języka C do Matlaba (6) Zbiór dyskowy: wzor6.m % function czlonkowie = wzor6( forsa ) % Moja funkcja, licząca kieszonkowe % Wejście: forsa - budżet rodzinny % Wyjście: czlonkowie[] - kieszonkowe członków rodziny global osoby srednia = forsa/osoby; czlonkowie( 1 ) = 1.25 * srednia; czlonkowie( 2 ) = 1.00 * srednia; czlonkowie( 3 ) = 0.75 * srednia; % Zbiór dyskowy: prog7.m % load rodzina.dat % wczytaj ze zbioru rodzina.dat dwie liczby kasa = rodzina(1); % podstaw pierwszą z nich do zmiennej kasa osoby = rodzina(2); % a drugą - do zmiennej osoby moje = kasa/osoby, % oblicz moje kieszonkowe save kieszonkowe.dat moje /ascii % zapisz je do zbioru % kieszonkowe.dat % Zbiór dyskowy: rodzina.dat % % Zbiór dyskowy: kieszonkowe.dat % e+002 %

12 » Cw_0_demo <ENTER> Macierze w Matlabie (1) A = [ 1 2 3; 4 5 6; ] % definicja macierzy A 3 x3 % wydruk, gdyż brak na końcu A = % średnika B = A' % 1) transpozycja i sprzężenie zespolone % elementów macierzy B = % 2) dla macierzy o elementach rzeczywistych % tylko sprzężenie % 3) jeśli. to tylko transpozycja C = A + B % suma dwóch macierzy C = % 10 = C = A * B % mnożenie dwóch macierzy C = % 14 = 1*1 + 2*2 + 3* % 32 = 4*1 + 5*2 + 6* % 23 = 7*1 + 8*2 + 0*3 inv(a) ans = % macierz odwrotna det(a) % wyznacznik macierzy ans = 27 rank(a) % rząd macierzy ans = 3 cond(a) % uwarunkowanie macierzy ans = % (max sv) / (min sv )

13 Macierze w Matlabie (2) eig(a) % wartości własne ans = [v,d] = eig(a) v = % wektory i wartości własne d = svd(a) ans = % wartości osobliwe expm(a) % eksponenta macierzy ans = 1.0e+004 * p = poly(a) % wielomian charakterystyczny p = roots(p) ans = % pierwiastki tego wielomianu % czyli wartości własne macierzy A

14 Wektory w Matlabie x = [ ] % definicja wektora poziomego x = % y = [ 4; 5; 6 ] % definicja wektora pionowego y = 4 % 5 % 6 % x * y % iloczyn skalarny ans = 32 % 1*4 + 2*5 + 3*6 y * x % iloczyn wektorowy ans = % 4 * [ ] % 5 * [ ] % 6 * [ ] x.* y' % iloczyn odpowiadających sobie ans = % elementów: [ 1*4, 2*5, 3*6 ] x + y' % suma odpowiadających sobie ans = % elementów: [ 1+4, 2+5, 3+6 ]

15 Laboratorium w Matlabie (1) % W wyniku pomiaru otrzymano następujące liczby : % ( x = numer pomiaru, y = wartość ) x = [ ]; y = [ ]; % W celu lepszej obserwacji przedstawiamy je na rysunku : plot( x, y, b* ) ; % wykres y = funkcja(x), niebieskie * title( 'DANE POMIAROWE' ); % tytuł xlabel( 'numer probki' ); % podpis pod osią x xlabel( 'wartosc' ); % podpis pod osią y grid; % siatka 1.15 DANE POMIAROWE wartosc numer probki clf % naciśnij jakiś klawisz % wyzeruj rysunek

16 Laboratorium w Matlabie (2) % Interesuje nas wartość średnia tych liczb % oraz ich rozrzut wokół wyliczonej wartości średniej : srednia = mean( y ) % srednia = sum( y ) / length( y ) % srednia = % ponieważ brak średnika % powyżej, % jest wyświetlany wynik rozrzut = std( y ) % rozrzut =... %... sqrt( sum( ( y - srednia ).^2 ) / length( y ) ) rozrzut = % ponieważ brak jest średnika % powyżej, % to jest wyświetlany wynik % Dodatkowo chcielibyśmy wyznaczyć współczynniki a i b linii prostej % y = a * x + b % najlepiej aproksymującej otrzymane dane (prosta regresji liniowej). xm = mean( x ); ym = mean( y ); xr = x - xm; yr = y - ym; % średnia wartość wektora x % średnia wartość wektora y % wektor x - średnia x (od każdego elementu) % wektor y - średnia y (od każdego elementu) a = (xr * yr') / (xr * xr') % obliczenie wsp a prostej, to samo % inaczej: a = sum( xr.* yr ) / sum( xr.* xr ) a = b = ym - a * xm b = % N ( ) ( ) n= 1, x n= 1 N n= 1 x( n) x * y( n) y x( n) a = = ( xn ( ) x) *( xn ( ) x) % obliczenie wsp b prostej N N

17 Laboratorium w Matlabie (3) % Teraz porównamy punkty eksperymentalne z linią regresji liniowej plot( x, y, 'bx', x, a*x+b, 'k-' ) title( 'DANE POMIAROWE' ) xlabel( 'numer próbki' ) ylabel( 'wartość' ) grid % niebieskie krzyżyki, linia czarna % tytuł % podpis pod osią x % podpis pod osią y % siatka 1.15 DANE POMIAROWE I PROSTA REGRESJI LINIOWEJ wartosc numer probki clf echo off % naciśnij cokolwiek % wyzeruj rysunek % nie wyświetlaj komend na monitorze

18 MATLAB - skrót 1) - przewijanie ostatnich linii w linii komend >>... 2) % - znak komentarza, za nim do końca linii 3)... - znak kontynuacji w następnej linii 4) brak ; na końcu instrukcji oznacza polecenia wyświetlenia wyniku operacji 5) help instrukcja - funkcja pomocy help: jak się używa instrukcji? 6)! - znak wywołania programu zewnętrznego wewnątrz Matlaba!edit prog.m - uruchomienie zewnętrznego edytora i wczytanie prog.m 7) zerowanie: clear all - zawartości wszystkich zmiennych (np. na początku prog) clc - okna komend clf - okien graficznych z rysunkami 8) format - dokładność wydruku wyniku obliczeń format short short e *E+000 long long e * E+000 9) Stałe predefiniowane - pi = , eps = 2.22*10^(-16) (dokładność) i, j = sqrt(-1) 10) Inicjalizacja: liczby rzeczywiste: n = 1; m = 10; a = ; b = 1.2*10^(-6); liczby zespolone: z = 3 + 4*i; z = 3 + 4*j; (dla macierzy: Z = A + B*i lub Z = A + B*i) wektory poziome: x = [ ]; y = 0. : 0.1 : 0.4; otrzymujemy: od krok do 0., 0.1, 0.2, 0.3, 0.4 z = rand(1, 5); wektor 1x5 wartości losowych z = sin( 0 : pi/2 : 2*pi ); 0, 1, 0, -1, 0 z = sin( x ); z = x(1 : 2); wektor 1x3 wartości sin dla x % podwektor, pobranie wybranych elementów od-do otrzymujemy: [ ] wektory pionowe: y = [ 1.2; 3.4; 5.6 ]; otrzymujemy: y = [ znak nowego wiersza 5.6 ] macierze: A = [ 1 2 3; 4 5 6; ]; otrzymujemy: A = [ ]

19 B = rand(5,5); % macierz liczb losowych o wymiarach 5 x 5 C = eye(10); % macierz diagonalna o wymiarach 10 x 10 D = A(1 : 2, 2 : 3); % podmacierz A, otrzymujemy [ 2 3; 5 6] B = A ; % transpozycja, sprzężenie elementów 11) whos - lista zmiennych w pamięci, ich wymiary 12) Operatory arytmetyczne są domyślnie wektorowo-macierzowe. Jeśli chcemy działać na elementach wektorów/macierzy, to operator poprzedzamy kropką, np..* +, -, *, \ (lewe dzielenie), / (prawe), ^(potęga), liczby: c = a op b, gdzie op = +, -, *, /, ^ wektory: z = x op y, gdzie op = +, -, *, /,.*,./ macierze: C = A op B, gdzie op = +, -, *, /, \,.*,./ X = A\B takie, że A*X=B X = A/B takie, że X*B=A; np. x = [ ]; y = [ ]; x + y = [ ] y - x = [ ] x * y = 1*4 + 2*5 + 3*6 = 32 x * y = [ ] x.* y = [ ] x.\ y = [ ] x.^ y = [ ] x./ y = [ ] x.^2 = [ ] x / y = ) Operatory logiczne: <, <=, >, >=, ==, ~=, & (AND), (OR, ~ (NOT) np. if( (a > b) & ( c ~= d) ) i = 0; x=y; while( i <= 10 ) end i = i+1; end 14) Zapisywanie zmiennych na dysk i ich odczytywanie (save, load): save temp X Y Z; % X, Y, Z temp.mat (zbiór binarny Matlaba) load temp % inicjalizacja X, Y, Z xy = [x y ]; save temp.dat xy /ascii load temp.dat x = temp(:,1); y = temp(:,2); % złóż wektory w macierz dwu-kolumnową % zapisz zmienną xy do zbioru ASCII temp.dat % wczytaj dane ze zbioru temp.dat % x = pierwsza kolumna macierzy temp % y = druga kolumna macierzy temp

20 15) Przykłady funkcji matematycznych (użyj help funkcja, aby szczegóły): sqrt(), log2(), log10(), log()=ln(), exp(), sin(), cos(), tan(), atan(), atan2() - jeśli na macierzach, to na ich elementach mean(), std(), min(), max(), median(), sort(), prod(), cumsum(), cumprod() - jeśli na macierzach, to w kolumnach expm(a), logm(a), sqrtm(a) - na całych macierzach poly(a), det(a), trace(a), kron(a), eig(a), svd(a) diff(), hist(), corrcoef(), cov(), cplxpair() abs(), angle(), conv(), deconv(), xcorr(), fft(), ifft(), fftshift(), spectrum(), psd(), filter() 16) Przykłady funkcji graficznych (użyj help funkcja, aby szczegóły): 2D: plot(x,y), loglog(x,y), semilog(x,y), polar(x,y), stem(x,y), bar(x,y), stairs(x,y) kolory: r, g, b, k, w, i (red, green, blue, black, white, invisible) linie: - / -- / -. / : (ciągła, przerywana, kreska-kropka, kropkowana) symbole: +, *, x, o np. plot(x1, y1, ro, x2, y2, b--, x3, y3, k: 3D: mesh(a), meshc(a), meshz(a), contour(a), surf(a), surfl(a), waterfall(a), image(a), imagesc(a) ogólne: title(), xlabel(), ylabel(), text(), axis(),subplot(), hold, grid; 17) Instrukcje sterujące (pozostałe to:, break, error, return): for-end for m = 1 : M for n = 1 : N A(m, n) = 1 / (m+n-1); end end while-end if-elseif-else-end n=1; while( prod(n) < 1*E+100) n=n+1; end if( x==1 ) a=b; elseif( y<5 ) c=d; else e=f; end 18) Funkcje program.m a1 = 10; a2 = 20; a3 = 30; [ b1, b2, b3 ] = funkcja( a1, a2, a3); funkcja.m function [x, y, z] = funkcja( a, b, c) % co robi ta funkcja? x = a + b; y = b - c; z = b * c;

21 DODATKOWE PRZYKŁADY W JĘZYKU MATLAB

22 % PRZYKLAD 1 % Inicjalizacja danych, zapis i odczyt z dysku, rysunek % Zapisywanie danych na dysk i ich odczytywanie z dysku x = [ ]; % pierwszy wektor y = [ ]; % drugi wektor x = x'; y = y'; % odwrócenie obu wektorów do pionu plot(x, y, 'b' ) title('y=f(x)') xy = [ x y ]; save wy.dat xy /ascii load wy.dat x1 = wy(:,1); y1 = wy(:,2); plot( x, y, 'b', x1, y1, 'r') title('y=f(x) oraz y1=f(x1)') % rysunek y=f(x), niebieska linia % tytuł % czekaj % złożenie dwóch kolumn w macierz xy % czekaj % zapis xy na dysk do zbioru wy.dat % przeczytaj zbiór z dysku % podstaw pierwsza kolumnę do x1 % podstaw druga kolumnę do y1 % rysunek y=f(x) i y1=f(x1) - porównanie % tytuł % czekaj

23 % PRZYKLAD 2 - przyklady grafiki dwuwymiarowej % pojedynczy rysunek - pojedyncza krzywa ================= subplot(111); % jeden wiersz, jedna kolumna, jeden rysunek x = 1 : 0.1 : 25 ; % definicja zmiennej x: od 1 co 0.1 do 25 y = *sin(x); % oblicz y dla każdego x plot( x, y, 'k' ) % narysuj wykres y=f(x), linia czarna title('sinusoida') % tytuł xlabel('argument x') % opis osi x ylabel('wartość y') % opis osi y grid % siatka % czekaj na naciśnięcie klawisza % pojedynczy rysunek z kilkoma krzywymi ================== plot( x, y, 'r-', x, 2*y, 'b-' ) % pierwsza RED, druga BLUE; obie ciągłe title('dwie SINUSOIDY') % tytuł % 4 rysunki z pojedynczą krzywą % leżące na szachownicy: dwa wiersze, dwie kolumny (22) % numer rysunków: 1, 2, 3, 4 (kolejno, wierszami) subplot(221), plot(x,y,'b--') title('skala linia, kreska-kreska') subplot(222), plot(x,y,'r-.') title('skala linia, kreska-kropka') subplot(223), loglog(x,y) title('skala log x/y') subplot(224), semilogx(x,y) title('skala log x ') clf % RYS - LEWY GÓRNY % linia niebieska kreska-kreska % RYS - PRAWY GÓRNY % linia czerwona kreska-kropka % RYS - LEWY DOLNY % skala logarytmiczna x i y % RYS - PRAWY DOLNY % skala logarytmiczna osi x % czekaj % wyzeruj ekran graficzny

24 % PRZYKLAD 3 - prosta grafika trójwymiarowa subplot(111); % jeden wiersz, jedna kolumna, jeden rysunek % definicja X i Y [ X, Y ] = meshdom( -2 : 0.05 : 2, -2 : 0.05 : 2 ); % def Z = f( X, Y ) Z = sin( 5*(X.^2 +Y.^2) ).* exp( -0.5*X.^2-0.5*Y.^2 ); mesh( Z ) % jeden rysunek 3D title('mapa 3D') % % czekaj contour( Z ) % jeden rysunek POZIOMICE title('poziomice 3D') % % czekaj subplot(211); mesh( Z ); title('rys A'); % kilka RYS na raz subplot(212); contour( Z ); title('rys B'); % subplot(111), meshc( Z ), title('funkcja MESHC'), meshz( Z ), title('funkcja MESHZ'), surf( Z ), title('funkcja SURF'), surfl( Z ), title('funkcja SURFL'), waterfall( Z ), title('funkcja WATERFALL'), imagesc( Z ), colormap('gray'), colorbar, title('funkcja IMAGE (GRAY)'), imagesc( Z ), colormap('autumn'), colorbar, title('funkcja IMAGE (AUTUMN)'),

25 % Przykład 4 - rozwiązanie równania algebraicznego: A * x = b A = [ ; ; ] % zdefiniuj macierz A x = [ ] % zdefiniuj wektor x b = A * x' clc x = inv(a) * b x = A \ b % OBLICZ b (x: wiersz --> kolumna) % czekaj % wyczyść ekran % ODTWÓRZ x - na podstawie A i b % za pomocą macierzy odwrotnej % oraz poprzez dzielenie macierzowe % czekaj

26 % PRZYKLAD 5 - rozkład sygnału na sumę sinusoid clear all, clf; % wyzeruj pamięć i ekran graficzny % Podaj parametry sygnału ============================== N = 256; % długość sygnału fs1 = 250; % częstotliwość składowej 1 w Hz fs2 = 500; % częstotliwość składowej 2 w Hz fp = 8000; % częstotliwość próbkowania w Hz dt = 1/fp; % odległość między próbkami w sekundach % Wygeneruj i narysuj analizowane sygnały ================= t = 0 : dt : (N-1)*dt; % definicja zmiennej czasu t y1 = 0.4*sin(2*pi*fs1*t + pi/2); % oblicz składową 1, y1 dla każdego t y2 = 0.2*sin(2*pi*fs2*t + pi/4); % oblicz składową 2, y2 dla każdego t y = y1 + y2; % suma składowych plot( t, y,'b') title('suma DWOCH SINUSOID') xlabel('czas') ylabel('sygnał') grid % narysuj wykres y=f(t) % tytuł % opis osi x % opis osi y % siatka % czekaj na klawisz % Rozłóż sygnał na składowe sinusoidalne, transformata Fouriera Y = fft( y, N ); % widmo sygnału, transformata Fouriera % SKALOWANIE WYNIKU Y = 2*abs( Y )/N; % wartość bezwzględna liczby zespolonej Y = Y( 1 : N/2 +1 ); % ważna tylko polowa, reszta symetryczna df = 1/(N*dt); % co ile herców prążek widma f = 0 : df : N/2*df; % częstotliwości prążków widma % POKAŻ WYNIK plot( f, Y ); % rysunek widma title('rozkład sygnału na sumę sinusoid') % podpis xlabel('częstotliwość w [Hz]') % opis osi x ylabel('amplituda') % opis osi y % czekaj % Zsyntezuj sygnał ze składowych sinusoidalnych ys = real( ifft( Y ) ); ys=ys ; % odwrotna transformacja Fouriera plot( t, y, 'r', t, ys, 'b' ); % porównaj oryginał i kopię

27 % PRZYKLAD 6 - znajdowanie miejsca zerowego funkcji %!!! danej wzorem!!! % Funkcja FZERO służy do znajdowania miejsca zerowego funkcji % % Załóżmy, że interesuje nas funkcja fun_zero(x), zdefiniowana % w zbiorze fun_zero.m na dysku x = 0 :.02 : 2; y = fun_zero(x); % zmienność argumentu % zmienność funkcji plot( x, y, 'b' ) % rysunek title( 'Funkcja y=f(x) - zauważ zero w pobliżu x = 1.2' ), grid % tytuł % czekaj % Aby znaleźć zero funkcji w otoczeniu x = 1.2, wołamy FZERO xokolica = 1.2; xtoler = eps; % x, w pobliżu którego szukamy zera % wymagana tolerancja rozwiązania z = fzero( 'fun_zero', xokolica, xtoler); % wyznaczmy argument zera x = 0.8 :.01 : 1.6; y = fun_zero(x); plot( x, y, z, fun_zero(z), 'ro') title( 'Zero funkcji fun_zero(x)' ) grid, z fun_zero(z) % x w otoczeniu zera % y w otoczeniu zera % rysujemy funkcje i obliczone zero % tytuł % siatka, czekanie % wypisz argument zera % wypisz wartość zera % ###################################################### function y = fun_zero( x ) % funkcja, w której miejsc zerowych poszukujemy y = 1./ ((x-.3).^2 +.01) + 1./ ((x-.9).^2 +.04) - 6;

28 % PRZYKLAD 7 % wyznaczanie parametrów znanej funkcji % jak najlepsze dopasowanie do danych doświadczalnych global dane % zmienna globalna - widziana z innych *.m zbiorów dane =... % pary punktów (x,y) otrzymanych doświadczalnie [ % np. podczas laboratorium z fizyki % pierwsza kolumna to argument x % zaś druga, to wartość y % jest to zaszumiona funkcja postaci y = a*x^2 + b ]; x = dane(:,1); y = dane(:,2); plot(x,y,'ro') % pobranie wektora argumentów x % pobranie wektora wartości funkcji y % wykres y w funkcji x, czerwone "o" % Załóżmy, że zjawisko opisuje zależność: y = f(x;a,b) = a*x^2 + b % DWIE PARY PUNKTÓW (x1,y1) (x2,y2) wystarczą, aby obliczyć a,b % Ale ponieważ dane eksperymentalne są ZASZUMIONE, % przeprowadza się więcej pomiarów. % Następnie stara się znaleźć takie wartości a i b, aby błąd: % błąd = SQRT ( S U M A [ y - f(x; a,b) ]^2 / M ) % m=1...m % był jak najmniejszy, tzn. aby funkcja była "jak najlepiej" dopasowana params = [1 0]'; % startowe wartości a i b toler = 0.05; % wymagany błąd blad = fminsearch('fun_fi', params, toler); % procedura minimalizuj a = blad( 1 ) % wynikowe a b = blad( 2 ) % wynikowe b fy = a * x.^2 + b; % oblicz wartości funkcji f(x) % dla obliczonych a i b blad = std( fy-y ) % oblicz końcowy błąd

29 function blad = fun_fi( params ) global dane % Funkcja wykorzystywana przez przykład cw_7.m % Ma ona nastepujaca postac : y = a*x^2 + b % Wejście : parametry a i b % Wyjście : błąd dopasowania funkcji do danych eksperymentalnych a = params(1); b = params(2); x = dane(:,1); y = dane(:,2); fy = a * x.^2 + b; blad = std( fy-y ); % szukane parametry % dane z programu głównego % oblicz wartości funkcji f(x) % dla aktualnych parametrów a i b % błąd dopasowania % Pokaż postęp w dopasowaniu parametrów funkcji do danych plot( x, fy, 'b', x, y, 'ro'), grid xt = 0; yt = 3/4*max(y); text( xt, 1.2*yt, ['a = ' num2str( a ) ] ) text( xt, 1.1*yt, ['b = ' num2str( b ) ] ) text( xt, 1.0*yt, ['blad = ' num2str( blad ) ] )

30 % PRZYKLAD 8 - dopasowanie funkcji do danych % jak w przykładzie 7 tylko trudniej global dane % zmienna globalna - widziana z innych *.m zbiorów dane =... % pary punktów (x,y), otrzymane z dośw. [ % np. podczas laboratorium z fizyki % pierwsza kolumna argument x, np. czas % druga kolumna wartość y, np. napięcie ]; x = dane(:,1); y = dane(:,2); plot( x, y, 'ro' ) % pobranie wektora argumentów x % pobranie wektora wartości funkcji y % wykres y w funkcji x, czerwone "o" % pauza % Z teorii wynika, ze dane zjawisko opisuje teoretyczna zależność: % y = f( x ) = c(1) * exp(-lambda(1)*x) + c(2) * exp(-lambda(2)*x) % Powyższa funkcja ma dwa parametry liniowe: c(1) i c(2) % oraz dwa parametry nieliniowe: lambda(1) i lambda(2) % % Chcemy wyznaczyć takie wartości tych parametrów, aby funkcja % y=f(x) była najlepiej dopasowana do danych pomiarowych (x,y) lambda = [1 0]'; % startowe wartości lambda(1) i (2) toler = 0.1; % wymagany tolerancja błędu blad = fminsearch('fun_fit', lambda, toler); % procedura minimalizuj lambda = blad % wynikowe lambda(1) i (2) A = zeros( length(x), length(lambda) ); % obliczenia jak w fun_fit.m for j = 1 : size(lambda) % dla każdego x i lambda A(:,j) = exp( -lambda(j) * x ); % end % c = A \ y % fy = A * c; % blad = std(fy-y) %

31 function blad = fun_fit(lambda) global dane % Funkcja wykorzystywana przez cw_8.m % Ma ona następującą postać : % % y = c(1)*exp(-lambda(1)*x) c(n)*exp(-lambda(n)*x) % % oraz posiada n parametrów liniowych c(i) i nieliniowych lambda(i) % % Wejście : zestaw parametrów lambda % Wyjście : błąd aproksymacji danych eksperymentalnych przez % aktualny zestaw parametrów lambda % % Parametry c(i) są wyznaczane na podstawie lambda i danych dośw. x = dane(:,1); y = dane(:,2); % podstaw dane % w programie głównym A = zeros( length(x), length(lambda) ); % utwórz macierz A, wyzeruj ją % wierszy tyle ile danych, % kolumn tyle ile lambda for j = 1:size(lambda) % dla każdego x i lambda A(:,j) = exp( -lambda(j) *x ); % oblicz wartości macierzy A, end % takiej że y = A * c c = A \ y; fy = A * c; blad = std(fy-y); % oblicz wektor optymalnych parametrów c % minimalizujących błąd średniokwadratowy % oblicz wartości funkcji fy dla tego c % oblicz błąd dopasowania % jak wartości funkcji różnią się od danych dośw. % Pokaż postęp w dopasowaniu parametrów funkcji do danych plot( x, fy, 'w', x, y, 'wo' ), grid xt = max(x)/2; yt = max(y)/2; text(xt,1.0*yt,['blad = ' num2str( blad )])

32 % PRZYKLAD 10 - rozw. numeryczne równania różniczkowego % Funkcje ODE23, ODE45 służą do numerycznego rozwiązywania zwyczajnych % równań różniczkowych. Metoda rozwiązania Rungego-Kutty-Fehlberga, % w której krok całkowania numerycznego jest zmieniany automatycznie % ODE23 wykorzystuje zależności 2 i 3 rzędu - średnia dokładność, % ODE45 wykorzystuje zależności 4 i 5 rzędu - duża dokładność. % Załóżmy, że interesuje nas rozwiązanie równania różniczkowego % van der Pola drugiego rzędu postaci : % y'' + (y^2-1)*y' + y = 0 % gdzie ' oznacza operator różniczkowania. % Po przedstawieniu w postaci: % y'' = -(y^2-1)*y' - y % równanie to można zastąpić układem dwóch równań rzędu pierwszego % y1' = -(y2^2-1)*y1 - y2 % y2' = y1 % gdzie y1 i y2 nazywane są tzw. zmiennymi stanu % % Aby zasymulować układ dynamiczny opisany równaniem różniczkowym, % tworzy się *.m funkcję, która: % otrzymuje wartości czasu i zmiennych stanu, % zaś zwraca pochodne wartości zmiennych stanu. % % Załóżmy, że nasza funkcja nazywa się fun_diff.m % % Aby zasymulować równanie różniczkowe Van Der Pola w przedziale % czasu 0 < t < 20, wywołujemy funkcję MATLABA ODE23: t0 = 0; % czas początkowy obserwacji tfinal = 20; % czas końcowy obserwacji y0 = [ ]'; % wartości początkowe zmiennych stanu tol = 1.e-3; % dokładność rozwiązania trace = 1; % śledzenie [t,y] = ode23( 'fun_diff', t0, tfinal, y0, tol, trace ); % [t,y] = ode45( 'fun_diff', t0, tfinal, y0, tol, trace ); plot(t,y), title('historia czasowa równania van der Pola'), grid, % funkcja pomocnicza ##################################### function yprime = fun_diff(t,y); % zwraca pochodne zmiennych stanu y1 i y2 równania Van der Pola yprime = [ ( (y(2).^2-1).*y(1) - y(2) ); y(1) ];

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY Poszukiwanie znaczeń funkcji i skryptów funkcja help >> help % wypisuje linki do wszystkich plików pomocy >> help plot % wypisuje pomoc dotyczą funkcji plot Znaczenie

Bardziej szczegółowo

Wprowadzenie do środowiska

Wprowadzenie do środowiska Wprowadzenie do środowiska www.mathworks.com Piotr Wróbel piotr.wrobel@igf.fuw.edu.pl Pok. B 4.22 Metody numeryczne w optyce 2017 Czym jest Matlab Matlab (matrix laboratory) środowisko obliczeniowe oraz

Bardziej szczegółowo

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

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA PRZEDMIOT : : LABORATORIUM PODSTAW AUTOMATYKI 1. WSTĘP DO

Bardziej szczegółowo

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab Podstawy Automatyki ćwiczenia Cz.1 Środowisko Matlab Podstawową jednostką obliczeniową w programie Matlab jest macierz. Wektory i skalary mogą być tutaj rozpatrywane jako specjalne typy macierzy. Elementy

Bardziej szczegółowo

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

Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych Wszystko proszę zapisywać komendą diary do pliku o nazwie: imie_ nazwisko 1. Definiowanie macierzy i odwoływanie się do elementów:

Bardziej szczegółowo

Podstawy MATLABA, cd.

Podstawy MATLABA, cd. Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Przetwarzanie Sygnałów Studia Podyplomowe, Automatyka i Robotyka Podstawy MATLABA, cd. 1. Wielomiany 1.1. Definiowanie

Bardziej szczegółowo

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

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab 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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II. Podstawy MATLABA, cz2. Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II Podstawy MATLABA, cz2. 1. Wielomiany

Bardziej szczegółowo

do MATLABa programowanie WYKŁAD Piotr Ciskowski

do MATLABa programowanie WYKŁAD Piotr Ciskowski Wprowadzenie do MATLABa programowanie WYKŁAD Piotr Ciskowski instrukcje sterujące instrukcja warunkowa: if instrukcja wyboru: switch instrukcje iteracyjne: for, while instrukcje przerwania: continue, break,

Bardziej szczegółowo

Metody i analiza danych

Metody i analiza danych 2015/2016 Metody i analiza danych Macierze Laboratorium komputerowe 2 Anna Kiełbus Zakres tematyczny 1. Funkcje wspomagające konstruowanie macierzy 2. Dostęp do elementów macierzy. 3. Działania na macierzach

Bardziej szczegółowo

MATLAB - laboratorium nr 1 wektory i macierze

MATLAB - laboratorium nr 1 wektory i macierze MATLAB - laboratorium nr 1 wektory i macierze 1. a. Małe i wielkie litery nie są równoważne (MATLAB rozróżnia wielkość liter). b. Wpisanie nazwy zmiennej spowoduje wyświetlenie jej aktualnej wartości na

Bardziej szczegółowo

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

Metody Numeryczne. Laboratorium 1. Wstęp do programu Matlab Metody Numeryczne Laboratorium 1 Wstęp do programu Matlab 1. Wiadomości wstępne liczby, format Program Matlab używa konwencjonalną notację dziesiętną, z kropka dziesiętną. W przypadku notacji naukowej

Bardziej szczegółowo

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

Laboratorium Algorytmy Obliczeniowe. Lab. 9 Prezentacja wyników w Matlabie Laboratorium Algorytmy Obliczeniowe Lab. 9 Prezentacja wyników w Matlabie 1. Wyświetlanie wyników na ekranie: W Matlabie możliwe są następujące sposoby wyświetlania wartości zmiennych: a. wpisując w programie

Bardziej szczegółowo

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

Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi . Cele ćwiczenia Laboratorium nr Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi zapoznanie się z metodami symbolicznego i numerycznego rozwiązywania równań różniczkowych w Matlabie,

Bardziej szczegółowo

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

GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej. 1 GNU Octave GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej. Octave zapewnia: sporą bibliotęke użytecznych funkcji i algorytmów; możliwośc tworzenia przeróżnych wykresów; możliwość

Bardziej szczegółowo

Matlab Składnia + podstawy programowania

Matlab Składnia + podstawy programowania Matlab Składnia + podstawy programowania Matlab Matrix Laboratory środowisko stworzone z myślą o osobach rozwiązujących problemy matematyczne, w których operuje się na danych stanowiących wielowymiarowe

Bardziej szczegółowo

Elementy metod numerycznych - zajęcia 9

Elementy metod numerycznych - zajęcia 9 Poniższy dokument zawiera informacje na temat zadań rozwiązanych w trakcie laboratoriów. Elementy metod numerycznych - zajęcia 9 Tematyka - Scilab 1. Labolatoria Zajęcia za 34 punktów. Proszę wysłać krótkie

Bardziej szczegółowo

Matlab MATrix LABoratory Mathworks Inc.

Matlab MATrix LABoratory Mathworks Inc. Małgorzata Jakubowska Matlab MATrix LABoratory Mathworks Inc. MATLAB pakiet oprogramowania matematycznego firmy MathWorks Inc. (www.mathworks.com) rozwijany od roku 1984 język programowania i środowisko

Bardziej szczegółowo

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

1) Podstawowe obliczenia. PODSTAWY AUTOMATYKI I ROBOTYKI Laboratorium. Wykonał: Łukasz Konopacki Sala 125. Grupa: poniedziałek/p, PODSTAWY AUTOMATYKI I ROBOTYKI Laboratorium Wykonał: Sala 125 Łukasz Konopacki 155796 Grupa: poniedziałek/p, 16.10 18.10 Prowadzący: Dr.inż.Ewa Szlachcic Termin oddania sprawozdania: Ocena: Matlab - firmy

Bardziej szczegółowo

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

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach. WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI Katedra Inżynierii Systemów Sterowania PODSTAWY AUTOMATYKI MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Bardziej szczegółowo

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

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Przetwarzanie Sygnałów Studia Podyplomowe, Automatyka i Robotyka Podstawy MATLABA MATLAB jest zintegrowanym środowiskiem

Bardziej szczegółowo

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ł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: Informatyka I Przypomnienie wiadomości z poprzednich zajęć: Kolokwium!!! II Nowe wiadomości: 1 Funkcje trójwymiarowe Wykresy trójwymiarowe tworzone są na podstawie funkcji dwóch zmiennych Wejściem takich

Bardziej szczegółowo

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR

Bardziej szczegółowo

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad Elementy projektowania inzynierskiego Definicja zmiennych skalarnych a : [S] - SPACE a [T] - TAB - CTRL b - SHIFT h h. : / Wyświetlenie wartości zmiennych a a = b h. h. = Przykładowe wyrażenia

Bardziej szczegółowo

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

PRZYKŁADOWE SKRYPTY (PROGRAMY W MATLABIE Z ROZSZERZENIEM.m): 1) OBLICZANIE WYRAŻEŃ 1: PRZYKŁADOWE SKRYPTY (PROGRAMY W MATLABIE Z ROZSZERZENIEM.m): 1) OBLICZANIE WYRAŻEŃ 1: clear % usunięcie zmiennych z pamięci roboczej MATLABa % wyczyszczenie okna kom % nadanie wartości zmiennym x1 i x2

Bardziej szczegółowo

Obliczenia iteracyjne

Obliczenia iteracyjne Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej

Bardziej szczegółowo

Metody i analiza danych

Metody i analiza danych 2015/2016 Metody i analiza danych Funkcje, pętle i grafika Laboratorium komputerowe 3 Anna Kiełbus Zakres tematyczny 1. Funkcje i skrypty Pętle i instrukcje sterujące 2. Grafika dwuwymiarowa 3. Grafika

Bardziej szczegółowo

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

ANALIZA DANYCH I PROCESÓW. Mgr inż. Paweł Wojciech Herbin ANALIZA DANYCH I PROCESÓW Mgr inż. Paweł Wojciech Herbin SZCZECIN 29 LUTEGO 2016 Spis treści 1. Wprowadzenie... 4 2. MATLAB wprowadzenie do interfejsu... 5 3. Praca w trybie bezpośrednim... 6 3.1. Wprowadzanie

Bardziej szczegółowo

Metody numeryczne Laboratorium 2

Metody numeryczne Laboratorium 2 Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania

Bardziej szczegółowo

ELEMENTY AUTOMATYKI PRACA W PROGRAMIE SIMULINK 2013

ELEMENTY AUTOMATYKI PRACA W PROGRAMIE SIMULINK 2013 SIMULINK część pakietu numerycznego MATLAB (firmy MathWorks) służąca do przeprowadzania symulacji komputerowych. Atutem programu jest interfejs graficzny (budowanie układów na bazie logicznie połączonych

Bardziej szczegółowo

MATLAB tworzenie własnych funkcji

MATLAB tworzenie własnych funkcji MATLAB tworzenie własnych funkcji Definiowanie funkcji anonimowych Własne definicje funkcji możemy tworzyć bezpośrednio w Command Window, są to tzw. funkcje anonimowe; dla funkcji jednej zmiennej składnia

Bardziej szczegółowo

do MATLABa podstawowe operacje na macierzach WYKŁAD Piotr Ciskowski

do MATLABa podstawowe operacje na macierzach WYKŁAD Piotr Ciskowski Wprowadzenie do MATLABa podstawowe operacje na macierzach WYKŁAD Piotr Ciskowski M A T L A B : Computation Visualization Programming easy to use environment MATLAB = matrix laboratory podstawowa jednostka

Bardziej szczegółowo

Wprowadzenie do Mathcada 1

Wprowadzenie do Mathcada 1 Wprowadzenie do Mathcada Ćwiczenie. - Badanie zmienności funkcji kwadratowej Ćwiczenie. pokazuje krok po kroku tworzenie prostego dokumentu w Mathcadzie. Dokument ten składa się z następujących elementów:.

Bardziej szczegółowo

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

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest

Bardziej szczegółowo

Wprowadzenie do Scilab: macierze

Wprowadzenie do Scilab: macierze Wprowadzenie do Scilab: macierze Narzędzia Informatyki Magdalena Deckert Izabela Szczęch Barbara Wołyńska Bartłomiej Prędki Politechnika Poznańska Instytut Informatyki Agenda Definiowanie macierzy Funkcje

Bardziej szczegółowo

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

MATLAB wprowadzenie śycie jest zbyt krótkie, aby tracić czas na pisanie pętli! Modele układów dynamicznych - laboratorium MATLAB wprowadzenie śycie jest zbyt krótkie, aby tracić czas na pisanie pętli! 1 2 MATLAB MATLAB (ang. matrix laboratory) to pakiet przeznaczony do wykonywania

Bardziej szczegółowo

zajęcia 2 Definiowanie wektorów:

zajęcia 2 Definiowanie wektorów: zajęcia 2 Plan zajęć: definiowanie wektorów instrukcja warunkowa if wykresy Definiowanie wektorów: Co do definicji wektora: Koń jaki jest, każdy widzi Definiowanie wektora w Octave v1=[3,2,4] lub: v1=[3

Bardziej szczegółowo

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

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Teoria sterowania MATLAB funkcje zewnętrzne (m-pliki, funkcje) Materiały pomocnicze do ćwiczeń laboratoryjnych

Bardziej szczegółowo

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

Diary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku Diary przydatne polecenie diary nazwa_pliku Polecenie to powoduje, że od tego momentu sesja MATLAB-a, tj. polecenia i teksty wysyłane na ekran (nie dotyczy grafiki) będą zapisywane w pliku o podanej nazwie.

Bardziej szczegółowo

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3 PODSTAWY INFORMATYKI 1 MATLAB CZ. 3 TEMAT: Program Matlab: Instrukcje sterujące, grafika. Wyrażenia logiczne Wyrażenia logiczne służą do porównania wartości zmiennych o tych samych rozmiarach. W wyrażeniach

Bardziej szczegółowo

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

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje

Bardziej szczegółowo

1 Programowanie w matlabie - skrypty i funkcje

1 Programowanie w matlabie - skrypty i funkcje 1 Programowanie w matlabie - skrypty i funkcje 1.1 Skrypty Skrypt jest plikiem tekstowym z rozszerzeniem *.m zawierającym listę poleceń do wykonania. Aby utworzyć skrypt w matlabie wybierz File New Script,

Bardziej szczegółowo

Ćwiczenie 3: Wprowadzenie do programu Matlab

Ćwiczenie 3: Wprowadzenie do programu Matlab Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Laboratorium modelowania i symulacji Ćwiczenie 3: Wprowadzenie do programu Matlab 1. Wyznaczyć wartość sumy 1 1 2 + 1 3 1 4 + 1

Bardziej szczegółowo

Podstawowe operacje graficzne.

Podstawowe operacje graficzne. Podstawowe operacje graficzne. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z możliwościami graficznymi środowiska GNU octave, w tym celu: narzędziami graficznymi, sposobami konstruowania wykresów

Bardziej szczegółowo

Matlab Składnia + podstawy programowania

Matlab Składnia + podstawy programowania Matlab Składnia + podstawy programowania Matlab Matrix Laboratory środowisko stworzone z myślą o osobach rozwiązujących problemy matematyczne, w których operuje się na danych stanowiących wielowymiarowe

Bardziej szczegółowo

Wykorzystanie programów komputerowych do obliczeń matematycznych

Wykorzystanie programów komputerowych do obliczeń matematycznych Temat wykładu: Wykorzystanie programów komputerowych do obliczeń matematycznych Kody kolorów: żółty nowe pojęcie pomarańczowy uwaga kursywa komentarz * materiał nadobowiązkowy Przykłady: Programy wykorzystywane

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

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 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ć MatLab część III 1 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ć komentarze poprzedzone znakiem % Skrypty

Bardziej szczegółowo

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

Scilab - podstawy. Wersje instalacyjne programu Scilab mogą zostać pobrane ze strony 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

Bardziej szczegółowo

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

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego 1 SKRYPTY Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego z = 1 y + 1+ ( x + 2) 3 x 2 + x sin y y + 1 2 dla danych wartości x = 12.5 i y = 9.87. Zadanie to można rozwiązać: wpisując dane i wzór wyrażenia

Bardziej szczegółowo

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

WIMIM/MIBM/N1/-/B04 WIMIM/ME/S1/-/C46 WIMIM/IM/S1/-/B19 WIMIM/MIBM/N1/-/B04 WIMIM/ME/S1/-/C46 WIMIM/IM/S1/-/B19 Co mam zrobić, jeżeli obliczenia potrzebne są na wczoraj, trzeba jeszcze zrobić wykres, a do tego mam użyć Bardzo Skomplikowanego Czegoś wiedząc

Bardziej szczegółowo

Rozwiązywanie równań różniczkowych cząstkowych metodą elementów skończonych - wprowadzenie

Rozwiązywanie równań różniczkowych cząstkowych metodą elementów skończonych - wprowadzenie Rozwiązywanie równań różniczkowych cząstkowych metodą elementów skończonych - wprowadzenie Wprowadzenie Metoda Elementów Skończonych (MES) należy do numerycznych metod otrzymywania przybliżonych rozwiązań

Bardziej szczegółowo

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

Ćwiczenie 0 : Wprowadzenie do cyfrowego przetwarzania sygnałów. wyświetla listę tematów pomocy. wyświetla okno pomocy (Help / Product Help) Wybr ane za gadnienia elektr oniki współczesnej Ćwiczenie 0 : Wprowadzenie do cyfrowego przetwarzania sygnałów. 1 Cel ćwiczenia Pierwsze zajęcia laboratoryjne z zakresu przetwarzania sygnałów mają na celu

Bardziej szczegółowo

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p. Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 8 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Biblioteka GSL Na podstawie: https://www.gnu.org/software/gsl/doc/html/index.html

Bardziej szczegółowo

Podstawy Informatyki 1. Laboratorium 1

Podstawy Informatyki 1. Laboratorium 1 Podstawy Informatyki 1 Laboratorium 1 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z obsługą pakietu MATLAB. W ćwiczeniu wprowadzono opis podstawowych komend środowiska i funkcji matematycznych

Bardziej szczegółowo

Wprowadzenie do pakietów MATLAB/GNU Octave

Wprowadzenie do pakietów MATLAB/GNU Octave Wprowadzenie do pakietów MATLAB/GNU Octave Ireneusz Czajka wersja poprawiona z 2017 Chociaż dla ścisłości należałoby używać zapisu MATLAB/GNU Octave, w niniejszym opracowaniu używana jest nazwa Matlab,

Bardziej szczegółowo

CYFROWE PRZTWARZANIE SYGNAŁÓW (Zastosowanie transformacji Fouriera)

CYFROWE PRZTWARZANIE SYGNAŁÓW (Zastosowanie transformacji Fouriera) I. Wprowadzenie do ćwiczenia CYFROWE PRZTWARZANIE SYGNAŁÓW (Zastosowanie transformacji Fouriera) Ogólnie termin przetwarzanie sygnałów odnosi się do nauki analizowania zmiennych w czasie procesów fizycznych.

Bardziej szczegółowo

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

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7. Strona z WEKTORY I MACIERZE Wektory i macierze ogólnie nazywamy tablicami. Wprowadzamy je:. W sposób jawny: - z menu Insert Matrix, - skrót klawiszowy: {ctrl}+m, - odpowiedni przycisk z menu paska narzędziowego

Bardziej szczegółowo

dr inż. Damian Słota Gliwice r. Instytut Matematyki Politechnika Śląska

dr inż. Damian Słota Gliwice r. Instytut Matematyki Politechnika Śląska Program wykładów z metod numerycznych na semestrze V stacjonarnych studiów stopnia I Podstawowe pojęcia metod numerycznych: zadanie numeryczne, algorytm. Analiza błędów: błąd bezwzględny i względny, przenoszenie

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

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

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Przetwarzanie Sygnałów Studia Podyplomowe, Automatyka i Robotyka. Wstęp teoretyczny Zmienne losowe Zmienne losowe

Bardziej szczegółowo

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz

Bardziej szczegółowo

Różniczkowanie numeryczne

Różniczkowanie numeryczne Różniczkowanie numeryczne Przyjmijmy, że funkcja ciągła y = f(x) = 4sin(3x)e -x/2, gdzie x 0,2π, dana jest w postaci dyskretnej jako ciąg wartości y odpowiadających zmiennej niezależnej x, również danej

Bardziej szczegółowo

Laboratorium 3 Grafika 2D i 3D w Matlabie. Wprowadzenie do programowania

Laboratorium 3 Grafika 2D i 3D w Matlabie. Wprowadzenie do programowania Uniwersytet Zielonogórski Wydział Informatyki, Elektrotechniki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych Elektrotechnika niestacjonarne-zaoczne pierwszego stopnia z tyt. inżyniera

Bardziej szczegółowo

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn Metody numeryczne Wykład 3 Dr inż. Michał Łanczont Instytut Elektrotechniki i Elektrotechnologii E419, tel. 4293, m.lanczont@pollub.pl, http://m.lanczont.pollub.pl Zakres wykładu Pojęcia podstawowe Algebra

Bardziej szczegółowo

Pętle iteracyjne i decyzyjne

Pętle iteracyjne i decyzyjne Pętle iteracyjne i decyzyjne. Pętla iteracyjna for Pętlę iteracyjną for stosuje się do wykonywania wyrażeń lub ich grup określoną liczbę razy. Licznik pętli w pakiecie MatLab może być zwiększany bądź zmniejszany

Bardziej szczegółowo

Programowanie w języku Matlab

Programowanie w języku Matlab Programowanie w języku Matlab D. Caban, P. Skurowski Wykład. Składnia języka, podstawowe struktury i operacje Matlab Nazwa pochodzi od MATrix LAboratory Środowisko obliczeń numerycznych i symbolicznych

Bardziej szczegółowo

Podstawowe operacje na macierzach, operacje we/wy

Podstawowe operacje na macierzach, operacje we/wy 26 listopad 2012 Podstawowe operacje na macierzach, operacje we/wy Slajd 1 Podstawowe operacje na macierzach, operacje we/wy Zakład Komputerowego Wspomagania Projektowania Semestr 1. 26 listopad 2012 Podstawowe

Bardziej szczegółowo

Program na zaliczenie: Odejmowanie widm

Program na zaliczenie: Odejmowanie widm Piotr Chojnacki: MATLAB Program na zaliczenie: Odejmowanie widm {Poniższy program ma za zadanie odjęcie dwóch widm od siebie. Do poprawnego działania programu potrzebne są trzy funkcje: odejmowaniewidm.m

Bardziej szczegółowo

DYSKRETNA TRANSFORMACJA FOURIERA

DYSKRETNA TRANSFORMACJA FOURIERA Laboratorium Teorii Sygnałów - DFT 1 DYSKRETNA TRANSFORMACJA FOURIERA Cel ćwiczenia Celem ćwiczenia jest przeprowadzenie analizy widmowej sygnałów okresowych za pomocą szybkiego przekształcenie Fouriera

Bardziej szczegółowo

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

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3 Matlab, zajęcia 3. Pętle c.d. Przypomnijmy sobie jak działa pętla for Możemy podać normalnie w Matlabie t=cputime; for i=1:20 v(i)=i; e=cputime-t UWAGA: Taka operacja jest bardzo czasochłonna i nieoptymalna

Bardziej szczegółowo

przy warunkach początkowych: 0 = 0, 0 = 0

przy warunkach początkowych: 0 = 0, 0 = 0 MODELE MATEMATYCZNE UKŁADÓW DYNAMICZNYCH Podstawową formą opisu procesów zachodzących w członach lub układach automatyki jest równanie ruchu - równanie dynamiki. Opisuje ono zależność wielkości fizycznych,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wprowadzenie do Scilab: macierze

Wprowadzenie do Scilab: macierze Wprowadzenie do Scilab: macierze Narzędzia Informatyki Magdalena Deckert Izabela Szczęch Barbara Wołyńska Bartłomiej Prędki Politechnika Poznańska Instytut Informatyki Agenda Definiowanie macierzy Funkcje

Bardziej szczegółowo

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 7. Karol Tarnowski A-1 p.

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 7. Karol Tarnowski A-1 p. Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni Wykład 7 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Praca z repozytorium kodu Na podstawie: https://www.gnu.org/software/gsl/doc/html/index.html

Bardziej szczegółowo

Wstęp do Programowania Lista 1

Wstęp do Programowania Lista 1 Wstęp do Programowania Lista 1 1 Wprowadzenie do środowiska MATLAB Zad. 1 Zapoznaj się z podstawowymi oknami dostępnymi w środowisku MATLAB: Command Window, Current Folder, Workspace i Command History.

Bardziej szczegółowo

Obliczenia w programie MATLAB

Obliczenia w programie MATLAB Obliczenia w programie MATLAB Na zajęciach korzystamy z programu MATLAB, w którym wykonywać będziemy większość obliczeń. Po uruchomieniu programu w zależności od wersji i konfiguracji może pojawić się

Bardziej szczegółowo

WPROWADZENIE DO ŚRODOWISKA SCILAB

WPROWADZENIE DO ŚRODOWISKA SCILAB Politechnika Gdańska Wydział Elektrotechniki i Automatyki WPROWADZENIE DO ŚRODOWISKA SCILAB Materiały pomocnicze do ćwiczeń laboratoryjnych Opracowanie: Paweł Lieder Gdańsk, 007 Podstawy pracy z Scilab.

Bardziej szczegółowo

1 Powtórzenie wiadomości

1 Powtórzenie wiadomości 1 Powtórzenie wiadomości Zadanie 1 Napisać program, który w trybie dialogu z użytkownikiem przyjmie liczbę całkowitą, a następnie wyświetli informację czy jest to liczba parzysta czy nieparzysta oraz czy

Bardziej szczegółowo

lekcja 8a Gry komputerowe MasterMind

lekcja 8a Gry komputerowe MasterMind lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

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

//warunki początkowe m=500; T=30; c=0.4; t=linspace(0,t,m); y0=[-2.5;2.5]; 4.3. Przykłady wykorzystania funkcji bibliotecznych 73 MATLAB % definiowanie funkcji function [dx]=vderpol(t,y) global c; dx=[y(2); c*(1-y(1)^2)*y(2)-y(1)]; SCILAB // definiowanie układu function [f]=vderpol(t,y,c)

Bardziej szczegółowo

Wprowadzenie do programu Mathcad 15 cz. 1

Wprowadzenie do programu Mathcad 15 cz. 1 Wpisywanie tekstu Wprowadzenie do programu Mathcad 15 cz. 1 Domyślnie, Mathcad traktuje wpisywany tekst jako wyrażenia matematyczne. Do trybu tekstowego można przejść na dwa sposoby: Zaczynając wpisywanie

Bardziej szczegółowo

OBLICZANIE POCHODNYCH FUNKCJI.

OBLICZANIE POCHODNYCH FUNKCJI. OBLICZANIE POCHODNYCH FUNKCJI. ROZWIĄZYWANIE RÓWNAŃ RÓŻNICZKOWYCH. ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH. Obliczanie pochodnych funkcji. Niech będzie dana funkcja y(x określona i różniczkowalna na przedziale

Bardziej szczegółowo

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

Laboratorium 1. Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi Laboratorium 1 1. Cel ćwiczenia Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi Zapoznanie się z metodami symbolicznego i numerycznego rozwiązywania równań różniczkowych w Matlabie,

Bardziej szczegółowo

Podstawowe operacje na macierzach

Podstawowe operacje na macierzach Podstawowe operacje na macierzach w pakiecie GNU octave. (wspomaganie obliczeń inżynierskich) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z tworzeniem macierzy i wektorów w programie GNU octave.

Bardziej szczegółowo

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych. Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(), zwaną funkcją aproksymującą

Bardziej szczegółowo

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

Programowanie: grafika w SciLab Slajd 1. Programowanie: grafika w SciLab Programowanie: grafika w SciLab Slajd 1 Programowanie: grafika w SciLab Programowanie: grafika w SciLab Slajd 2 Plan zajęć 1. Wprowadzenie 2. Wykresy 2-D 3. Wykresy 3-D 4. Rysowanie figur geometrycznych

Bardziej szczegółowo

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

Przykład 1 -->s=hello World! s = Hello World! -->disp(s) Hello World! Scilab jest środowiskiem 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

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Grafika w Matlabie. Wykresy 2D

Grafika w Matlabie. Wykresy 2D Grafika w Matlabie Obiekty graficzne wyświetlane są w specjalnym oknie, które otwiera się poleceniem figure. Jednocześnie może być otwartych wiele okien, a każde z nich ma przypisany numer. Jedno z otwartych

Bardziej szczegółowo

Ćwiczenie 1. Wprowadzenie do programu Octave

Ćwiczenie 1. Wprowadzenie do programu Octave Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do

Bardziej szczegółowo

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

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH II rok Kierunek Logistyka Temat: Zajęcia wprowadzające. BHP stanowisk

Bardziej szczegółowo

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

ŚRODOWISKO MATLAB WPROWADZENIE. dr inż. Dariusz Borkowski. Podstawy informatyki. (drobne) modyfikacje: dr inż. Andrzej Wetula ŚRODOWISKO MATLAB WPROWADZENIE dr inż. Dariusz Borkowski (drobne) modyfikacje: dr inż. Andrzej Wetula Przebieg III części przedmiotu - 10 zajęć = 6 laboratoriów Matlab + 2 laboratoria Simulink + 2 kolokwia.

Bardziej szczegółowo

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

Wartości x-ów : Wartości x ów można w Scilabie zdefiniować na kilka sposobów, wpisując odpowiednie polecenie na konsoli. Notatki z sesji Scilaba Istnieje możliwość dokładnego zapisu przebiegu aktualnej sesji pracy ze Scilabem: polecenie diary('nazwa_pliku.txt') powoduje zapis do podanego pliku tekstowego wszystkich wpisywanych

Bardziej szczegółowo

Laboratorium 1b Operacje na macierzach oraz obliczenia symboliczne

Laboratorium 1b Operacje na macierzach oraz obliczenia symboliczne Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Laboratorium Metod Numerycznych Laboratorium 1b Operacje na macierzach oraz obliczenia symboliczne 1 Zadania 1. Obliczyć numerycznie

Bardziej szczegółowo

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i,j) (i = 1,,n;j = 1,,m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F = R lub F = C, nazywamy macierzą (rzeczywistą, gdy F

Bardziej szczegółowo

Przetwarzanie sygnałów

Przetwarzanie sygnałów Spis treści Przetwarzanie sygnałów Ćwiczenie 1 Wprowadzenie do programu Octave 1 Operatory 1 1.1 Operatory arytmetyczne...................... 1 1.2 Operatory relacji.......................... 1 1.3 Operatory

Bardziej szczegółowo

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

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Metody numeryczne Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Elektrotechnika stacjonarne-dzienne pierwszego stopnia

Bardziej szczegółowo