Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


Prezentacja na temat: "MOiPP Wykład 3 Matlab Przykłady prostych metod obliczeniowych."— Zapis prezentacji:

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

2 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)

3 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

4 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)

5 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)

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

7 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')

8 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')

9 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)')

10 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([ ])

11 … 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

12 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

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

14 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.

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

16 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)

17 Obliczenia przy pomocy tzw. funkcji anonimowej
Sposób 3 Obliczenia przy pomocy tzw. funkcji anonimowej Składnia funkcji anonimowej:

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

19 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

20 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

21 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

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


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

Podobne prezentacje


Reklamy Google