Informatyka PWSW Wykład 6.

Slides:



Advertisements
Podobne prezentacje
Funkcje matematyczne Microsoft Office 2003 Exel.
Advertisements

OBLICZENIA NUMERYCZNE
Opracowała: Iwona Bieniek
Tablice 1. Deklaracja tablicy
Modelowanie i symulacja
Podstawy informatyki Informatyka Stosowana Zajęcia nr 2
Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
mgr inż. Ryszard Chybicki Zespół Szkół Ponadgimnazjalnych
Języki programowania C++
PROGRAMOWANIE STRUKTURALNE
Metody Numeryczne Wykład no 3.
ZŁOŻONOŚĆ OBLICZENIOWA
Podstawy informatyki Informatyka stosowana Prowadzący: Grzegorz Smyk
Zastosowania geodezyjne
Metody numeryczne © Jacek Śmietański, Kraków 2005.
SO – LAB3 Wojciech Pieprzyca
Wykład 2 struktura programu elementy języka typy zmienne
ETO w Inżynierii Chemicznej
Arkusz kalkulacyjny Excel
Metody numeryczne Wykład no 2.
Matematyka.
Podstawy programowania
obliczeNIA symbolicznE w MATLAB’ie
Podstawy programowania
Wykład 2 Dr Aneta Polewko-Klim
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
ETO w Inżynierii Chemicznej
Excel Wykład 3.. Importowanie plików tekstowych Kopiuj – wklej Małe pliki Kolumny oddzielone znakiem tabulacji Otwieranie/importowanie plików tekstowych.
Microsoft Office Excel
TABLICE C++.
Wyrażenia w Turbo Pascalu.
Centrum Kształcenia Ustawicznego im. St. Staszica w Koszalinie
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Technologie informacyjne EXCEL I
II. Matematyczne podstawy MK
Metody obliczeniowe i podstawy programowania
MOiPP Wykład 2 Matlab Tablice i ich zastosowania Wykresy Iteracja.
MOiPP Matlab Sortowanie Obliczenia symboliczne - Symbolic ToolBox
MOiPP Wykład 3 Matlab Przykłady prostych metod obliczeniowych.
Matematyka i system dwójkowy
Liczby naturalne Ułamki zwykłe Ułamki dziesiętne Liczby całkowite Liczby ujemne Procenty Wyrażenia algebraiczne Równania i nierówności Układ współrzędnych.
Podstawy języka Instrukcje - wprowadzenie
Algorytmika Iteracje autor: Tadeusz Lachawiec.
MOiPP Matlab Przykłady metod obliczeniowych Obliczenia symboliczne
MOiPP Wykład 5 Matlab Przykłady praktyczne Równania różniczkowe.
Obliczenia symboliczne
Wyznaczniki, równania liniowe, przestrzenie liniowe Algebra 1
PWSW Mechatronika Wykład 7 Matlab cd.
MOiPP Wykład 2 Matlab tablice.
Matematyka Ekonomia, sem I i II.
Metody rozwiązywania układów równań liniowych
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Wykład 6 Dr Aneta Polewko-Klim
Pętle – instrukcje powtórzeń
SciLab.
SciLab.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Wykład 5 Informatyka MPDI 3 semestr Język JavaScript.
Informatyka Transport Matlab c.d. Macierze cd. Wykresy graficzne
Do czego służy arkusz kalkulacyjny, jego budowa
Pakiety numeryczne Operatory, instrukcje sterujące, operacje bitowe Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
 Formuła to wyrażenie algebraiczne (wzór) określające jakie operacje ma wykonać program na danych. Może ona zawierać liczby, łańcuchy znaków, funkcje,
Osoby prowadzące zajęcia z Informatyki (II część): Prof. Mirosław Czarnecki (W+L) Konsultacje:piątek (p. 302a)
Liczby 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, …(i tak dalej) nazywamy liczbami naturalnymi. Tak jak z liter tworzy się słowa, tak z cyfr tworzymy liczby. Dowolną.
Osoby prowadzące zajęcia z Informatyki (II część): Prof. Mirosław Czarnecki (W+L) Konsultacje:piątek (p. 302a)
Wykład 2 MATLAB cd INFORMATYKA 2 MPZI2 sem.4. 2x + 3y – 4z = 5 x + y – z = 3,5 –2,5y – z = 2 Rozwiązanie w Matlabie (m-plik): A = [ ; ; 0.
ARKUSZE KALKULACYJNE Ćwiczenia 20h.
Podstawy Informatyki.
ETO w Inżynierii Chemicznej
Zapis prezentacji:

Informatyka PWSW Wykład 6

MATLAB MAT-rix LAB-oratory Matlab to pakiet do obliczeń naukowych, tworzenia wykresów, analiz układów dynamicznych itp. Praca w środowisku odbywa się sposobami: interakcyjnym (pisujemy pojedyncze instrukcje obliczeniowe i na bieżąco otrzymujemy wyniki) wsadowym - można tworzyć pliki z instrukcjami Matlab'a i je wykonywać globalnie.

Sposoby pracy w programie 1. Sposób interakcyjny – interpretacja pojedynczych poleceń pisanych w oknie Command window Instrukcje wpisywane przez użytkownika, każda instrukcja wykonywana (i potwierdzana ENTER-em) na bieżąco Dialog: tu wpisujemy instrukcję wykonawczą odpowiedź

Zmienna jest tworzona w pamięci w momencie nadania jej wartości Większość instrukcji to tzw. instrukcje przypisania (nadania wartości zmiennym) Wartości (stałe, wyrażenia obliczeniowe) można przypisywać zmiennym Nazwa zmiennej musi zaczynać się od litery, dalszy ciąg litery i cyfry – bez spacji). W nazwach zmiennych (funkcji) ważne duże i małe litery! Zmienna jest tworzona w pamięci w momencie nadania jej wartości Zmienną o wcześniej zdefiniowanej wartości można użyć w wyrażeniu przypisywanym nowej zmiennej – nie wolno zmiennej nieznanej

Ogólna postać instrukcji przypisania (inicjacja zmiennej i nadawanie wartości) zmienna = wyrażenie oblicz wyrażenie i wynik wyrażenia przechowaj w zmiennej wyrażenie wynik wyrażenia przechowany w domyślnej zmiennej ans Zainicjowane zmienne i ich wartości widoczne są w oknie Workspace

x= alfa+2 %nie wolno jeśli nieznana wartość alfa b=6 c=1; delta = b*b-4*a*c x= alfa+2 %nie wolno jeśli nieznana wartość alfa nadanie wartości zmiennej delta wcześniej muszą być znane wartości a, b, c

UWAGI: Wyrażenia budujemy podobnie jak w Excelu -stałe, zmienne, operatory działań, funkcje, nawiasy okrągłe () Separator liczb dziesiętnych – kropka!!!!! Przywołanie poprzednich instrukcji w celu ich ponownego wykonania bądź edycji (strzałki kursora – góra, dół) lub kliknięcie w oknie Command history Długa instrukcja – kontynuacja trzy kropki (...) i kontynuacja w nowym wierszu

Przykładowe dialogi: a=1.2 przypisanie do zmiennej a b=1E2 przypisanie wartości w formacie naukowym 3*5 przypisanie zmiennej domyślnej ans c=a+b przypisanie wartości prostego wyrażenia c prosty wydruk wartości disp( c ) prosty wydruk wartości disp (’jakiś tekst’) wydruk tekstu na ekranie a=sin(pi/4)+b przypisanie wartości prostego wyrażenia

Operatory działań arytmetycznych podobnie jak w Excel-u. ^ potęgowanie - zmiana znaku (przed liczbą lub zmienną) * / mnożenie, dzielenie + - dodawanie, odejmowanie Uwaga: Priorytet operatorów: potęgowanie wcześniejsze do zmiany znaku (w Excelu było odwrotnie) Sprawdzić: -2^2 w Matlabie -4 =-2^2 w Excelu 4

Podstawowe funkcje matematyczne: pi – stała wbudowana sin(pi) (funkcje trygonometryczne wymagają kąta w radianach!) cos(3*x-3) tan(20*pi/3) tangens log(x) logarytm naturalny!!, log10(-1) logarytm dziesiętny - odpowiedź –inf (- ) wynik – wartość zespolona (!) exp(x) ex sqrt(3*c-5) pierwiastek kwadratowy abs(-5) wartość bezwzględna fix(2.678) zaokrąglenie do całkowitej (w kierunku zera) 2 floor(-3.1) zaokrąglenie do całkowitej w kierunku - -4 ceil(-3.9) zaokrąglenie do całkowitej w kierunku + -3 round(3.5) zaokrąglenie do najbliższej całkowitej 4 rem(17,-2) reszta z dzielenia 1

TABLICE c=[1 2 3 4 5] %przypisanie tablicy m1=[1 1 1 1 1] %przypisanie tablicy m2=[1 2 3 4 5] %przypisanie tablicy m3 = m1 + m2 %dodanie macierzy m4 = [1; 2; 1; 1; 0] %macierz kolumnowa m5 = m1*m4 %mnożenie macierzy m4 = [1 2 3; 2 1 1; 1 0 0] %tablica dwuwymiarowa m4t = m4' %macierz sprzężona - transponowana m4o = m4^(-1) %macierz odwrotna m4*m4o %sprawdzenie - macierz jednostkowa m4(1,1) % element macierzy det(m4) %wyznacznik – m. kwadratowa

Dostęp do elementu tablicy wyświetlony zostanie trzeci element tablicy

Szybkie generowanie tablicy x=0:2:10 %generowanie wektora od 0 do 10 co 2 % wart_pocz:krok:wart_koncowa 2 4 6 8 10 x=0:10 %generowanie wektora od 0 do 10 co 1 % wart_pocz:wart_koncowa 1 2 3 4 5 6 7 8 9 10

Operatory "kropkowe" dla tablic jeśli A i B są tablicami C=A*B to iloczyn macierzowy – kiedy dozwolony? - gdy macierz A ma tyle kolumn ile macierz B wierszy D=A.*B to iloczyn elementowy – każdy element macierzy D powstaje z iloczynu odpowiednich elementów macierzy A i B – dozwolony gdy A i B mają te same rozmiary podobnie ./ .^ (dzielenie i potęgowanie elementowe) A^2 % tożsame z A*A (uwaga:A musi być kwadratowa) A.^2 % każdy element do kwadratu – A dowolne

* = .* = ./ = .^ = Proste przykłady operacji macierzowych sumy iloczynów 1 2 3 4 2 3 8 18 1*2+2*3=8 3*2+4*3=18 * = 1 3 4 2 3 1 2 6 12 1 mnożenie elementowe .* = dzielenie elementowe 1 3 4 2 16 1 0.5 1.5 0.25 1 ./ = 2 3 4 6 2 3 1 4 9 64 6 .^ potęgowanie elementowe =

Liczba zespolona Uwaga: sqrt(- 1) % nie ma błędu!!! 0 +1i część rzeczywista część urojona Podobnie log(ujemna) log10(ujemna)

z = 3+4i gamma = -5- 4i wynik = z*gamma itp. Można tworzyć zmienne zespolone i przeprowadzać na nich obliczenia z = 3+4i gamma = -5- 4i wynik = z*gamma itp.

i inne funkcje pomoc... HELP >>help elfun

Rozwiązywanie układu równań liniowych 2x + 3y – 4z = 5 x + y – z = 3,5 –2,5y – z = 2 Rozwiązanie: A = [2 3 -4 ; 1 1 -1 ; 0 -2.5 -1] B = [ 5 ; 3.5 ; 2] X= A^(-1)*B wektor rozwiązań sprawdzenie – wynikiem powinien być wektor wyrazów wolnych B A*X inne sprawdzenie: X(1)+X(2)-X(3) czy równa się 3,5

Ważne: funkcja roots(M) wyznaczanie pierwiastków równania n-tego stopnia - gdzie M jest wektorem współczynników przy kolejnych potęgach np. roots ([1 3 0 -4]) wyznacza pierwiastki równania: x3 + 3x2 –4=0

WYKRESY 2-wymiarowe 1 sposób: Funkcja plot Wymaga utworzenia dwóch wektorów o tej samej liczbie elementów x=0:10 %generowanie wektora co 1 % wart_pocz:wart_koncowa y=[5.1 1.1 -2 -3 4.2 5.5 4.3 3.1 4.5 5.9 4.9] z=[0 2 3 3 5 4 3 4 5 4 9] %trzeci wektor title('wykres') %dodanie tytułu plot(x,y) %rysowanie wykresu plot(x,y,'r',x , z,'w')

Przykłady wykresów funkcji x=0:90 %generowanie wektora co 1 y=sin(pi*x/180) %wektor y plot(x,y) %rysowanie x=0:pi/50:6*pi y=cos(2*x)./sqrt(x+1) plot(x,y) Uwaga: zapis kropkowy elementowe dzielenie(mnożenie) wektorów x = - 9:1:9 z = x.^2 plot(x, z)

Wykres funkcji podanej jako parametr tekstowy 2 sposób: Funkcja fplot Wykres funkcji podanej jako parametr tekstowy jedna krzywa: fplot('sin(x*x)/x',[0 4*pi]) punkt dzielenia przez 0 nie jest rysowany - ostrzeżenie dwie krzywe: fplot('[sin(x*x)/x cos(x)]',[0.01 4*pi]) Uwaga: musi być użyte x jako argument funkcji w jej opisie

Przykładowe wykresy powierzchniowe 3D peaks cylider (srednica) sphere (precyzja) Możliwe również wykresy 3D liniowe – krzywe w przestrzeni

2. Metoda wsadowa wykonywania operacji W Matlab-ie można zapisać tekst ciągu instrukcji w pliku tekstowym ASCII o rozszerzeniu m. (tzw. m-pliki lub mex-pliki) W Matlab-ie można jako polecenie wpisać w linii poleceń nazwę pliku z ciągiem instrukcji - instrukcje pobierane kolejno i wykonywane od pierwszej do ostatniej Konieczne jest ustawienie "ścieżki" do naszego foldera w menu Current directory

Można wykonać m-plik w Matlabie wpisując w linii poleceń jego nazwę (bez rozszerzenia): test1 W m-pliku wpisujemy kolejne instrukcje (bez znaków >>)

Uwaga: Instrukcje oddzielamy przecinkami lub piszemy w osobnych wierszach Średniki na końcu instrukcji powodują brak wyświetlenia echa instrukcji na ekranie.

Instrukcje sterujące w MATLABIE

Instrukcja warunkowa if warunek1 instrukcje (gdy spełniony warunek1) elseif warunek2 instrukcje (gdy spełniony warunek2) else instrukcje (gdy niespełnione warunki) end

a == 0 (czy równe? – wartość prawda lub fałsz) Przykłady warunków – użycie operatorów porównania: a == 0 (czy równe? – wartość prawda lub fałsz) b<c 2*a >= 5 x ~= 5 (różne od.. ~ to operator negacji

Przykład 1: if i>0 disp(i); end; … poprzednie instrukcje ustalające wartość zmiennej i if i>0 disp(i); end; jeżeli i jest większe od 0 to wyświetl wartość i, jeśli nie to "nic nie rób"

Przykład 2: a = 1 b = 6 c = 3 delta = b^2 - 4 * a *c; if delta<0 disp ('delta jest ujemne') else disp(delta) end; dopiero end kończy instrukcję

Przykład 3: if x>0 && x<10 disp ('w przedziale 0 10') else obliczamy jakieś x if x>0 && x<10 disp ('w przedziale 0 10') else disp('poza przedziałem') end; && operator koniunkcji || operator alternatywy jak w JavaScript

Instrukcja iteracyjna („pętla liczona”) for zmienna = wartość_pocz:krok: wartość_końcowa, instrukcja, …. end

Przykład prostych pętli: 1 4 9 16 25 36 49 64 81 100 %generujemy tablicę for i= 1:1:10, a(i) = i^2; end; disp(a) suma=0; suma=suma+a(i); disp('suma=') disp(suma)

Przykład 4 ("zagnieżdżanie" iteracji): for i= 1:1:5, for j = 1:1:5, a(i , j) = i*j %jakieś wyrażenie f(i,j) end 1 2 3 4 5 6 8 10 9 12 15 16 24 32 20 25

Przykład 6 (sumowanie elementów w tablicy dwuwymiarowej): suma = 0; for i= 1:1:5, for j = 1:1:5, a(i , j) = 2*i - 4* j, suma=suma+a(i , j); end disp(suma)

Przykład 6b (sumowanie dodatnich elementów w tablicy dwuwymiarowej): suma = 0; for i= 1:1:5, for j = 1:1:5, a(i , j) = 2*i - 4* j, if a(i,j)>0 suma=suma+a(i , j); end; end disp(suma)

Przykład 7 (wielokrotny test – wyznaczanie największego elementu) A=rand(20); %losowe wypełnienie wektora maks=A(1) %założenie for i= 2:1:20, if A(i)>maks maks=A(i) end disp(maks) badamy elementy od 2 do ostatniego

Podstawowe różnice Javascript vs. Matlab operatory składania ++  += = /= *= %= nie ma negacja ! ~ instrukcja warunkowa if (warunek) {instrukcje} else if (warunek2) if warunek instrukcje elseif warunek2 end instrukcja for for (inicjacja; warunek;inkrementacja) { } for licznik=inicjacja:krok:wartosc_koncowa

Operacje symboliczne w Matlabie (Symbolic Tool) syms – tworzenie obiektów symbolicznych diff (funkcja,N) – pochodna N-tego rzędu int(funkcja) – całka nieoznaczona int (funkcja, gr_dolna, gr_gorna) – całka oznaczona Przykład m-pliku syms x %utworzenie zmiennej symbolicznej f= sin(x) %funkcja symboliczna pochodna= diff(f) pochodna2= diff(f,2) calka= int(pochodna) calka_oznaczona = int(f,0,pi)