Obliczanie ekstremum (maksimum, minimum) Przykład 1: Oblicz maksimum ciągu liczb podanych w macierzy x. x=[1 5 4 3 7 2] Metoda rozwiązania: 1. Podstawiamy pierwszy element macierzy pod zmienną max. 2. W pętli (po indeksie i) od drugiego elementu do ostatniego porównujemy kolejny element macierzy xi ze zmienną max. 3. Jeśli kolejny element xi jest większy od max, to za zmienną max podstawiamy kolejny element xi . 4. Wyświetlamy wartość zmiennej max Schemat blokowy algorytmu: Kod programu max1.m %obliczanie maximum z ciągu liczb X=[1 5 4 3 7 2] n=length(X); max=X(1); for i=2:n if X(i) >max max=X(i); end end max START X=[1 5 4 3 7 2] n=length(X) max = X(1) i=1:n X(i) > max tak max = X(i) nie Wyświetl max END Zadanie 1: Oblicz minimum ciągu liczb z przykładu 1. Zmodyfikuj przykład 1 tak, aby liczył minimum. Zadanie 2: Oblicz maksimum z elementów macierzy A i wyświetl, który to jest element macierzy (nr wiersza i nr kolumny). 11 𝐴 = [32 18 4 41 77 16 7] 45 Sortowanie bąbelkowe Przykład 2.: Posortuj rosnąco ciąg liczb podanych w macierzy X X = [77 41 3 12] Metoda sortowania bąbelkowego: 1. Pętla po ilościach elementów w etapie sortowania: 2. Pętla po krokach: i=n:-1:2 j=1:i-1 3. Jeżeli X(j) > X(j+1), to zamień X(j) z X(j+1) 4. Wyświetl wartości posortowane. Schemat algorytmu sortowania bąbelkowego % sortowanie bąbelkowe X=[77 41 3 12] n=length(X); for i=n:-1:2 for j=1:i-1 if X(j)>X(j+1) pom=X(j+1); X(j+1)=X(j); X(j)=pom; end end end disp('tablica X posortowana X START X=[77 41 3 12] n=length(X) i=n:-1:2 j=1:i-1 X(j)>X(j+1) nie Kod programu bubblesort.m tak pom=X(j+1) X(j+1)=X(j) X(j)=pom Wyświetl X END Zadanie 3: Posortuj rosnąco ciąg liczb: 23 65 87 67 12 7 -34 17 Zadanie 4: Posortuj malejąco ciąg liczb: 23 65 87 67 12 7 -34 17 (zmień program) ') Przykład 3. Oblicz przybliżoną wartość całki oznaczonej 3 𝐶 = ∫(𝑥 2 + 2) 𝑑𝑥 0 metodą trapezów wg wzorów: 𝑏 𝑛 𝐶 = ∫ 𝑓(𝑥)𝑑𝑥 ≈ [∑ 𝑓(𝑥𝑖 ) − 𝑖=1 𝑎 𝑓(𝑎) + 𝑓(𝑏) ] ∆𝑥 2 gdzie: n=zadana ilość puntów xi; f(x)=x2+2 𝑏−𝑎 ∆𝑥 = 𝑛−1 𝑥 = [𝑎: ∆𝑥: 𝑏] y=f(x) Przygotuj dane testowe do programu dla n=2 (oblicz ręcznie) Kod programu calka1.m % obliczenie całki f=@(x)(x.^2+2) n=2 a=1; b=3; dx=(b-a)/(n-1); x=[a:dx:b]; y=f(x); S=(sum(y)-(f(a)+f(b))/2)*dx Oblicz całkę z dokładnością do 3 cyfr po przecinku zmieniając n. Zadanie 5: Oblicz metodą trapezów przybliżoną wartość całki oznaczonej: 3 𝐶 = ∫ (𝑒 −3 z dokładnością do 3 cyfr po przecinku: −𝑥 2 2 ) 𝑑𝑥 Zadanie 6: Oblicz długość odcinka między punktami P1(x1,y1) i P2(x2,y2) na płaszczyźnie wg wzoru: 𝐿 = √(𝑥2 − 𝑥1)2 + (𝑦2 − 𝑦1)2 Zadanie 7. Oblicz przybliżoną długość d krzywej y(x) w przedziale <-4,4> z dokładnością do 0,001 wg wzorów: 3 𝑦(𝑥) = √𝑥 6 + 3 𝐿𝑖 = √(𝑥𝑖+1 − 𝑥𝑖 )2 + (𝑦𝑖+1 − 𝑦𝑖 )2 𝑛−1 𝑑 = ∑ 𝐿𝑖 𝑖=1 Wykorzystaj funkcję x=linspace(a,b,n), która oblicza n wartości x w równoodległych punktach, dzieląc przedział [a,b] na n-1 części.