Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


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

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

2 2 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 warunkowe w tablicy 1-wymiarowej Ile w tablicy jest elementów dodatnich?

3 3 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) Zliczanie elementów dodatnich w tablicy dwuwymiarowej 3

4 4 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); end end; disp(suma_d) Sumowanie warunkowe (elementów dodatnich) w tablicy 1-wymiarowej

5 5 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) Sumowanie warunkowe elementów tablicy 2-wymiarowej

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

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

8 8 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 przyspieszony s(t) to parabola, więc potrzebujemy więcej punktów

9 9 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)') Ruch jednostajnie opóźniony

10 10 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([ ]) Wykorzystanie macierzy w ruchu złożonym – odcinki czasowe - jednostajnie przyspieszony, - jednostajny, - jednostajnie opóźniony,

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

12 12 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 Trochę inaczej tworzymy wykres przyspieszenia

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

14 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 15 t=0 : 0.1 : 5 a=4 s=a*t.^2/2 plot(t,s) Sposób 1

16 16 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) Sposób 2

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

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

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

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

21 21 w(x)=a 0 x n + a 1 x n-1 + a 2 x n a i x n-i + + a n-2 x 2 + a n-1 x + a n Zapis wielomianu w matematyce: Matlab – zmiana indeksowania współczynników ponieważ w Matlabie indeksy macierzy zaczynają się od 1

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


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

Podobne prezentacje


Reklamy Google