Microsoft Word - Cz III MATLAB_PROGRAMOWANIE PRZYKL_PROGRAMOw.pdf
(
2199 KB
)
Pobierz
Programowanie w Matlabie
Materiaÿy Cz. II
Zagadnienia
¦
Obliczenia symboliczne
¦
Instrukcje wejļcia/wyjļcia
¦
Instrukcje sterujģce if
¦
Instrukcje sterujģce switch
¦
Uruchamianie programw z konsoli
¦
Wielokrotne powtarzanie wykonania programu
¦
Wyļwietlanie wynikw- operacje na tekstach
¦
PĨtle. PĨtla for. Instrukcje break i continue
¦
PĨtla while
¦
Obliczenia wektoryzowane
¦
Funkcje. Realizacja iteracyjna i rekurencyjna
¦
Podfunkcje
¦
Metoda âdziel i zwyciĨňaj Ò i jej zastosowanie
¦
Przykÿady programw w Matlabie
Obliczenia symboliczne w Matlabie
Obliczenia symboliczne sĢ czasami wygodnĢ formĢ analizy. Np. w analizie szeregw
przy znajdowaniu sumy n wyrazw szeregu:
Przykþad: ZnaleŅę sumħ wyrazw szeregu: S=1
3
+2
3
+ 3
3
+È+n
3
>> syms r n
>> symsum(r^3,1,n)
ans =
1/4*(n+1)^4-1/2*(n+1)^3+1/4*(n+1)^2
Poleceniem factor moŇna uproĻcię wzr a pretty zapisze wzr w innej formie
:
>> factor(ans)
ans =
1/4*n^2*(n+1)^2
>> pretty(ans)
2 2
1/4 n (n + 1)
JeĻli zadeklarowaę konkretne n np. 100 to otrzymamy:
>> symsum(r^3,1,100)
ans =
25502500
MoŇna teŇ wyznaczaę sumħ wyrazw ciĢgu przy zaþoŇeniu +/- nieskoıczonoĻci. W
Matlabie symbole nieskoıczonoĻci to +/- inf .
Np. dla szeregu
WartoĻę jego wyrazw w granicy gdy r
ã
nieskoıczonoĻci obliczy polecenie:
>> symsum(1/(r^2),1,inf)
Wynikiem jest poniŇsza wartoĻę
:
ans =
1/6*pi^2
InnĢ operacjĢ moŇe byę rŇniczkowanie symboliczne. MoŇna r rwnieŇ wykonywaę
caþkowanie symboliczne np.:
>> syms x
>> f=x^2 *cos(x)
f =
x^2*cos(x)
>> df=diff(f)
df =
2*x*cos(x)-x^2*sin(x)
PowyŇej funkcja diff(f) oblicza pochodnĢ funkcji f. MajĢc zaleŇnoĻę symbolicznĢ
mozna obliczyc konkretnĢ wartoĻę dla x rzeczywistego np. x=0.5:
>> subs(df,x,0.5)
ans =
0.7577
S
=
+
+
+
+
Matlab Ï skrypt programu
NiŇej przedstawiony skrypt programu Pierwiastki.m okreĻlajĢcego
liczbħ pierwiastkw rwnania kwadratowego dla zadanych wartoĻci
a, b, c np. :
a=-2; b=4; c=3 - sĢ 2 pierwiastki
a=0; b=4; c=2- jest rwnanie liniowe
a=-1; b=2; c=-2- delta ujemna - brak pierwiastkw rzeczywistych
a=2; b=4; c=2- sĢ 2 pierwiastki identyczne (jeden podwjny).
Aby uruchomię program zapisany w pliku, o nazwie : Pierwiastki.m
wpisujemy w oknie konsoli po znaku zachħty >> nazwħ Pierwiastki
i naciskamy Enter.
PoniŇej na rys. 1 przedstawiono:
Û
Skrypt programu Pierwiastki.m
Û
wprowadzane przez operatora w oknie konsoli:
o
polecenia (tu: >> Pierwiastki +enter),
o
sposb wprowadzania dane wejĻciowych a,b,c
Û
wyĻwietlane wyniki obliczeı (tu w formie komunikatu);
Rys. 1. Okno edytora z tekstem programu oraz konsoli z poleceniami
uruchomienia programu, wprowadzenia wartoĻci a, b i c oraz wynikami
obliczeı w postaci komunikatu o liczbie pierwiastkw.
>> Pierwiastki
Podaj a: -2
Podaj b: 4
Podaj c: 3
SĢ 2 pierwiastki
>> Pierwiastki
Podaj a: 0
Podaj b: 4
Podaj c: 2
To nie jest rwnanie kwadratowe
>> Pierwiastki
Podaj a: 2
Podaj b: 4
Podaj c: 2
Jest jeden pierwiastek
>> Pierwiastki
Podaj a: -1
Podaj b: 2
Podaj c: -2
Brak pierwiastkw rzeczywistych
>>
Uwaga:
Zwrę uwagħ, Ňe na poczĢtku skryptu nie uŇyto np. instrukcji clc, gdyŇ jej
uŇycie nie pozwoliþoby na uzyskanie w oknie konsoli (Command Window)
wynikw w powyŇszej formie.
Matlab- programowanie, przykÿady uňycia instrukcji we/wy
W poniňszym materiale sģ przedstawione przykÿady prostych programw
w Matlabie. Do niektrych z nich doÿģczono przykÿadowe dane wejļciowe
wprowadzane przez uňytkownika za pomocģ klawiatury i okna Command Window.
Przedstawiono teň przykÿady wynikw obliczeIJ wyļwietlanych w tym oknie.
Poniňej przedstawiono przykÿadowy skrypt (program) w Matlabie.
Program oblicza i wyļwietla wartoļĚ funkcji f(x)=a*x
2
+bx +c dla zadanej wartoļci
x. Oczywiļcie niezbĨdnym jest teň znajomoļĚ wspÿczynnikw a,b,c ktre sģ
parametrami.
Po wykonaniu tej instrukcji tu
naleňy wpisaĚ wektor zÿoňony z 3
liczb reprezentujģcych [a, b, c ]
np. jak niňej:
Podaj x=
[1, 2, 3]
Rys. 1. Skrypt programu w oknie edytora
Aby uruchomiĚ ten skrypt naleňy w oknie Command wpisaĚ polecenie zawierajģce
nazwĨ skryptu i nacisnģĚ enter:
<< Oblicz_fun_kwad
Moňna teň:
¦
wybraĚ z menu opcjĨ Debug
¦
w ramach wybranej opcji wybraĚ Run
Efekty przykÿadowego wykonania, jeļli podamy wektor 3 liczb ktre sģ
wspÿczynnikami a,b,c rwnania i punkt x (pojedynczģ liczbĨ), przedstawia
poniňsza tabela:
Obliczanie wartoļci funkcji kwadratowej
a*x^2 + b*x + c
Podaj w nawiasie wektor wspÿcz. : [a,b,c] = [1, 2, 3]
Podaj x=2.57
-----Wyļwietlanie wynikw instrukcjģ: disp-----------
Dla x=
2.5700
WartoļĚ f(x)=
14.7449
-----Wyļwietlanie wynikw instrukcjģ: sprintf------------
WartoļĚ f( 2.570 ) = 14.744900
>>
W poniňszej tabeli pokazano efekt wykonania skryptu jeļli jako wartoļĚ x
zostanie podany wektor zawierajģcy 3 liczby.
Obliczanie wartoļci funkcji kwadratowej
a*x^2 + b*x + c
Podaj w nawiasie wektor wspÿcz. : [a,b,c] = [1, 2.3 3]
Podaj x=[1.78 2.34, 3.12 ]
-----Wyļwietlanie wynikw instrukcjģ: disp-----------
Dla x=
1.7800 2.3400 3.1200
WartoļĚ f(x)=
10.2624 13.8576 19.9104
x- to wektor!- Nie moňna wyļwietliĚ wynikw jednģ instr.
sprintf
>>
Skrypty w Matlabie powinny byĚ pisane z przestrzeganiem zasad:
1. Na poczģtku umieszczamy komentarz opisujģcy :
a. przeznaczenie programu np.,
b. dane wejļciowe,
c. dane wyjļciowe (wyniki obliczeIJ).
2. NastĨpnie stosownie do potrzeb uňywamy poleceIJ przygotowujģcych
ļrodowisko Matlaba do pracy np.:
clc clear all close all
format compact
itp
Plik z chomika:
ssele
Inne pliki z tego folderu:
Matlab 5.x Simulink 2.x - B.Mrozek, Z.Mrozek.pdf
(27298 KB)
Microsoft Word - Cz IV MATLAB_WYKRESY_SORT_NUMER_APROK_SIMUL_GUI.pdf
(2213 KB)
Microsoft Word - Cz III MATLAB_PROGRAMOWANIE PRZYKL_PROGRAMOw.pdf
(2199 KB)
Microsoft Word - Cz II Matlab_Srodowisko_Praca_ konsolowa Wekt i macierze.pdf
(929 KB)
Microsoft Word - Cz I CWICZ RACH Z MTP1_Materialy Pomoc- Stud.pdf
(857 KB)
Inne foldery tego chomika:
Fizyka
Obwody i sygnały
Zgłoś jeśli
naruszono regulamin