MOiPP Wykład 3 Matlab Przykłady prostych metod obliczeniowych.

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

I część 1.
Wykład 4 2. Przykłady ruchu 1.5 Prędkość i przyśpieszenie c.d.
Teoria maszyn i części maszyn
Opracował: Karol Kubat I kl.TŻ
Wizualizacja rozkładu zmiennej
Język ANSI C Funkcje Wykład: Programowanie komputerów
Temat: Ruch jednostajny
typy całkowite (całkowitoliczbowe)
PROGRAMOWANIE STRUKTURALNE
PROJEKTOWANIE GRAFICZNE
Grafika komputerowa Wykład 7 Krzywe na płaszczyźnie
Materiały pochodzą z Platformy Edukacyjnej Portalu
ARKUSZ KALKULACYJNY Sprawdzian umiejętności Prawidłowe odpowiedzi.
ZŁOŻONOŚĆ OBLICZENIOWA
Kinematyka.
Metody numeryczne © Jacek Śmietański, Kraków 2005.
Tablice Informatyka Cele lekcji: Wiadomości: Uczeń potrafi:
Prędkość początkowa Vo
Prędkość początkowa Vo
AUTOMATYZACJA OBLICZEŃ INŻYNIERSKICH
Typy wyrażenia, schematy blokowe, writeln, readln, if, pętle
Moja droga do szkoły.
Marcin Kołodziej POLITECHNIKA WARSZAWSKA ZAKŁAD SYSTEMÓW INFORMACYJNO-POMIAROWYCH.
Dane do obliczeń.
Podstawy programowania
Programowanie w języku Matlab
Analiza współzależności cech statystycznych
Własności funkcji liniowej.
TABLICE C++.
Podstawy analizy matematycznej II
Programowanie w języku Matlab
podsumowanie wiadomości
Podstawy programowania w języku C i C++
STEROWANIE Ale nie tylko
Użytkowanie i programowanie Matlaba
Programowanie Matlaba
MOiPP Wykład 2 Matlab Tablice i ich zastosowania Wykresy Iteracja.
MOiPP Matlab Sortowanie Obliczenia symboliczne - Symbolic ToolBox
Składnia instrukcji warunkowej if…
FUNKCJE Opracował: Karol Kara.
MOiPP Wykład 7 Matlab cd..
Regresja wieloraka.
MOiPP Matlab Przykłady metod obliczeniowych Obliczenia symboliczne
MOiPP Matlab Aproksymacja Interpolacja Inne metody obliczeniowe
FUNKCJE Pojęcie funkcji
MOiPP Wykład 5 Matlab Przykłady praktyczne Równania różniczkowe.
Pochodna funkcji jednej zmiennej. Pochodna wektora.
Ruch jednostajny prostoliniowy i jednostajnie zmienny Monika Jazurek
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
PWSW Mechatronika Wykład 7 Matlab cd.
X Y X Y X Y Aby sporządzić wykres danej funkcji utwórz kolejno wykresy następujących funkcji : Sprawdź, czy dobrze narysowałeś wykresy.
MOiPP Wykład 2 Matlab tablice.
Instrukcje wyboru.
Wprowadzenie do Matlaba
Informatyka PWSW Wykład 6.
Ruch jednowymiarowy Ruch - zmiana położenia jednych ciał względem innych, które nazywamy układem odniesienia. Uwaga: to samo ciało może poruszać się względem.
Wykład 6 Dr Aneta Polewko-Klim
SciLab.
SciLab.
Informatyka Transport Matlab c.d. Macierze cd. Wykresy graficzne
Osoby prowadzące zajęcia z Informatyki (II część): Prof. Mirosław Czarnecki (W+L) Konsultacje:piątek (p. 302a)
ze statystyki opisowej
Osoby prowadzące zajęcia z Informatyki (II część): Prof. Mirosław Czarnecki (W+L) Konsultacje:piątek (p. 302a)
Wykład 2 MATLAB cd INFORMATYKA 2 MPZI2 sem.4. 2x + 3y – 4z = 5 x + y – z = 3,5 –2,5y – z = 2 Rozwiązanie w Matlabie (m-plik): A = [ ; ; 0.
Informacje ogólne.
Podstawy Informatyki.
1.
Tomasz Adamowicz Anna Kostun
Zapis prezentacji:

MOiPP Wykład 3 Matlab Przykłady prostych metod obliczeniowych

Zliczanie warunkowe w tablicy 1-wymiarowej Ile w tablicy jest elementów dodatnich? M=-3:0.1:2 ile=0; %koniecznie inicjujemy zmienną! N=length(M) % funkcja length zwraca liczbę kolumn tablicy for i=1:N if M(i)>0 ile=ile+1; end end; disp(ile)

Zliczanie elementów dodatnich w tablicy dwuwymiarowej clear; clc a=rand(5,5)-0.5 %elementy dodatnie i ujemne iledod= 0; %inicjujemy zmienną for i= 1:1:5, for j = 1:1:5, if a(i , j)>0 iledod=iledod+1; end disp(iledod) 3

Sumowanie warunkowe (elementów dodatnich) w tablicy 1-wymiarowej suma_d=0; N=length(M) for i=1:N if M(i)>0 suma_d=suma_d+M(i); end end; disp(suma_d)

Sumowanie warunkowe elementów tablicy 2-wymiarowej clear; clc a=rand(5,5)-0.5 suma_d= 0; suma_u=0; for i= 1:1:5, for j = 1:1:5, if a(i , j)>0 suma_d=suma_d+a(i,j); else suma_u=suma_u+a(i,j); end disp('suma dodatnich:'),disp(suma_d) disp('suma ujemnych:'), disp(suma_u)

Obliczenia kinematyczne Ruch jednostajnie przyspieszony(opóźniony) v=v0+a*(t-t0)

Ruch jednostajnie przyspieszony Wykres v(t) – prędkość jest funkcją liniową, więc wystarczą dwa punkty dla wykresu t0=0, v0=0, tk=5,vk=20 %tworzymy dwa wektory t=[t0 tk] v=[v0 vk] plot(t, v, 'k')

Ruch jednostajnie przyspieszony s(t) to parabola, więc potrzebujemy więcej punktów t0=0, v0=0, tk=5,vk=20 a=(v-v0)/(t-t0) % "gęsta" oś czasu t=t0 : 0.1 : tk s=v0*t+a*t.^2/2 plot(t, s,'r') hold on %zatrzymanie wykresu v=v0+a*(t-t0) plot(t, v, 'k') title('s(t)-czerwony v(t) - czarny')

Ruch jednostajnie opóźniony t0=0, v0=20, tk=4, vk=0 a=(vk-v0)/(tk-t0) t=t0 : 0.1 : tk; s=v0*t+a*t.^2/2; subplot(2,1,1),plot(t, s) xlabel('t'),ylabel('s(t)') v=v0+a*(t-t0); subplot(2,1,2),plot(t, v) xlabel('t'),ylabel('v(t)')

Wykorzystanie macierzy w ruchu złożonym – odcinki czasowe - jednostajnie przyspieszony, - jednostajny, - jednostajnie opóźniony, t0=0, t1=t0+5, t2=t1+2*60, t3=t2+4 a1=4, a2=0, a3=-5 v0=0 v1=a1*(t1-t0)+v0 v2=a2*(t2-t1)+v1 v3=a3*(t3-t2)+v2 t=[t0 t1 t2 t3] %kolejne punkty czasowe v=[v0 v1 v2 v3] %odpowiednie prędkości plot(t, v) title('v(t)') axis([0 140 0 25])

… na marginesie … czasem wygodniejsza skala logarytmiczna [x,y] = fplot('1/sqrt(1+2e-7*x^2)',[1,1e6]); figure(1) plot(x,y) grid on figure(2) semilogx(x,y) semilogx plot Wykres w skali logarytmicznej

Trochę inaczej tworzymy wykres 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] figure(2) plot(t,a), grid

A jak narysować wykres s(t) ? Zostawiamy problem do samodzielnego rozwiązania

Zróżnicowanie metod obliczeniowych Zadanie: Obliczyć wartości drogi wykonanej przez ciało dla przyspieszenia a=4 w przedziale czasu t=[0, 5]. Utworzyć wykresy.

Sposób 1 t=0 : 0.1 : 5 a=4 s=a*t.^2/2 plot(t,s)

Sposób 2 a=0; b=5; n=50; h=(b-a)/n; for i=1:n+1 t(i)=a+(i-1)*h; s(i)=2*t(i)^2; end plot(t,s)

Obliczenia przy pomocy tzw. funkcji anonimowej Sposób 3 Obliczenia przy pomocy tzw. funkcji anonimowej Składnia funkcji anonimowej: nazwa_funkcji=@(lista_argumentów)(wyrażenie)

sinusoida=@(t)(sin(t)) fplot(sinusoida,[0,4*pi]) Przykład sinusoida=@(t)(sin(t)) fplot(sinusoida,[0,4*pi]) Nasze zadanie t=0:0.1:5 f = @(t)(2*t.^2); s=f(t) plot(t, s)

Sposób 4 t=[0:0.5:5]; n=length(t); for i=1:n s (i)=fs(t(i)); end Tworzymy osobny m-plik funkcyjny o nazwie fs.m: function y = fs(t) y=2*t^2; Teraz możemy wykorzystać naszą funkcję t=[0:0.5:5]; n=length(t); for i=1:n s (i)=fs(t(i)); end plot(t,s), grid

Aby wykorzystać naszą funkcję w poniższy sposób: s=fs(t); plot(t,s), grid argumentem funkcji jest tutaj wektor funkcja w m-pliku o nazwie fs.m musiałaby być zdefiniowana następująco: function y = fs(t) y=2*t.^2; bo elementowe podnoszenie do kwadratu 20

Zapis wielomianu w matematyce: w(x)=a0xn + a1xn-1 + a2xn-2 + ∙∙∙+ aixn-i + ∙∙∙+ an-2x2 + an-1x + an Matlab – zmiana indeksowania współczynników ponieważ w Matlabie indeksy macierzy zaczynają się od 1

w(x)=5x4 + 4x2 – x + 2 Wektor współczynników: A= [5 0 1 -1 2] Co już zauważyliśmy wykorzystując funkcję roots() znajdującą pierwiastki wielomianu n-tego stopnia