Metody numeryczne - laboratorium. Matlab 6.1

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

Download "Metody numeryczne - laboratorium. Matlab 6.1"

Transkrypt

1 Metody numeryczne - laboratorium. Matlab 6.1 wersja 2.3 Kwiecień 2002 Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 1

2 Spis treści 1 Matlab - podstawy Wiadomości ogólne Praca z Matlab -em Wyrażenia w Matlab -ie Zmienne Liczby Operatory Funkcje Pliki skryptowe i funkcjne Rysunki w Matlab -ie - polecenia plot i subplot Pliki danych Polecenie save Polecenie load Literatura Nieuniknione błędy Miary błędów Reprezentacja binarna liczby rzeczywistej Zamieniamy całkowitą potęgę do układu binarnego Zamieniamy rzeczywistą mantysę do układu binarnego Liczby użyteczne i nieużyteczne Macierze i operacje na nich, techniki przetwarzania macierzy Mnożenie macierzy Potęgowanie i dzielenie macierzy Transpozycja i sprzężenie macierzy Rząd macierzy Wyznacznik macierzy Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 2

3 3.6 Macierze specjalne Macierz diagonalna (przekątniowa) Macierz jednostkowa Macierz permutacji Macierz trójkątna Macierz odwrotna Macierz symetryczna Macierz ortogonalna Układy równań liniowych Rozwiązanie formalne dla kwadratowej macierzy układu Eliminacja Gaussa Rozwiązanie układu diagonalnego Rozwiązanie układu trójkątnego Eliminacja Gaussa Eliminacja Gaussa z wyszukiwaniem elementu głównego Rozwiązanie układu z użyciem opratora dzielenia lewostronnego Co robi operator dzielenia lewostronnego? Aproksymacja Aproksymacja linią prostą Aproksymacja Co jeszcze robi operator dzielenia lewostronnego? Interpolacja Interpolacja wielomianami sklejanymi Interpolacja kawałkami liniowa Interpolacja kawałkami sześcienna - Hermite Interpolacja kawałkami sześcienna - splajny Funkcje interpolacyjne Matlab -a Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 3

4 Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 4

5 Wstęp 1. W obliczniach numerycznych (w przeciwieństwie do obliczeń symbolicznych) dopuszczamy błąd w reprezentacji liczby. 2. W celu zaoszczędzenia pamięci komputera stosuje się różne typy zmiennych. 3. Dla potrzeb nauki praktycznego zapoznania się z metodami numerycznymi będziemy stosować program Matlab (MATrix LABoratory), który wykorzystuje tylko jeden typ zmiennych - macierz. A mn = a 11 a a 1n a 21. a a 2n. a m1 a m2... a mn Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 5

6 1. Matlab - podstawy 1.1. Wiadomości ogólne. Matlab umożliwia wykorzystanie metod rachunku macierzowego za pomocą interaktywnego interfejsu i prostego języka poleceń. Wszystkie polecenia są formułowane w trybie tekstowym, a podstawową strukturą danych jest macierz, której elementami mogą być liczby rzeczywiste lub zespolone. W skład interfejsu wchodzą między innymi: Command Window - okno poleceń Command History - okno poprzednich poleceń Launch Pad - okno dostępu do pakietów Matlab -a Current Directory - okno katalogu roboczego Workspace - inoformacje o zmiennych w przestrzeni roboczej Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 6

7 1.2. Praca z Matlab -em Praca z Matlab -em przypomina pracę w typowym systemie operacyjnym (DOS, UNIX) i polega na wydawaniu poleceń, które po zatwierdzeniu są wykonywane przez interpreter. polecenie może być jedno, bądź jest to ciąg poleceń oddzielonych przecinkiem lub średnikiem. pliki, które są używane w pakiecie Matlab mają rozszerzenie *.m w Matlab -ie są rozróżnialne małe i duże litery! Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 7

8 Podstawowe polecenia Matlab -a: Enter wykonanaj polecenie ponowne wyświetlenie polecenia na ekranie help pomoc na dowolny temat help nazwa tematu pomoc na określony temat exit zakończenie pracy z Matlab -em (lub quit) demo pokaz przykładowych zastosowań Matlab -a Polecenia DOS-a: dir type nazwa pliku!notepad wyświetlenie zawartości aktualnego katalogu wyświetlenie zawartości pliku wywołanie Notatnika (lub innego programu) Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 8

9 W Matlab -ie podstawowym poleceniem jest instrukcja przypisania: zmienna = wartość >> x=5 x = 5 >> z=6; jeśli na końcu polecenia zostanie postawiony średnik, to wartość zmiennej nie będzie wyświetlona, zmienna = wyrażenie >> 5+4 ans = 9 >> z=5*7 z = 35 jeśli nie zostanie zdefiniowana zmienna (nie nadana nazwa zmiennej), to Matlab przypisuje jej nazwę zmiennej roboczej ans, Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 9

10 1.3. Wyrażenia w Matlab -ie. Matlab udostępnia użytkownikowi polecenia - komendy, które w odróżnieniu od innych języków programowania związane są z macierzami. Polecenia wykonują operacje na: zmiennych, liczbach, operatorach, funkcjach. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 10

11 Zmienne. Matlab nie wymaga deklaracji typu i wymiarów zmiennych. Automatycznie tworzy zmienną i przydziela jej domyślny obszar pamięci. Jeżeli zmienna już istnieje, Matlab zmienia jej zawartość i w sposób dynamiczny przyporządkowuje jej wymagany obszar pamięci. Polecenie: >> num_students = 25 tworzy macierz 1 1 o nazwie num_students i przechowuje w niej wartość 25. Nazwa zmiennej musi zaczynać się od litery alfabetu, a po niej może występować dowolny znak alfanumeryczny lub znak podkreślenia. Maksymalna długość nazwy zmiennej wynosi 31 znaków. Przy wyborze nazw zmiennych należy pamiętać o tym, że Matlab rozróżnia małe i duże litery. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 11

12 Liczby. Matlab używa konwencjonalną notację dziesiętną, z kropką dziesiętną. W przypadku notacji naukowej litera e służy do określenia wykładnika potęgi dziesięć. W przypadku liczb zespolonych używa się zarówno literę i, jak j przy części urojonej liczby zespolonej. Przykłady liczb w programie Matlab : e e23 1i j 3e5i Wszystkie liczby są zachowywane w formacie długim (z ang. format long). Na komputerach wykorzystujących 32-bitowy procesor odpowiada to dokładności do 16 cyfr znaczących po kropce dziesiętnej i zakresowi od do Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 12

13 Polecenie format kontroluje format liczb wyświetlanych przez program MATLAB. Polecenie jest jedynie odpowiedzialne za sposób wyświetlania liczb, a nie dokładność obliczeń i sposób ich zapamiętywania. Ćwiczenie: Format liczby >> a = polecenie nadania wartości zmiennej a >> a wyświetlenie wartości zmiennej a >> format short e >> a >> format short >> a >> format long >> a >> format long e >> a ustawienie formatu liczb na ustawienie formatu liczb na format format Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 13

14 Operatory. Operatory arytmetyczne (macierzowe i tablicowe) Symbol operacji Znaczenie Symbol operacji Priorytet macierzowej tablicowej operacji ^ potęgowanie.^ najwyższy sprzężenie nie ma najwyższy. transpozycja nie ma najwyższy * mnożenie.* niższy / dzielnie prawostronne./ niższy \ dzielenie lewostronne.\ niższy + dodawanie + najniższy - odejmowanie - najniższy Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 14

15 Operatory logczne Symbol Znaczenie < mniej niż <= mniej niż lub równe > większe niż >= większe niż lub równe == równa się ~= nie równa się & iloczyn logiczny (i) suma logiczna (lub) ~ zaprzeczenie (nie) Uwaga! W języku Matlab tylko liczba zero ma wartość logiczną false - fałsz, pozostałe liczby mają wartość logiczną true - prawda. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 15

16 Funkcje. Matlab udostępnia użytkownikowi szereg standardowych elementarnych funkcji obejmujących m.in. abs, sqrt, exp i sin. Większość tych funkcji akceptuje zespolone argumenty. >> help elfun polecenie wyświetlające listę elementarnych funkcji matematycznych >> help specfun >> help elmat polecenie wyświetlające listę zaawansowanych matematycznych i macierzowych funkcji Niektóre funkcje takie, jak sqrt i sin, są wbudowane w program, dzięki czemu są bardzo efektywne. Inne funkcje takie, jak gamma i sinh, są zewnętrznymi plikami *.m. Użytkownik może przejrzeć kody tych funkcji i ewentualnie poddać je modyfikacjom. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 16

17 Matlab udostępnia również szereg funkcji specjalnych generujących pomocne stałe: pi i liczba urojona 1 j liczba urojona (to samo znaczenie co i) eps odległość od 1.0 do następnej liczby realmin najmniejsza dodatnia liczba realmax największa ujemna liczba Inf nieskończoność ( ) NaN nie jest to liczba (z ang. not a number) >> eps ans = e-016 >>eps = 1.e-6 >>clear eps nazwy powyższych funkcji nie są zastrzeżone, dzięki czemu jest możliwa zmiana ich wartości domyślna wartość funkcji może być odtworzona przy pomocy polecenia Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 17

18 Przykład: >> a=10/0 Warning: Divide by zero. a = Inf Ostrzeżenie: Dzielenie przez zero. >>b=0/0 Warning: Divide by zero. b = NaN >>c=inf-inf c = NaN Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 18

19 Przykład: Wyrażenia z wykorzystaniem wbudowanych funkcji. >>rho = (1+sqrt(5))/2 rho = funkcje sqrt() -, abs() -,... >>a = abs(3+4i) a = 5 >>duzo = exp(log(realmax)) duzo = e+308 >>zbytduzo = pi*duzo zbytduzo = Inf Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 19

20 Ćwiczenie: >> a=1.234; >> size(a) Wypełnij macierze. Sprawdź rezutalt poleceniem whos. polecenie size zwraca wymiar macierzy, zmienna a to macierz o wymiare 1x1 >> clear a polecenie usunięcia zmiennej a z pamięci >> a=[ ; ] wypełnianie macierzy (; jest separatorem wierszy) >> a=[1.1:2.2:7] wypełnianie macierzy (min:skok::max), domyślny skok to 1 >> who polecenie who pokazuje wszystkie zmienne w przestrzeni roboczej >> whos polecenie whos pokazuje wszystkie zmienne i ich rozmiary Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 20

21 Ćwiczenie: Wykonaj polecenia - spróbuj przewidzieć wynik. Sprawdź rezutalt poleceniem whos. >> a=[1,0,0,0,0,1] zapamiętaj rolę przecinka - oddziela on koleje pola macierzy >> b=[2;4;6;10] zapamiętaj rolę średnika - to separator wierszy macierzy >> c=[5 3 5; 6 2-3] spacja pełni rolę taką jak przecinek >> d=[ ] >> e=[ ; ; ] zapamiętaj rolę zmiany linii (Enter) w trakcie wypełniania macierzy, jest ona taka sama jak rola średnika... to znak kontynuacji wiersza Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 21

22 Ćwiczenie: Wykonaj polecenia - spróbuj przewidzieć wynik. Sprawdź rezutalt poleceniem whos. >> t=[4 24 9] >> q=[t 0 t] >> x=[3 6] >> y=[d;x] >> z=[x;d] >> r=[c;x,5] >> c >> c(2,1) >> v=[c(2,1);b] >> a(2,1)=-3 >> c(1,5)=1 zauważ, że elementami macierzy mogą być macierze macierz d była wprowadzone wcześniej i zapamiętana w przestrzeni roboczej nie pomyl średnika z przecinkiem i koniecznie sprawdź poleceniem whos co już masz w pamięci, macierz c zdefinowano wcześniej c(2,1) wskazuje konkretny element macierzy czy wynik tych poleceń jest zaskakujący? Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 22

23 1.4. Pliki skryptowe i funkcjne. Pliki *.M są plikam ASCII, które mogą zawierać: sekwencje poleceń, wywołania innych plików M lub samych siebie, skrypty, czyli ciągi poleceń - pliki-m skryptowe, funkcje tworzone przez użytkownika - pliki-m funkcyjne. Pliki-M funkcyjne zawierają definicje nowych funkcji, które działają na zmiennych lokalnych i globalnych. Komunikują się z przestrzenią roboczą poprzez parametry i zmienne globalne (polecenie global). Pliki-M funkcyjne rozpoczynają się od słowa kluczowego function o następującej składni: function [lista param. wyjść] = nazwa funkcji (lista param. wejść) Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 23

24 Ćwiczenie: 1. Utwórz za pomocą dowolnego edytora ASCII plik o nazwie pit.m 2. Wprowadź do niego następujące polecenia: function z = pit(x,y); % moja funkcja % temp = x.^2 + y.^2; z = sqrt(temp); 3. Zapisz plik w katalogu roboczym. 4. Wykonaj polecenia z wykorzystaniem nowej funkcji pit. 5. Spróbuj wykonać inną własną funkcję. >> pit(3,4) >> a=4, b=6, c=pit(a,b) Wywołaj funkcję na różne znane ci sposoby. Wykonaj polecenie help pit. Zmodyfikuj komentarz (tekst poprzedzony znakiem %) Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 24

25 1.5. Rysunki w Matlab -ie - polecenia plot i subplot. Polecenie plot służy do sporządzania rysunków 2-D i może być wywołane z następującymi parametrami: plot(y) plot(x,y) plot(x,y,s) plot(x,y,s,x1,y1,s1,...) y - wektor wrtości na osi pionowej, na osi poziomej będą kolejne liczby naturalne x - wektor wartości na osi poziomej o tym samym wymiarze co wektor y s - ciąg co najwyżej trzech znaków określających: kolor, rodzaj punktu, typ lini. b niebieski. punkt - ciągła g zielony o koło : kropkowa r czerwony x krzyż -. kreska-kropka c turkusowy + plus -- przerywana m amarantowy * gwiazda y żółty s kwadrat k czarny d diament v^<> trójkąt Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 25

26 Przykład: >> x=-pi:0.1:pi; >> plot(x,sin(x), +-,x,cos(x), * ) pierwsze polecenie wypełnia macierz x w zakresie od π do π co 0.1, drugie rysuje dwie funkcje polecenie sin(x) generuje macierz wartości dla wszystkich warości macierzy x Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 26

27 Polecenie subplot dzieli okno graficzne na mniejsze prostokątne pola. subplot(m,n,p) subplot(mnp) Przykład: >> x = -5:0.01:5; >> subplot(2,2,2), plot(x,sin(x)) >> subplot(2,1,2), plot(x,cos(x)) m,n - ilość pól pionowo i poziomo p - numer aktywnego pola Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 27

28 Polecenia dodatkowe do opisu rysunku: polecenie opis przykład title tytuł title( Moj rysunek ) xlabel opis osi poziomej xlabel( x w cm ) ylabel opis osi pionowej ylabel( f(x) ) legend utworzenie legendy legend( moja linia ) text wstawienie tekstu w punkcie (x, y) text(1,1, moj tekst ) gtext wstawienie tekstu przy pomocy myszy gtext( tekst ) grid wyświetlanie siatki axis skalowanie i wygląd osi axis off, axis on Inne polecenia związane z rysunkiem: hold print clf nowy rysunek nie usunie istniejącego wydruk lub zapis rysunku do pliku wyczyszczenie okna graficznego Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 28

29 Przykład: Rysunek 3-D. >> [x,y] = meshgrid(-2:.2:2, -2:.2:2); >> z = x.* exp(-x.^2 - y.^2); >> mesh(z) Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 29

30 1.6. Pliki danych Polecenie save. Polecenie save pozwala na zapamiętanie zawartości pamięci operacyjnej programu w pliku danych z rozszerzeniem *.MAT, które następnie można wczytać do programu dzięki poleceniu load. save save nazwa pliku save nazwa pliku lista zmiennych nazwa pliku - nazwa pliku do którego zapisżą się dane (domyślnie matlab.mat ), lista zmiennych - lista zmiennych do zapisania (domyślnie wszystkie). Dodatkowe opcje: -ascii w 8-cyfrowym formacie tekstowym -double w 16-cyfrowym formacie tekstowym -tabs elementy macierzy rozdzielone zostają znakami tabulacji -append dopisuje dane do istniejącego pliku *.MAT Uwaga! W jednym pliku tekstowym (ASCII) powinna być zapamiętana jedna zmienna. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 30

31 Przykład: >> clear >> A=[1,2,3;4,5,6;7,8,9]; >> b=12; >> save Saving to: matlab.mat >> clear >> who >> load Loading from: matlab.mat >> who Your variables are: A b zapis zmiennych A i b do pliku matlab.mat czyścimy wszystkie zmienne poleceniem clear, upewniamy się, że to prawda poleceniem who i czytamy zapisane wcześniej zmienne z pliku matlab.mat >> save zmiennaa A >> clear >> load zmiennaa >> who Your variables are: A zapis i odczyt zmiennej A z pliku zmiennaa.mat Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 31

32 Przykład: >> A A = >> save zmiennaa.dat A -ascii -double -tabs >> type zmiennaa.dat e e e e+000 >> whos Name Size Bytes Class A 2x2 32 double array Grand total is 4 elements using 32 bytes Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 32

33 Przykład: >> B=A B = >> clear A >> whos Name Size Bytes Class B 3x3 72 double array Grand total is 9 elements using 72 bytes >> load zmiennaa >> who Your variables are: A B Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 33

34 Przykład: >> save zmienne A B >> clear >> load zmienne B >> who Your variables are: B Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 34

35 Polecenie load. Polecenie load wczytuje pliki binarne oraz pliki tekstowe zawierające dane numeryczne. Plik tekstowy powinien zawierać prostokątną tablicę liczb rozdzielonych spacjami. W pliku tym linia zawiera jeden wiersz macierzy. Każdy z wierszy posiada równą liczbę elementów. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 35

36 Ćwiczenie: linie: Utwórz plik tekstowy magik.dat zawierający następujące cztery >> load magik.dat >> magik wczytuje plik danych i tworzy zmienna magik zawierającą przykładową macierz. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 36

37 1.7. Literatura 1. Matlab 6 - poradnik użytkownika, Bogumił i Zbigniew Mrozek, ISBN X, cena 38zł, 230 stron. 2. Matlab - obliczenia numeryczne i ich zastosowania, Andrzej Zalewski i Rafał Cegieła, ISBN , cena 30zł, 400 stron. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 37

38 2. Nieuniknione błędy. Przykład: >> format long e Polecenie zmiany formatu wyświetlania liczby (help format). >> ans = e+000 >> ans ans = e+000 >> ans ans = e+000 Dlaczego ? >> ans = e+000 Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 38

39 2.1. Miary błędów. błąd bezwzględny = wartość otrzymana wartość prawdziwa błąd względny = wartość otrzymana wartość prawdziwa wartość prawdziwa Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 39

40 2.2. Reprezentacja binarna liczby rzeczywistej. Każdą liczbę można zamienić do następującej postaci, nazywanej znormalizowaną notacją naukową: } {{ } 10 3 mantysa Skończona liczba bitów jest przeznaczana na zapamiętanie liczby, przy czym część bitów b m przeznaczana jest na znormalizowana mantysę z przedziału (0.1,1.0), a część na całkowitą potęgę b p. Zarówno b m jak i b p mogą przyjmować wartości 1 lub bity { }} { b m }{{} znak b m b m b m b m b m } {{ } 52 bity } {{ } mantysa b p }{{} znak b p b p b p b p b p } {{ } 10 bitów } {{ } potęga Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 40

41 2.3. Zamieniamy całkowitą potęgę do układu binarnego p k = p 0 1 k=10 b p k 2 k 1 = p k 1 b p k 2 k 1, gdzie p 0 = potęga Przykład: Niech potęga p 0 = 10. k 2 k 1 b p k p k = p k 1 b p k 2 k Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 41

42 2.4. Zamieniamy rzeczywistą mantysę do układu binarnego m k = m 0 52 b m k k=1 1 2 k = m k 1 b m k 1 2 k, gdzie m 0 = mantysa Przykład: Niech mantysa m 0 = k ( 1 ) k 2 b m k m k = m k 1 b k ( ) k Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 42

43 Ćwiczenie: 1. Rozpakuj plik mn.zip w katalogu:...\toolbox\ 2. Ustaw bieżący katalog (okno Current Directory) na:...\toolbox\mn\bledy. 3. Makra Matlab -a mają rozszerzenie *.m. Sprawdź, czy widoczne jest makro man2bin.m. 4. Kliknij dwa razy w nazwę pliku man2bin.m. Zapoznaj się z jego zawartością: (a) pierwsza linia zawiera zawsze nagłówek funkcji o takiej samej nazwie jak nazwa pliku, (b) linie poprzedzone znakiem % to komentarze, (c) słowa w niebieskim kolorze należa do języka Matlab -a. 5. Opis funkcji wywołuje się przez polecenie help "nazwa_funkcji" w oknie poleceń (Command Window). Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 43

44 2.5. Liczby użyteczne i nieużyteczne. >> relmax >> relmin Sprawdź wartości tych zmiennych. Dalej ich wartości będziemy oznaczać odpowiednio: R max i R min. Zakresy dyskretnej reprezentacji liczb rzeczywistych: przydatność liczb zakres wartości komentarz nieużyteczne (, R max ) przepełnienie (z ang. overflow) użyteczne ( R max, R min ) pełna precyzja mantysy część. użyteczne ( R min, R min ε) gorsza precyzja mantysy nieużyteczne ( R min ε, 0, +R min ε) zero część. użyteczne (+R min ε, +R max ) gorsza precyzja mantysy użyteczne (+R min, +R max ) pełna precyzja mantysy nieużyteczne (+R max, + ) przepełnienie Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 44

45 3. Macierze i operacje na nich, techniki przetwarzania macierzy. Macierz A to tablica elementów a ik na której można wykonać operacje macierzowe. Wskaźnik i = 1,... m oznacza numer wiersza, a k = 1,... n numer kolumny w której znajduje się element. Liczby m n nazywane są rozmiarem macierzy. A = a 11 a a 1n a 21. a a 2n. a m1 a m2... a mn Poznaliśmy na wcześniejszych zajęciach symbole operacji macierzowych: ^ potęgowanie, sprzężenie,. transpozycja, * mnożenie, / dzielenie prawostronne, \ dzielenie lewostronne, + odejmowanie, - odejmowanie. Teraz zajmiemy się nimi bliżej. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 45

46 3.1. Mnożenie macierzy Mnożenie macierzy A o rozmiarze m k przez macierz B o rozmiarze r n jest możliwe jeśli k = r, tzn kiedy ilość kolumn (k) w pierwszej macierzy jest równa ilości wierszy (r) w drugiej macierzy. Definicja mnożenia macierzy (symbol * w Matlab -ie) jest następująca: C = AB c i,j = r k=1 a i,k b k,j Każdy element i-tego wiersza pierwszej macierzy jest mnożony przez j-tą kolumnę drugiej macierzy. Suma wyników mnożeń zapisywana jest w macierzy wynikowej na pozycji (i, j). Własności mnożenia macierzy: A(BC) = (AB)C, A(B + C) = AB + AC, ale na ogół AB BA. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 46

47 Wydanie polecenia C=A*B w Matlab -ie spowoduje wykonanie następującego algorytmu: Algorytm 3.1 Mnożenie macierzy. Wynik: C[m x n] Dane: A[m x r], B[r x n] C = zeros(m,n) for j = 1:m for i = 1:n for k = 1:r C(i,j) = A(i,k) * B(k,j) + C(i,j); end end end Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 47

48 3.2. Potęgowanie i dzielenie macierzy Operacja potęgowania (symbol ^ w Matlab -ie) to krótszy zapis mnożenia macierzy przez samą siebie, czyli A 2 = AA, a A 3 = (AA)A, gdzie A musi być macierzą kwadratową. Operacja odwrotna do mnożenia to dzielenie macierzy. Jeśli C = AB to podobnie jak dla wielkości skalarnych z dzielenia prawostronnego (symbol /) otrzymamy A = C/B oraz przy dzieleniu lewostronnym (symbol \) B = A \ C. Wynik dzielenia macierzy może być nieokreślony. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 48

49 Ćwiczenie: Niech Pomnóż i podziel macierze A = , w = 1 2 3, x = Oblicz y = Aw i z = Ax. Następnie utwórz macierz B = [w, x] i wykonaj mnożenie C = AB. Porównaj kolumny macierzy C z macierzami y i z. Oblicz D = A \ C i porównaj z macierzą B. Podobnie sprawdź, czy E = C/B równa się A? Oblicz F = A \ A, oraz G = A/A. Zauważ, że F i G różnią się rozmiarami. Czy wiesz jakie wartości będą miały elementy na przekątnej macierzy H = B/B? Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 49

50 3.3. Transpozycja i sprzężenie macierzy Dla dowolnej macierzy A o elementach a ij istnieje macierz transponowana A T, której kolumny są wierszami macierzy A. W Matlab -ie symbolem operatora transpozycji są dwa znaki występujące jeden za drugim (bez spacji). A = a 11 a a 1n a 21. a a 2n. a m1 a m2... a mn A T = a 11 a a m1 a 12. a a m2.. a 1n a 2n... a mn Operator sprzężenia działa tak samo jak operator. na macierzach o elementach rzeczywistych, dlatego używany jest zamiennie. Jeśli elementami macierzy są liczby zespolone to sprzężenie macierzy powoduje jej transpozycję i zamianę każdego z elementów na sprzężony.. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 50

51 Przykład: >> A=[1+2i 2 3 4; ]. element a 11 = 1+2i jest liczbą zespoloną A = i >> A=[1+2i 2 3 4; ] liczba sprzężona do 1 + 2i to 1 2i A = i Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 51

52 3.4. Rząd macierzy Rząd macierzy (z ang. rank) A o rozmiarze m n to ilość wierszy lub kolumn liniowo niezależnych (wykłady). W Matlab -ie istnieje polecenie rank, które liczy rząd macierzy (dalej oznaczany przez r). Podobnie jak wszystkie inne obliczenia numeryczne, obliczenie rzędu macierzy są obarczone błędami nieuniknionymi. Rząd macierzy o rozmiarze m n spełnia nierówność r min{m, n}. Jeśli r = min{m, n} mówimy, że macierz ma rząd najwyższy. Przykład: >> A=[1 0 1; 2 1 0; 3 1 1] A = >> rank(a) ans = 2 ta macierz ma niepełny rząd ponieważ 2 < min{3, 3} Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 52

53 3.5. Wyznacznik macierzy Dla każdej macierzy kwadratowej A o rozmiarze n n istnieje liczba nazywana wyznacznikiem, którą oznaczamy symbolem det(a). Jeśli det(a) 0, to macierz nazywa się nieosobliwą. Jeśli, na przykład, rozmiar macierzy jest 2 2 to wyznacznik a det(a) = 11 a 12 a 21 a = a 11a 22 a 12 a W ogólności definicję wyznacznika możemy zapisać poprzez minory M ij, które są wyzacznikami macierzy o rozmiarze n 1 n 1 utworzonymi przez zmazanie i-tego wiersza i j-tej kolumny det(a) = n ( 1) i+j a ij M ij, j=1 gdzie i oznacza jeden z wierszy. Wyznacznik w Matlab-ie obliczymy wydając polecenie det(a). Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 53

54 3.6. Macierze specjalne Ponieważ macierze mogą być dowolnymi tablicami dwuwymiarowymi o elementach liczbowych to istnieją macierze specjalne mające określone własności. Znając własności tych macierzy można uprościć obliczenia. Matlab dostarcza zestaw komend do ich tworzenia. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 54

55 Macierz diagonalna (przekątniowa) Macierz diagonalna ma elementy jedynie na głównej przekątnej C = diag(c 11, c 22,..., c nn ) = c c c nn. Jeżeli pomnożymy dowolną macierz przez macierz diagonalną to otrzymamy efekt skalowania kolumn, a mnożąc w odwrotnej kolejności skalowania wierszy. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 55

56 Przykład: >> x = [1-5]; >> A = diag(x) A = >> B = [1-5; 6 12]; >> y = diag(b) y = 1 12 >> C = ones(2,2}; >> C*A ans = Polecenie Matlab -a diag służy do tworzenia macierzy diagonalnej jeśli argumentem wejściowym jest macierz, której jeden z wymiarów jest równy 1 (wektor). Polecenie diag zwraca elemnty z przekątnej, o ile argumentem jest macierz o wymiarach różnych od 1. Polecenie ones wypełnia macierz jedynkami. Dalej pokazany jest efekt sklowania kolumn poprzez mnożenie z macierzą diagonalna A. Mnożąc AC, otrzymamy efekt sklowania wierszy. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 56

57 Ćwiczenie: Macierze wielo-diagonalne. Poleceni diag(x,k) ma dwa parametry. Pierwszy z nich x to macierz elemntów leżących na przekątnej, a drugi to numer przekątnej macierzy. Brak k oznacza domyślnie 0. Numer 0 przypisany jest do głównej przekątnej, liczby ujemne wskazuja na przekątne poniżej, a dodatnie powyżej głównej przekątnej. Wykonaj polecenie: A = diag(2*ones(4,1)) - diag(ones(3,1),1) - diag(ones(3,1),-1) B = tridiag(-1,2,-1) Tę samą macierz trójdiagonalną można otrzymać poleceniem tridiags, które znajdziesz w podkatalogu Matlab -a...\toolbox\mn\macierze\ Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 57

58 Macierz jednostkowa Macierz jednostkowa to macierz diagonalna o elementach na głownej przekątnej równych I = diag(1, 1,..., 1) = Jeżeli pomnożymy dowolną macierz przez macierz jednostkową to otrzymamy tę samą macierz. A I = I A = A >> I = eye(n) Polecenie eye(n) tworzy macierz jednostkową o rozmiarze n n. >> I = eye(m,n) Polecenie eye(m,n) tworzy macierz podobną do jednostkej o rozmiarze m n. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 58

59 Macierz permutacji Jeżeli w macierzy jednostkowej przestawimy wiersze lub kolumny to otrzymamy macierz permutacji P, na przykład: P = Mnożąc dowolną macierz przez macierz pertmutacji otrzymamy taką samą macierz z tym, że wiersze tej macierzy (lub kolumny) ulegną przestawieniu w taki sam sposób jak przestawione są wiersze (lub kolumny) w macierzy permutacji.. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 59

60 Przykład: >> A = [ ; ; ]; >> P = [1 0 0; 0 0 1; 0 1 0]; >> B = P*A B = >> C = A *P C = Macierz dowolna A i macierz permutacji P Realizacja efeku przestawienia wierszy i kolumn przy uzyciu macierzy permutacji. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 60

61 Macierz trójkątna Przez macierz trójkątną rozumiemy macierz postaci: L = l l 21. l l n1 l n2... l nn, lub R = r 11 r r 1n 0. r r 2n r nn. Macierz L nazywamy macierzą trójkątną lewą (lub dolną), a macierz R - prawą (lub górną). Suma, iloczyn i odwrotność macierzy trójkątnej tego samego rodzaju są dalej macierzami trójkątnymi. Macierze trójkątne mają wiele innych ciekawych własności, które są wykorzystywane przy rozwiązywaniu układów równań. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 61

62 Macierz odwrotna Macierz odwrotna do A onaczana jest przez A 1 i jest to macierz spełniająca następujący warunek: A 1 A = A A 1 = I. Macierz odwrotna jest związana z rozwiązywaniem układów rownań liniowych o których będzie mowa na następnych zajęciach. Polecenie Matlab -a inv(a) liczy macierz odwrotną A 1. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 62

63 Macierz symetryczna Macierz symetryczna to taka macierz dla której spełniony jest następujący warunek: A = A T. Jej elemnty są symetryczne względem głównej przekątnej a ij = a ji. Przykład: >> B=[1 2; 3 4; 5 6]; Macierz B nie jest symetryczna. >> B*B ans = >> B *B ans = Jednym ze sposobów generacji macierzy symetrycznej z dowolnej macierzy jest pomnożenie jej przez macierz transponowaną. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 63

64 Macierz ortogonalna Macierz ortogonalna Q to taka macierz dla której spełniony jest następujący warunek: Q T Q = I. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 64

65 4. Układy równań liniowych. Układ n równań liniowych o n niewiadomych x 1, x 2, x 3,..., x n n k=1 a i,k x k = b i (i = 1, 2,..., n) lub AX = B ma rozwiązanie wtedy i tylko wtedy, gdy macierz układu A i macierz rozszerzona R = [A, B] mają ten sam rząd w przeciwnym przypadku są sprzeczne A = a 11 a a 1n a 21. a a 2n.. a n1 a n2... a nn i R = a 11 a a 1n b 1 a 21. a a 2n.. b 2. a n1 a n2... a nn b n Jeśli rząd macierzy układu rank(a) = n, to dla dowolnej macierzy B istnieje rozwiązanie układu X i jest ono jednoznaczne.. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 65

66 Przykład: Poszukajmy współczyników równania kwadratowego, które aproksymuje krzywą pompy. 120 krzywa pompy h(m) q(m 3 /s) * 10 3 Model (h - wysokość pompowania, q - wydatek pompy): q(m 3 /s) h(m) h = c 1 q 2 + c 2 q + c 3, gdzie c 1, c 2, c 3 są szukanymi niewiadomymi. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 66

67 Podstawmy trzy wybrane punkty (q,h) (patrz rysunek) do modelu = c c 2 + c 3, = c c 2 + c 3, 82.4 = c c 2 + c 3. Po przepisaniu do formy macierzowej otrzymamy: Ax = b gdzie A = , x = c 1 c 2 c 3, b = Ćwiczenie: Zdefiniuj macierz A, b i wykonaj A 1 b poleceniem: >> x = inv(a)*b. Otrzymasz c 1 = , c 2 = c 3 = 116. Wykonaj wykres funkcji h(q) w zakresie q = (0, ). Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 67

68 4.1. Rozwiązanie formalne dla kwadratowej macierzy układu. Formalne rozwiązanie układu równań A X = B to gdzie rozmiar A jest n n. X = A 1 B Nie rozwiązuj A X = B szukając A 1 i mnożąc przez B Jeśli widzisz: X = A 1 B, to szukaj: rozwiązania A X = B przez eliminacje Gaussa lub inny podobny algorytm. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 68

69 4.2. Eliminacja Gaussa. Celem eliminacji Gaussa jest zamiana dowolnego układu równań (n n) na równoważny układ, którego macierz jest trójkątna. Przyjrzyjmy się przykładom rozwiązań dla układów o macierzy diagonalnej i trójkątnej. Do każdego przypadku prezentowany jest przykładowy algorytm, który należy szczgółowo przeanalizować. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 69

70 Rozwiązanie układu diagonalnego Przykład: Układ zdefinowany przez A = jest równoważny z , b = x 1 = 1 3x 2 = 6 5x 3 = 15 x 1 = 1 x 2 = 6 3 = 2 x 3 = 15 5 = 3. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 70

71 Algorytm 4.1 Układ diagonalny. Wynik: x[n x 1] Dane: A[n x n], b[n x 1] for i = 1:n x(i) = b(i) / A(i,i) end W Matlab -ie: >> A =... >> b =... >> x = b./diag(a) A to macierz diagonalna. To jest jedyny przypadek, gdzie dzielenie elementu przez element (./) jest wykorzystane do rozwiązywania układu równań. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 71

72 Rozwiązanie układu trójkątnego Przykład: Układ zdefinowany przez A = , b = jest równoważny z 2x 1 + x 2 + 2x 3 = 9 3x 2 + 2x 3 = 1 4x 3 = 8 x 3 = 8 4 = 2 x 2 = 1 3 ( 1 + 2x 3) = 3 3 = 1 x 1 = 1 2 (9 x 2 2x 3 ) = 4 2 = 2 Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 72

73 Algorytm 4.2 Układ trójkątny górny. Proces rozwiązywania polega na zastosowaniu metody podstawiania w odwrotnej kolejności poczynając od x n do x 1. Wynik: x[n x 1] Dane: U[n x n], b[n x 1] x(n) = b(n) / U(n,n) for i = n-1:1 s = b(i) for j = i+1:n s = s - U(i,j) * x(j) end x(i) = s / U(i,i) end Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 73

74 Algorytm 4.3 Układ trójkątny dolny. Proces rozwiązywania polega na zastosowaniu metody podstawiania w kolejności poczynając od x 1 do x n. Wynik: x[n x 1] Dane: L[n x n], b[n x 1] x(1) = b(1) / L(1,1) for i = 2:n s = b(i) for j = 1:i-1 s = s - L(i,j) * x(j) end x(i) = s / L(i,i) end Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 74

75 Eliminacja Gaussa Przykład: Rozwiążemy układ o macierzy: A = , b = W tym celu utworzymy macierz rozszerzoną Ã = [Ab] = a następnie będziemy przekształcać wiersze macierzy trójkątną. Ã tak by otrzymać macierz Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 75

76 Dodajmy 2 razy wiersz 1 do wierza 2, a następnie dodajmy 1 raz wiersz 1 do 3, by poniżej głownej przekątnej w kolumnie 1 otrzymac zera. Ã (1) = Teraz zajmiemy się kolumną drugą. Należy odjąć od wiersza 3 wiersz 2. Ã (2) = x 3 = 2 2 = 1 x 2 = 1 2 ( 9 5x 3) = 2 x 1 = 1 3 ( 1 2x 2 + x 3 ) = 2 Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 76

77 Algorytm 4.4 Eliminacja Gaussa. Wynik: U[n x n] Dane: A[n x n] U=[A b] for i = 1:n-1 for k = i+1:n for j = i:n+1 U(k,j) = U(k,j) - (U(k,i) / U(i,i)) * U(i,j) end end end Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 77

78 Eliminacja Gaussa z wyszukiwaniem elementu głównego Przykład: Rozwiążemy inny układ o macierzy: A = , b = Podobnie jak poprzednio utworzymy macierz rozszerzoną i tak jak poprzednio spróbujemy utworzyć macierz trójkątną. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 78

79 Odejmiemy 1/2 raza wiersz 1 od wiersza 2, dodamy 3/2 raza 1 do 3 i 1/2 raza wiersz 1 do okazuje się że element (22) na głównej przekatnej (element główny) jest równy zero co uniemożliwia dalsze operacje. Dlatego musimy wykonać dodatkowe przestawienie wiersza 2 i Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 79

80 Kontynuujemy eliminację: odejmujemy 1 raz wiersz 2 od 3. Ponownie na przekątnej pojawia się zero zatem przestawiamy wiersz 3 z Dalej już postępujemy tak jak poprzednio. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 80

81 Algorytm 4.5 Eliminacja Gaussa z wyszukiwaniem elementu głównego. Wynik: U[n x n] Dane: A[n x n] U=[A b] for i = 1:n-1 for k=i:n poszukaj numer wiersza j gdzie max( U(j,i) )>=max( U(k,i) ) przestaw wiersz U(j,:) z wierszem U(i,:) end for i = i+1:n for j = i:n+1 U(k,j) = U(k,j) - (U(k,i) / U(i,i)) * U(i,j) end end end Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 81

82 Rozwiązanie układu z użyciem opratora dzielenia lewostronnego. Dla równania skalarnego wiemy, że na przykład 5x = 20 x = (5) 1 20 = 4 Analogicznie możemy zapisać dla układu równań Ax = b x = A 1 b gdzie A 1 b jest formalnym rozwiązaniem równań. W notacji Matlab -a polecenie rozwiązania układu ma postać następującą x = A\b Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 82

83 4.3. Co robi operator dzielenia lewostronnego? Dla zadanej macierzy A o rozmiarze n n i wektora b operator \ wykonuje szereg testów macierzy A. Matlab wybiera metodę rozwiązania układu tak by błędy numeryczne i ilość operacji były najmniejsze. 1. Sprawdza, czy macierz można przedstawić w postaci trójkątnej? Jeśli tak, to przyjmuje metodę trójkątów. 2. Sprawdza, czy A jest symetryczna i dodatnia? Jeśli tak, to przyjmuje metodę Choleskiego. 3. Jeśli metoda Choleskiego zawiedzie lub jeśli macierz jest niesymetryczna, to Matlab stosuje metodę rozkładu macierzy A na dolną i górną LU. Limity maszynowe: zapotrzebowanie na RAM n 2, czas obliczeń n 3. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 83

84 5. Aproksymacja. Zajmiemy się szukaniem krzywej y = F (x), dla zadanej liczby punktów (x i, y i ) dla i = 1,..., m F (x) = c 1 f 1 (x) + c 2 f 2 (x) + + c n f n (x), gdzie c j to nieznane współczynniki, a funkcje f j (x) nazywane są funkcjami bazowymi, gdzie j = 1,..., n. Aproksymację stosujemy wówczas, gdy ilość zadanych punktów m jest większa od ilości nieznanych współczynników n krzywej F (x). Zwykle nie można przeprowadzić krzywej przez wszystkie zadane punkty. Szuka się wówczas najlepszej krzywej, w sensie minimum kwadratu błędów. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 84

85 5.1. Aproksymacja linią prostą Rozważmy najprostszy przypadek, kiedy f 1 (x) = x, f 2 (x) = 1, a pozostałe funkcje f j (x) = 0. Wówczas dla kolejnych punktów (x i, y i ) mamy c 1 x 1 +c 2 = y 1 c 1 x 2. +c 2 = y 2. lub c n x m +c 2 = y m x 1 1 x x m 1 Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 85 c 1 c 2 = Zatem w postaci macierzowej zapiszemy Ac = y. Ponieważ równanie to dla m > n nie ma dokładnego rozwiązania możemy zapisać r = y Ac, gdzie r jest wektorem pionowych odległości pomiędzy szukaną krzywą i zadanymi punktami. Będziemy szukali takiego rowiązania dla którego m i=1 y 1 y 2. y m r 2 i lub macierzowo r T r ma wartość minimalną.

86 Ponieważ r = y Ac, to iloczyn r T r możemy zapisać w następującej formie: Iloczyn ten osiąga minimum jeśli r T r = (y Ac) T (y Ac) = y T y y T Ac c T A T y + c T A T Ac = y T y 2y T Ac + c T A T Ac. d dc (rt r) = 0 A T y + A T Ac = 0, co ostatecznie prowadzi do równaia (A T A)c = A T y, które nazywane jest równaniem aproksymacji. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 86

87 Przykład: Aproksymacja liniowa. Szukamy linii prostej aproksymującej punkty (1 1), (2 2), (4 2), (5 3). >> x=[ ]; y=[ ]; >> x=x ; y=y ; >> A=[x ones(size(x))]; >> c=(a *A)\(A *y) c = >> ya=c(1)*x+c(2) >> plot(x,y, o,x,ya, - ) >> grid on >> xlabel( x ) >> ylabel( y=f(x) ) Definiujemy wektory x i y ze współrzędnymi punktów. Ponieważ dalej potrzebne są wektory kolumnowe, wykonujemy transpozycję. Następnie wypełniamy macierz A, która w pierwszej kolumnie ma wektor x, a w drugiej wektor jedynkowy o rozmiarze macierzy x. Macierz współczynników c liczymy wykorzystując równanie aproksymacji i operator dzielenia lewostronnego \. Znając współczynniki c 1, c 2 możemy obliczyc nowe aproksymowane wartości ya i przedstawić wyniki graficznie. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 87

88 5.2. Aproksymacja Można wykazać, że równanie aproksymacji (A T A)c = A T y jest prawdziwe dla dowolnej funkcji aproksymacji w postaci: F (x) = c 1 f 1 (x) + c 2 f 2 (x) + + c n f n (x), gdzie c j to nieznane współczynniki, f j (x) to funkcje bazowe, a macierze A, c i y mają następującą postać: A = f 1 (x 1 ) f 2 (x 1 )... f n (x 1 ) f 1 (x 2 ). f 2 (x 2 )..... f n (x 2 ). f 1 (x m ) f 2 (x m )... f n (x m ), c = c 1 c 2. c n, = y 1 y 2. y m. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 88

89 Przykład: Aproksymacja Szukamy funkcji w postaci y = c 1 x + c 2x, która aproksymuje następujące punkty: x y Znajdziesz je w pliku...\mn\dane\aprox.dat. >> load aprox.dat >> x=aprox(:,1) >> y=aprox(:,2) Ładowanie danych z pliku i kopiowanie danych do odpowiednich wektorów kolumnowych x, y. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 89

90 >> A=[1./x x]; >> c=(a *A)\(A *y) c = >> xa=linspace(min(x),max(x),100); >> xa=xa ; >> Aa=[1./xa xa]; >> ya=aa*c; >> plot(x,y, o,xa,ya, - ) >> xlabel( x ) >> ylabel( y=f(x) ) >> legend( dane, aproksymacja ) Przygotowanie macierzy A i rozwiązania równania aproksymacji. Polecenie linspace generyje wektor wierszowy o elementach równoodleglych w zadanym zakresie. Zmienne z literą a w nazwie odnoszą się do wartości aproksymowanych. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 90

91 5.3. Co jeszcze robi operator dzielenia lewostronnego? Rozwiązanie równania macierzowego Ax = y, polega na wyborze właściwej metody i jej zostosowaniu. Wiemy już, że dla zadanej macierzy A o rozmiarze n n i wektora y, operator \ wykonuje szereg testów macierzy A. Matlab wybiera metodę rozwiązania układu tak by błędy numeryczne i ilość operacji były najmniejsze. Matlab dzięki wbudowanej wiedzy z algebry potrafi znacznie więcej. x = A\y = (A *A)\(A *y) W przypadku kiedy macierz układu A ma rozmiar m n, gdzie m > n automatycznie zakłada, że użytkownik chce otrzymać aproksymację rozwiązania z najmniejszym błędem w sensie minimum kwadratu błędów. Zatem w Matlab - ie równanie aproksymacji jest wywoływane bez udziału użytkownika, wystaryczy użyć magicznego dzielenia lewostronnego. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 91

92 6. Interpolacja. dane aproksymacja interpolacja Interpolacja polega (podobnie jak aproksymacja) na poszukiwaniu funkcji pomiędzy znanymi punktami. W przeciwieństwie do aproksymacji funkcja ta przechodzi przez te punkty. Jeżeli poszukujemy funkcji poza zakresem zadanych punktów to mówimy o ekstrapolacji. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 92

93 Wybrane metody interpolacji Najblizszy sasiad Kawalkami liniowo Kawalkami kwadratowo Splajny kwadratowo Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 93

94 Ćwiczenie: Interpolacja wielomianem. P n 1 (x) = c 1 x n 1 + c 2 x n c n 1 x + c n >> rok=[ ]; >> cena=[ ]; >> plot(rok,cena, o ) >> A=vander(rok);% funkcja MATLABA [x^n x^n-1.. 1], n wym. x >> cena=cena ; % macierz prawych stron układu >> c=a\cena % otrzymasz ostrzeżenie - złe skalowanie >> xnowe=linspace(min(rok),max(rok),100); >> ynowe=polyval(c,xnowe); >> plot(rok,cena, o,xnowe,ynowe, - ) >> rokumowny=rok-mean(rok) % poprawienie skalowania macierzy A Wykonaj ponownie wszystkie obliczenia dla zmiennej niezależnej (przesuniętej) rokumowny. Na kartce Zadania do zaliczenia (5) w polu Zadanie 2 wpisz obliczone c i. W katalogu...\toolbox\mn\interpolacja znajdziesz pomocną funkcję Idemo_02. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 94

95 Ćwiczenie: Interpolacja wielomianem Lagrange-a. P n 1 (x) = y 1 L 1 (x) + y 2 L 2 (x) + + y n L n (x), gdzie L j (x) = n k=1,k j x x k x j x k W katalogu...\toolbox\mn\interpolacja znajdziesz funkcję ILagrange. Korzystając z tej funkcji, oblicz cenę benzyny w 1991 roku dla danych z poprzedniego przykładu. Ćwiczenie: Interpolacja wielomianem Newton-a. P n 1 (x) = c 1 +c 2 (x x 1 )+c 3 (x x 1 )(c x 2 )+ +c n (x x 1 )(x x 2 ) (x x n ) W katalogu...\toolbox\mn\interpolacja znajdziesz funkcję INewton. Korzystając z tej funkcji, oblicz cenę benzyny w 1993 roku. Funkcje Idemo_03 i Idemo_04 demonstrują wykorzystanie funkcji: ILagrange, INewton. Uwaga! Nie trzeba rozwiązywać układu równań. Jest to zaleta tych metod. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 95

96 Porównanie interpolacji: 10 5 Flops 10 4 wielomian Lagrange Newton liczba interpolowanych punktów Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 96

97 Ćwiczenie: Zbadaj wpływ stopnia wielomianu użytego do interpolacji na jej jakość. Skorzystaj z funkcji Idemo_05. Wniosk wpisz na kartce Zadania do zaliczenia (5) w polu Zadanie Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 97

98 6.1. Interpolacja wielomianami sklejanymi. Interpolacja wielomianami sklejanymi to praktyczne rozwiązanie konieczności zwiększania stopnia wielomianu. Zamiast stosować jeden wielomian dla wszystkich danych punktów, metoda sklejania polega na użyciu wielu wielomianów niskiego stopnia P i (x) dla przedziału danych x i x x i+1. Punkty łączenia wielomianów będziemy nazywali węzłami. W węzłach możemy żądać spełnienia określonych warunków np. na ciągłość pochodnych. Pierwsza Poprzednia Następna Ostatnia Wróć Cały ekran Zamknij Wyjdź Strona: 98

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

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

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

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

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

Pakiety matematyczne INP2708W,L

Pakiety matematyczne INP2708W,L Pakiety matematyczne INP2708W,L dr inż. Marek Teuerle Katedra Matematyki Stosowanej Centrum im. Hugona Steinhausa Wydział Matematyki PWr Wrocław, 23 lutego 2016 r. Informacje Marek Teuerle - bud. C-11,

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

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

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Laboratorium Komputerowego Wspomagania Analizy i Projektowania Laboratorium Komputerowego Wspomagania Analizy i Projektowania Ćwiczenie 2. Podstawowe operacje macierzowe. Opracował: dr inż. Sebastian Dudzik 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z tworzeniem

Bardziej szczegółowo

φ(x 1,..., x n ) = a i x 2 i +

φ(x 1,..., x n ) = a i x 2 i + Teoria na egzamin z algebry liniowej Wszystkie podane pojęcia należy umieć określić i podać pprzykłady, ewentualnie kontrprzykłady. Ponadto należy znać dowody tam gdzie to jest zaznaczone. Liczby zespolone.

Bardziej szczegółowo

Podstawy obsługi pakietu GNU octave.

Podstawy obsługi pakietu GNU octave. Podstawy obsługi pakietu GNU octave. (wspomaganie obliczeń inżynierskich) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z obsługą pakietu GNU octave. W ćwiczeniu wprowadzono opis podstawowych komend

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji Macierze - obliczanie wyznacznika macierzy z użyciem permutacji I LO im. F. Ceynowy w Świeciu Radosław Rudnicki joix@mat.uni.torun.pl 17.03.2009 r. Typeset by FoilTEX Streszczenie Celem wykładu jest wprowadzenie

Bardziej szczegółowo

Wstęp do analizy matematycznej

Wstęp do analizy matematycznej Wstęp do analizy matematycznej Andrzej Marciniak Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii informatycznych i ich zastosowań w

Bardziej szczegółowo

ARKUSZ KALKULACYJNY MICROSOFT EXCEL cz.2 Formuły i funkcje macierzowe, obliczenia na liczbach zespolonych, wykonywanie i formatowanie wykresów.

ARKUSZ KALKULACYJNY MICROSOFT EXCEL cz.2 Formuły i funkcje macierzowe, obliczenia na liczbach zespolonych, wykonywanie i formatowanie wykresów. Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni z przedmiotu Podstawy Informatyki Kod przedmiotu: ENS1C 100 003 oraz ENZ1C 100 003 Ćwiczenie pt. ARKUSZ KALKULACYJNY

Bardziej szczegółowo

Elementy Projektowania Inżynierskiego MATLAB Wprowadzenie.

Elementy Projektowania Inżynierskiego MATLAB Wprowadzenie. Elementy Projektowania Inżynierskiego MATLAB Wprowadzenie. 1. Wprowadzenie. Pakiet MATLAB (MATrix LABoratory) jest interakcyjnym środowiskiem umożliwiającym wykonywanie różnorakich obliczeń numerycznych.

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

Algebra liniowa z geometrią

Algebra liniowa z geometrią Algebra liniowa z geometrią Maciej Czarnecki 15 stycznia 2013 Spis treści 1 Geometria płaszczyzny 2 1.1 Wektory i skalary........................... 2 1.2 Macierze, wyznaczniki, układy równań liniowych.........

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

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Temat: Arkusze kalkulacyjne. Program Microsoft Office Excel. Podstawy

Temat: Arkusze kalkulacyjne. Program Microsoft Office Excel. Podstawy Temat: Arkusze kalkulacyjne. Program Microsoft Office Excel. Podstawy Arkusz kalkulacyjny to program przeznaczony do wykonywania różnego rodzaju obliczeń oraz prezentowania i analizowania ich wyników.

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

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie

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

ECTS (Część 2. Metody numeryczne) Nazwa w języku angielskim: Algorithms and data structures.

ECTS (Część 2. Metody numeryczne) Nazwa w języku angielskim: Algorithms and data structures. Algorytmy i struktury danych. Metody numeryczne ECTS (Część 2. Metody numeryczne) Nazwa w języku angielskim: Algorithms and data structures. dzienne magisterskie Numerical methods. (Part 2. Numerical methods)

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1)

JAVAScript w dokumentach HTML (1) JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript mogą być zagnieżdżane w dokumentach HTML. Instrukcje JavaScript

Bardziej szczegółowo

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

KADD Metoda najmniejszych kwadratów funkcje nieliniowe Metoda najmn. kwadr. - funkcje nieliniowe Metoda najmniejszych kwadratów Funkcje nieliniowe Procedura z redukcją kroku iteracji Przykłady zastosowań Dopasowanie funkcji wykładniczej Dopasowanie funkcji

Bardziej szczegółowo

Wartości i wektory własne

Wartości i wektory własne Dość często przy rozwiązywaniu problemów naukowych czy technicznych pojawia się konieczność rozwiązania dość specyficznego układu równań: Zależnego od n nieznanych zmiennych i pewnego parametru. Rozwiązaniem

Bardziej szczegółowo

Wprowadzenie do Scilab: podstawy języka Scilab

Wprowadzenie do Scilab: podstawy języka Scilab Wprowadzenie do Scilab: podstawy języka Scilab Magdalena Deckert, Izabela Szczęch, Barbara Wołyńska, Bartłomiej Prędki Politechnika Poznańska, Instytut Informatyki Narzędzia Informatyki Narzędzia Informatyki

Bardziej szczegółowo

SCILAB. Wprowadzenie do Scilaba: http://www.scilab.org/content/download/1754/19024/file/introscilab.pdf

SCILAB. Wprowadzenie do Scilaba: http://www.scilab.org/content/download/1754/19024/file/introscilab.pdf SCILAB Wprowadzenie 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

Bardziej szczegółowo

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript

Bardziej szczegółowo

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System

Bardziej szczegółowo

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy

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

Równania liniowe i nieliniowe

Równania liniowe i nieliniowe ( ) Lech Sławik Podstawy Maximy 11 Równania.wxmx 1 / 8 Równania liniowe i nieliniowe 1 Symboliczne rozwiązanie równania z jedną niewiadomą 1.1 solve -- Funkcja: solve() MENU: "Równania->Rozwiąż..."

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

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

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne

Bardziej szczegółowo

A,B M! v V ; A + v = B, (1.3) AB = v. (1.4)

A,B M! v V ; A + v = B, (1.3) AB = v. (1.4) Rozdział 1 Prosta i płaszczyzna 1.1 Przestrzeń afiniczna Przestrzeń afiniczna to matematyczny model przestrzeni jednorodnej, bez wyróżnionego punktu. Można w niej przesuwać punkty równolegle do zadanego

Bardziej szczegółowo

LXIII Olimpiada Matematyczna

LXIII Olimpiada Matematyczna 1 Zadanie 1. LXIII Olimpiada Matematyczna Rozwiązania zadań konkursowych zawodów stopnia drugiego 17 lutego 2012 r. (pierwszy dzień zawodów) Rozwiązać w liczbach rzeczywistych a, b, c, d układ równań a

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

Ćwiczenie nr 2 - Rysowanie precyzyjne

Ćwiczenie nr 2 - Rysowanie precyzyjne Ćwiczenie nr 2 - Rysowanie precyzyjne Materiały do kursu Skrypt CAD AutoCAD 2D strony: 37-46. Wprowadzenie Projektowanie wymaga budowania modelu geometrycznego zgodnie z określonymi wymiarami, a to narzuca

Bardziej szczegółowo

Wykład 2. 18.03.2007.

Wykład 2. 18.03.2007. KOMPUTEROWE WSPOMAGANIE OBLICZEŃ Wykład 2. 18.03.2007. Wykresy i obliczenia numeryczne w Excelu dr inż. Paweł Surdacki Instytut Podstaw Elektrotechniki i Elektrotechnologii Politechniki Lubelskiej 1 LITERATURA

Bardziej szczegółowo

Programowanie 3 - Funkcje, pliki i klasy

Programowanie 3 - Funkcje, pliki i klasy Instytut Informatyki Uniwersytetu Śląskiego Laborki funkcja; parametry funkcji; typ zwracany; typ void; funkcje bez parametrów; napis.length() - jako przykład funkcji. Zadania funkcja dodająca dwie liczby;

Bardziej szczegółowo

MATEMATYKA I SEMESTR ALK (PwZ) 1. Sumy i sumy podwójne : Σ i ΣΣ

MATEMATYKA I SEMESTR ALK (PwZ) 1. Sumy i sumy podwójne : Σ i ΣΣ MATEMATYKA I SEMESTR ALK (PwZ). Sumy i sumy podwójne : Σ i ΣΣ.. OKREŚLENIE Ciąg liczbowy = Dowolna funkcja przypisująca liczby rzeczywiste pierwszym n (ciąg skończony), albo wszystkim (ciąg nieskończony)

Bardziej szczegółowo

do instrukcja while (wyrażenie);

do instrukcja while (wyrażenie); Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie

Bardziej szczegółowo

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna Dane, informacja, programy Kodowanie danych, kompresja stratna i bezstratna DANE Uporządkowane, zorganizowane fakty. Główne grupy danych: tekstowe (znaki alfanumeryczne, znaki specjalne) graficzne (ilustracje,

Bardziej szczegółowo

Propozycje rozwiązań zadań otwartych z próbnej matury rozszerzonej przygotowanej przez OPERON.

Propozycje rozwiązań zadań otwartych z próbnej matury rozszerzonej przygotowanej przez OPERON. Propozycje rozwiązań zadań otwartych z próbnej matury rozszerzonej przygotowanej przez OPERON. Zadanie 6. Dane są punkty A=(5; 2); B=(1; -3); C=(-2; -8). Oblicz odległość punktu A od prostej l przechodzącej

Bardziej szczegółowo

KURS WSPOMAGAJĄCY PRZYGOTOWANIA DO MATURY Z MATEMATYKI ZDAJ MATMĘ NA MAKSA. przyjmuje wartości większe od funkcji dokładnie w przedziale

KURS WSPOMAGAJĄCY PRZYGOTOWANIA DO MATURY Z MATEMATYKI ZDAJ MATMĘ NA MAKSA. przyjmuje wartości większe od funkcji dokładnie w przedziale Zestaw nr 1 Poziom Rozszerzony Zad.1. (1p) Liczby oraz, są jednocześnie ujemne wtedy i tylko wtedy, gdy A. B. C. D. Zad.2. (1p) Funkcja przyjmuje wartości większe od funkcji dokładnie w przedziale. Wtedy

Bardziej szczegółowo

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76 . p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować

Bardziej szczegółowo

Języki skryptowe w programie Plans

Języki skryptowe w programie Plans Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów

Bardziej szczegółowo

Matlab, zajęcia 2. Dwukropek. Tomasz Mostowski 28.luty 2008

Matlab, zajęcia 2. Dwukropek. Tomasz Mostowski 28.luty 2008 Matlab, zajęcia 2. Dwukropek W Matlabie bardzo przydatnym operatorem jest dwukropek ma on kilka znaczeń to - (do) w sensie np. od do, Oznaczenie przedziału Oznaczenie całego zakresu Popatrzmy jak to działa

Bardziej szczegółowo

1. Liczby zespolone. Jacek Jędrzejewski 2011/2012

1. Liczby zespolone. Jacek Jędrzejewski 2011/2012 1. Liczby zespolone Jacek Jędrzejewski 2011/2012 Spis treści 1 Liczby zespolone 2 1.1 Definicja liczby zespolonej.................... 2 1.2 Postać kanoniczna liczby zespolonej............... 1. Postać

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

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA III ZAKRES ROZSZERZONY (90 godz.) , x

WYMAGANIA EDUKACYJNE Z MATEMATYKI KLASA III ZAKRES ROZSZERZONY (90 godz.) , x WYMAGANIA EDUACYJNE Z MATEMATYI LASA III ZARES ROZSZERZONY (90 godz.) Oznaczenia: wymagania konieczne (dopuszczający); P wymagania podstawowe (dostateczny); R wymagania rozszerzające (dobry); D wymagania

Bardziej szczegółowo

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych: Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym

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

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH

REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH REPREZENTACJA LICZBY, BŁĘDY, ALGORYTMY W OBLICZENIACH Transport, studia I stopnia rok akademicki 2012/2013 Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Adam Wosatko Ewa Pabisek Pojęcie

Bardziej szczegółowo

Powtórka algorytmów. Wprowadzenie do języka Java.

Powtórka algorytmów. Wprowadzenie do języka Java. Powtórka algorytmów. Wprowadzenie do języka Java. Przypomnienie schematów blokowych BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż

Bardziej szczegółowo

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb.

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb. 2. Arytmetyka komputera. Systemy zapisu liczb: dziesietny, dwójkowy (binarny), ósemkowy, szesnatskowy. Podstawowe operacje arytmetyczne na liczbach binarnych. Zapis liczby binarnej ze znakiem. Reprezentacja

Bardziej szczegółowo

1.1. Pozycyjne systemy liczbowe

1.1. Pozycyjne systemy liczbowe 1.1. Pozycyjne systemy liczbowe Systemami liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Dla dowolnego

Bardziej szczegółowo

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia. ARYTMETYKA BINARNA ROZWINIĘCIE DWÓJKOWE Jednym z najlepiej znanych sposobów kodowania informacji zawartej w liczbach jest kodowanie w dziesiątkowym systemie pozycyjnym, w którym dla przedstawienia liczb

Bardziej szczegółowo

Arkusz kalkulacyjny. mgr inż. Adam Bielański Wydział Prawa i Administracji UJ, Pracownia Komputerowa

Arkusz kalkulacyjny. mgr inż. Adam Bielański Wydział Prawa i Administracji UJ, Pracownia Komputerowa Arkusz kalkulacyjny mgr inż. Adam Bielański Wydział Prawa i Administracji UJ, Pracownia Komputerowa Arkusz kalkulacyjny to program komputerowy przedstawiający dane, głównie liczbowe, w postaci zestawu

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Operatory arytmetyczne

Operatory arytmetyczne Operatory arytmetyczne Działanie Znak Dodawanie + Odejmowanie - Mnożenie macierzowe * Mnożenie tablicowe.* Dzielenie macierzowe / Dzielenie tablicowe./ Potęgowanie macierzowe ^ Potęgowanie tablicowe.^

Bardziej szczegółowo

dr inż. Ryszard Rębowski 1 WPROWADZENIE

dr inż. Ryszard Rębowski 1 WPROWADZENIE dr inż. Ryszard Rębowski 1 WPROWADZENIE Zarządzanie i Inżynieria Produkcji studia stacjonarne Konspekt do wykładu z Matematyki 1 1 Postać trygonometryczna liczby zespolonej zastosowania i przykłady 1 Wprowadzenie

Bardziej szczegółowo

Wprowadzenie do metod numerycznych Wykład 3 Metody algebry liniowej I Wektory i macierze

Wprowadzenie do metod numerycznych Wykład 3 Metody algebry liniowej I Wektory i macierze Wprowadzenie do metod numerycznych Wykład 3 Metody algebry liniowej I Wektory i macierze Polsko-Japońska Wyższa Szkoła Technik Komputerowych Katedra Informatyki Stosowanej Spis treści Spis treści 1 Wektory

Bardziej szczegółowo

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab Zygmunt Wróbel i Robert Koprowski Praktyka przetwarzania obrazów w programie Matlab EXIT 2004 Wstęp 7 CZĘŚĆ I 9 OBRAZ ORAZ JEGO DYSKRETNA STRUKTURA 9 1. Obraz w programie Matlab 11 1.1. Reprezentacja obrazu

Bardziej szczegółowo

#include void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

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

PRZETWARZANIE I ORGANIZOWANIE DANYCH: ARKUSZ KALKULACYJNY

PRZETWARZANIE I ORGANIZOWANIE DANYCH: ARKUSZ KALKULACYJNY PRZETWARZANIE I ORGANIZOWANIE DANYCH: ARKUSZ KALKULACYJNY Dr inż. Marcin Witczak Uniwersytet Zielonogórski Przetwarzanie i organizowanie danych: arkusz kalkulacyjny 1 PLAN WPROWADZENIA Profesjonalne systemy

Bardziej szczegółowo

Newton vs. Lagrange - kto lepszy?

Newton vs. Lagrange - kto lepszy? Uniwersytet Mikołaja Kopernika Wydział Matematyki i Informatyki Katedra Analizy Matematycznej Agnieszka Rydzyńska nr albumu: 254231 Praca Zaliczeniowa z Seminarium Newton vs. Lagrange - kto lepszy? Opiekun

Bardziej szczegółowo

Środowisko R wprowadzenie. Wykład R1; 14.05.07 Pakiety statystyczne

Środowisko R wprowadzenie. Wykład R1; 14.05.07 Pakiety statystyczne Środowisko R wprowadzenie. Wykład R1; 14.05.07 Pakiety statystyczne Pakiety statystyczne stosowane do analizy danych: SAS SPSS Statistica R S-PLUS 1 Środowisko R Język S- J. Chambers i in. (1984,1988)

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

#include int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

WYDAWNICTWO PAŃSTWOWEJ WYŻSZEJ SZKOŁY ZAWODOWEJ WE WŁOCŁAWKU

WYDAWNICTWO PAŃSTWOWEJ WYŻSZEJ SZKOŁY ZAWODOWEJ WE WŁOCŁAWKU WYDAWNICTWO PAŃSTWOWEJ WYŻSZEJ SZKOŁY ZAWODOWEJ WE WŁOCŁAWKU Karolina Kalińska MATEMATYKA: PRZYKŁADY I ZADANIA Włocławek 2011 REDAKCJA WYDAWNICTWA PAŃSTWOWEJ WYŻSZEJ SZKOŁY ZAWODOWEJ WE WŁOCŁAWKU Matematyka:

Bardziej szczegółowo

1. Wprowadzanie danych z klawiatury funkcja scanf

1. Wprowadzanie danych z klawiatury funkcja scanf 1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),

Bardziej szczegółowo

Instrukcja użytkownika

Instrukcja użytkownika SoftwareStudio Studio 60-349 Poznań, ul. Ostroroga 5 Tel. 061 66 90 641 061 66 90 642 061 66 90 643 061 66 90 644 fax 061 86 71 151 mail: poznan@softwarestudio.com.pl Herkules WMS.net Instrukcja użytkownika

Bardziej szczegółowo

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem Moduł 1 1. Wprowadzenie do języka Python Python jest dynamicznym językiem interpretowanym. Interpretowany tzn. że kod, który napiszemy możemy natychmiast wykonać bez potrzeby tłumaczenia kodu programistycznego

Bardziej szczegółowo

Programowanie w C/C++ Instrukcje - konstrukcje powtórka. LABORKA Piotr Ciskowski

Programowanie w C/C++ Instrukcje - konstrukcje powtórka. LABORKA Piotr Ciskowski Programowanie w C/C++ Instrukcje - konstrukcje powtórka LABORKA Piotr Ciskowski zadanie 1. Licz się ze sobą Napisz funkcję bez argumentów i bez wyniku, która za każdym wywołaniem będzie podawała, ile razy

Bardziej szczegółowo

Wizualizacja funkcji w programie MATLAB

Wizualizacja funkcji w programie MATLAB Instytut Informatyki Uniwersytetu Śląskiego 15 listopada 2008 Funckja plot Funkcja plot3 Wizualizacja funkcji jednej zmiennej Do wizualizacji funkcji jednej zmiennej w programie MATLAB wykorzystywana jest

Bardziej szczegółowo

MATeMAtyka cz.1. Zakres podstawowy

MATeMAtyka cz.1. Zakres podstawowy MATeMAtyka cz.1 Zakres podstawowy Wyróżnione zostały następujące wymagania programowe: konieczne (K), podstawowe (P), rozszerzające (R), dopełniające (D) i wykraczające poza program nauczania (W). Wymienione

Bardziej szczegółowo

Metody numeryczne. materiały do wykładu dla studentów

Metody numeryczne. materiały do wykładu dla studentów Metody numeryczne materiały do wykładu dla studentów. Metody dokładne rozwiązywania układów równań liniowych.. Układy równań o macierzach trójkątnych.. Metoda eliminacji Gaussa.3. Metoda Gaussa-Jordana.4.

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

Komputerowa Analiza Danych Doświadczalnych

Komputerowa Analiza Danych Doświadczalnych Komputerowa Analiza Danych Doświadczalnych dr inż. Adam Kisiel kisiel@if.pw.edu.pl pokój 117b (12b) 1 Materiały do wykładu Transparencje do wykładów: http://www.if.pw.edu.pl/~kisiel/kadd/kadd.html Literatura

Bardziej szczegółowo

( x) Równanie regresji liniowej ma postać. By obliczyć współczynniki a i b należy posłużyć się następującymi wzorami 1 : Gdzie:

( x) Równanie regresji liniowej ma postać. By obliczyć współczynniki a i b należy posłużyć się następującymi wzorami 1 : Gdzie: ma postać y = ax + b Równanie regresji liniowej By obliczyć współczynniki a i b należy posłużyć się następującymi wzorami 1 : xy b = a = b lub x Gdzie: xy = też a = x = ( b ) i to dane empiryczne, a ilość

Bardziej szczegółowo

PODSTAWY OBSŁUGI ARKUSZA KALKULACYJNEGO

PODSTAWY OBSŁUGI ARKUSZA KALKULACYJNEGO PODSTAWY OBSŁUGI ARKUSZA KALKULACYJNEGO 1. Wstęp Arkusz kalkulacyjny jest programem służącym do wykonywania wszelkiego rodzaju obliczeń matematycznych, statystycznych, finansowych, tworzenia zestawień,

Bardziej szczegółowo

Laboratorium metod numerycznych numer 1

Laboratorium metod numerycznych numer 1 Laboratorium metod numerycznych numer 1 Dla grup:wszystkich (Dated: 27 II 2013) I. WST P Na laboratoriach z metod numerycznych b dziemy posªugiwali si pakietem Octave, który jest darmow alternatyw dla

Bardziej szczegółowo

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język PYTHON Podstawowe informacje Python to język skryptowy, interpretowany - co oznacza, że piszemy skrypt, a następnie wykonujemy go za

Bardziej szczegółowo

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice. Język PHP Język interpretowalny, a nie kompilowany Powstał w celu programowania

Bardziej szczegółowo

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego

Bardziej szczegółowo

Ćwiczenie 4. Matlab - funkcje, wielomiany, obliczenia symboliczne

Ćwiczenie 4. Matlab - funkcje, wielomiany, obliczenia symboliczne Ćwiczenie 4. Matlab - funkcje, wielomiany, obliczenia symboliczne Obliczenia z wykorzystaniem tzw. funkcji anonimowej Składnia funkcji anonimowej: nazwa_funkcji=@(lista_argumentów)(wyrażenie) gdzie: -

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Zapis liczb binarnych ze znakiem

Zapis liczb binarnych ze znakiem Zapis liczb binarnych ze znakiem W tej prezentacji: Zapis Znak-Moduł (ZM) Zapis uzupełnień do 1 (U1) Zapis uzupełnień do 2 (U2) Zapis Znak-Moduł (ZM) Koncepcyjnie zapis znak - moduł (w skrócie ZM - ang.

Bardziej szczegółowo

najlepszych trików Excelu

najlepszych trików Excelu 70 najlepszych trików W Excelu 70 najlepszych trików w Excelu Spis treści Formatowanie czytelne i przejrzyste zestawienia...3 Wyświetlanie tylko wartości dodatnich...3 Szybkie dopasowanie szerokości kolumny...3

Bardziej szczegółowo

LICZBY ZMIENNOPRZECINKOWE

LICZBY ZMIENNOPRZECINKOWE LICZBY ZMIENNOPRZECINKOWE Liczby zmiennoprzecinkowe są komputerową reprezentacją liczb rzeczywistych zapisanych w formie wykładniczej (naukowej). Aby uprościć arytmetykę na nich, przyjęto ograniczenia

Bardziej szczegółowo

Wykład z modelowania matematycznego. Zagadnienie transportowe.

Wykład z modelowania matematycznego. Zagadnienie transportowe. Wykład z modelowania matematycznego. Zagadnienie transportowe. 1 Zagadnienie transportowe zostało sformułowane w 1941 przez F.L.Hitchcocka. Metoda rozwiązania tego zagadnienia zwana algorytmem transportowymópracowana

Bardziej szczegółowo