MATLAB cw 01 08 Tryb bezposr

background image

Matlab_cw_01__08.doc

HM

str. 5

M A T L A B

WST P

wiadomo , e komputer jest „urz dzeniem” do prowadzenia

oblicze , nie jest w ród jego u ytkowników powszechna. Zadziwiaj cy jest

fakt, e wiele osób maj cych na co dzie dost p do komputera, nie potrafi

przy jego pomocy przeprowadzi adnych, nawet najprostszych oblicze .

Celem nadrz dnym niniejszego opracowania jest wypełnienie luki

w tej „zbiorowej nie wiadomo ci”. Poniewa zawarto zeszytu przeznaczona

jest dla studentów, nie przedstawiam mo liwo ci obliczeniowych, jakie tkwi

w samym systemie operacyjnym, czy w pakietach wspomagaj cych prac

biura. Na wyra nie zgłoszone zapotrzebowanie kolegów, którzy prowadz

zaj cia na starszych latach studiów, przedstawiam w skrócie i poprzez

wybrane zagadnienia, podstawowe mo liwo ci pakietu MATLAB.

Poniewa pracujemy i studiujemy na Wydziale Mechanicznym

Politechniki Szczeci skiej, wi kszo zada oparta jest o problemy zrozumiałe

(mam nadziej ) dla tzw. mechaników. Przyj to zało enie, e zaj cia w oparciu

o niniejsze opracowanie, prowadzone s na niskich semestrach studiów. Opis

zagadnie , przykłady i zadania do samodzielnego rozwi zania oscyluj wokół

wiedzy, któr student powinien posi

na 1 lub 2-gim semestrze.

MATLAB jest przyjaznym

rodowiskiem integruj cym metody

numeryczne, prezentacj graficzn i j zyk programowania. Celem niniejszego

opracowania nie jest zaprezentowanie wszystkich elementów tego pakietu,

a raczej przedstawienie podstawowych wiadomo ci wystarczaj cych do jego

efektywnego wykorzystywania. O mieleni łatwo ci podstawowych działa ,

powinni my nie obawia si si gni cia w razie potrzeby, do bardziej

zaawansowanych mo liwo ci MATLABA. Mo liwo ci te s ogromne i je li kto

zach cony wiczeniami z tego zeszytu, skorzysta z nich w przyszło ci, to cel

niniejszego opracowania zostanie osi gni ty.

Opracowuj c prezentacj zawarto ci merytorycznej poszczególnych

wicze , przyj to zało enie, e pod aj one w lad za poprzedzaj cym je

wykładem. St d krótka, cz sto „sucha” cz

wprowadzaj ca do zada .

Autor

background image

str. 6

HM

Matlab_cw_01__08.doc

M A T L A B

WICZENIE 1

-

Podstawy interfejsu Matlaba

Wykonaj nast puj ce polecenia:

1. Uruchom Matlaba. Jeste teraz w rodowisku Matlaba. Masz przed

sob tzw. interfejs Matlaba, którego mo liwo ci b dziesz

wykorzystywał do prowadzenia oblicze w trybie bezpo rednim, a

pó niej do tworzenia własnych programów w j zyku Matlaba.

2. Rozci gnij okno Matlaba tak, by zajmowało cały ekran monitora.

3. Przestrze robocza Matlaba podzielona jest na kilka okienek. Zmie

wymiary tych okienek tak, by:

okienko Command Window (okno polece ) zajmowało 75%

szeroko ci ekranu,

okienko Command History (historia polece ) zajmowało 30%

wysoko ci ekranu.

4. Wykorzystuj c przycisk strzałki w gór

na pasku tytułowym

okienka Command History spowoduj, eby okienko przestało by

„przestrzennie” zwi zane z pozostałymi okienkami i przesu je w prawy

dolny róg okna Matlaba.

5. Sprawd na dole ekranu zawarto paska zada systemu Windows.

6. Wstaw „do szeregu” okienko Command History u ywaj c przycisku

ekranowego strzałki w dół z paska menu tego okienka.

7. Zamknij okienko Command History w tradycyjny sposób.

8. Spowoduj, by w obszarze roboczym Matlaba widoczne były tylko dwa

okienka: Command Window oraz Workspace (przestrze robocza).

Wykorzystaj do tego znane ju operacje na okienkach i zakładk

Workspace.

9. Wykorzystuj c opcje menu Desktop / Desktop Layout / Default ustaw

przestrze robocz Matlaba tak, by ekran przyj ł ustawienia domy lne

(w starszych wersjach Matlaba w menu, zamiast opcji Desktop jest

opcja View).

WICZENIE 2

Praca w trybie bezpo rednim

W oknie polece Command Window wydaje si komendy. O gotowo ci

Matlaba do przyj cia komendy (polecenia) wiadczy widoczny w wierszu

polece znak zach ty >> . Wykonanie komendy nast puje po naci ni ciu

klawisza [Enter]. Je li podamy polecenie, bez okre lenia w jakiej zmiennej

przechowany ma by jego wynik, to Matlab umie ci go w zmiennej o nazwie

ans .

Wykonaj nast puj ce zadanie bez u ywania własnych zmiennych, tj. troch

podobnie jak w tradycyjnym kalkulatorze. Nie wolno tak e zapisywa wyników

po rednich w notatniku.

Zadanie 1

Oblicz pole powierzchni figury (rysunek) jaka pozostanie z koła

o promieniu 10, po wyci ciu trójk ta równoramiennego wpisanego w to

koło. Trójk t ma jeden bok oparty na rednicy koła. Znajd te pole

powierzchni odcinka koła oznaczonego symbolem

A.

Uwaga: odwołuj si do wyniku z poprzedniego działania pami taj c, e

jest on zawarty w zmiennej ans.

background image

Matlab_cw_01__08.doc

HM

str. 7

M A T L A B

10

A

wyniki:

214,16; pole odcinka A=28,54

Przekonałe si , e „kalkulatorowy”

sposób działania przy obliczeniach

cho troch zło onych, jest bardzo

niewygodny. Od tej pory, prowadz c

obliczenia

b dziesz

najcz ciej

stosował zmienne pomocnicze.

Nazwa zmiennej musi zaczyna si od litery i mo e składa si z dowolnej

liczby liter, cyfr i znaków podkre lenia, przy czym Matlab uwzgl dnia tylko 31

pierwszych znaków nazwy. Rozró niane s du e i małe litery. Nie jest

wymagane deklarowanie zmiennych, ani okre lanie ich typu (rozmiaru).

Zwró uwag , e:

je li obliczenia maj by wykonane, ale nie interesuje nas wynik

polecenia, to nale y na ko cu polecenia umie ci znak rednika [ ; ] .

je li polecenie nie mie ci si w jednym wierszu, to ko czymy wiersz

trzema kropkami i kontynuujemy zapis polecenia w wierszu

nast pnym.

je li w jednym wierszu chcemy napisa kilka polece , to mo emy:

o

oddzieli je rednikami – je li nie chcemy ogl da wyników,

o

oddzieli je przecinkami – je li chcemy widzie wyniki.

znakiem oddzielaj cym cz

ułamkow liczby od cz ci całkowitej jest

kropka.

Wykonaj zadanie stosuj c zapisywanie wyników po rednich do własnych

(tj. wymy lonych przez siebie) zmiennych.

Zadanie 2

a) Wykonaj obliczenia wg tre ci zadania 1 (z pomini ciem uwagi).

Zastosuj nast puj ce (lub podobne) nazwy zmiennych:

promien

pole_kola

srednica

podstawa

wysokosc

pole_trojkata

pole_wynikowe

polowa_kola

pole_odcinka_A

b) Wykonaj te same obliczenia w taki sposób, by na ekranie uzyska

tylko

podgl d

wyników

ko cowych

(pole_wynikowe,

pole_odcinka_A).

background image

str. 8

HM

Matlab_cw_01__08.doc

M A T L A B

Sprawdzenie wyników po rednich (np. gdy wyniku ko cowego nie darzymy

zaufaniem) mo na wykona po obliczeniach, wpisuj c nazw zmiennej

przechowuj cej wynik i naciskaj c klawisz [Enter]. Przydatne w tym działaniu

s okienka Command History (gdzie mo emy prze ledzi ci g wydanych

polece ) oraz Workspace (pokazuj ce zagospodarowanie pami ci w

przestrzeni roboczej).

Zadanie 3

Oblicz warto ci sił reakcji (R1 i R2) w podporach belki przedstawionej na

rysunku (mechanika, równania statyki).

Uwaga, powiniene u y funkcji:

sin(), cos() (k t w radianach), pierwiastek kwadratowy: sqrt(),

operatora pot gowania: ^ (np. z^2 ).

a=0,7

b=1,5

c=0,18e1

P1=532

P3=320

P2=270

=60

o

R1=?

R2=?

y

x

Wyniki:

R1

x

= -266,00;

R1

y

= 258,60;

R1= 370,98

R2

y

= 252,13

WICZENIE 3

Macierze – tworzenie - cz

1

Podstawowym typem zmiennej w Matlabie jest macierz. Mówi c o wymiarze

macierzy zawsze najpierw okre lamy liczb wierszy, a potem liczb kolumn.

„Z punktu widzenia Matlaba” szczególnymi odmianami macierzy s :

skalar – macierz o wymiarze

1 x 1,

wektor wierszowy – macierz o wymiarze

1 x n (jeden wiersz),

wektor kolumnowy - macierz o wymiarze

n x 1 (jedna kolumna).

Przy definiowaniu macierzy trzeba przestrzega nast puj cych reguł:

lista warto ci elementów musi by uj ta w nawiasy kwadratowe [ ],

warto ci elementów macierzy wpisuje si wierszami, oddzielaj c je

spacj lub przecinkiem,

wiersze ko czymy znakiem rednika ; lub naciskaj c klawisz [Enter].

Liczby całkowite i rzeczywiste zapisuje si w Matlabie w jednej z dwóch

postaci:

stałopozycyjnej:

123000, -4234.34,

+0.0453 ;

zmiennopozycyjnej:

123e3,

-0.423434E4,

+453e-4 .

Liczby zespolone zapisuje si z u yciem znaku „

i” lub „j” :

123 + 34i

321 – 43j

Sprawne tworzenie macierzy jest podstawow umiej tno ci jak trzeba

posi

, by efektywnie działa w Matlabie.

background image

Matlab_cw_01__08.doc

HM

str. 9

M A T L A B

Zadanie 4

a) Utwórz macierze A i B. Pomnó je, wynik podaj c w macierzy C:

=

6

3

3

7

4

2

5

3

1

A

=

32

31

22

21

12

11

B

wynik: C = -81

-82

-111 -112

-156

-162

b) Zmie kolejno macierzy w mno eniu i sprawd rezultat.

Macierze mo na składa z podmacierzy, przestrzegaj c dokładnie takich

samych zasad, jak przy przybudowaniu macierzy z liczb (patrz wy ej). Trzeba

przy tym kontrolowa wymiary macierzy. Nie mo e w wyniku takiego składania

doj do „braków” elementów w wierszach lub kolumnach.

Zadanie 5

Utwórz macierze składowe:

A – wektor wierszowy o 3 elementach,

B – macierz o wymiarze 4x3,

C – wektor kolumnowy o 3 elementach.

a) zbuduj z nich kilka macierzy D (D1, D2, itd.),

b) zbuduj z nich kilka macierzy E, w taki sposób, eby ka da z macierzy

składowych wprowadziła elementy 10 razy wi ksze lub 10 razy

mniejsze od warto ci elementów własnych.

c) zbuduj z nich, wpisuj c w razie potrzeby dodatkowe liczby oraz

wykorzystuj c mo liwo zagnie d ania nawiasów kwadratowych,

kilka macierzy F o wymiarze: F1 - 5

x

4, F2 - 5

x

5, F3 - 6

x

5, F4 - 6

x

6.

Budowanie macierzy z u yciem dwukropka polega na składaniu w macierz

wygenerowanych wektorów wierszowych, przez okre lenie dla ka dego z

nich:

minimum i maksimum, według schematu –

min : max – gdy kolejne

elementy stanowi arytmetyczny ci g liczb całkowitych z ró nic

równ 1,

minimum, przyrostu i maksimum, wg schematu –

min : krok : max

gdy ci g arytmetyczny ma dowoln ró nic (niecałkowit lub ujemn ).

Przykładow macierz o nazwie

dwukropek, wygenerowan z u yciem

dwukropka pokazuje rysunek (zrzut fragmentu okienka Command Window).

????

background image

str. 10

HM

Matlab_cw_01__08.doc

M A T L A B

Zwró uwag na to, jak powstał ostatni wiersz tej macierzy i jaki jest efekt jego

tworzenia.

Zapami taj:

clear, clear zmienna1, clear all – usuwa z pami ci (przestrzeni

roboczej) wszystkie zmienne, wybran zmienn , czy ci cał

przestrze robocz ;

clc – czy ci okno polece

Zadanie 6

Wyczy przestrze robocz i okno polece .

Utwórz macierz A przedstawion ni ej, z u yciem dwukropka:

WICZENIE 4

Macierze – tworzenie - cz

2

Macierze mo na budowa za pomoc specjalnych funkcji. Czyni si to wtedy,

gdy i same macierze maj specjaln (specyficzn ) posta . Najcz ciej

stosowane funkcje dzielimy na:

funkcje generuj ce macierze,

funkcje przekształcaj ce macierze.

Funkcje generuj ce macierze podaje tabela.

eye(n)

tworzy macierz jednostkow o wymiarze n x n (1 na głównej

przek tnej)

zeros(n)

tworzy macierz kwadratow o wymiarze n x n wypełnion

samymi zerami

ones(n)

tworzy macierz kwadratow o wymiarze n x n wypełnion

samymi jedynkami

rand(n)

tworzy macierz kwadratow o wymiarze n x n wypełnion

liczbami pseudolosowymi z przedziału <0, 1> o rozkładzie

jednostajnym

randn(n)

tworzy macierz kwadratow o wymiarze n x n wypełnion

liczbami pseudolosowymi o rozkładzie normalnym ze redni 0

i wariancj równ 1

Je li argumentami tych funkcji b d dwie liczby naturalne, to zostan

wygenerowane macierze prostok tne.

Funkcje przekształcaj ce macierze podaje tabela.

A=diag(x)

wstawia składniki wektora x na głównej przek tnej

macierzy zerowej A,

x=diag(A)

tworzy wektor x z głównej przek tnej macierzy A

inv(A)

tworzy macierz odwrotn do macierzy A

tril(A)

tworzy z macierzy A macierz trójk tn doln

(zerowanie elementów nad główn przek tn )

triu(A)

tworzy z macierzy A macierz trójk tn górn

rot90(A)

obraca macierzy A o 90

o

w kierunku

repmat(A,m,n)

powiela macierz A m razy w pionie i n razy w poziomie

reshape(A,m,n)

tworzy macierz o m wierszach i n kolumnach z

elementów macierzy A branych kolejno kolumnami

background image

Matlab_cw_01__08.doc

HM

str. 11

M A T L A B

W kolejnych zadaniach zastosuj przedstawione wy ej funkcje oraz poznane

wcze niej metody budowania macierzy (nie zapomnij te , e jednym z

najprostszych działa jest dodawanie macierzy).

Zadanie 7

Zbuduj macierze uwzgl dniaj c okoliczno , e do tworzenia kolejnych,

mo esz wykorzysta macierze ju istniej ce.

A =

7 0 0 0

0 7 0 0

0 0 7 0

0 0 0 7

B =

2 2 2 2

2 2 2 2

2 2 2 2

2 2 2 2

C =

9 2 2 2

2 9 2 2

2 2 9 2

2 2 2 9

D =

0 0 0 0

0 0 0 0

E =

9 2 2 2

2 9 2 2

2 2 9 2

2 2 2 9

0 0 0 0

0 0 0 0

F =

2 5 8 11

H =

0 0 0 0

0 0 0 0

2 0 0 0

0 5 0 0

0 0 8 0

0 0 0 11

K =

9 2 2 2

2 9 2 2

4 2 9 2

2 7 2 9

0 0 8 0

0 0 0 11

L =

2 2 2 9 0 11

2 2 9 2 8 0

2 9 2 7 0 0

9 2 4 2 0 0

M =

48 89 44 214

62 54 157 44

58 138 54 89

105 58 62 48

ME =

48 48 48 48

54 54 54 54

54 54 54 54

48 48 48 48

N =

2 2 2 9 0 11

0 2 9 2 8 0

0 0 2 7 0 0

0 0 0 2 0 0

background image

str. 12

HM

Matlab_cw_01__08.doc

M A T L A B

P =

2 9

0 2

0 7

0 2

2 0

2 8

0 0

0 0

2 11

9 0

2 0

0 0

R =

2 9 2 9 2 9

0 2 0 2 0 2

0 7 0 7 0 7

0 2 0 2 0 2

2 0 2 0 2 0

2 8 2 8 2 8

0 0 0 0 0 0

0 0 0 0 0 0

2 11 2 11 2 11

9 0 9 0 9 0

2 0 2 0 2 0

0 0 0 0 0 0

WICZENIE 5

Zapis i odczyt danych

Istnieje wiele programów, które w rezultacie swych działa tworz tabele. S

to np. arkusze kalkulacyjne, bazy danych, edytory tekstów, itp. Matlab mo e te

tabele wczyta do przestrzeni roboczej i przekształci w macierze, pod

warunkiem, e wspomniane programy s w stanie zapisa swoje tabele w

formacie pliku tekstowego. Taka importowana macierz ma nazw

wczytanego pliku (bez rozszerzenia). Funkcja realizuj ca wczytanie pliku, to:

load nazwa_pliku.rozsz

Zadanie 8

1) Otwórz arkusz kalkulacyjny Excel.

2) Utwórz, poczynaj c od komórki A1, tablic liczbow o 10 wierszach

i 10 kolumnach. Nie dodawaj adnych opisów kolumn i tytułów tablicy.

3) Zapisz plik Excela w folderze roboczym Matlaba ustalaj c:

typ zapisywanego pliku z rozszerzeniem .txt ,

nazw pliku bez spacji, polskich liter i innych „dziwnych znaków”.

Nie przejmuj si du liczb pojawiaj cych si okienek dialogowych,

które utrudniaj przeprowadzenie zapisu. Konsekwentnie wybieraj

opcje prowadz ce do zapisu.

4) Zamknij program Excel.

5) Przejd do Matlaba i obejrzyj zawarto okienka Current Directory.

Znajd tam plik przed chwil zapisany.

6) Wczytaj plik do przestrzeni roboczej Matlaba.

7) Przeł cz si na podgl d okienka Workspace.

8) Z wczytanej macierzy utwórz macierz o nazwie AA.

9) Wykorzystuj c odpowiedni funkcj utwórz wektor xx z elementów

rozmieszczonych na głównej przek tnej macierzy AA.

Znacznie łatwiej prowadzi zapis do pliku i odczyt danych z pliku, kiedy

operujemy tylko na tablicach (macierzach) z przestrzeni roboczej Matlaba.

Funkcje, które obsługuj te operacje przedstawione s w tabeli. Trzeba

pami ta , e pliki zapisywane przez Matlaba, to tzw. pliki zapisane binarnie,

a wi c nie daj ce si przeczyta w edytorze tekstowym.

background image

Matlab_cw_01__08.doc

HM

str. 13

M A T L A B

save

zapisanie wszystkich zmiennych w pliku

matlab.mat

save plik

zapisanie wszystkich zmiennych w pliku o

nazwie plik.mat

save plik zm1 zm2

zapisanie wymienionych zmiennych (zm1, zm2)

w pliku o nazwie plik.mat

load

wczytanie zmiennych zapisanych w pliku

matlab.mat

load plik

wczytanie zmiennych zapisanych w pliku

plik.mat

Do zapisu i odczytu zmiennych mo esz tak e wykorzysta opcje menu

i przyciski narz dziowe.

Zadanie 9

Pami taj c, e masz w przestrzeni roboczej macierze utworzone w

zadaniu 8:

1) zbuduj macierz BB o wymiarze 10x11, składaj c macierz AA i xx,

2) zapisz macierze AA, xx, BB w pliku AAxxBB.mat w folderze

roboczym,

3) wyczy zawarto przestrzeni roboczej Matlaba,

4) wczytaj zawarto pliku AAxxBB.mat do przestrzeni roboczej.

WICZENIE 6

Odwołania do elementów i fragmentów macierzy

Odwołanie do elementu macierzy dwuwymiarowej mo e by wykonane na

dwa sposoby:

przez wskazanie numeru wiersza i kolumny,

przez podanie tylko jednego indeksu.

W tym drugim przypadku odliczenie wg indeksu nast pi w taki sposób, jakby

wszystkie kolumny macierzy ustawione były jedna pod drug i tworzyły jedn

dług kolumn . Przykłady odwołania do elementów macierzy podane s ni ej.

Z =

11 12 13 14 15

21 22 23 24 25

31 32 33 34 35

znalezienie warto ci elementu macierzy przez podanie

numeru wiersza i kolumny

>> elementZ=Z(2,4)

elementZ =

24

znalezienie warto ci elementu macierzy przez podanie

tylko jednego indeksu

>> elementZ=Z(11)

elementZ =

24

background image

str. 14

HM

Matlab_cw_01__08.doc

M A T L A B

wstawienie warto ci do macierzy przez podanie numeru

wiersza i kolumny elementu

>> Z(2,4)=99

Z =

11 12 13 14 15

21 22 23 99 25

31 32 33 34 35

wstawienie warto ci do macierzy przez podanie tylko

jednego indeksu elementów macierzy

>> Z(7)=88; Z(4)=elementZ (warto uzyskana w

poprzednich przykładach)

Z =

11 24 88 14 15

21 22 23 99 25

31 32 33 34 35

Odwołanie do fragmentu macierzy wykonywane jest przy pomocy

dwukropka.

Usuwanie wierszy lub kolumn polega na wstawieniu w ich miejsce macierzy

pustej reprezentowanej przez zapis [ ] . Dla przykładu, usuni cie 2 kolumny

macierzy Z przeprowadzimy nast puj co

>> Z(: , 2)=[ ]

Z =

11 88 14 15

21 23 99 25

31 33 34 35

W tej operacji dwukropek oznacza wszystkie wiersze. Takie znaczenie

dwukropka (który nie rozdziela warto ci skrajnych od : do) b dzie wielokrotnie

wykorzystywane.

U ycie „samotnego” dwukropka oznacza zawsze, e działanie odbywa

si na wszystkich wierszach lub/i na wszystkich kolumnach macierzy.

W ni ej podanym przykładzie macierze YA, YB i YC utworzone s z

fragmentów macierzy Y.

>> Y=[11:15; 21:25; 31:35; 41:45]

Y =

11 12 13 14 15

21 22 23 24 25

31 32 33 34 35

41 42 43 44 45

>> YA=Y(: , 3), YB=Y(1:3, :), YC=Y(2:3, 2:4)

YA =

13

23

33

43

background image

Matlab_cw_01__08.doc

HM

str. 15

M A T L A B

YB =

11 12 13 14 15

21 22 23 24 25

31 32 33 34 35

YC =

22 23 24

32 33 34

Je li wybierane fragmenty macierzy nie stanowi „obszaru spójnego”, to

nale y wyszczególni numery wierszy lub kolumn w specjalnych wektorach.

Przeanalizuj przykłady.

>> YD=Y( [1 3] , : ), YE=Y(2:4 , [1 3 5] )

YD =

11 12 13 14 15

31 32 33 34 35

YE =

21 23 25

31 33 35

41 43 45

Zadanie 10

Pami taj c, e masz w przestrzeni roboczej macierze utworzone w

zadaniu 7, zbuduj macierze przedstawione ni ej, wykorzystuj c

umiej tnie zapisy z dwukropkiem. Pierwsza litera w nazwie macierzy

wskazuje na macierz, któr powiniene wykorzysta .

EA =

9 2 2 2

2 9 2 2

2 2 9 2

EB =

9 2 2

2 9 2

2 2 9

2 2 2

0 0 0

0 0 0

LA =

2 7 0 0

4 2 0 0

LB =

9 8

4 0

LC =

18 16

8 0

LD =

18.9 16.8

8.4 0

RA =

2 0 2 0 2 0

2 8 2 8 2 8

0 0 0 0 0 0

0 0 0 0 0 0

2 11 2 11 2 11

9 0 9 0 9 0

2 0 2 0 2 0

0 0 0 0 0 0

RB =

2 0 2 0 2 0

2 8 2 8 2 8

0 0 0 0 0 0

0 0 0 0 0 0

2 11 2 11 2 11

9 0 9 0 9 0

MA =

0 0 0 0

0 0 0 0

58 138 54 89

105 58 62 48

MB =

48000 89000 44000 214000

62 54 157 44

58000 138000 54000 89000

105 58 62 48

MC =

48 999 44 999

62 999 157 999

58 999 54 999

105 999 62 999

background image

str. 16

HM

Matlab_cw_01__08.doc

M A T L A B

WICZENIE 7

Operacje na macierzach

W Matlabie istniej dwa rodzaje operacji na macierzach:

zgodne z zasadami algebry macierzy (operatory macierzowe),

operacje tablicowe traktuj ce macierze jak zwykłe tablice liczbowe.

Operatory tablicowe funkcjonuj w taki sposób, e działaniom operatorów

podlegaj odpowiadaj ce sobie pary elementów obu macierzy (macierze

musz mi ten sam wymiar). Operatory tablicowe poprzedzone s zawsze

kropk .

operator arytmetyczny

operator macierzowy

operator tablicowy

dodawanie

A+B

A+B

odejmowanie

A-B

A-B

mno enie

A*B

B*A

nie jest przemienne

A*B B*A

A.*B

B.*A

jest przemienne:

A.*B=B.*A

dzielenie prawostronne

B/A=B*A

-1

B./A=A.\B

dzielenie lewostronne

A\B=A

-1

*B

A.\B=B./A

pot gowanie

A^2=A*A

A.^2

transpozycja

A’

A’

odwracanie

A^-1=inv(A)

A.^-1

Je li wyniki działa w Matlabie przekraczaj zakres tzw. zakres arytmetyki

komputera, to Matlab nie przerywa działania, podaj c jako rezultaty

charakterystyczne zmienne

inf lub Inf

(niesko czono ).

Je li w wyniku działa operacje s matematycznie niezdefiniowane (np. 0/0),

to jako rezultaty otrzymujemy zmienne

NaN lub nan

Zadanie 11

Zdefiniuj dwie macierze (M1 i M2) o wymiarze 3x3 z u yciem dwukropka.

Zmie niektóre elementy tych macierzy „zakłócaj c” rezultaty

poprzedniego działania. Druga macierz nie powinna mie elementów

zerowych. Wykonaj nast puj ce polecenia:

1. Sprawd , czy mno enie macierzy jest przemienne obliczaj c,

ró nic wyników obydwu wariantów mno enia.

2. Sprawd , czy tablicowe mno enie macierzy jest przemienne

obliczaj c, ró nic wyników obydwu wariantów mno enia.

3. Sprawd , czy mo esz bez problemów podnie macierz M2 do

pot gi –1. Je li nie, to oce dlaczego, zmie warto niektórych

elementów i powtórz prób .

4. Sprawd , czy mo esz bez problemów wykona tablicow operacj

podniesienia macierzy M2 do pot gi –1.

Zadanie 12

Zdefiniuj macierz o wymiarze 3x7 z u yciem dwukropka. Oblicz redni

warto ka dego wiersza macierzy wykonuj c wył cznie operacje

macierzowe lub tablicowe. Odpowiednio do potrzeb zdefiniuj macierze

pomocnicze.

Udowodnij poprawno wyników w inny (niemacierzowy) sposób.

background image

Matlab_cw_01__08.doc

HM

str. 17

M A T L A B

Dowolny tekst mo esz zapisa w Matlabie zaczynaj c wiersz od znaku

%.

Tekst ten nie b dzie interpretowany jako zapis operacji matematycznych.

Takie zapisy stosuje si , gdy chcemy wprowadzi komentarz. Mo na tym

sposobem „swobodnego pisania w Matlabie” posłu y si wtedy, gdy niejako

„na brudno” zapisujemy przekształcenia wzorów, albo równania. Potem, po

wzrokowym sprawdzeniu, mo na całe sekwencje tych zapisów wykorzysta

i przenie do wła ciwych miejsc w Matlabie (klasyczna operacja kopiuj-wklej).

Rozwi zywanie układu równa liniowych to zagadnienie, który wyst puje w

wielu zadaniach in ynierskich. Rozpatrzymy ten problem na przykładzie

nast puj cego układu równa .

x

1

+x

2

+x

3

-3=0

x

1

+2x

2

+3x

3

-1=0

x

1

-x

2

+x

3

-2=0

Wykorzystuj c metody algebry liniowej i znane nam ju operacje na

macierzach, rozwi zania poszukuje si w sposób nast puj cy:

przenosi si wyrazy wolne na praw stron znaku równo ci

i porz dkuje wyrazy wzgl dem niewiadomych (x),

x

1

+x

2

+x

3

=3

x

1

+2x

2

+3x

3

=1

x

1

-x

2

+x

3

=2

tworzy si macierz współczynników przy niewiadomych A, wektor

niewiadomych x i wektor wyrazów wolnych B:

A=

1

1

1

3

2

1

1

1

1

;

x=

3

2

1

x

x

x

; B=

2

1

3

Przy tak zdefiniowanych macierzach równania zapisuje si

w postaci

Ax=B

i mo na dokona przekształcenia (lewostronne mno enie

przez A

-1

).

A

-1

Ax=A

-1

B

Uwzgl dniaj c, e

A

-1

A=I

przedstawia macierz jednostkow (jedynki na głównej

przek tnej) otrzymujemy ko cowy zapis.

Ix=A

-1

B

x=A

-1

B

wykonuje si przedstawione wy ej działanie otrzymuj c poszukiwane

rozwi zanie x.

background image

str. 18

HM

Matlab_cw_01__08.doc

M A T L A B

Zadanie 13

Znajd warto ci sił reakcji w podporach (R1

x

, R1

y

, R2

y

) posługuj c si

rachunkiem macierzowym.

a=0,7

b=1,5

c=0,18e1

P1=532

P3=320

P2=270

=60

o

R1=?

R2=?

y

x

UWAGA:

1. Równania statyki

R1

x

+P1

x

=0

R1

y

+P1

y

+P2

y

+P3

y

+R2

y

=0

P1

y

*a+P2

y

*(a+b)+P3

y

*(a+b+c)+R2

y

*(a+b+c)=0

uporz dkuj wzgl dem niewiadomych.

2. Przenie składniki bez niewiadomych (tzw. wyrazy wolne) na

praw stron równania.

Zauwa , e cały zestaw równa mo esz zapisa macierzowo

A*R=W

gdzie: Amacierz współczynników przy niewiadomych (R1

x

,

R1

y

, R2

y

),

W macierz wyrazów wolnych,

Rmacierz szukanych składowych sił reakcji o postaci

=

y

R

y

R

x

R

R

2

1

1

3. Okre l warto ci wszystkich elementów macierzy A i W.

4. Dokonuj c prostego przekształcenia powy szego wzoru, oblicz

warto ci elementów wektora R stosuj c działania na macierzach.

Wyniki:

R1

x

= -266,00;

R1

y

= 258,60;

R2

y

= 252,13

background image

Matlab_cw_01__08.doc

HM

str. 19

M A T L A B

WICZENIE 8

Funkcje standardowe

Matlab ma w swej bibliotece wiele funkcji. Musisz pami ta , e wszystkie

zmienne Matlab traktuje jak macierze, wi c oczywiste jest, e argumentem

ka dej funkcji mo e by macierz. Odpowiednia operacja zostanie wykonana

na ka dym elemencie macierzy. Wynikiem działania funkcji jest wi c tak e

macierz. Niektóre z funkcji Matlaba podaje poni sza tabela.

funkcje podstawowych operacji matematycznych

sin(),cos(),tan(),
cot()

funkcje trygonometryczne – argumenty w

radianach

asin(), acos(), ..

funkcje cyklometryczne – wynik w radianach

sqrt()

pierwiastek kwadratowy – przy ujemnym

argumencie wynik jest liczb zespolon

log(), log2(),

log10()

logarytm naturalny, logarytm przy podstawie 2,

logarytm przy podstawie 10 - przy ujemnym

argumencie wynik jest liczb zespolon

abs()

warto absolutna, a dla liczby zespolonej jej

moduł

angle()

argument liczby zespolonej

real(), imag()

cz

rzeczywista i urojona liczby zespolonej

round()

zaokr glenie do najbli szej liczby całkowitej

funkcje operuj ce na wektorach

max()

zwraca najwi kszy element wektora (ka dej kolumny macierzy)

min()

zwraca najmniejszy element wektora (ka dej kolumny macierzy)

sum()

zwraca sum elementów wektora (ka dej kolumny macierzy)

prod()

zwraca iloczyn elementów wektora (ka dej kolumny macierzy)

mean()

zwraca redni arytmetyczn elementów wektora (ka dej kolumny

macierzy)

funkcje okre laj ce wymiary macierzy

size()

rozmiar macierzy – wynikiem jest macierz dwuelementowa

[liczba_wierszy liczba_kolumn ]

length()

zwraca wi kszy z wymiarów macierzy

funkcje rodowiska Matlaba

clear, clear z, clear all

usuwa z pami ci zmienne

clc, clf

czy ci okno polece , okno rysunku

Zadanie 14

Sporz d tabel , która dla warto ci k ta wyra onej w stopniach,

zestawia warto ci wszystkich czterech podstawowych funkcji

trygonometrycznych. Stopniowanie k ta co 1, a zakres tabeli od –90 do

+90 stopni.

background image

str. 20

HM

Matlab_cw_01__08.doc

M A T L A B

Z a d a n i a d o s a m o d z i e l n e g o w y k o n a n i a

Praca w trybie bezpo rednim - działania na macierzach

Zadanie 1.

W krajach anglosaskich u ywa si jeszcze jednostki długo ci

1 cal (1”). Wiedz c, e 1”=25.4 mm, opracuj tabel słu c do

szybkiego odczytu długo ci w milimetrach, je li kto podaje długo w

calach (calach i jego ułamkach). Przykład: z tabeli powinno si

szybko odczyta , e 7 i 3/16 cala to 182,5625 mm. Stopniowanie

długo ci wyra onej w calach nie powinno by „g ciejsze” ni 1/16

cala, a cały zakres tabeli powinien zawiera wyniki w granicach od 0

do 1 m. Zastosuj poznane operacje macierzowe.

Zadanie 2.

W Stanach Zjednoczonych (i niektórych innych krajach) do

okre lania temperatury stosuje si skal Fahrenheita. Wiedz c, e

skal temperatur Celsjusza i Fahrenheita wi e nast puj cy wzór

t

o

C=(5/9)*(t

o

F-32)

opracuj tabel słu c do szybkiego odczytu temperatury w

o

C, gdy

kto podaje informacj o temperaturze w skali Fahreinheita. Cały

zakres tabeli powinien zawiera si pomi dzy –40

o

C a 50

o

C.

Zadanie 3.

W pewnym eksperymencie prowadziłe pomiary składowych

siły F, czyli rejestrowałe F

x

oraz F

y

. Zarejestrowałe 100 takich par

(utwórz macierz składowych siły o wymiarze 100x2 z wykorzystaniem

funkcji generuj cej liczby pseudolosowe). Przy pomocy operatorów

macierzowych i tablicowych utwórz macierz kolumnow (wektor

o wymiarze 100x1), która zawiera b dzie obliczone warto ci

wypadkowej siły F.


Wyszukiwarka

Podobne podstrony:
ćw. 2 D.S, Studia, 1 rok, od Magdy, geodezja 1, Geodezja II, Geodezja 22.01.08
Przetworniki CA [ćw] 1998 08 01
cw 01
LKM cw 01 02
ostatni wykład z 01 08
MB Cw 01 2011na12 6i7i8z14
MATLAB cw 3
1946 01 08 Dekret motoryzacja państwa
1997 01 08 0017
A15 Pole elektryczne w dielektrykach (01 08)
2010.01.08. Bakteriologia, WSPiA, 1 ROK, Semestr 1, Biologia i Mikrobiologia
Zamówienia publiczne cw 5 01 2011
MODERNIZACJA WOJSKA POLSKIEGO wykład z 01 08
Cw 01 Wzmacniacze
312[01] 08 122 Arkusz egzaminac Nieznany (2)
InstrukcjeĆw.2009 2010, Cw.1.E-01. Badanie właściwości elektrycznych kondensatora płaskiego, Laborat
01, 08, POLITECHNIKA WROC?AWSKA INSTYTUT FIZYKI_

więcej podobnych podstron