Wykład 2 Dr Aneta Polewko-Klim https://play.google.com.

Slides:



Advertisements
Podobne prezentacje
Wykład 2 Dr Aneta Polewko-Klim
Advertisements

PWSW Mechatronika Wykład 7 Matlab cd.
Temat 2: Podstawy programowania Algorytmy – 1 z 2 _________________________________________________________________________________________________________________.
„Jak pomóc uczniom się uczyć i czerpać z tego radość?” opracowała: Krystyna Turska.
1 Dr Galina Cariowa. 2 Legenda Iteracyjne układy kombinacyjne Sumatory binarne Sumatory - substraktory binarne Funkcje i układy arytmetyczne Układy mnożące.
Plan Czym się zajmiemy: 1.Bilans przepływów międzygałęziowych 2.Model Leontiefa.
Tworzenie odwołania zewnętrznego (łącza) do zakresu komórek w innym skoroszycie Możliwości efektywnego stosowania odwołań zewnętrznych Odwołania zewnętrzne.
Literowe oznaczenia dla wielkości niewiadomych stosował już starożytny myśliciel Diofantos. Za ojca współczesnej algebry uważany jest matematyk francuski.
Zajęcia 1-3 Układ okresowy pierwiastków. Co to i po co? Pojęcie masy atomowej, masy cząsteczkowej, masy molowej Proste obliczenia stechiometryczne. Wydajność.
PRACA Z APLIKACJAMI SYSTEM PRZEMIESZCZANIA oraz NADZORU WYROBÓW AKCYZOWYCH EMCS PL 1.
Rozliczanie kosztów działalności pomocniczej
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania 1 Metody optymalizacji - Energetyka 2015/2016 Metody programowania liniowego.
© Matematyczne modelowanie procesów biotechnologicznych - laboratorium, Studium Magisterskie Wydział Chemiczny Politechniki Wrocławskiej, Kierunek Biotechnologia,
Excel 2007 dla średniozaawansowanych zajęcia z dnia
Wyrażenia Algebraiczne Bibliografia Znak 1Znak 2 Znak 3 Znak 4 Znak 5 Znak 6 Znak 7 Znak 8 Znak 9 Znak 10 Znak 11.
FORMAT WYMIANY DANYCH GEODEZYJNYCH TANAGO. TANGO V. 1.
 Czasem pracy jest czas, w którym pracownik pozostaje w dyspozycji pracodawcy w zakładzie pracy lub w innym miejscu wyznaczonym do wykonywania pracy.
Ryzyko a stopa zwrotu. Standardowe narzędzia inwestowania Analiza fundamentalna – ocena kondycji i perspektyw rozwoju podmiotu emitującego papiery wartościowe.
Poczta elektroniczna – e- mail Gmail zakładanie konta. Wysyłanie wiadomości.
Elementy cyfrowe i układy logiczne
Zmienne losowe Zmienne losowe oznacza się dużymi literami alfabetu łacińskiego, na przykład X, Y, Z. Natomiast wartości jakie one przyjmują odpowiednio.
Rozwiązywanie równań I-go stopnia z jedną niewiadomą
Analiza tendencji centralnej „Człowiek – najlepsza inwestycja”
Funkcja liniowa Przygotował: Kajetan Leszczyński Niepubliczne Gimnazjum Przy Młodzieżowym Ośrodku Wychowawczym Księży Orionistów W Warszawie Ul. Barska.
STATYSTYKA – kurs podstawowy wykład 10 dr Dorota Węziak-Białowolska Instytut Statystyki i Demografii.
Porównywarki cen leków w Polsce i na świecie. Porównywarki w Polsce.
ULAMKI ZWYKLE KLASA IV. 2 3 kreska ułamkowa licznik ułamka mianownik ułamka ULamek zwykLy.
Dodawania i odejmowanie sum algebraicznych. Mnożenie sumy algebraicznej przez jednomian. Opracowanie Joanna Szymańska Konsultacja Bożena Hołownia.
W KRAINIE TRAPEZÓW. W "Szkole Myślenia" stawiamy na umiejętność rozumowania, zadawania pytań badawczych, rozwiązywania problemów oraz wykorzystania wiedzy.
Algorytmy Informatyka Zakres rozszerzony
Algorytm Newtona - Raphsona
Lekcja 17 Budowanie wyrażeń algebraicznych Opracowała Joanna Szymańska Konsultacje Bożena Hołownia.
KOMBINATORYKA.
Microsoft PowerPoint. Metodyka „dobrej” prezentacji.
Matematyka przed egzaminem czyli samouczek dla gimnazjalisty Przygotowała Beata Czerniak FUNKCJE.
Menu Jednomiany Wyrażenia algebraiczne -definicja Mnożenie i dzielenie sum algebraicznych przez jednomian Mnożenie sum algebraicznych Wzory skróconego.
Instalacja nienadzorowana windows xp Jakub klafta.
Python. Języki Programistyczne Microcode Machine code Assembly Language (symboliczna reprezentacja machine code) Low-level Programming Language (FORTRAN,
I T P W ZPT 1 Realizacje funkcji boolowskich Omawiane do tej pory metody minimalizacji funkcji boolowskich związane są z reprezentacją funkcji w postaci.
Optymalna wielkość produkcji przedsiębiorstwa działającego w doskonałej konkurencji (analiza krótkookresowa) Przypomnijmy założenia modelu doskonałej.
Metody sztucznej inteligencji - Technologie rozmyte i neuronowe 2015/2016 Perceptrony proste nieliniowe i wielowarstwowe © Kazimierz Duzinkiewicz, dr hab.
Definiowanie i planowanie zadań typu P 1.  Planowanie zadań typu P  Zadania typu P to zadania unikalne służące zwykle dokonaniu jednorazowej, konkretnej.
Katarzyna Rychlicka Wielomiany. Katarzyna Rychlicka Wielomiany Przykłady Wykresy funkcji wielomianowych Równania wielomianowe Działania na wielomianach.
Opracowanie Joanna Szymańska Konsultacja Bożena Hołownia.
Zapraszam na spotkanie z wyrażeniami algebraicznymi!
1 Definiowanie i planowanie zadań budżetowych typu B.
Obliczanie procentu danej wielkości Radosław Hołówko.
 Przedziałem otwartym ( a;b ) nazywamy zbiór liczb rzeczywistych x spełniających układ nierówności x a, co krócej zapisujemy a
Programowanie Obiektowe – Wykład 1
Minimalizacja automatu
Schematy blokowe.
DEFINICJA I ZASTOSOWANIE W JĘZYKU HASKELL
Wykład 2 Dr Aneta Polewko-Klim
Liczby pierwsze.
Akademia C# - Lab2 Zmienne, instrukcje warunkowe, pętle, debugger,
Przybliżenia dziesiętne liczb rzeczywistych
ALGORYTMY I STRUKTURY DANYCH
Elementy fizyki kwantowej i budowy materii
Obliczenia w Matlabie Operatory, instrukcje sterujące, operacje bitowe
Języki programowania.
Instrukcje wyboru.
Koszyk danych.
Podstawy informatyki Zygfryd Głowacz.
Pisemne dzielenie liczb naturalnych
Excell Wykład 2..
Implementacja rekurencji w języku Haskell
Doskonalenie rachunku pamięciowego u uczniów
Język C++ Operatory Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła.
Zapis prezentacji:

Wykład 2 Dr Aneta Polewko-Klim

Darmowe odpowiedniki MATLABA: Octave i Scilab

26. Skrypty -Skrypt to plik tekstowy o rozszerzeniu.m zawierający instrukcje; -Skrypty nie pobierają żadnych argumentów ani żadnych nie zwracają, operują tylko na zmiennych dostępnych w przestrzeni, są tam zapisywane wszystkie zmienne utworzone w skryptach; -Skrypt można utworzyć za pomocą dowolnego edytora tekstowego lub bezpośrednio w pakiecie Matlab; -Skrypt uruchamiamy podając jego nazwę w wierszu poleceń. Podczas wykonywania skryptu można wpisywać dane z klawiatury oraz wyświetlać wyniki w oknie poleceń. -Skrypt można wywołać w innym skrypcie podając jego nazwę. Skrypt Konsola - przykład wykres

19. Formaty i wyświetlanie liczb. Obliczenia w Matlabie są wykonywane z podwójną precyzją, ale format wyświetlania liczb można zmienić za pomocą: liczb można zmienić za pomocą: format parametr_formatowania Parametr formatowania Reprezentacja short short e long long e hex + bank compact loose rat e e e e-006 3ff eb4b6231abfd271 Znak + jest wyświetlany dla liczb dodatnich Wyłącza dodawanie dodatkowych pustych wierszy Włącza dodawanie dodatkowych pustych wierszy 4/3 1/ dokładość numeryczna MALAB-a >>eps >> e-16

short – reprezentacja stałoprzecinkowa pięciocyfrowa short e – reprezentacja zmiennoprzecinkowa pięciocyfrowa long – reprezentacja stałoprzecinkowa piętnastocyfrowa long e – reprezentacja zmiennoprzecinkowa piętnastocyfrowa hex – szesnastkowe wyświetlanie zawartości komórek zawierających daną liczbę + – znak + jest wyświetlany dla liczb dodatnich bank – format walutowy, pełna część całkowita, do dwóch miejsc po przecinku compact – wyłącza dodawanie dodatkowych pustych wierszy loose – włącza dodawanie dodatkowych pustych wierszy rat – przedstawia ułamki dziesiętne za pomocą ilorazu małych liczb całkowitych Konsola - przykład short vs long

20. Przydatne Funkcje Statystyczne dostępne po wpisaniu >>help datafun

20. Wyświetlanie macierzy i ich rozmiarów. FunkcjaOpis disp(A)wyświetla zawartość macierzy A w oknie poleceń size(A)wyświetla rozmiar dwuwymiarowej macierzy A (liczbę wierszy i kolumn) w postaci dwuelementowego wektora wierszowego s=size(A) s=[n m] zmiennej s przypisuje zmiennej n liczbę wierszy, a zmiennej m liczbę kolumn n=size(A,1) przypisuje zmiennej n liczbę wierszy m=size(A,2) przypisuje zmiennej m liczbę kolumn length(x)zwraca długość wektora x lub dłuższy z wymiarów macierzy

Przykład Przykład: >> K=[1 2 3; 4 5 6; 7 8 9; ] >> size(K) >> 4 3 >> 4 3 Wyświetlanie zawartości macierzy A w oknie poleceń: >> disp(K) Pytanie: Co wyświetli się na ekranie gdy wpiszemy: size(K,1)? size(K,2)? length(K)?

21. Arytmetyka macierzowa i tablicowa. A=[1 -1; -2 3]; B=[1 1; 0 -2]; Dodawanie i odejmowanie macierzowe i tablicowe jest identyczne, tj. odbywa się element po elemencie: A + B = [2 0; -2 1] A – B = [0 –2; -2 5] Mnożenie macierzowe oznaczamy *, natomiast mnożenie tablicowe.* Podczas mnożenia macierzowego należy pamiętać, aby liczba wierszy pierwszej macierzy była równa liczbie kolumn macierzy drugiej. Ponadto w mnożeniu jak i w dzieleniu macierzowym nie jest spełnione prawo przemienności, A*B to nie to samo co B*A. A * B = [1 3; -2 –8] B * A = [-1 2; 4 –6] A.* B = B.* A = [1 –1; 0 –6]

nie jest przemienne, ponadto występuje tu dzielenie lewostronne i prawostronne. Dzielenie macierzowe nie jest przemienne, ponadto występuje tu dzielenie lewostronne i prawostronne. macierz stojąca po prawej stronie jest dzielona przez macierz stojącą po lewej stronie. Ogólnie służy on do rozwiązywania równań liniowych postaci: Operator lewostronny – macierz stojąca po prawej stronie jest dzielona przez macierz stojącą po lewej stronie. Ogólnie służy on do rozwiązywania równań liniowych postaci: wtedy: A * x = b wtedy: x = A\b w tym wypadku wektor b jest dzielony przez macierz A. macierz stojąca po lewej stronie operatora jest dzielona przez macierz stojącą po jego prawej stronie: Operator prawostronny – macierz stojąca po lewej stronie operatora jest dzielona przez macierz stojącą po jego prawej stronie: A B A / B mamy także dwa operatory, a ponieważ przemienność w tym wypadku obowiązuje, gdyż operacje wykonujemy na poszczególnych elementach tablicy, mamy tylko dwa różne wyniki dzielenia: Dzielenie tablicowe: mamy także dwa operatory, a ponieważ przemienność w tym wypadku obowiązuje, gdyż operacje wykonujemy na poszczególnych elementach tablicy, mamy tylko dwa różne wyniki dzielenia: A.\B = B./A A./B = B.\A

Przykład >>A=[2 -3; 3 -2]; >>B=[-3 2]; >>wektor_wynikowy=A\B >>wektor_wynikowy >> Rozwiąż układ równań

Potęgowanie: A.^3 = A.*A.*A A^(.3) 4^B Transpozycja macierzy jest to zamiana wierszy macierzy z kolumnami. Jeżeli mamy macierz o składnikach rzeczywistych to transpozycja macierzowa i tablicowa daje taki sam wynik, natomiast różni się gdy składnikami macierzy są liczby zespolone. W tym przypadku transpozycja tablicowa zamienia tylko wiersze z kolumnami, natomiast transpozycja macierzowa zwraca macierz o elementach sprzężonych

Przykład

22. Funkcje matematyczne. Matlab udostępnia wiele standardowych funkcji matematycznych. Argumentem każdej z nich może być macierz to wówczas operacja wykonywana jest osobno na każdym jej elemencie FunkcjaOpis sin(z), cos(z), tan(z), cot(z) funkcje trygonometryczne, argument w radianach sqrt(z)pierwiastek kwadratowy (jeśli z<0 wynik jest zespolony) exp(z)ezez log(z), log2(z), log10(z) ln z, log 2 z, log 10 z (jeśli z<0 wynik jest zespolony) abs(z)‌‌ z ‌ lub moduł liczby zespolonej angle(z), real(z), imag(z) argument liczby zespolonej, jej część rzeczywista i urojona conj(z)liczba zespolona sprzężona sign(x)funkcja signum max(x), min(x) zwraca odpowiednio największy i najmniejszy element wektora x sum(x), prod(x) zwraca odpowiednio sumę i iloczyn elementów wektora x mean(x)zwraca średnią arytmetyczną elementów wektora x ceil(z)zaokrąglenie liczby w górę floor(z)zaokrąglenie liczby w dół fix(z)zaokrąglenie liczby dodatniej w dół, ujemnej w górę round(z)zaokrąglenie liczby do najbliższej liczby całkowitej

23. Operatory porównania i logiczne NazwaOperatorFunkcjaRelacja równe a == b eq(a,b)a = b różne a ~= b ne(a,b) a  b mniejsze a < b lt(a,b)a < b większe a > b le(a,b)a > b mniejsze równe a <= b gt(a,b) a  b większe równe a >= b ge(a,b) a  b NazwaOperatorFunkcjaRelacja alternatywa a  b or(a,b)a lub b koniunkcja a & b and(a,b)a i b negacja ~ a not(a)nie a

24. Instrukcje sterujące Instrukcja warunkowa if Wykonywana jeśli wyrażenie jest prawdziwe. w W oknie poleceń tą instrukcję należy wprowadzać linijka po linijce. if warunek (wyrażenie_logiczne) instrukcje end if warunek 1 instrukcje elseif warunek 2 instrukcje elseif warunek 3 instrukcje else instrukcje end

Przykład >> if x>3 >> f=x.*x-6; >>elseif x>=-1 & x<=3 >> f=x; >>else >> f=x.*x-2; >>end Oblicz wartość funkcji f(x) :

Instrukcja warunkowa switch Wyrażenie może być liczbą lub łańcuchem znakowym. Wartość wyrażenia jest porównywana z wartościami kontrolnymi kolejnych przypadków case i wykonywane są instrukcje przy tej wartości case, która jest równa wyrażeniu. Jeżeli żadna z wartości kontrolnych nie odpowiada wyrażeniu wykonywane są instrukcje po opcjonalnym słowie otherwise. switch wyrażenie case wartość 1 wyrażenia instrukcje case wartość 2 wyrażenia instrukcje... otherwise instrukcje end

Przykład liczba=round(10*rand(1)); switch liczba case 1 wynik=sin(liczba) case 2 wynik=cos(liczba)otherwisewynik=tan(liczba)end wynik =

Przykład w praktyce kliknij

Instrukcja for Podczas wykonywania instrukcji for kolumny macierzy_wartości przyporządkowywane są kolejno iterowanej zmiennej. W praktyce macierz_wartości ma postać min : max min : krok : max krok może być dodatni, ujemny, jak i ułamkowy. for zmienna=macierz_wartości instrukcje end

Przykład >> for i=1:5, >> for j=1:4, >> A(i,j)=(i+j)/(i+j+1); >> end Utwórz macierz A o rozmiarze 5x4, o wyrazach: o wyrazach:

Instrukcja while Instrukcje są powtarzane dopóki część rzeczywista wyrażenia ma wszystkie elementy różne od zera. Postać wyrażenia jest taka jak w instrukcji if czyli jest to wyrażenie logiczne. i=1; while wyrażenie_logiczne instrukcje i=i+1; end

Przykład Oblicz wartość setnego elementu ciągu Fibonacciego danego wzorem: >> u1=1; u2=1; i=2; n=100; >>while i<n >>u3=u1+u2; >>u1=u2; >>u2=u3; >>i=i+1; >>end >>u3 wynik e+020

Przykład w praktyce kliknij

W domu samodzielnie zaproponuj algorytm, który zrealizuje kliknij

Przykłady instrukcji sterujących

Instrukcja break i return Polecenie break kończy wykonywanie pętli wcześniej niż wynikałoby to z warunków stopu dla pętli while lub przed skończeniem pętli for, wychodząc o jeden poziom zagłębienia na zewnątrz. Instrukcja return powoduje natomiast bezwarunkowe przerwanie skryptu lub funkcji i powrót do miejsca wywołania. while wyrażenie_logiczne i=i+1; if i>=imax break end instrukcje end

25. Łańcuchy >>s=’Matlab’ Łańcuchy znakowe są wektorami składającymi się ze znaków. Łańcuch taki definiuje się za pomocą apostrofów np. >>s=’Matlab’ ; >>a=double(s); konwersji łańcucha na wektor kodów ASCII można dokonać poleceniem: >>a=double(s); >>char(a) konwersja odwrotna: >>char(a) Łańcuch jest wektorem, dlatego można na nim wykonywać operacje jak na zwykłych wektorach np. transpozycja łańcucha powodująca, że jego litery będą wypisywane jedna pod drugą. >>s’ Istnieje możliwość tworzenia macierzy, której wierszami są łańcuchy, w tym celu należy posłużyć się funkcją str2mat : >> S=str2mat('Matlab','procedury') S = S = Matlab Matlab procedury procedury

Łańcuchy >>s=’Matlab’ Łańcuchy znakowe są wektorami składającymi się ze znaków. Łańcuch taki definiuje się za pomocą apostrofów np. >>s=’Matlab’ ; >>a=double(s); konwersji łańcucha na wektor kodów ASCII można dokonać poleceniem: >>a=double(s); >>char(a) konwersja odwrotna: >>char(a) Łańcuch jest wektorem, dlatego można na nim wykonywać operacje jak na zwykłych wektorach np. transpozycja łańcucha powodująca, że jego litery będą wypisywane jedna pod drugą. >>s’ Istnieje możliwość tworzenia macierzy, której wierszami są łańcuchy, w tym celu należy posłużyć się funkcją str2mat : >> S=str2mat('Matlab','procedury') S = S = Matlab Matlab procedury procedury

26. Funkcje wejścia i wyjścia FunkcjaOpis x = input(tekst) wyświetla łańcuch tekst, oczekuje na wpisanie przez użytkownika danej liczbowej i przypisuje ją zmiennej liczbowej x; zamiast danej liczbowej można wpisać wyrażenie Matlaba, które funkcja obliczy x = input(tekst,’s’) wyświetla łańcuch tekst, oczekuje na wpisanie przez użytkownika łańcucha znakowego i przypisuje go zmiennej x pausezatrzymuje wykonywanie skryptu do chwili naciśnięcia przez użytkownika dowolnego klawisza pause(n)zatrzymuje wykonywanie skryptu na n sekund

Zadanie do wykonania : Oblicz pierwiastki dowolnego równania kwadratowego

a=input(`a=`); b=input(`b=`); c=input(`c=`); delta=b.*b-4*a.*c; if delta>0 x1=(-b-sqrt(delta))./(2*a); x2=(-b+sqrt(delta))./(2*a); disp(['x1= ',num2str(x1)]); disp(['x2= ',num2str(x2)]); elseif delta==0 x3=-b./(4*a); disp(['x1=x2= ',num2str(x3)]); else disp('rownanie nie ma pierwiastków rzeczywistych'); end

27. Uproszczony odczyt i zapis danych FunkcjaOpissavezapisuje binarnie wszystkie zmienne w pliku o nazwie matlab.mat save plik zapisuje binarnie wszystkie zmienne w pliku o nazwie plik.mat save plik lista zapisuje binarnie w pliku o nazwie matlab.mat tylko zmienne wymienione jako lista loadwczytuje zmienne zapisane w pliku matlab.mat load plik wczytuje zmienne zapisane w pliku plik.mat

Przykład Wczytaj 1 i 2 kolumnę z pliku o nazwie staredane.mat, następnie wymnóż dwie kolumny przez siebie i zapisz wynik jako 3 kolumnę do pliku o nazwie nowedane.mat, gdzie 1 i 2 kolumnę stanowią wcześniejsze dane wejściowe load staredane.mat -ascii x1=staredane(); x2=staredane(); x3= K=[]; save nowedane.mat K -ascii

28. Funkcje. Występują dwa rodzaje funkcji: a) funkcje wbudowane jak np. sqrt b) funkcje przechowywane w m-plikach (właśnie te m-pliki funkcyjne możemy tworzyć samodzielnie. - pierwszy wiersz m-pliku musi zawierać definicję nowej function funkcji: słowo kluczowe function - nazwę funkcji – musi być taka sama jak nazwa pliku (bez rozszerzenia) listę argumentów wyjściowych Jak to zrobić?

Definicja funkcji function [wart_fun1, wart_fun2,...]=nazwa_funkcji(parametr1, parametr2,...) % ewentualny opis funkcji w formie komentarza wart_fun1=wynik1; wart_fun2=wynik2;... function [y]=radst(x) %przelicza radiany na stopnie x – ilość radianów y=(x.*180)/pi; Ważne !!!: Ważne !!!: zmienne utworzone podczas działania funkcji są usuwane z chwilą zakończenia wykonywania funkcji i nie są widoczne poza nią, podobnie zmienne utworzone poza funkcją nie są widoczne w jej wnętrzu. Funkcja operuje więc na zmiennych lokalnych. global A B C Aby zmienna z przestrzeni roboczej Matlaba była widoczna w ciele funkcji należy zadeklarować ją jako globalną i deklarację tą powtórzyć w ciele funkcji global A B C

Szczegóły 1. Jeśli funkcja posiada kilka argumentów wyjściowych, oddzielamy je przecinkiem, a wszystkie umieszczamy w nawiasach kwadratowych np: function [e,cnt] = normest(S,tol) 2. Jeśli funkcja ma tylko jeden argument wyjściowy, nawiasy możemy pominąć: function r = roots(c) 3. Jeżeli nie zwraca argumentów wyjściowych, może być zapisana w postaci: function nazwa_funkcji(arg_wej) 4. Nazwy funkcji muszą się rozpoczynać literą, a pozostała część może być kombinacją liter, cyfr i znaku podkreślenia. Jeżeli nazwa pliku różni się od nazwy funkcji, to zwycięża nazwa pliku, dlatego powinno się stosować identyczne nazwy funkcji i pliku. 5. Kolejne linie po słowie function zaczynające się od % stanowią help

Dla zaawansowanych: pętle równoległe parfor, praca na kilku rdzeniach matlabpool