MATLAB Prezentacja 2

background image

MATLAB

PODSTAWY PROGRAMOWANIA

Ćwiczenia 2

DZIAŁANIA

NA WEKTORACH I MACIERZACH






Wydział Inżynierii Lądowej i Środowiska
Katedra Mechaniki Budowli i Mostów

copyleft by Marcin Kujawa & Łukasz Smakosz

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

2/25

Tworzenie skryptów

 Skrypt jest plikiem tekstowym zawierającym zestaw poleceń Matlaba.

 Pliki skryptowe mają rozszerzenie .m.

 W ich nazwach nie należy używać polskich znaków oraz spacji, nie mogą

rozpoczynać się liczbą, nie mogą pokrywać się z nazwami funkcji Matlaba

 Dostęp do edytora Matlaba jest możliwy przez File > New > Script, przez

odpowiednią ikonę lub skrót CTRL+N.

Opisywanie skryptów

 Każdy skrypt powinien mieć krótki opis zawartości i działania. Opis umieszcza się

za znakiem

%

. Taki opis pliku nazywamy komentarzem.

 Opis pliku można wywołać w Matlabie przy pomocy polecenia help

nazwa_skryptu

. Za opis pliku traktowane są pierwsze linie komentarza

nieprzerwane liniami innego typu.


Przykład:

% To jest opis skryptu test.m

clear, clc

% czyszczenie zmiennych i ekranu

a=2;

% opis wybranej komendy

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

3/25

Dostęp do elementów macierzy


Polecenie:

A(:,j)

wybiera j-tą kolumnę z macierzy A.

Polecenie:

A(i,:)

wybiera i-ty wiersz z macierzy A.

Polecenie:

A(i,a:b)

wybiera elementy od a do b z macierzy A z wiersza i.

Polecenie:

A(:)

wybiera całą macierz w postaci wektora kolumnowego.

Polecenie:

A(a:b)

wybiera elementy macierzy A od elementu i do j.


j

i

a b

i

b

a

a b

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

4/25

Odwołania do podmacierzy


Przykład:
Stwórz macierz A i zapisz zaznaczone podmacierze jako B i C.
Odczytaj wyróżnione elementy i zapisz je jako b i c.

9

5

1

1

2

3

3 7 11

4 5

6

clear, clc

A=[-9:4:11; 1:6]

% definicja macierzy A

B=A(1:2,[2 3])

% podmacierz z wierszy od 1 do 2 oraz kolumn 2 i 3

C=A(1,4:6)

% podmacierz z wiersza 1 oraz kolumn od 4 do 6

b=B(2,1)

% element znajdujący się w 2 wierszu i 1 kolumnie

c=C(1,2)

% element znajdujący się w 1 wierszu i 2 kolumnie

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

5/25

Usuwanie wektora z macierzy i nadpisywanie elementów


Przykład:
Stwórz macierz A, wyróżnione elementy zastąp liczbą a = sin(15°), następnie
usuń z niej zaznaczone wektory.

1 0 0
0 1 0
0 0 1

clear, clc

A=eye(3)

% generacja macierzy jednostkowej A

a=sin(pi/12)

% definicja zmiennej a; kat w radianach

A(3,1)=a

% nadpisanie elementu w 3 wierszu i 1 kolumnie

A(2,3)=a

% nadpisanie elementu w 2 wierszu i 3 kolumnie

A(1,:)=[]

% usuniecie 1 wiersza

A(:,2)=[]

% usuniecie 2 kolumny

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

6/25

Generacja wektorów i alokacja pamięci


Ze względu na czas wykonywania operacji dobrze jest przed przystąpieniem do
obliczeń stworzyć odpowiednie macierze do przechowywania danych.

Polecenie:

x(5)=0

wygeneruje wektor poziomy 5 elementowy wypełniony zerami.


Polecenie:

x(5,7)=0

lub

x=zeros(5,7)

wygeneruje macierz 5x7 wypełniona zerami.


background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

7/25

ZADANIE DO WYKONANIA NA ZAJĘCIACH


Wygeneruj zerową macierz A o wymiarach 3

×

5, następnie kolejne jej wiersze

zastąp wektorami x, y i z:

1 3 5 7 9

4

2 0 2 4

1 1 1 1 1


Usuń skrajne kolumny i zapisz wyraz znajdujący się na środku macierzy jako c.

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

8/25

ZADANIE DO WYKONANIA NA ZAJĘCIACH

clear, clc

% generacja macierzy zerowej i wektorow x, y, z

A=zeros(3,5);
x=[1:2:9];
y=[-4:2:4];
z=ones(1,5);

A(1,:)=x

% zastąpienie wiersza 1 wektorem x

A(2,:)=y

% zastąpienie wiersza 2 wektorem y

A(3,:)=z

% zastąpienie wiersza 3 wektorem z


A(:,[1 5])=[]

% usuniecie 1 i 5 kolumny

c=A(2,2)

% odczytanie wyrazu z 2 wiersza i 2 kolumny


background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

9/25

Operacje na elementach wektora

Jeżeli x jest macierzą to operacje odnoszą się do poszczególnych kolumn
macierzy.

Inne przydatne funkcje

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

10/25

ZADANIE DO WYKONANIA NA ZAJĘCIACH


Stwórz macierz B taką, że:

 skok we wszystkich wierszach wynosi 3,

 pierwszy wiersz zaczyna się od 1 i kończy na 7,

 pierwsza kolumna zaczyna się od 1 i kończy na 9 ze skokiem co 2.





background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

11/25

ZADANIE DO WYKONANIA NA ZAJĘCIACH


Stwórz macierz B taką, że:

 skok we wszystkich wierszach wynosi 3,

 pierwszy wiersz zaczyna się od 1 i kończy na 7,

 pierwsza kolumna zaczyna się od 1 i kończy na 9 ze skokiem co 2.

B=[1:3:7; 3:3:9; 5:3:11; 7:3:13; 9:3:15]








background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

12/25

Przykład:

 Wyznacz średnią arytmetyczną ze wszystkich elementów macierzy B.
 Odczytaj wymiary macierzy B za pomocą funkcji size i przypisz je kolejno

zmiennym m i n.

 Wyznacz maksymalną wartość m-tego wiersza i minimalną wartość n-tej

kolumny macierzy B.

b1=mean(B)

% wektor srednich z kolumn mac. B

b2=mean(b1)

% srednia arytmetyczna z mac. B


[m,n]=size(B);

% odczytanie wymiarow B i przypisanie

ich wartosci zmiennym m (l.wierszy) oraz n(l.kolumn)


m1=B(m,:)

% zapisanie ostatniego wiersza jako m1

m2=max (m1)

% max m-tego wiersza


n1=B(:,n)

% zapisanie ostatniej kolumny jako n1

n2=min(n1)

% min n-tej kolumny

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

13/25

Działania macierzowe i tablicowe


Przykład:
Zdefiniuj macierz A i wektor x następnie podnieś je do drugiej potęgi
wykorzystując operacje tablicowe i macierzowe. Porównaj wyniki.

A=[2 -1 3;exp(2) 5 0;6 0 2*pi]
x=[-2:2]

at=A.^2, xt=x.^2

% op. tablicowe

am=A^2, xm=x^2

% op. macierzowe

2

1

3

5

0

6

0

2

2

1 0 1 2

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

14/25

A =

2.0000 -1.0000 3.0000

7.3891 5.0000 0
6.0000 0 6.2832

x =

-2 -1 0 1 2

Potęgowanie tablicowe

at =
4.0000 1.0000 9.0000

54.5982 25.0000 0

36.0000 0 39.4784

xt =
4 1 0 1 4

Każdy z elementów analizowanych macierzy został podniesiony do drugiej potęgi.

 Operacje tablicowe wykonywane są na odpowiadających sobie elementach

danych macierzy (tj. na komórkach o tych samych współrzędnych).

 Operacje tablicowe można przeprowadzać wyłącznie na macierzach o

jednakowych wymiarach.

 Symbolem operacji tablicowej jest

kropka umieszczona przed znakiem

potęgowania lub mnożenia

.

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

15/25

A =

2.0000 -1.0000 3.0000

7.3891 5.0000 0
6.0000 0 6.2832

x =

-2 -1 0 1 2

Potęgowanie macierzowe

am =
14.6109 -7.0000 24.8496

51.7234 17.6109 22.1672

49.6991 -6.0000 57.4784

xm =
niemożliwe


Potęgowanie macierzowe A^2 jest jednoznaczne z operacją mnożenia macierzowego
A*A. Operacja x^2 była niemożliwa do realizacji, gdyż nie da się wykonać mnożenia
macierzowego x*x (wymiary mnożonych macierzy nie są zgodne).

 Operacje mnożenia i potęgowania macierzowego przebiegają wg

charakterystycznego schematu i wymagają, żeby liczba kolumn pierwszego
składnika iloczynu była równa liczbie wierszy drugiego składnika
.

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

16/25

ZADANIE DO WYKONANIA NA ZAJĘCIACH

 Zdefiniuj macierze A i B, następnie oblicz ich sumę i różnicę.

 Dodaj do elementów 1. wiersza macierzy B liczbę 2.

 Wykonaj mnożenie macierzy A i B (wybierz typ mnożenia).





2 3 4
4 3 2

,

5 5 5
5 5 5

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

17/25

ZADANIE DO WYKONANIA NA ZAJĘCIACH

 Zdefiniuj macierze A i B, następnie oblicz ich sumę i różnicę.

 Dodaj do elementów 1. wiersza macierzy B liczbę 2.

 Wykonaj mnożenie macierzy A i B (wybierz typ mnożenia).



clear, clc

A=[2:4;4:-1:2]

% generacja automatyczna

B=ones(2,3)*5

% mnozenie mac. przez skalar


sum=A+B, roz=A-B

% suma i roznica mac. A i B

B(1,:)=B(1,:)+2

% dodanie 2 do 1 wiersza mac. B

mn=A.*B

% mozliwe tylko mn. tabl.

2 3 4
4 3 2

,

5 5 5
5 5 5

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

18/25

ZADANIE DO WYKONANIA NA ZAJĘCIACH

 Zbuduj wektor x, którego elementy rozpoczynają się od -5 i kończą na 5 ze

skokiem co 0.1.

 Stwórz wektor y, będący zbiorem wartości funkcji y=x

2

*sin(x),

odpowiadających elementom wektora x.

 Stwórz macierz F, której wierszami są kolejno wektory x i y.


background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

19/25

ZADANIE DO WYKONANIA NA ZAJĘCIACH

 Zbuduj wektor x, którego elementy rozpoczynają się od -5 i kończą na 5 ze

skokiem co 0.1.

 Stwórz wektor y, będący zbiorem wartości funkcji y=x

2

*sin(x),

odpowiadających elementom wektora x.

 Stwórz macierz F, której wierszami są kolejno wektory x i y.

clear, clc

x=[-2:0.1:2]

% generacja wektora x

y=x.^2.*sin(x)

% gen. wektora y, OPERACJE TABLICOWE


F=[x;y]

% zlozenie macierzy F, x i y maja identyczne

wymiary


background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

20/25

Odwracanie i transpozycja macierzy

Przykład:
Zdefiniuj macierze A i B, a następnie wyznacz macierze do nich odwrotne oraz
transponowane.

11 12 13
21

0

23

31 32 33

,

11 12 13
21 22 23
31 32 33


A=[11:13;21 0 23;31:33]
trans_a=A’

% transpozycja macierzy

odw_a=inv(A), odw_a= A^(-1)

% odwracanie macierzy


B=[11:13;21:23;31:33]
trans_b=B’

% transpozycja macierzy

odw_b=inv(B)

% odwracanie macierzy

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

21/25

ZADANIE DO WYKONANIA NA ZAJĘCIACH


Zdefiniuj wektory x i y, a następnie oblicz ich iloczyn tablicowy oraz wektorowy.
Oblicz sumę kwadratów elementów wektora y.

1 3 5 7 9

4

2 0 2 4



background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

22/25

ZADANIE DO WYKONANIA NA ZAJĘCIACH


Zdefiniuj wektory x i y, a następnie oblicz ich iloczyn tablicowy oraz wektorowy.
Oblicz sumę kwadratów elementów wektora y.

1 3 5 7 9

4

2 0 2 4

clear, clc

x=[1:2:9]
y=[-6:3:6]

xy_tab=x.*y

% mnozenie tablicowe

xy_mac=x*y’

% mnozenie mac 1x5 * 5x1

xy_mac2=x’*y

% mnozenie mac 5x1 * 1x5


y_kwd=y*y’

% suma kwadratow

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

23/25

Algebra liniowa

det(A)

obliczanie wyznacznika macierzy A

eig(A)

obliczanie wartości własnych macierzy A

poly(A)

obliczanie współczynników wielomianu charakterystycznego
macierzy A

rank(A)

obliczanie rzędu macierzy A

diag(A)

wyznaczanie elementów leżących na głównej przekątnej
macierzy A


Przykład:
Wykorzystaj powyższe funkcje na macierzy A postaci:

2

1

3

5

0

6

0

2

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

24/25

ZADANIE DO WYKONANIA NA ZAJĘCIACH


Rozwiąż układ równań liniowych:

3

1

1
2

1

3

3

2

2


Uwaga: układ można zapisać w postaci macierzowej A*x = B, którego
rozwiązaniem jest x = A

-1

*B

background image

MATLAB

2. Działania na wektorach i macierzach

2013/2014

Marcin Kujawa

Łukasz Smakosz

Politechnika Gdańska

WILiŚ

Katedra Mechaniki Budowli i Mostów

25/25

ZADANIE DO WYKONANIA NA ZAJĘCIACH


Rozwiąż układ równań liniowych:

3

1

1
2

1

3

3

2

2


Uwaga: układ można zapisać w postaci macierzowej A*x = B, którego
rozwiązaniem jest x = A

-1

*B

clear, clc
A=[1 3 0; 1/2 1 -3; 0 2 1]

% macierz wspolczynnikow 3x3

B=[1 3 2]'

% wektor kolumnowy wyrazow wolnych 3x1

x=inv(A)*B

% wektor kolumnowy niewiadomych 3x3 * 3x1


Wyszukiwarka

Podobne podstrony:
MATLAB Prezentacja 4 id 287604
MATLAB Prezentacja 5
MATLAB Prezentacja 3 id 287603
MATLAB Prezentacja 4 id 287604
MATLAB Prezentacja 3
prezentacja finanse ludnosci
prezentacja mikro Kubska 2
Religia Mezopotamii prezentacja
Prezentacja konsument ostateczna
Strategie marketingowe prezentacje wykład
motumbo www prezentacje org
lab5 prezentacja
Prezentacja 18
Materialy pomocnicze prezentacja maturalna

więcej podobnych podstron