Przeglądaj wersję html pliku:
Instytut Robotyki i In»ynierii Oprogramowania Wy»sza Szkoªa In»ynierska w Zielonej Górze
Laboratorium Systemów Przetwarzania Numerycznego i Symbolicznego
Podstawy obsªugi pakietu MATLAB
Przed przyst¡pieniem do ¢wiczenia nale»y zapozna¢ si¦ z rozdziaªem pt.
zwi¡zane
MATLAB i oprogramowanie z nim
Wydawnictwa
w pracy M. Szymkat:
Komputerowe wspomaganie w projektowaniu ukªadów regulacji ,
Naukowo-Techniczne, Warszawa, 1993 (gªównie chodzi o strony 4356, ale wskazane jest przeczytanie caªego rozdziaªu). Program ¢wiczenia obejmuje nast¦puj¡ce zadania: 1. Zapozna¢ si¦ z niektórymi mo»liwo±ciami programu poprzez wprowadzenie polecenia 2. Wyznaczy¢ warto±¢ sumy
demo.
1−
1 1 1 1 1 1 1 1 1 1 1 + − + − + − + − + − 2 3 4 5 6 7 8 9 10 11 12
Jak zapisa¢ w linii polece« tak dªug¡ formuª¦? Czym ró»ni¡ si¦ rezultaty operacji
81\1900 ?
1900/81
oraz
3. Omówi¢ ró»nice mi¦dzy poleceniami cych do obliczania pierwiastka ( sinus to po angielsku sine). Co
ang.
help oraz lookfor . Na tej podstawie okre±li¢ nazwy funkcji sªu»¡root), logarytmu ( ang. logarithm) oraz funkcji arc sin (polskie uzyskuje si¦ poprzez polecenie help cedit ? help
jest
Bardzo po»ytecznym poleceniem przy przegl¡daniu pomocy wy±wietlanych przez polecenie
more.
Prosz¦ zapozna¢ si¦ z jego skªadni¡ i przetestowa¢ dziaªanie.
4. Jak w MATLABie deniuje si¦ zmienne? W jaki sposób nadaje si¦ im warto±ci? Jak wypisa¢ na ekranie monitora aktualn¡ warto±¢ danej zmiennej? Po przypisaniu zmiennym wyznaczy¢ (a) (b)
x, y
i
z
wybranych warto±ci
a i b,
je»eli
3
a=
|x − 1| −
|y|,
b = x arc tg z + e−(x+3) ; (y − x)2 |y − x|3 + ; 2 3 b= 1 + cos(y − 2) ; x4 + sin2 z
y−1 a= 3+e , |y − tg z|
b = 1 + |y − x| +
(c)
a = (1 + y) a=
x + y/(x2 + 4) , e + 1/(x2 + 4)
−x−2
(d)
2 cos (x − π/6) , 1/2 + sin2 y
b = 1 + tg2 z ; 2 y z + x2 /4 , 1 b = cos2 arc tg z .
(e)
a = ln (y −
|x|) x −
Czy MATLAB rozró»nia du»e i maªe litery?
1
5. (Kilka uzupeªnie«) Jak¡ rol¦ peªni w MATLABie ±rednik na ko«cu wprowadzanego polecenia? Prosz¦ sprawdzi¢ to na przykªadzie polece«
>> p = 3.5
oraz
>> p = 3.5;
Co naprawd¦ reprezentuje sob¡ napis
ans
wypisywany np. po wprowadzeniu polecenia
>> 4 + 3
Co powoduj¡ polecenia 6. Zdeniowa¢ macierz
who
oraz
whos?
1 A= 4 7 2 3 5 6 8 9
Jak w takim razie
oraz wektor wierszowy
r=
10
doprowadzi¢ do tego, aby macierz
11 12 . Co spowoduje polecenie A = [A; r] ? A miaªa posta¢ 1 2 3 13 4 5 6 14 A= 7 8 9 15 10 11 12 16
Na zako«czenie prosz¦ jeszcze zinterpretowa¢ rezultaty polece«
>> size(A)
oraz
>> length(r)
Czy istnieje mo»liwo±¢ deniowania tablic trójwymiarowych? 7. Dane s¡ macierze
1 4 A= 0 1
Obliczy¢ (a) (b) (c) (d) (e)
0 2 1 3 −1 3 1 2
−1 0 , 8 2
2 4 B= 5 9
−4 0 0 4
1 3 4 5 0 3 1 8
A+B A−B 3A + 4B AB A3 + A2 − 2A
2
8. Dane s¡ tablice
1 A= 2 3
2 1 , 2
1 B= 2 1
−1 1 1
0 0 , −1
C=
3
1
5
,
3 D= 2 1
1 1 2
5 4 4
Obliczy¢, o ile jest to mo»liwe, warto±ci nast¦puj¡cych wyra»e«:
B + D,
3A,
−2C,
BA,
DB,
2A + B − C,
CD − DC,
2B − D,
D2 ,
B 2 + D2
9. Dane s¡ tablice
−1 A= 6 2
Sprawdzi¢, »e zachodzi równo±¢
1 4 , 3
B=
1 2
1 2
,
C=
1 0
0 1
A(B + C) = AB + AC . B
o elementach zespolonych:
10. Iloma sposobami mo»na wprowadzi¢ tablic¦
B=
Zmiennej
1 + 5i 2 + 6i 3 + 7i 4 + 8i
z
przypisa¢ warto±¢ elementu znajduj¡cego si¦ w pierwszym wierszu i drugiej kolumnie
rozwa»anej tablicy. 11. Znale¹¢ odwrotno±ci poni»szych macierzy (o ile istniej¡). Sprawdzi¢ otrzymane rezultaty.
1 1 3
1 3 2
3 2 , 1 x
0 1 0
0 0 1
1 0 , 0
1 0 0
2 1 0 √ 3
3 3 , 1
1 2 1
1 3 1
2 2 , 3
3 1 2
2 −1 3
2 1 1
12. Wprowdzi¢ wektor
postaci
x=
Co spowoduje polecenie
−1.3
4 (1 + 2 + 3) 5
x(5) = abs(x(1)) ?
A
i
13. Zapisa¢ warto±ci wszystkich u»ytych do tej pory zmiennych na dysku. Ponadto warto±¢ tablic zapisa¢ w pliku
temp.mat . Zako«czy¢ prac¦ z programem. Okre±li¢ format plików, w których zapisano
x
przed chwil¡ warto±ci zmiennych (binarny czy tekstowy). Ponownie uruchomi¢ program, a nast¦pnie odtworzy¢ warto±ci zmiennych, które zapisano w plikach. Jak zmieni¢ format danych zapisywanych w omawiany sposób? Czym ró»ni¡ si¦ polecenia
what
i
dir?
Czy polecenie
type
ma jaki± zwi¡zek z poleceniem DOSa o
tej samej nazwie? Bez opuszczania MATLABa przej±¢ do katalogu gªównego, a nast¦pnie wy±wietli¢ na ekranie zawarto±¢ plików
cd).
plik
autoexec.bat i cong.sys
(do zmiany aktualnego katalogu sªu»y polecenie
Powróci¢ do poprzedniego katalogu i skopiowa¢ plik
matlab.mat
do pliku
matlab.old
(tak»e bez
opuszczania programu!). Sprawdzi¢, czy operacja zako«czyªa si¦ oczekiwanym rezultatem. Jak skasowa¢
matlab.old ?
14. Do czego sªu»y polecenie MATLABa. 15. Wprowadzi¢ wektor
diary ? Wydaje si¦ ono do±¢ przydatne w pocz¡tkowym etapie nauki polece«
x
za pomoc¡ polecenia
>> x = [4\3 1.2345e-6]
3
Sprawdzi¢, w jaki sposób wypisywana jest jego warto±¢ po wprowadzeniu ka»dego z poni»szych polece«: (a) (b) (c) (d) (e) (f ) (g)
format format format format format format format
short short e long long e bank hex
+
Prosz¦ zastanowi¢ si¦ nad u»yteczno±ci¡ ostatniego z tych polece«. Jeszcze jednym poleceniem tego typu jest na ekranie przed i po jego wprowdzeniu. 16. (Operacja transpozycji) Prosz¦ wprowadzi¢ polecenia
format compact .
Porówna¢ sposób wy±wietlania informacji
>> A = [1 2 3; 4 5 6; 7 8 0] >> B = A'
Wywnioskowa¢ st¡d jak¡ rol¦ peªni w MATLABie apostrof
'.
Jaki wi¦c b¦dzie rezultat polecenia
>> x = [-1 0 2]'
17. Rozwi¡za¢ poni»sze ukªady równa«. Sprawdzi¢ poprawno±¢ otrzymanych rezultatów. W jaki sposób mo»na stwierdzi¢ czy ukªad ma jednoznaczne rozwi¡zanie, nie posiada rozwi¡zania lub ma niesko«czenie wiele rozwi¡za«? (
Wskazówka:
przypomnie¢ sobie twierdzenie Kroneckera-Capelliego.)
(a)
(b)
(c)
(d)
(e)
(f )
(g)
18. W MATLABIE rozwi¡zanie ukªadu równa« liniowych eliminacji Gaussa ( x
x + 3y + 4z = 0 4x + 2y − 2z = 0 2x + y + z = 8 x + 2y − 4z = 1 x + 4y − 2z = 2 x−y+z = 1 2x − 4y + 3z − 4w = 2 −x + 3y − 2z + w = 4 2x − y + z + 2w = 3 x + 2y − z + w = 1 x + y + 3z 2 = 1 x + y − z2 = 3 2x + 3y = 1 x+y+z = 6 2x + y + 6z = 22 3x + 6y + z = 18 x+y+z = 1 x + 2y + z = 4 x+y+z = 2 x+y+z = 1 2x + 7y − 3z = 7 3x + 3y + 3z = 3
Ax = b
= A \ b ),
mo»na otrzyma¢ albo stosuj¡c metod¦
albo korzystaj¡c z zale»no±ci
x = A−1 b (x = inv(A) * b ).
Który
z wymienionych sposobów wymaga mniejszego nakªadu oblicze«? Odpowied¹ sprawdzi¢ na ukªadach równa« z poprzedniego zadania poprzez wykorzystaniu funkcji
flops .
4
Matlab 2
Instytut Robotyki i In»ynierii Oprogramowania Wy»sza Szkoªa In»ynierska w Zielonej Górze
Laboratorium Systemów Przetwarzania Numerycznego i Symbolicznego
Podstawy obsªugi pakietu MATLAB
Przed przyst¡pieniem do ¢wiczenia nale»y zapozna¢ si¦ z rozdziaªem pt.
zwi¡zane
MATLAB i oprogramowanie z nim
Wydawnictwa
w pracy M. Szymkat:
Komputerowe wspomaganie w projektowaniu ukªadów regulacji ,
Naukowo-Techniczne, Warszawa, 1993 (gªównie chodzi o strony 4356, ale wskazane jest przeczytanie caªego rozdziaªu). Program ¢wiczenia obejmuje nast¦puj¡ce zadania: 1. Zapozna¢ si¦ z niektórymi mo»liwo±ciami programu poprzez wprowadzenie polecenia 2. Wyznaczy¢ warto±¢ sumy
demo.
1−
1 1 1 1 1 1 1 1 1 1 1 + − + − + − + − + − 2 3 4 5 6 7 8 9 10 11 12
Jak zapisa¢ w linii polece« tak dªug¡ formuª¦? Czym ró»ni¡ si¦ rezultaty operacji
81\1900 ?
1900/81
oraz
3. Omówi¢ ró»nice mi¦dzy poleceniami cych do obliczania pierwiastka ( sinus to po angielsku sine). Co
ang.
help oraz lookfor . Na tej podstawie okre±li¢ nazwy funkcji sªu»¡root), logarytmu ( ang. logarithm) oraz funkcji arc sin (polskie uzyskuje si¦ poprzez polecenie help cedit ? help
jest
Bardzo po»ytecznym poleceniem przy przegl¡daniu pomocy wy±wietlanych przez polecenie
more.
Prosz¦ zapozna¢ si¦ z jego skªadni¡ i przetestowa¢ dziaªanie.
4. Jak w MATLABie deniuje si¦ zmienne? W jaki sposób nadaje si¦ im warto±ci? Jak wypisa¢ na ekranie monitora aktualn¡ warto±¢ danej zmiennej? Po przypisaniu zmiennym wyznaczy¢ (a) (b)
x, y
i
z
wybranych warto±ci
a i b,
je»eli
3
a=
|x − 1| −
|y|,
b = x arc tg z + e−(x+3) ; (y − x)2 |y − x|3 + ; 2 3 b= 1 + cos(y − 2) ; x4 + sin2 z
y−1 a= 3+e , |y − tg z|
b = 1 + |y − x| +
(c)
a = (1 + y) a=
x + y/(x2 + 4) , e + 1/(x2 + 4)
−x−2
(d)
2 cos (x − π/6) , 1/2 + sin2 y
b = 1 + tg2 z ; 2 y z + x2 /4 , 1 b = cos2 arc tg z .
(e)
a = ln (y −
|x|) x −
Czy MATLAB rozró»nia du»e i maªe litery?
1
5. (Kilka uzupeªnie«) Jak¡ rol¦ peªni w MATLABie ±rednik na ko«cu wprowadzanego polecenia? Prosz¦ sprawdzi¢ to na przykªadzie polece«
>> p = 3.5
oraz
>> p = 3.5;
Co naprawd¦ reprezentuje sob¡ napis
ans
wypisywany np. po wprowadzeniu polecenia
>> 4 + 3
Co powoduj¡ polecenia 6. Zdeniowa¢ macierz
who
oraz
whos?
1 A= 4 7 2 3 5 6 8 9
Jak w takim razie
oraz wektor wierszowy
r=
10
doprowadzi¢ do tego, aby macierz
11 12 . Co spowoduje polecenie A = [A; r] ? A miaªa posta¢ 1 2 3 13 4 5 6 14 A= 7 8 9 15 10 11 12 16
Na zako«czenie prosz¦ jeszcze zinterpretowa¢ rezultaty polece«
>> size(A)
oraz
>> length(r)
Czy istnieje mo»liwo±¢ deniowania tablic trójwymiarowych? 7. Dane s¡ macierze
1 4 A= 0 1
Obliczy¢ (a) (b) (c) (d) (e)
0 2 1 3 −1 3 1 2
−1 0 , 8 2
2 4 B= 5 9
−4 0 0 4
1 3 4 5 0 3 1 8
A+B A−B 3A + 4B AB A3 + A2 − 2A
2
8. Dane s¡ tablice
1 A= 2 3
2 1 , 2
1 B= 2 1
−1 1 1
0 0 , −1
C=
3
1
5
,
3 D= 2 1
1 1 2
5 4 4
Obliczy¢, o ile jest to mo»liwe, warto±ci nast¦puj¡cych wyra»e«:
B + D,
3A,
−2C,
BA,
DB,
2A + B − C,
CD − DC,
2B − D,
D2 ,
B 2 + D2
9. Dane s¡ tablice
−1 A= 6 2
Sprawdzi¢, »e zachodzi równo±¢
1 4 , 3
B=
1 2
1 2
,
C=
1 0
0 1
A(B + C) = AB + AC . B
o elementach zespolonych:
10. Iloma sposobami mo»na wprowadzi¢ tablic¦
B=
Zmiennej
1 + 5i 2 + 6i 3 + 7i 4 + 8i
z
przypisa¢ warto±¢ elementu znajduj¡cego si¦ w pierwszym wierszu i drugiej kolumnie
rozwa»anej tablicy. 11. Znale¹¢ odwrotno±ci poni»szych macierzy (o ile istniej¡). Sprawdzi¢ otrzymane rezultaty.
1 1 3
1 3 2
3 2 , 1 x
0 1 0
0 0 1
1 0 , 0
1 0 0
2 1 0 √ 3
3 3 , 1
1 2 1
1 3 1
2 2 , 3
3 1 2
2 −1 3
2 1 1
12. Wprowdzi¢ wektor
postaci
x=
Co spowoduje polecenie
−1.3
4 (1 + 2 + 3) 5
x(5) = abs(x(1)) ?
A
i
13. Zapisa¢ warto±ci wszystkich u»ytych do tej pory zmiennych na dysku. Ponadto warto±¢ tablic zapisa¢ w pliku
temp.mat . Zako«czy¢ prac¦ z programem. Okre±li¢ format plików, w których zapisano
x
przed chwil¡ warto±ci zmiennych (binarny czy tekstowy). Ponownie uruchomi¢ program, a nast¦pnie odtworzy¢ warto±ci zmiennych, które zapisano w plikach. Jak zmieni¢ format danych zapisywanych w omawiany sposób? Czym ró»ni¡ si¦ polecenia
what
i
dir?
Czy polecenie
type
ma jaki± zwi¡zek z poleceniem DOSa o
tej samej nazwie? Bez opuszczania MATLABa przej±¢ do katalogu gªównego, a nast¦pnie wy±wietli¢ na ekranie zawarto±¢ plików
cd).
plik
autoexec.bat i cong.sys
(do zmiany aktualnego katalogu sªu»y polecenie
Powróci¢ do poprzedniego katalogu i skopiowa¢ plik
matlab.mat
do pliku
matlab.old
(tak»e bez
opuszczania programu!). Sprawdzi¢, czy operacja zako«czyªa si¦ oczekiwanym rezultatem. Jak skasowa¢
matlab.old ?
14. Do czego sªu»y polecenie MATLABa. 15. Wprowadzi¢ wektor
diary ? Wydaje si¦ ono do±¢ przydatne w pocz¡tkowym etapie nauki polece«
x
za pomoc¡ polecenia
>> x = [4\3 1.2345e-6]
3
Sprawdzi¢, w jaki sposób wypisywana jest jego warto±¢ po wprowadzeniu ka»dego z poni»szych polece«: (a) (b) (c) (d) (e) (f ) (g)
format format format format format format format
short short e long long e bank hex
+
Prosz¦ zastanowi¢ si¦ nad u»yteczno±ci¡ ostatniego z tych polece«. Jeszcze jednym poleceniem tego typu jest na ekranie przed i po jego wprowdzeniu. 16. (Operacja transpozycji) Prosz¦ wprowadzi¢ polecenia
format compact .
Porówna¢ sposób wy±wietlania informacji
>> A = [1 2 3; 4 5 6; 7 8 0] >> B = A'
Wywnioskowa¢ st¡d jak¡ rol¦ peªni w MATLABie apostrof
'.
Jaki wi¦c b¦dzie rezultat polecenia
>> x = [-1 0 2]'
17. Rozwi¡za¢ poni»sze ukªady równa«. Sprawdzi¢ poprawno±¢ otrzymanych rezultatów. W jaki sposób mo»na stwierdzi¢ czy ukªad ma jednoznaczne rozwi¡zanie, nie posiada rozwi¡zania lub ma niesko«czenie wiele rozwi¡za«? (
Wskazówka:
przypomnie¢ sobie twierdzenie Kroneckera-Capelliego.)
(a)
(b)
(c)
(d)
(e)
(f )
(g)
18. W MATLABIE rozwi¡zanie ukªadu równa« liniowych eliminacji Gaussa ( x
x + 3y + 4z = 0 4x + 2y − 2z = 0 2x + y + z = 8 x + 2y − 4z = 1 x + 4y − 2z = 2 x−y+z = 1 2x − 4y + 3z − 4w = 2 −x + 3y − 2z + w = 4 2x − y + z + 2w = 3 x + 2y − z + w = 1 x + y + 3z 2 = 1 x + y − z2 = 3 2x + 3y = 1 x+y+z = 6 2x + y + 6z = 22 3x + 6y + z = 18 x+y+z = 1 x + 2y + z = 4 x+y+z = 2 x+y+z = 1 2x + 7y − 3z = 7 3x + 3y + 3z = 3
Ax = b
= A \ b ),
mo»na otrzyma¢ albo stosuj¡c metod¦
albo korzystaj¡c z zale»no±ci
x = A−1 b (x = inv(A) * b ).
Który
z wymienionych sposobów wymaga mniejszego nakªadu oblicze«? Odpowied¹ sprawdzi¢ na ukªadach równa« z poprzedniego zadania poprzez wykorzystaniu funkcji
flops .
4