Ćwiczenie 3. Iteracja, proste metody obliczeniowe

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

Powtórzenie wiadomości z klasy I. Temat: Ruchy prostoliniowe. Obliczenia

Wstęp do Programowania Lista 1

v=s/t [m/s] s=v t [(m/s) s=m]

Ruch jednostajnie zmienny prostoliniowy

Temat 20. Techniki algorytmiczne

Programowanie i techniki algorytmiczne

Zakres materiału obowiązujący do egzaminu poprawkowego z matematyki klasa 1 d LO

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Metody numeryczne Laboratorium 2

Egzamin ustny z matematyki semestr II Zakres wymaganych wiadomości i umiejętności

MATLAB - laboratorium nr 1 wektory i macierze

Na rysunku przedstawiony jest wykres funkcji f(x) określonej dla x [-7, 8].

Ruch jednowymiarowy. Autorzy: Zbigniew Kąkol Kamil Kutorasiński

Podstawy Programowania C++

Zależność prędkości od czasu

FUNKCJA KWADRATOWA. Wykresem funkcji kwadratowej jest parabola o wierzchołku w punkcie W = (p, q), gdzie

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi

ZAGADNIENIA NA EGZAMIN POPRAWKOWY Z MATEMATYKI W KLASIE II TECHNIKUM.

Matura próbna 2014 z matematyki-poziom podstawowy

Ruch jednostajny prostoliniowy

Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Pętle iteracyjne i decyzyjne

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Czytanie wykresów to ważna umiejętność, jeden wykres zawiera więcej informacji, niż strona tekstu. Dlatego musisz umieć to robić.

Cw.12 JAVAScript w dokumentach HTML

Z przedstawionych poniżej stwierdzeń dotyczących wartości pędów wybierz poprawne. Otocz kółkiem jedną z odpowiedzi (A, B, C, D lub E).

Rodzaje zadań w nauczaniu fizyki

Blok 2: Zależność funkcyjna wielkości fizycznych. Rzuty

Skrypt 7. Funkcje. Opracowanie: L1

Przetwarzanie sygnałów

Matlab Składnia + podstawy programowania

Imię i nazwisko ucznia Data... Klasa... Ruch i siły wer. 1

Podstawy MATLABA, cd.

Język C, tablice i funkcje (laboratorium)

Zapisywanie algorytmów w języku programowania

KOŚć i przyspieszenie. O PRĘDKOŚCI. Aby ZROZumIEć to POjĘCIE,

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

Obliczenia iteracyjne

Matlab (5) Matlab równania różniczkowe, aproksymacja

zajęcia 2 Definiowanie wektorów:

Matematyka licea ogólnokształcące, technika

FUNKCJE ELEMENTARNE I ICH WŁASNOŚCI

KRYTERIA OCENIANIA Z MATEMATYKI W OPARCIU O PODSTAWĘ PROGRAMOWĄ I PROGRAM NAUCZANIA MATEMATYKA 2001 DLA KLASY DRUGIEJ

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja

1 Podstawy c++ w pigułce.

Wykład 5. Metoda eliminacji Gaussa

Klucz odpowiedzi i kryteria punktowania zadań

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3

Obliczenia w programie MATLAB

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

ALGORYTMY Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

MECHANIKA I WYTRZYMAŁOŚĆ MATERIAŁÓW - OBLICZANIE SIŁ WEWNĘTRZNYCH W BELKACH

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

Programowanie w języku Python. Grażyna Koba

Matematyka stosowana i metody numeryczne

Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Wprowadzenie do Mathcada 1

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego

EXCEL Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący

3. FUNKCJA LINIOWA. gdzie ; ół,.

Geometria analityczna

lim Np. lim jest wyrażeniem typu /, a

Matlab Składnia + podstawy programowania

ZAGADNIENIA NA EGZAMIN POPRAWKOWY Z MATEMATYKI W KLASIE II TECHNIKUM.

Dokąd on zmierza? Przemieszczenie i prędkość jako wektory

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

WYMAGANIA EDUKACYJNE Z MATEMATYKI DLA KLASY 7SP. V. Obliczenia procentowe. Uczeń: 1) przedstawia część wielkości jako procent tej wielkości;

KONCEPCJA TESTU. Test sprawdza bieżące wiadomości i umiejętności z zakresu kinematyki i dynamiki w klasie I LO.

I. Funkcja kwadratowa

KONSPEKT ZAJĘĆ EDUKACYJNYCH

FUNKCJE. Kurs ZDAJ MATURĘ Z MATEMATYKI MODUŁ 5 Teoria funkcje cz.1. Definicja funkcji i wiadomości podstawowe

Pojęcia, wymagania i przykładowe zadania na egzamin poprawkowy dla klas II w roku szkolnym 2016/2017 w Zespole Szkół Ekonomicznych w Zielonej Górze

Ruch prostoliniowy. zmienny. dr inż. Romuald Kędzierski

Funkcja liniowa - podsumowanie

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ć

MECHANIKA 2. Prowadzący: dr Krzysztof Polko

Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Określ zbiór wartości i przedziały monotoniczności funkcji.

Ćwiczenia Skopiować do swojego folderu plik cwiczenia-kl.ii.xls, a następnie zmienić jego nazwę na imię i nazwisko ucznia

Rys 1 Schemat modelu masa- sprężyna- tłumik

Modelowanie rynków finansowych z wykorzystaniem pakietu R

ZESTAW POWTÓRKOWY (1) KINEMATYKA POWTÓRKI PRZED EGZAMINEM ZADANIA WYKONUJ SAMODZIELNIE!

Wykład z Technologii Informacyjnych. Piotr Mika

04 Układy równań i rozkłady macierzy - Ćwiczenia. Przykład 1 A =

Elementy metod numerycznych - zajęcia 9

Propozycje sprawdzianów z matematyki w klasie I liceum i technikum poziom podstawowy

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Algorytm. Słowo algorytm pochodzi od perskiego matematyka Mohammed ibn Musa al-kowarizimi (Algorismus - łacina) z IX w. ne.

Wprowadzenie do programu Mathcad 15 cz. 1

TRYGONOMETRIA. 1. Definicje i własności funkcji trygonometrycznych

OCENIANIE ARKUSZA POZIOM PODSTAWOWY

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

FUNKCJA WYMIERNA. Poziom podstawowy

Transkrypt:

Ć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 licznika pętli. Postać ogólna: for licznik = wartość_pocz:krok:wartość_końcowa, instrukcja, instrukcja, Ćwiczenie Utworzyć m-plik, przetestować i wyjaśnić działanie poniższych przykładów: Przykład 1. Wypełnianie tablicy jednowymiarowej: for i= 1:1:10, a(i) = 3*i - 1; ; disp(a) Przykład2. Sumowanie elementów w tablicy jednowymiarowej: suma = 0; for i= 1:1:10, a(i) = i^2, pause, %zatrzymuje do naciśnięcia dowolnego klawisza suma=suma+a(i); disp(suma) Przykład 3. Wypełnianie tablicy dwuwymiarowej "zagnieżdżenie" iteracji: for i= 1:1:5, for j = 1:1:5, a(i, j) = i*j; pause %ograniczenie pętli wewnętrznej %ograniczenie pętli zewnętrznej disp(a) Przykład 4. Sumowanie elementów w tablicy dwuwymiarowej: suma = 0; for i= 1:1:5, for j = 1:1:5, a(i, j) = 2*i - 4* j, pause, suma=suma+a(i, j); 1

disp(suma) Ograniczenia pętli wewnętrznej mogą być zależne od licznika pętli zewnętrznej. Wykonać i wyjaśnić poniższy przykład: Przykład 5. for i= 1:1:5, for j = 1:1:i, a(i, j) = 2*i - 4* j; disp(a) Zliczanie i sumowanie warunkowe Zliczanie warunkowe (np. policz ile elementów w tablicy jest dodatnich) wymaga zastosowania pętli for, w której dla każdego kroku badamy element tablicy (wykorzystując instrukcję warunkową if). Dla elementów spełniających dany warunek należy wartość pomocniczej zmiennej powiększać o 1. Po zakończeniu pętli wyświetlić wartość zmiennej pomocniczej. Schemat działań: M=-3:0.1:2 ile=0; N=length(M) % funkcja length zwraca liczbę kolumn tablicy for i=1:n if M(i)>0 ile=ile+1; ; disp(ile) Podobny jest algorytm sumowania warunkowego (np. obliczenie sumy elementów dodatnich w tablicy) : M=-3:0.1:2 suma_d=0; N=length(M) for i=1:n if M(i)>0 suma_d=suma_d+m(i); ; disp(suma_d) Zadania 1. Napisać m-plik, w którym zdefiniowana jest dowolna tablica 5x5, (wykorzystać funkcję rand(n), która generuje losowo macierz kwadratową NxN), a następnie obliczana jest suma elementów w 3-ciej kolumnie. 2. Napisać m-plik, w którym zdefiniowana jest dowolna tablica 10x10, następnie obliczana jest suma elementów na przekątnej głównej. 3. Napisać m-plik, w którym zdefiniowana jest dowolna tablica 10x10, następnie obliczana jest suma elementów na przeciwprzekątnej. 4. Napisać m-plik, w którym zdefiniowana jest dowolna tablica 10x10, następnie obliczane jest ile elementów jest dodatnich, a ile ujemnych. 5. Napisać m-plik, w którym zdefiniowana jest dowolna tablica 5x5, następnie obliczana jest suma elementów ujemnych w całej tablicy. 2

Proste obliczenia kinematyczne Jedną wartość możemy obliczyć na podstawie znanego wzoru lub znanej funkcji przez podstawienie wartości liczbowych parametrów lub wartości liczbowej argumentu funkcji. Ćwiczenie Zadanie 1. Obliczyć przyspieszenie samochodu, który startuje w chwili t 0 od prędkości v 0 =0 i przyspiesza ruchem jednostajnie przyspieszonym do prędkości v 1 =20m/s (72km/h) w czasie 5 sekund. Korzystamy ze znanego wzoru na prędkość: v=v 0+a*(t-t 0) Powyższe równanie możemy rozwiązać ręcznie otrzymując wzór na przyspieszenie: a = v v 6 t t 6 Po podstawieniu do tego wzoru danych: t 0=0, v 0=0, t=5; v=20, obliczamy przyspieszenie a. Obliczenie w m-pliku Matlaba: clc, clear t0=0, v0=0, t=5, v=20 a=(v-v0)/(t-t0) Zadanie 2. Obliczyć opóźnienie (przyspieszenie ujemne) samochodu, który jedzie w chwili t 0 z prędkością v 0 =20m/s (72km/h) i zatrzymuje się przed skrzyżowaniem. Czas hamowania wynosi 4 sekundy, a prędkość samochodu maleje jednostajnie. Korzystamy ze wzoru na przyspieszenie z przykładu 1. Po podstawieniu danych : t0=0, v0=20, t=4, v=0 do wzoru 8 = 9:9 ; <:< ; i obliczamy przyspieszenie a. Obliczenia w m-pliku Matlaba: t0=0, v0=20, t=4, v=0 a=(v-v0)/(t-t0) Zadanie 3. Samochód startuje w chwili t 0 =0 od prędkości v 0 =0 i przyspiesza ruchem jednostajnie przyspieszonym do prędkości v 1 = 20m/s (72 km/h) w czasie 5 sekund. Jedzie ze stałą prędkością przez 2 minuty do chwili t 2, a następnie hamuje przez 4 sekundy i zatrzymuje się przed skrzyżowaniem w chwili t 3. a. Narysować wykres prędkości przy użyciu funkcji plot. b. Obliczyć przyspieszenia na poszczególnych odcinkach czasu i narysować wykres przyspieszenia przy użyciu funkcji plot. ad a) Przyjmujemy oznaczenia: t 0=0, v 0=0 t 1=t 0+5, v 1=20 t 2=t 1+2*60, v 2=20 t 3=t 2+4, v 3=0 Podstawiamy oznaczenia poszczególnych chwil do macierzy jednowierszowej t: t=[t 0, t 1, t 2, t 3] Podstawiamy oznaczenia poszczególnych prędkości do macierzy jednowierszowej v: v=[v 0, v 1, v 2, v 3] Stosujemy funkcję plot: 3

plot(t,v) Metoda rozwiązania w m-pliku Matlaba: %Program tworzenia wykresu prędkości t0=0, v0=0 t1=t0+5, v1=20 t2=t1+2*60, v2=20 t3=t2+4, v3=0 t=[t0, t1, t2, t3] v=[v0, v1, v2, v3] plot(t,v), grid title('wykres predkosci') ad b) Zgodnie z wynikiem zad.1 na odcinku <t0,t1> przyspieszenie ma wartość stałą a 1 =4. Na odcinku <t1,t2> przyspieszenie a 2 =0, ponieważ prędkość jest stała. Na podstawie wyniku z zad.2 przyspieszenie na odcinku <t2,t3> ma wartość a 3 =-5. Rysujemy schematyczny rysunek: - na osi t zaznaczamy poszczególne chwile t0, t1, t2, t3, - na osi a rysujemy poszczególne odcinki a1,a2,a3, - numerujemy poszczególne punkty wykresu kolejnymi liczbami 1,2,3,4,5,6,7,8 zaczynając od punktu (t0,0). Kolejne punkty mają współrzędne: 1(t 0,0), 2(t 0,a 1), 3(t 1,a 1), 4(t 1,a 2), 5(t 2,a 2), 6(t 2,a 3), 7(t 3,a 3), 8(t 3,0) Podstawiamy oznaczenia pierwszych współrzędnych kolejnych punktów do wektora t: t=[t 0, t 0,t 1,t 1,t 2,t 2,t 3,t 3] Podstawiamy oznaczenia drugich współrzędnych kolejnych punktów do wektora v: v=[0,a 1,a 1,a 2,a 2,a 3,a 3,0] Wywołujemy instrukcję plot i instrukcję grid: plot(t,v), grid Metoda rozwiązania w Matlab-ie: % Program tworzenia wykresu przyspieszenia t0=0, t1=t0+5, t2=t1+2*60, t3=t2+4 a1=4, a2=0, a3=-5 t=[t0,t0,t1,t1,t2,t2,t3,t3] a=[0,a1,a1,a2,a2,a3,a3,0] plot(t,a), grid title('wykres przyspieszenia') Indeksy elementów wektora W matematyce często argumenty zmiennej x i wartości zmiennej y numerujemy od 0;np.: x 0, x 1,x 2,,x i,,x n-1,x n lub w zapisie skróconym {x i };i=0:n 4

y 0,y 1,y 2,,y i,,y n-1,y n lub w zapisie skróconym {y i }; i=0:n J E 6 + E F +E G + + E I + + E J:F + E J lub krócej: IM6 E I W fizyce zmienną czasową t, prędkość v i drogę s również często numerujemy od 0, np.: t 0, t 1, t 2, t i,,t n v 0, v 1, v 2, v i,,v n s 0, s 1, s 2, s i,,s n W języku Matlab indeksy (wskaźniki) numerujemy od 1. Dlatego, też musimy we wzorach zmieniać indeksy x 1, x 2,x 3,,x i, x n,x n+1 lub w zapisie skróconym {x i };i=1:n+1 y 1,y 2,y 3,,y i,,y n-1,y n+1 lub w zapisie skróconym {y i }; i=1:n+1 E F +E G + E N + + E I + + E JOF JOF PQR S T8UVWVX WYZó[\]^_ ` E I t 1, t 2, t 3, t i,,t n+1 v 1, v 2, v 3, v i,,v n+1 s 1, s 2, s 3, s i,,s n+1 Do elementu wektora odwołujemy się poprzez nazwę wektora i indeks w nawiasie okrągłym; np.: do trzeciego elementu wektora x 3 odwołujemy się x(3). Metody obliczeń wielu wartości funkcji Wartości funkcji można obliczać na wiele sposobów. Ćwiczenie Zadanie 4. Obliczyć wartości drogi dla podanego wzoru na drogę: s= a<b dla a=4 w przedziale dla t=[0, 5] G Sposób 1. Obliczanie wielu wartości dla podanego wzoru, np.. Chcemy obliczyć wartości drogi s co jedną sekundę. Generujemy listę argumentów w wektorze t od 0 do 5. t=[0:0.1:5] lub prościej: t=0:0.1:5 Tworzymy wyrażenie, które oblicza wartości s dla każdego elementu wektora t według wzoru s= a<b G : s=a*t.^2/2 Metoda obliczeń w Matlab-ie: a=4; t=0:0.1:5; s=a*t.^2/2; %elementowe potęgowanie wektora!.^ plot(t,s) Sposób 2. Obliczanie wielu wartości przez podział przedziału t=[t 0, t k ] na n podprzedziałów i zastosowanie iteracji for: Otrzymamy wtedy n+1 wartości t (czyli n-1 wartości w punktach podziału oraz dwa punkty końcowe t 0 i t k ). Metoda obliczeń: Obliczamy długość podprzedziału h: h=(t k-t 0)/n Obliczamy wartości argumentu w punktach podziału: t i=t 0+(i-1)*h dla i=1,2,3,n+1 Obliczamy wartości s i wg wzoru: s i = a*t i^2/2 Metoda obliczeń w m-pliku Matlaba: a=4;t0=0; tk=5; n=50; h=( tk-t0)/n; for i=1:n+1 t(i)=t0+(i-1)*h; s(i)=a*t(i)^2/2; % kolejne operacje na elementach wektora! plot(t,s) IMF 5

Zadanie domowe Bazując na temacie zadania 3 wykonać wykres drogi przebytej przez pojazd s(t) dla wszystkich trzech przedziałów przejazdu. 6