Tryb interpretera. 2 * 3 ans = 6 2 * 3; pi ans = sin(pi / 2) ans = 1 [1 4; 6 8] ans = : 2: 20 ans =
|
|
- Karol Kozak
- 6 lat temu
- Przeglądów:
Transkrypt
1 Tryb interpretera 2 * 3 ans = 6 2 * 3; pi ans = sin(pi / 2) ans = 1 [1 4; 6 8] ans = : 2: 20 ans = Wprowadzenie do Matlaba, folia 1
2 b? Undefined function or variable b A = [1 4; 6 8] A = A - 1 ans = A * A ans = sin(a) ans = Wprowadzenie do Matlaba, folia 2
3 Programowanie Zadanie 1. Napisać funkcję znajdujac a pierwiastek równania liniowego. function x = rown1(a, b) if a == 0 if b ~= 0 x = []; else x = NaN; else x = -b / a; Uwaga: Tę funkcję zapisuje się w pliku rown1.m! Efekt działania: rown1(1, 2) ans = -2 Wprowadzenie do Matlaba, folia 3
4 Zadanie 2. Napisać funkcję rozwiazuj ac a równania liniowe i kwadratowe. function x = rown21(a, b, c) if nargin == 2 x = rown1(a, b); elseif a == 0 x = rown1(b, c); else delta = b * b - 4 * a * c; if delta >= 0 if b > 0 x = (-b-sqrt(delta))/(2*a); else x = (-b+sqrt(delta))/(2*a); if x == 0 x = [x 0]; else x = [x (c/a)/x]; Wprowadzenie do Matlaba, folia 4
5 Wskazana jest również diagnostyka błedów: if nargin < 2 error( Za malo parametrow ); Pętla for i wektoryzacja pętla for wektoryzacja for i = 1: 100 y = sin(1: 100); y(i)=sin(i); Co wybierać? Zawsze wektoryzację! Zadanie. Napisać funkcję obliczajac a sumę p-tych potęg n pierwszych liczb naturalnych. Wersja klasyczna : function s = sump(n, p) s = 0; for i = 1: n s = s + i^p; Wprowadzenie do Matlaba, folia 5
6 Wersja zwektoryzowana: function s = sumpv(n, p) s = sum((1: n).^p); Wektoryzacja jest możliwa, jeżeli operacje w pętli nie zależa od porządku, w ktorym są wykonywane. Specyfika pętli for Zadanie. instrukcji: Co będzie rezultatem poniższych ➀ for i=12:-2:1; disp(i), ➁ for i=12:-2:1; disp(i),... i = 0; ➂ for i=12:-2:1; disp(i);... if i == 8, break; Wprowadzenie do Matlaba, folia 6
7 Zadanie. Napisać funkcję wyznaczajac a n-ty element ciągu Fibonacciego. Wersja prostsza: function f = fibs(n) if n == 1 n == 2 f = 1; else a = 1; b = 1; for i = 3: n c = a + b; a = b; b = c; f = c; Wersja bardziej efektywna: function f = fib(n) persistent rez if length(rez) < 2 rez = [1 1]; Wprowadzenie do Matlaba, folia 7
8 if length(rez) < max(n) for i = length(rez)+1: max(n) rez(i)=rez(i-1)+rez(i-2); f = rez(n); Efekt działania: fib([3, 9, 4]) ans = Zadanie. Napisać funkcję obliczajac a n pierwszych linii trójkąta Pascala. function c = trojkat(n) c = zeros(n, n); c(:,1) = 1; for i = 2:n for j = 2:i c(i,j) = c(i-1,j-1)+c(i-1,j); Wprowadzenie do Matlaba, folia 8
9 Efekt działania: trojkat(6) ans = Sposoby wektoryzacji Prześledźmy poniższą sesję: a = 1: 16; a = reshape(a, 4, 4) a = Wprowadzenie do Matlaba, folia 9
10 a1 = a(:, 4: -1: 1) a1 = a2 = a(4: -1: 1, 4: -1: 1) a2 = a3 = a a3 = Wprowadzenie do Matlaba, folia 10
11 To samo wykonuje zresztą predefiniowana funkcja nchoosek. Zadanie. Utworzyć wektor, w którym każdemu indeksowi parzystemu p będzie odpowiadać kwadrat, a indeksowi nieparzystemu sześcian p-tej liczby naturalnej. v(1: 2: n) = (1: 2: n).^3; v(2: 2: n) = (2: 2: n).^2; Zadanie. Mając dany wektor x, utworzyć tablicę a o n wierszach będących kopiami x. x = 1: 6; n = 5; a = x(ones(1, n), :) a = Wprowadzenie do Matlaba, folia 11
12 Zadanie. Dla tablicy A = wygenerować tablicę złożoną z elementów leżących w wierszach od trzeciego do piątego i kolumnach 6, 1 i 3. B = A(3: 5, [6 1 3]) B = Jak w tej tablicy wyzerować wiersze nieparzyste, a elementy większe od 3 zamienić na 1. A(1: 2: 6, :) = 0; A(A > 3) = 1; Wprowadzenie do Matlaba, folia 12
13 Zadanie. Narysować wykres funkcji w przedziale. Dlaczego nie widać nieciągłości w punkcie? x = linspace(pi-1, pi+1, 50); y = 3*x.^2+log((x-pi).^2)/pi^4+1; plot(x, y) Wprowadzenie do Matlaba, folia 13
14 Zadanie. Narysować powierzchnię dla. x = linspace(-1, 1, 5) x = y = x; [X, Y] = meshgrid(x, y) X = Y = Wprowadzenie do Matlaba, folia 14
15 Z = -X.^2 - Y.^2 Z = surf(x, y, Z) colormap(gray) Wprowadzenie do Matlaba, folia 15
16 Zadanie. Napisać funkcję v = vnd(x), która na bazie wektora x o składowych utworzy następująca macierz (tzw. macierz Vandermonde a):.. function v = vnd(x) x = x(:); % x powinno byc kolumna v = ones(size(x)); for i = 1: length(x) - 1 v = [v(:, 1).*x v]; vnd([ ]) ans = Wprowadzenie do Matlaba, folia 16
17 Pętla while i rekurencja Pętla nieskończona z instrukcjami break: while 1... if condition_1 break;... if condition_2 break; end Zadanie. Napisać funkcję szukająca w wektorze t ostatniego wystąpienia zadanego elementu. function i = szuk1(t, x) i = 0; for j = length(t): -1: 1 if t(j) == x i = j; Wprowadzenie do Matlaba, folia 17
18 break; end function i = szuk2(t, x) i = find(x == t); if isempty(i) i = 0; else i = i(end); function i = szuk3(t, x) i = length(t); while 1 if i == 0 break; if t(i) == x break; i = i - 1; Wprowadzenie do Matlaba, folia 18
19 t = randperm(6000); tic; szuk1(t, 3000); toc elapsed_time = tic; szuk2(t, 3000); toc elapsed_time = tic; szuk3(t, 3000); toc elapsed_time = Zadanie. Znaleźć pierwiastki równania Zastosować algorytm: 1. Znaleźć pierwiastek rzeczywisty Newtona. metodą 2. Podzielić trójmian przez. (Łatwo pokazać, że odpowiedni iloraz ma postać, gdzie:,.) 3. Rozwiązać otrzymane równanie kwadratowe otrzymując pozostałe dwa pierwiastki. Wprowadzenie do Matlaba, folia 19
20 function x1 = newton1(a, b, c, d) epsi = 1.0e-5; x1 = 0; while 1 fprim = (3*a*x1+2*b)*x1+c; if fprim == 0 x1 = -b/a; else dx = -(((a*x1+b)*x1+c)*x1+d)... /fprim; x1 = x1 + dx; if abs(dx) < epsi break; end end function x = rown3(a, b, c, d) if a == 0 x = rown21(b, c, d); else x = newton1(a, b, c, d); beta = b + a * x; Wprowadzenie do Matlaba, folia 20
21 gamma = c + beta * x; x = [x rown21(a, beta, gamma)]; rown3(2, -12, 22, -12) ans = Uwaga! W praktyce stosuje się funkcję roots: roots([2, -12, 22, -12]) ans = Ogólny schemat rekurencji: function y = p(n) if n == 1 y = wyrazenie_explicite; else y = zwiazek_z( p(n - 1) ); Wprowadzenie do Matlaba, folia 21
22 Zadanie. Napisać rekurencyjna wersję funkcji wyznaczajacej wartość,. function y = potega(n, p) if p == 0 y = 1; elseif rem(p, 2) == 1 y = n * potega(n*n, floor(p/2)); else y = potega(n*n, floor(p/2)); Zadanie. Napisać rekurencyjna wersję funkcji szukającej w wektorze t ostatniego wystąpienia zadanego elementu. function i = szuk4(t, x) if isempty(t) i = 0; elseif t(end) == x i = length(t); else i = szuk4(t(1: end-1), x); Wprowadzenie do Matlaba, folia 22
23 # Zadanie. Napisać funkcję obliczajac a przybliżona wartość całek adaptacyjna metodą Simpsona. Wykorzystać ją do obliczenia całki Rozwiazanie: Wzór Simpsona jest postaci Aby obliczyć całkę z dokładnościa, dzielimy przedział na podprzedziały w taki sposób, aby na każdym z nich osiągnąć dokładność!. " " %$ gdzie: można obliczyć na dwa sposoby: %$ środek. %$ Wprowadzenie do Matlaba, folia 23
24 Można udowodnić, że "# " "# gdzie: dokładna wartość odpowiedniej całki. Wynika stąd algorytm wyznaczania : Oblicza się wartości oraz błąd niż %$ %$. Jeżeli błąd jest większy, dokonuje %$ się podziału %$ na podprzedziały i, a następnie powtarza powyższe obliczenia na każdym z nich z osobna. Implementacja: Funkcję podcałkowa można zdefiniować dwoma sposobami: w pliku fun.m function y = fun(x) y = x.^4.*log(x+sqrt(x.*x+1)); Wprowadzenie do Matlaba, folia 24
25 lub w linii poleceń: fun = inline( x.^4.*log(x+sqrt(x.*x+1)) ); Moduł inicjujący rekurencję, zapisany w pliku simps.m, ma postać function int = simps(f, przedz, epsi) int = []; a = przedz(1); b = przedz(2); if nargin < 3 epsi = 0.5*sqrt(eps)/(b-a); else epsi = 0.5*epsi/(b-a); przyb_pocz = (feval(f,a)... +4*feval(f,0.5*(a+b))... + feval(f,b))*(b-a)/6.0; int = simps_rek(f, przedz,... przyb_pocz, epsi); W tym samym pliku zapisuje się funkcję wewnętrzna simps_rek realizujac a rekurencję. Wprowadzenie do Matlaba, folia 25
26 % funkcja wewnetrzna function intr = simps_rek(f,... przedz, stare_przyb, epsi) a = przedz(1); b = przedz(2); srod = (b+a)*0.5; h = (srod-a)/6.0; fsrod = feval(f,srod); s1 = (feval(f,a) *feval(f,(a+srod)*0.5)... + fsrod)*h; s2 = (fsrod *feval(f,(srod+b)*0.5)... + feval(f,b))*h; err = abs(s1+s2-stare_przyb); if err>=15.0*epsi*(b-a) s1 = simps_rek(f, [a, srod],... s1, epsi); s2 = simps_rek(f, [srod, b],... s2, epsi); intr = s1 + s2; Wprowadzenie do Matlaba, folia 26
27 Zauważmy, że wywołanie simps zależy od sposobu zdefiniowania funkcji podcałkowej: z zastosowaniem pliku: simps( fun, [0 2], 1.0e-4) ans = za zastosowaniem inline: simps(fun, [0 2], 1.0e-4) ans = Ciagi znaków i pliki tekstowe Zadanie. Wyświetlić wszystkie znaki ASCII o kodach od 32 do 255, oprócz znaku o kodzie 127. Dlaczego nie wymaga się wyświetlenia pozostałych znaków? i = char(32:255); i(127) = []; i Wprowadzenie do Matlaba, folia 27
28 Zadanie. Zinterpretować poniższe rezultaty: abs( zorro ) ans = sin( zorro ) ans = sin zorro ans = Zadanie. Napisać funkcję określajac a liczbę wystąpień danego znaku. function lwyst = ile(s, x) lwyst = sum(s == x); Zadanie. Napisać funkcję określajac a czy dane słowo jest palindromem. function r = palindrom(s) r = strcmp(s, s(end: -1: 1)); Wprowadzenie do Matlaba, folia 28
29 Zadanie. Napisać funkcję zamieniajac a pierwsze litery słów danego ciągu znaków na duże litery. function s1 = duze_lit(s) s = [ s]; ind = findstr(s, ); s = [s ]; s(ind+1) = upper(s(ind+1)); s1 = s(2: end-1); duze_lit( to jest ans = To Jest Ciag ciag ) Zadanie. Napisać funkcję odwracajac a kolejność słów w zdaniu. function s1 = odwroc(s) [pslowo reszta] = strtok(s); if isempty(pslowo) s1 = s; else s1 = [odwroc(reszta), *... ones(1,(length(reszta)>0)), pslowo]; Wprowadzenie do Matlaba, folia 29
30 odwroc( to jest jedno zdanie ) ans = zdanie jedno jest to Zadanie. Napisać funkcję zapisująca w pliku ciąg znaków oraz odpowiednią funkcję czytająca ten ciąg. function zapisz(s, nazwa) f = fopen(nazwa, w ); fwrite(f, s); fclose(f); function s = czytaj(nazwa) f = fopen(nazwa, r ); s = fread(f); fclose(f); s = char(s ); Wprowadzenie do Matlaba, folia 30
31 Formatowane wyjście: x = cumprod(1.0e-4*ones(5, 1)); a = [x, exp(x), exp(-x),... (exp(x)- exp(-x))./(2*x)]; fprintf( %15s %15s %15s %15s\n,... x, exp(x), exp(-x), poch. ); fprintf(... %15.4e %15.4e %15.4e %15.4e\n, a ); Rezultat: x e e e e e-020 exp(-x) e e e e e+000 exp(x) e e e e e+000 poch e e e e e+000 Wprowadzenie do Matlaba, folia 31
32 Błędy zaokragleń Zadanie. Wyjaśnić rezultat wykonania poniższego skryptu: x = 1.0e+29; y = 1.0e-9; z = ((y + x) - x) / y % => 0 z = (y + (x - x)) / y % => 1 Co to jest eps? eps ans = e-016 2^(-52) ans = e eps == 1 ans = eps/2 == 1 ans = 1 Wprowadzenie do Matlaba, folia 32
33 Zadanie. Napisać program obliczajacy wartości dla, -20, -10, 0, 10, 20, 30. Wykorzystać w tym celu definicję i porównać rezultaty z generowanymi przez exp. Skrypt: function s = expo( x ) t = 1.0; n = 1; s = 0.0; while 1 if ( abs(t) <= 1.0e-14 ) break; s = s + t; t = t * (x/n); n = n + 1; end for i = -3:3 fprintf( %4d %10.3e %10.3e \n,... 10*i, exp(10*i), expo(10*i)); end Wprowadzenie do Matlaba, folia 33
34 e e e e e e e e e e e e e e+013 Pytanie: Jak ograniczyć błędy zaokragleń? Odpowiedź: Ograniczyć obliczenia do przedziału : Zadanie. Porównać wartości funkcji w przedziale z wartościami tej samej funkcji, ale liczonymi wg formuły Wprowadzenie do Matlaba, folia 34
35 function e = bin1(x) x = 1-x; e = x.*x.*x.*x.*x.*x; function e = bin2(x) x2 = x.*x; x4 = x2.*x2; e = 1-6.*x + 15.*x *x2.*x + 15.*x *x4.*x + x4.*x2; Skrypt: poc = 99990; kon = ; for i=(poc: kon)/ fprintf( %15.5f %10.3e %10.3e\n,... i, bin1(i), bin2(i)); i=(poc: kon)/100000; plot(i, bin1(i)); pause; plot(i, bin2(i)); Wprowadzenie do Matlaba, folia 35
36 bin1.m: 1 x bin2.m: 4 x Wprowadzenie do Matlaba, folia 36
37 Różniczkowanie numeryczne Dla pierwszych pochodnych stosuje się lub Dla drugich pochodnych mamy: for x = cumprod(0.1 * ones(1, 10)) fprintf( %2.0e %12.10f %14.10f \n,... x, (exp(x) - exp(-x))/(2 * x),... (exp(x) exp(-x))/x^2); Wprowadzenie do Matlaba, folia 37
38 Efekty są intrygujące: 1e e e e e e e e e e Wyjaśnienie: Wprowadzenie do Matlaba, folia 38
39 Całkowanie numeryczne Zadanie. Z zastosowaniem funkcji quad lub quad8 obliczyć całkę f1 = inline(... x.^4.*log(x+sqrt(x.*x+1)) ); quad8(f1, 0, 2) ans = Zadanie. Z zastosowaniem funkcji dblquad obliczyć całkę function v = f2(x, y) v = exp(-x.*x-y.*y); Wprowadzenie do Matlaba, folia 39
40 dblquad( f2, 0, 5, 0, 5,... [], [], quad8 ) ans = Zadanie. Narysować wykres funkcji w przedziale. f = inline( cos(x.*sin (u))./pi,... u, x ); x = linspace(0, 10, 100); for i = 1: 100 y(i) = quad(f, 0, pi,... [], [], x(i)); plot(x, y); Wprowadzenie do Matlaba, folia 40
41 Metoda Monte-Carlo ciąg niezależnych zmiennych losowych o jednakowym rozkładzie,, jednostajny na hiperkostce Wprowadzenie do Matlaba, folia 41
42 jednostajny na hiperkostce o hiperobjętości Błąd można oszacować za pomocą odchylenia standardowego z próby (zob. std) pomnożonego przez. Zadanie. Napisać funkcję generujac a macierz, której każdy wiersz zawiera próbę z rozkładu jednostajnego na danym przedziale. function x = random(gran, n) x = rand(size(gran,1), n); dlug = gran(:, 2) - gran(:, 1); x = gran(:, ones(1, n))... + x.*dlug(:, ones(1, n)); Wprowadzenie do Matlaba, folia 42
43 Zadanie. Napisać funkcję przybliżajac a całkę wielokrotną po zadanej hiperkostce. function [int, st] = mtc(... fun, gran, npkt); if nargin <= 2 npkt = 10000; obj = prod(gran(:,2)-gran(:,1)); z = feval(fun, random(gran, npkt)); if nargout == 2 st = obj * std(z) / sqrt(npkt); int = obj * mean(z); Zadanie. Obliczyć objętość przecięcia kul o środkach w i oraz promieniach odpowiednio 3 i 2. function y = ff(x) y = ((x(1,:)).^2 + x(2,:).^ x(3,:).^2 < 9)... & ((x(1,:)-2).^2 + x(2,:).^ x(3,:).^2 < 4); Wprowadzenie do Matlaba, folia 43
44 [int, st] = mtc( ff,... [0 3; -2 2; -2 2], ) int = st = gdzie: Równania różniczkowe,, Metoda Eulera gdzie: Wprowadzenie do Matlaba, folia 44
45 Metoda RK2 Metoda RK4 Zadanie. Zaimplementować wymienione metody. function yh = euler(f, x, y, h) yh = y + h * feval(f, x, y); Wprowadzenie do Matlaba, folia 45
46 function yh = rk2(f, x, y, h) k1 = h * feval(f, x, y); k2 = h * feval(f, x + h/2, y + k1/2); yh = y + k2; function yh = rk4(f, x, y, h) k1 = h * feval(f, x, y); k2 = h * feval(f, x + h/2, y + k1/2); k3 = h * feval(f, x + h/2, y + k2/2); k4 = h * feval(f, x + h, y + k3 ); yh = y + (k1 + 2*k2 + 2*k3 + k4)/6.0; Zadanie. Porównać przybliżone rozwiązania zagadnienia z rozwiązaniem dokładnym $ x = 0: 0.1: 3. dla f = inline( x.*(1-y), x, y ); h = 0.1; x = 0: h: 3; ye = 0; Wprowadzenie do Matlaba, folia 46
47 for i = x(1: end-1) ye = [ye euler(f, i, ye(end), h)]; y2 = 0; for i = x(1: end-1) y2 = [y2 rk2(f, i, y2(end),h)]; y4 = 0; for i = x(1: end-1) y4 = [y4 rk4(f, i, y4(end), h)]; delete(gcf) plot(x, ye, r+ ) hold on plot(x, y2, b* ) plot(x, y4, mo ) sol = inline( 1-exp(-x.*x/2) ); plot(x, sol(x), y- ); legend( Euler, rk2, rk4,... rozw. analityczne, 0); Wprowadzenie do Matlaba, folia 47
48 Euler rk2 rk4 rozw. analityczne Zadanie. problemu Powtórzyć poprzednie zadanie dla oraz x = 0: 0.3: 10. Wprowadzenie do Matlaba, folia 48
49 f = inline(... [-y(1)/(x+eps)-y(2); y(1)],... x, y ); h = 0.3; x = 0: h: 10; ye = [0; 1]; for i = x(1: end-1) ye = [ye euler(f, i, ye(:,end), h)]; y2 = [0; 1]; for i = x(1: end-1) y2 = [y2 rk2(f, i, y2(:, end), h)]; y4 = [0; 1]; for i = x(1: end-1) y4 = [y4 rk4(f, i, y4(:, end), h)]; delete(gcf) plot(x, ye(2, :), r+ ) hold on plot(x, y2(2, :), b* ) plot(x, y4(2, :), mo ) plot(x, besselj(0, x), y- ) Wprowadzenie do Matlaba, folia 49
50 y45 = [0; 1]; [x y45]=ode45(f, x, y45); plot(x, y45(:, 2), g^ ) legend( Euler, rk2, rk4,... rozw. analityczne, ode45, 0); Euler rk2 rk4 rozw. analityczne ode Wprowadzenie do Matlaba, folia 50
51 Zadanie. W zbiorniku umieszczono moli i 1 mol benzenu. Oznaczmy odpowiednio przez,,,, i ilości, benzenu, chlorobenzenu, dwuchlorobenzenu i trójchlorobenzenu w chwili. Dla objętości produktu obowiązują równania gdzie:.,. Można przyjąć Zwróćmy uwagę, że ostatnie równanie różniczkowe nie jest istotne, bo zachodzi. Zużywana ilość wynosi. Narysować ewolucję,, i w funkcji dla. i Dla jakiej wartości chlorobenzenu? otrzymuje się maksimum Jaką wartość na mol benzenu należy wprowadzić do zbiornika, aby osiągnąć to maksimum? Wprowadzenie do Matlaba, folia 51
52 %obliczenia opcje=odeset( abstol, 1.0e-4,... reltol, 1.0e-4); [t y]=ode45( tricl,... [0:0.001:0.7], [1 0 0 ], opcje); q = y(:,1); r = y(:,2); s = y(:,3); t = 1-y(:,1)-y(:,2)-y(:,3); p = r+2*s+3*t; [m i] = max(r); %prezentacja delete(gcf); figure( name,... Trojchlorowanie benzenu,... number, off, Menu, none ); subplot( Position,... [ ]); plot(p, q, y-,p, r, r:,p,... s, b-., p, t, g-- ) legend( benzen, C_6H_5Cl,... C_6H_5CL_2, C_6H_5CL_3 ); Wprowadzenie do Matlaba, folia 52
53 subplot( Position,... [ ]); axis off st{1} = sprintf([ Maksimum,... C_6H_5Cl wynosi %6.4f,... i odpowiada ], m); st{2} = sprintf(... [ koncentracji C_6H_6,... rownej %6.4f. ], q(i)); st{3} = sprintf([ Ilosc,... chloru na mol C_6H_6,... potrzebna do jego,... otrzymania ]); st{4} = sprintf(... wynosi %6.4f., p(i)); text(0, 0.55, st, fontsize, 14) Wprowadzenie do Matlaba, folia 53
54 function yp = tricl(theta,y) k = [ ]; p0 = 2; v = 1; p = p0 -y(2)-2*y(3)... -3*(1-y(1)-y(2)-y(3)); q = y(1); r = y(2); s = y(3); yp = [ -k(1)*p*q; (k(1)*q - k(2)*r)*p; (k(2)*r -k(3)*s)*p; ]/v; benzen C 6 H 5 Cl C 6 H 5 CL 2 C 6 H 5 CL Maksimum C 6 H 5 Cl wynosi i odpowiada koncentracji C 6 H 6 rownej Ilosc chloru na mol C 6 H 6 potrzebna do jego otrzymania wynosi Wprowadzenie do Matlaba, folia 54
55 Wielomiany, aproksymacja i interpolacja w1 = poly(1:20); r1 = roots(w1); w2 = w1; w2(5) = w2(5)+1; r2 = roots(w2); r1 ma postać: r2 ma postać: i i i i i i Wprowadzenie do Matlaba, folia 55
56 i i i i Stopień wielomianu: i i i i function [n, p] = degree(p, tol) if nargin == 1 tol = 0.0; m = max(abs(p)); if m == 0.0 n = -inf; else v = find(abs(p)>tol*m); if isempty(v) n = -inf; else n = length(p)- min(v); Wprowadzenie do Matlaba, folia 56
57 if nargout == 2 if isinf(n) p = []; else p = p(length(p)-n:length(p)); Zadanie. Dopasować prostą do zestawu par (wzrost, waga) dla danych 70 osób Wprowadzenie do Matlaba, folia 57
58 [wzrosty, i] = sort(wzrosty); wagi = wagi(i); plot(wzrosty, wagi, o ) Dla każdego wzrostu można najpierw wyznaczyć średnią wagę: rwzrosty = wzrosty(... logical([1 diff(wzrosty)~=0])); for i = 1: length(rwzrosty) swagi(i) = mean(... wagi(wzrosty == rwzrosty(i))); plot(rwzrosty, swagi, o ) Wprowadzenie do Matlaba, folia 58
59 Metoda najmniejszych kwadratów: [p s] = polyfit(wzrosty, wagi, 1); [awagi delta] = polyval(... p, wzrosty, s); plot(wzrosty, wagi,. ) hold on errorbar(wzrosty, awagi, delta) Wprowadzenie do Matlaba, folia 59
60 Interpolacja: x = 0: 0.05: 1; y = sin(4.0.*x.*pi) *cos(13.0.*x.*pi); plot(x,y, + ); xi = 0: 0.01: 1; yi = interp1(x,y,xi, linear ); plot(x,y, + ); hold on plot(xi,yi); title( interpolacja liniowa,... fontsize, 16); print -deps interp11.eps hold off yi = interp1(x,y,xi, spline ); plot(x,y, + ); hold on plot(xi,yi); title( interpolacja splajnami,... fontsize, 16); print -deps interp12.eps Wprowadzenie do Matlaba, folia 60
61 6 interpolacja liniowa interpolacja splajnami Inne funkcje: polyvalm, polyder, residue, conv, deconv, interpft. Wprowadzenie do Matlaba, folia 61
62 Układy równań liniowych Jak rozwiązać układ A = rand(3, 3)? A = b = rand(3, 1) b = x = A \ b x = Wprowadzenie do Matlaba, folia 62
63 Jak sprawdzić poprawność rozwiązania? A * x - b ans = 1.0e-13 * norm(a * x - b) ans = e-014 Rozkład LU Funkcja lu dokonuje rozkładu macierzy postaci, gdzie: macierz trójkątna dolna, macierz trójkątna górna, macierz permutacji. [L, U, P] = lu(a) L = Wprowadzenie do Matlaba, folia 63
64 U = P = x = U \ (L \ (P * b)) x = Układy liniowe nadokreślone Zadanie. Aby oszacować wysokość trzech punktów, i nad poziomem morza, zmierzono różnice wysokości zgodnie z poniższym rysunkiem. Punkty, i leżą na poziomie morza. Wprowadzenie do Matlaba, folia 64
65 E B D A C F Każdy pomiar daje związek liniowy dla wysokości, i punktów, i : Wprowadzenie do Matlaba, folia 65
66 Jak rozwiązać powyższy układ równan? function [x, odl] = mnk(a, b) [m, n] = size(a); if (m <= n) error([ Uklad nie jest,... nadokreslony ]) end if (rank(a) < n) error([ Macierz musi byc,... pelnego rzedu ]) end H = chol(a * A); x = H \ (H \ (A * b)); r = b - A * x; odl = norm(r); [x, r] = mnk(f, p) x = r = Wprowadzenie do Matlaba, folia 66
67 x = F \ p x = Macierze rzadkie Macierz wymaga alokacji pamięci dla 25 milionów liczb double, nawet wtedy gdy tylko z nich jest niezerowych. Te same niezerowych niezerowych elementów można jednak zapamiętać z zastosowaniem 50,000 liczb double i 50,000 par indeksów ( całkowitych, czyli mniej niż 0.5% pamięci 1 MB zamiast 200 MB). Podobnie, rozwiązanie układu zajęłoby większość dnia, a w zastosowaniem techniki sparse zajmuje mniej niż poł minuty! A = [0 0 1;1 0 2;0-3 0] A = Wprowadzenie do Matlaba, folia 67
68 S = sparse(a) S = (2,1) 1 (3,2) -3 (1,3) 1 (2,3) 2 whos Name Size Bytes Class A 3x3 72 double array S 3x3 64 sparse array Grand total is 13 elements using 136 bytes Praktyczniejszy sposób definiowania: A = sparse(3,2) A = All zero sparse: 3-by-2 A(1,2)=1; A(3,1)=4; Wprowadzenie do Matlaba, folia 68
69 A(3,2)=-1; A A = (3,1) 4 (1,2) 1 (3,2) -1 Inna wersja: S = sparse(i,j,s,m,n,maxnz). Zadanie. macierz? A Jak efektywniej zapamiętać poniższą A = Wprowadzenie do Matlaba, folia 69
70 Rozwiazanie: B = [ ]; d = [-3,-1,0,1,3]; S = spdiags(b,d,9,9); W celu sprawdzenia, można wywołać funkcję spy: spy(a) Wprowadzenie do Matlaba, folia 70
71 nz = 33 Macierz jednostkowa: I = speye(n) Struktury Rozważmy funkcję function fx = f(x) fx.wartosc = (x(1)-1)^2+x(1)*x(2); fx.gradient = [2*(x(1)-1)+x(2);x(1)]; fx.hesjan = [2 1;1 0];. Wprowadzenie do Matlaba, folia 71
72 x = [2; 1] x = 2 1 fx = f(x) fx = wartosc: 3 gradient: [2x1 double] hesjan: [2x2 double] whos Name Size Bytes Class fx 1x1 428 struct array x 2x1 16 double array Grand total is 12 elements using 444 bytes Tablice wielowymiarowe: gx.wartosc = 12; gx.gradient = [2; 1]; Wprowadzenie do Matlaba, folia 72
73 A(1,1) = fx; A(2,1) = gx;??? Subscripted assignment between dissimilar structures. fieldnames(fx) ans = wartosc gradient hesjan fieldnames(gx) ans = wartosc gradient help struct Tablice komórkowe Zadanie. Chcemy pamiętać imię i nazwisko osoby oraz jej numer telefonu. Wprowadzenie do Matlaba, folia 73
74 Dwa sposoby definicji: ❶ ❷ A(1,1) = { Jan Kowalski }; A(1,2) = {[ ]}; B{1,1} = Jan Kowalski ; B{1,2} = [ ]; A A = Jan Kowalski [1x9 double] celldisp(a) A{1} = Jan Kowalski A{2} = B{1,1} ans = Jan Kowalski Wprowadzenie do Matlaba, folia 74
75 Jak usunąć element tablicy? B(1) = [] B = [1x9 double] C = {A B} C = {1x2 cell} {1x1 cell} celldisp(c) C{1}{1} = Jan Kowalski C{1}{2} = C{2}{1} = help cell Pytanie: Jak usunąć C(2,1)? Wprowadzenie do Matlaba, folia 75
76 Zadanie. Napisać funkcję generujac a liczby losowe o rozkładzie. function x = normal(m, sig, varargin) if nargin <= 2 x = randn * sig + m; else x = m + randn([varargin{:}])*sig; Możliwe wywołania: normal(1,2,3), normal(1,2,[3,5]), normal(1,2,3,5). Konstrukcja switch-case x = ceil(10*rand); switch x case {1,2} disp( Prawdopodob. = 20% ); case {3,4,5} disp( Prawdopodob. = 30% ); otherwise disp( Prawdopodob. = 50% ); end Wprowadzenie do Matlaba, folia 76
Wprowadzenie do użytkowania pakietu Matlab. Tryb interpretera
Tryb interpretera 2 * 3 ans = 6 2 * 3; pi ans = 3.1416 sin(pi / 2) ans = 1 [1 4; 6 8] ans = 1 4 6 8 6: 2: 20 ans = 6 8 10 12 14 16 18 20 Strona 1 b? Undefined function or variable b A = [1 4; 6 8] A =
MATLAB Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący
MATLAB Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący Laboratorium 12: Zagadnienia zaawansowane Cel: Poznanie metod rozwiązywania konkretnych problemów Czas: Wprowadzenia 10 minut, ćwiczeń
Modelowanie rynków finansowych z wykorzystaniem pakietu R
Modelowanie rynków finansowych z wykorzystaniem pakietu R Metody numeryczne i symulacje stochastyczne Mateusz Topolewski woland@mat.umk.pl Wydział Matematyki i Informatyki UMK Plan działania 1 Całkowanie
Obliczenia iteracyjne
Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej
Matlab III Instrukcje, interpolacja, dopasowanie krzywych,
Matlab III Instrukcje, interpolacja, dopasowanie krzywych, Metody numeryczne w optyce 2017 Typy danych cd.. cell macierz komórkowa (blokowa) pojedynczymi elementami takiej macierzy mogą być nie tylko liczby
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
do MATLABa programowanie WYKŁAD Piotr Ciskowski
Wprowadzenie do MATLABa programowanie WYKŁAD Piotr Ciskowski instrukcje sterujące instrukcja warunkowa: if instrukcja wyboru: switch instrukcje iteracyjne: for, while instrukcje przerwania: continue, break,
Całkowanie numeryczne
16 kwiecień 2009 SciLab w obliczeniach numerycznych - część 4 Slajd 1 Całkowanie numeryczne 16 kwiecień 2009 SciLab w obliczeniach numerycznych - część 4 Slajd 2 Plan zajęć 1. Całkowanie przybliżone funkcji
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
Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski
Metody numeryczne Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Elektrotechnika stacjonarne-dzienne pierwszego stopnia
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
Elementy metod numerycznych - zajęcia 9
Poniższy dokument zawiera informacje na temat zadań rozwiązanych w trakcie laboratoriów. Elementy metod numerycznych - zajęcia 9 Tematyka - Scilab 1. Labolatoria Zajęcia za 34 punktów. Proszę wysłać krótkie
Interpolacja, aproksymacja całkowanie. Interpolacja Krzywa przechodzi przez punkty kontrolne
Interpolacja, aproksymacja całkowanie Interpolacja Krzywa przechodzi przez punkty kontrolne Aproksymacja Punkty kontrolne jedynie sterują kształtem krzywej INTERPOLACJA Zagadnienie interpolacji można sformułować
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
Całkowanie numeryczne przy użyciu kwadratur
Całkowanie numeryczne przy użyciu kwadratur Plan wykładu: 1. Kwadratury Newtona-Cotesa a) wzory: trapezów, parabol etc. b) kwadratury złożone 2. Ekstrapolacja a) ekstrapolacja Richardsona b) metoda Romberga
Ćwiczenie 3: Wprowadzenie do programu Matlab
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Laboratorium modelowania i symulacji Ćwiczenie 3: Wprowadzenie do programu Matlab 1. Wyznaczyć wartość sumy 1 1 2 + 1 3 1 4 + 1
GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.
1 GNU Octave GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej. Octave zapewnia: sporą bibliotęke użytecznych funkcji i algorytmów; możliwośc tworzenia przeróżnych wykresów; możliwość
Wprowadzenie do środowiska MATLAB z zastosowaniami w modelowaniu i analizie danych
Wprowadzenie do środowiska MATLAB z zastosowaniami w modelowaniu i analizie danych Daniel Wójcik Instytut Biologii Doświadczalnej PAN Szkoła Wyższa Psychologii Społecznej d.wojcik@nencki.gov.pl tel. 022
Zadania. Rozdział Wektory i macierze. 1.Podajpolecenie 1,któreutworzywektor: v = [100, 95, 90,..., 95, 100].
Rozdział 1 Zadania 11 Wektory i macierze 1Podajpolecenie 1,któreutworzywektor: v = [100, 95, 90,, 95, 100] 2 Podaj polecenie, które utworzy wektor: v = [cos(pi), cos(2 pi), cos(3 pi),,cos(100 pi)] 3 Podaj
WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA
WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA PRZEDMIOT : : LABORATORIUM PODSTAW AUTOMATYKI 1. WSTĘP DO
Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A
Egzamin z Metod Numerycznych ZSI, 06.2007. Egzamin, Gr. A Imię i nazwisko: Nr indeksu: Section 1. Test wyboru, max 33 pkt Zaznacz prawidziwe odpowiedzi literą T, a fałszywe N. Każda prawidłowa odpowiedź
Zaprojektować i zaimplementować algorytm realizujący następujące zadanie.
Lista 1 Utworzenie tablicy jest równoznaczne z alokacją pamięci na elementy tablicy (utworzeniem dynamicznej tablicy). W zadaniach należy pamiętać o zwolnieniu zasobów przydzielonych na stercie. Zabronione
Metody numeryczne. materiały do wykładu dla studentów. 7. Całkowanie numeryczne
Metody numeryczne materiały do wykładu dla studentów 7. Całkowanie numeryczne 7.1. Całkowanie numeryczne 7.2. Metoda trapezów 7.3. Metoda Simpsona 7.4. Metoda 3/8 Newtona 7.5. Ogólna postać wzorów kwadratur
Egzamin z Metod Numerycznych ZSI, Grupa: A
Egzamin z Metod Numerycznych ZSI, 06.2005. Grupa: A Nazwisko: Imię: Numer indeksu: Ćwiczenia z: Data: Część 1. Test wyboru, max 36 pkt Zaznacz prawidziwe odpowiedzi literą T, a fałszywe N. Każda prawidłowa
Podstawowe struktury danych Tablice, macierze. LABORKA Piotr Ciskowski
Podstawowe struktury danych Tablice, macierze LABORKA Piotr Ciskowski przykład 1. zabawy z macierzami wygeneruj macierze Pascala różnych rozmiarów, wydedukuj z nich zasadę tworzenia» pascal ( 5 ) przykład
Matlab Składnia + podstawy programowania
Matlab Składnia + podstawy programowania Matlab Matrix Laboratory środowisko stworzone z myślą o osobach rozwiązujących problemy matematyczne, w których operuje się na danych stanowiących wielowymiarowe
//warunki początkowe m=500; T=30; c=0.4; t=linspace(0,t,m); y0=[-2.5;2.5];
4.3. Przykłady wykorzystania funkcji bibliotecznych 73 MATLAB % definiowanie funkcji function [dx]=vderpol(t,y) global c; dx=[y(2); c*(1-y(1)^2)*y(2)-y(1)]; SCILAB // definiowanie układu function [f]=vderpol(t,y,c)
LISTA 5. C++ PETLE for, while, do while
WSTEP DO INFORMATYKI I PROGRAMOWANIA LISTA 5. C++ PETLE for, while, do while Zadanie. Przeanalizuj działanie poniższego programu. cout
x y
Przykłady pytań na egzamin końcowy: (Uwaga! Skreślone pytania nie obowiązują w tym roku.). Oblicz wartość interpolacji funkcjami sklejanymi (przypadek (case) a), dla danych i =[- 4 5], y i =[0 4 -]. Jaka
Laboratorium 3 Grafika 2D i 3D w Matlabie. Wprowadzenie do programowania
Uniwersytet Zielonogórski Wydział Informatyki, Elektrotechniki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych Elektrotechnika niestacjonarne-zaoczne pierwszego stopnia z tyt. inżyniera
Scilab skrypty (programowanie)
Strona 1 Skrypt (program interpretowany) możemy napisać w dowolnym edytorze. Warto posługiwać się edytorem wbudowanym w program Scilab. Wykonać skrypt możemy na dwa sposoby: wpisując polecenie exec('nazwaskryptu')
Różniczkowanie numeryczne
Różniczkowanie numeryczne Przyjmijmy, że funkcja ciągła y = f(x) = 4sin(3x)e -x/2, gdzie x 0,2π, dana jest w postaci dyskretnej jako ciąg wartości y odpowiadających zmiennej niezależnej x, również danej
II. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE Janusz Adamowski
II. RÓŻNICZKOWANIE I CAŁKOWANIE NUMERYCZNE Janusz Adamowski 1 1 Różniczkowanie numeryczne Rozważmy funkcję f(x) określoną na sieci równoodległyc węzłów. Funkcja f(x) może być dana za pomocą wzoru analitycznego
Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński
Obliczenia Naukowe Wykład 12: Zagadnienia na egzamin Bartek Wilczyński 6.6.2016 Tematy do powtórki Arytmetyka komputerów Jak wygląda reprezentacja liczb w arytmetyce komputerowej w zapisie cecha+mantysa
Ć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: -
Wprowadzenie do środowiska
Wprowadzenie do środowiska www.mathworks.com Piotr Wróbel piotr.wrobel@igf.fuw.edu.pl Pok. B 4.22 Metody numeryczne w optyce 2017 Czym jest Matlab Matlab (matrix laboratory) środowisko obliczeniowe oraz
wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis
i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje
METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH
METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR
Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych
Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych Wszystko proszę zapisywać komendą diary do pliku o nazwie: imie_ nazwisko 1. Definiowanie macierzy i odwoływanie się do elementów:
Wstęp do metod numerycznych Zadania numeryczne 2016/17 1
Wstęp do metod numerycznych Zadania numeryczne /7 Warunkiem koniecznym (nie wystarczającym) uzyskania zaliczenia jest rozwiązanie co najmniej 3 z poniższych zadań, przy czym zadania oznaczone literą O
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
ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 26 czerwca 2017 roku
Egzamin pisemny zestaw czerwca 0 roku Imię i nazwisko:.... ( pkt.) Udowodnić, że jeśli funkcja g interpoluje funkcję f w węzłach x 0, x, K, x n, a funk- cja h interpoluje funkcję f w węzłach x, x, K, x
Podstawy MATLABA, cd.
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Przetwarzanie Sygnałów Studia Podyplomowe, Automatyka i Robotyka Podstawy MATLABA, cd. 1. Wielomiany 1.1. Definiowanie
Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad
Elementy projektowania inzynierskiego Definicja zmiennych skalarnych a : [S] - SPACE a [T] - TAB - CTRL b - SHIFT h h. : / Wyświetlenie wartości zmiennych a a = b h. h. = Przykładowe wyrażenia
Metody i analiza danych
2015/2016 Metody i analiza danych Macierze Laboratorium komputerowe 2 Anna Kiełbus Zakres tematyczny 1. Funkcje wspomagające konstruowanie macierzy 2. Dostęp do elementów macierzy. 3. Działania na macierzach
Projekt 6: Równanie Poissona - rozwiązanie metodą algebraiczną.
Projekt 6: Równanie Poissona - rozwiązanie metodą algebraiczną. Tomasz Chwiej 9 sierpnia 18 1 Wstęp 1.1 Dyskretyzacja n y V V 1 V 3 1 j= i= 1 V 4 n x Rysunek 1: Geometria układu i schemat siatki obliczeniowej
Analiza numeryczna Lista nr 3 (ćwiczenia) x x 2 n x.
Analiza numeryczna Lista nr 3 (ćwiczenia) Sprawdzić że macierz ma wartości własne2+ 222 2 2 Niechx R n Udowodnić że 2 0 0 x x 2 n x 3 NiechA R n n będzie macierzą symetryczną Wiadomo że wówczas istnieje
Przykładowe pytania na kolokwium z Informatyki dla Inżynierii Biomedycznej
Wrocław, 2.05.2012 Przykładowe pytania na kolokwium z Informatyki dla Inżynierii Biomedycznej 14.05.2012 1. Krótko zdefiniuj następujące pojęcia i techniki. Krótko wyjaśnij do czego i dlaczego są stosowane:
ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 24 czerwca 2019 roku
Egzamin pisemny zestaw. ( pkt.) Udowodnić, że jeśli funkcja g interpoluje funkcję f w węzłach x 0, x, K, x n, a funk- cja h interpoluje funkcję f w węzłach x, x, K, x n, to funkcja x0 x gx ( ) + [ gx (
Ćwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Podstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Programowanie - wykład 4
Programowanie - wykład 4 Filip Sośnicki Wydział Fizyki Uniwersytet Warszawski 20.03.2019 Przypomnienie Prosty program liczący i wyświeltający wartość silni dla wprowadzonej z klawiatury liczby: 1 # include
PRZYKŁADOWE SKRYPTY (PROGRAMY W MATLABIE Z ROZSZERZENIEM.m): 1) OBLICZANIE WYRAŻEŃ 1:
PRZYKŁADOWE SKRYPTY (PROGRAMY W MATLABIE Z ROZSZERZENIEM.m): 1) OBLICZANIE WYRAŻEŃ 1: clear % usunięcie zmiennych z pamięci roboczej MATLABa % wyczyszczenie okna kom % nadanie wartości zmiennym x1 i x2
Programowanie strukturalne i obiektowe. Funkcje
Funkcje Często w programach spotykamy się z sytuacją, kiedy chcemy wykonać określoną czynność kilka razy np. dodać dwie liczby w trzech miejscach w programie. Oczywiście moglibyśmy to zrobić pisząc trzy
Podstawy OpenCL część 2
Podstawy OpenCL część 2 1. Napisz program dokonujący mnożenia dwóch macierzy w wersji sekwencyjnej oraz OpenCL. Porównaj czasy działania obu wersji dla różnych wielkości macierzy, np. 16 16, 128 128, 1024
Matlab Składnia + podstawy programowania
Matlab Składnia + podstawy programowania Matlab Matrix Laboratory środowisko stworzone z myślą o osobach rozwiązujących problemy matematyczne, w których operuje się na danych stanowiących wielowymiarowe
Przetwarzanie sygnałów
Spis treści Przetwarzanie sygnałów Ćwiczenie 1 Wprowadzenie do programu Octave 1 Operatory 1 1.1 Operatory arytmetyczne...................... 1 1.2 Operatory relacji.......................... 1 1.3 Operatory
AUTOMATYZACJA OBLICZEŃ INŻYNIERSKICH. Dr hab. inż. Jacek Kucharski, prof. PŁ Dr inż. Piotr Urbanek
AUTOMATYZACJA OBLICZEŃ INŻYNIERSKICH Dr hab. inż. Jacek Kucharski, prof. PŁ Dr inż. Piotr Urbanek CEL OGÓLNY Zdobycie umiejętności efektywnego wykorzystywania wybranych narzędzi informatycznych dla potrzeb
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
Ćwiczenie 3. Iteracja, proste metody obliczeniowe
Ćwiczenie 3. Iteracja, proste metody obliczeniowe Instrukcja iteracyjna ( pętla liczona ) Pętla pozwala na wielokrotne powtarzanie bloku instrukcji. Liczba powtórzeń wynika z definicji modyfikowanej wartości
Laboratorium nr 1. i 2.
Laboratorium nr 1. i 2. Celem laboratorium jest zapoznanie się ze zintegrowanym środowiskiem programistycznym, na przykładzie podstawowych aplikacji z obsługą standardowego wejścia wyjścia, podstawowych
Rozwiazywanie układów równań liniowych. Ax = b
Rozwiazywanie układów równań liniowych Ax = b 1 PLAN REFERATU: Warunki istnienia rozwiazań układu Metoda najmniejszych kwadratów Metoda najmniejszych kwadratów - algorytm rekurencyjny Rozwiazanie układu
Bardzo łatwa lista powtórkowa
Analiza numeryczna, II rok inf., WPPT- 12 stycznia 2008 Terminy egzaminów Przypominam, że egzaminy odbędą się w następujących terminach: egzamin podstawowy: 30 stycznia, godz. 13 15, C-13/1.31 egzamin
Podstawowe operacje na macierzach
Podstawowe operacje na macierzach w pakiecie GNU octave. (wspomaganie obliczeń inżynierskich) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z tworzeniem macierzy i wektorów w programie GNU octave.
I. Podstawy języka C powtórka
I. Podstawy języka C powtórka Zadanie 1. Utwórz zmienne a = 730 (typu int), b = 106 (typu long long), c = 123.45 (typu double) Wypisz następujące komunikaty: Dane sa liczby: a = 730, b = 106 i c = 123.45.
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.
Elementarna analiza statystyczna
MatLab część V 1 Elementarna analiza statystyczna W standardowym pakiecie MatLab-a istnieją jedynie podstawowe funkcje analizy statystycznej. Bardziej zaawansowane znajdują się w pakiecie statystycznym
Równania nieliniowe. LABORKA Piotr Ciskowski
Równania nieliniowe LABORKA Piotr Ciskowski przykład 1. funkcja fplot fplot ( f, granice ) fplot ( f, granice, n, linia, tol ) [ x, y ] = fplot ( )» fplot ( sin(x*x)/x, [ 0 4*pi ] )» fplot ( sin(x*x)/x,
Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna
Interpolacja Marcin Orchel 1 Wstęp Mamy daną funkcję φ (x; a 0,..., a n ) zależną od n + 1 parametrów a 0,..., a n. Zadanie interpolacji funkcji φ polega na określeniu parametrów a i tak aby dla n + 1
Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur. 1. Identyfikator funkcji,
Funkcja kwadratowa. f(x) = ax 2 + bx + c,
Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax 2 + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax 2, a R \
Funkcje dwóch zmiennych
Funkcje dwóch zmiennych Andrzej Musielak Str Funkcje dwóch zmiennych Wstęp Funkcja rzeczywista dwóch zmiennych to funkcja, której argumentem jest para liczb rzeczywistych, a wartością liczba rzeczywista.
Czym jest całka? Całkowanie numeryczne
Całkowanie numeryczne jest to zagadnienie z metod elementów skończonych (MES). Korzystając z całkowania numerycznego możemy obliczyć wartość dowolnej całki jednowymiarowej oznaczonej. Wynik jest zawsze
5. Rozwiązywanie układów równań liniowych
5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a
Całki nieoznaczone. 1 Własności. 2 Wzory podstawowe. Adam Gregosiewicz 27 maja a) Jeżeli F (x) = f(x), to f(x)dx = F (x) + C,
Całki nieoznaczone Adam Gregosiewicz 7 maja 00 Własności a) Jeżeli F () = f(), to f()d = F () + C, dla dowolnej stałej C R. b) Jeżeli a R, to af()d = a f()d. c) Jeżeli f i g są funkcjami całkowalnymi,
ALGEBRA z GEOMETRIA, ANALITYCZNA,
ALGEBRA z GEOMETRIA, ANALITYCZNA, MAT00405 PRZEKSZTAL CANIE WYRAZ EN ALGEBRAICZNYCH, WZO R DWUMIANOWY NEWTONA Uprościć podane wyrażenia 7; (b) ( 6)( + ); (c) a 5 6 8a ; (d) ( 5 )( 5 + ); (e) ( 45x 4 y
dr inż. Damian Słota Gliwice r. Instytut Matematyki Politechnika Śląska
Program wykładów z metod numerycznych na semestrze V stacjonarnych studiów stopnia I Podstawowe pojęcia metod numerycznych: zadanie numeryczne, algorytm. Analiza błędów: błąd bezwzględny i względny, przenoszenie
Przykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!
Scilab jest środowiskiem programistycznym i numerycznym dostępnym za darmo z INRIA (Institut Nationale de Recherche en Informatique et Automatique). Jest programem podobnym do MATLABa oraz jego darmowego
FUNKCJA REKURENCYJNA. function s(n:integer):integer; begin if (n>1) then s:=n*s(n-1); else s:=1; end;
Rekurencja Wykład: rekursja, funkcje rekurencyjne, wywołanie samej siebie, wyznaczanie poszczególnych liczb Fibonacciego, potęgowanie, algorytm Euklidesa REKURENCJA Rekurencja (z łac. recurrere), zwana
KADD Minimalizacja funkcji
Minimalizacja funkcji Poszukiwanie minimum funkcji Foma kwadratowa Metody przybliżania minimum minimalizacja Minimalizacja w n wymiarach Metody poszukiwania minimum Otaczanie minimum Podział obszaru zawierającego
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
Maxima i Visual Basic w Excelu
12 marca 2013 Maxima - zapoznanie z programem Maxima to program - system algebry komputerowej. Podstawowa różnica w stosunku do klasycznych programów obliczeniowych jest możliwość wykonywania obliczeń
Obliczanie całek. Instytut Fizyki Akademia Pomorska w Słupsku
Obliczanie całek. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się ze sposobami i możliwościami przybliżonego obliczania całek w środowisku GNU octave. Wprowadzenie Kwadratury Zajmijmy się przybliżonym
MATLAB wprowadzenie śycie jest zbyt krótkie, aby tracić czas na pisanie pętli!
Modele układów dynamicznych - laboratorium MATLAB wprowadzenie śycie jest zbyt krótkie, aby tracić czas na pisanie pętli! 1 2 MATLAB MATLAB (ang. matrix laboratory) to pakiet przeznaczony do wykonywania
Metody numeryczne w przykładach
Metody numeryczne w przykładach Bartosz Ziemkiewicz Wydział Matematyki i Informatyki UMK, Toruń Regionalne Koło Matematyczne 8 kwietnia 2010 r. Bartosz Ziemkiewicz (WMiI UMK) Metody numeryczne w przykładach
Rozwiązywanie równań różniczkowych cząstkowych metodą elementów skończonych - wprowadzenie
Rozwiązywanie równań różniczkowych cząstkowych metodą elementów skończonych - wprowadzenie Wprowadzenie Metoda Elementów Skończonych (MES) należy do numerycznych metod otrzymywania przybliżonych rozwiązań
Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać
MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty
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,
Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.
Funkcje wymierne Jerzy Rutkowski Teoria Przypomnijmy, że przez R[x] oznaczamy zbiór wszystkich wielomianów zmiennej x i o współczynnikach rzeczywistych Definicja Funkcją wymierną jednej zmiennej nazywamy
Ćwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów
Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów W ramach zajęć oprogramujemy jedną, wybraną metodę numeryczną: metodę bisekcji numerycznego rozwiązywania równania nieliniowego
Drugi sposób definiowania funkcji polega na wykorzystaniu polecenia:
ĆWICZENIE 6. Scilab: Obliczenia symboliczne i numeryczne Uwaga: Podczas operacji kopiowania i wklejania potrzeba skasować wklejone pojedyńcze cudzysłowy i wpisać je ręcznie dla każdego ich wystąpienia
1. Znajdowanie miejsca zerowego funkcji metodą bisekcji.
1. Znajdowanie miejsca zerowego funkcji metodą bisekcji. Matematyczna funkcja f ma być określona w programie w oddzielnej funkcji języka C (tak, aby moŝna było łatwo ją zmieniać). Przykładowa funkcja to:
ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH
Transport, studia I stopnia Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać ogólna równania nieliniowego Często występującym, ważnym problemem obliczeniowym
Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2
Pętle wielokrotne wykonywanie ciągu instrukcji. Bardzo często w programowaniu wykorzystuje się wielokrotne powtarzanie określonego ciągu czynności (instrukcji). Rozróżniamy sytuacje, gdy liczba powtórzeń
1. Równania i nierówności liniowe
Równania i nierówności liniowe Wykonać działanie: Rozwiązać równanie: ( +x + ) x a) 5x 5x+ 5 = 50 x 0 b) 6(x + x + ) = (x + ) (x ) c) x 0x (0 x) 56 = 6x 5 5 ( x) Rozwiązać równanie: a) x + x = 4 b) x x
Funkcja kwadratowa. f(x) = ax 2 + bx + c = a
Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax, a R \ {0}.
Wprowadzenie do Mathcada 1
Wprowadzenie do Mathcada Ćwiczenie. - Badanie zmienności funkcji kwadratowej Ćwiczenie. pokazuje krok po kroku tworzenie prostego dokumentu w Mathcadzie. Dokument ten składa się z następujących elementów:.
Maxima i Visual Basic w Excelu
25 marca 2014 Jak komunikować się z komputerem? Trzy podstawowe elementy programu: 1 wprowadzenie danych (wejście), 2 wykonanie operacji przewidzianych programem (najczęściej obliczeń), 3 zwrócenie wyniku
1 Pochodne wyższych rzędów
Pochodne wyższych rzędów Pochodną rzędu drugiego lub drugą pochodną funkcji y = f(x) nazywamy pochodną pierwszej pochodnej tej funkcji. Analogicznie definiujemy pochodne wyższych rzędów, jako pochodne