MATLAB operacje na macierzach, skrypty
Operacje na macierzach mo emy podzieli na dwie grupy
" operacje macierzowe wykonywane na całych macierzach zgodnie z regułami algebry,
" operacje tablicowe wykonywane na poszczególnych elementach macierzy.
operacja macierzowa tablicowa uwagi
dodawanie + +
odejmowanie
mno enie * .*
pot gowanie ^ .^
dzielenie prawostronne / ./ A./B => A(i,j)/B(i,j)
dzielenie lewostronne \ .\ A.\B => B(i,j)/A(i,j)
Przykłady operacji
a11 a12 b11 b12
A = , B =
a21 a22 b21 b22
Dodawanie i odejmowanie (tablicowe i macierzowe tak samo):
a11 + b11 a12 + b12 a11 + b11 a12 + b12
A + B = A + B =
a21 + b21 a22 + b22 a21 + b21 a22 + b22
Mno enie (tablicowe): Mno enie (macierzowe):
a11 *b11 a12 *b12 a11 *b11 + a12 *b21 a11 *b12 + a12 *b22
A.* B = A* B =
a21 *b21 a22 *b22 a21 *b11 + a22 *b21 a21 *b12 + a22 *b22
Pot gowanie (tablicowe): Pot gowanie (macierzowe):
k k
a11 a12
A A
A.^k = A^ k = A* A* *...*
k k
a21 a22
k
Dzielenie prawostronne (tablicowe): Dzielenie lewostronne (tablicowe):
a11 / b11 a12 / b12 b11 / a11 b12 / a12
A./ B = A.\ B = B./ A =
a21 / b21 a22 / b22 b21 / a21 b22 / a22
Dzielenie prawostronne (macierzowe): Dzielenie lewostronne (macierzowe):
A/ B = A* B-1 A \ B = A-1 * B
Operacje tablicowe s wymuszane, je li jeden z argumentów jest skalarem
" A+5 do ka dego elementu macierzy zostanie dodana warto 5
" B/3 ka dy element macierzy zostanie podzielony przez 3
Inne funkcje i operatory
` transpozycja macierzy (zamiana wierszy na kolumny)
w przypadku macierzy o warto ciach zespolonych:
1
` transpozycja ze sprz eniem
.` sama transpozycja
det(A) wyznacznik macierzy
inv(A) macierz odwrotna do macierzy A
size(A) wy wietla rozmiar macierzy A (liczb wierszy i kolumn)
max(A) zwraca najwi kszy element wektora A
min(A) zwraca najmniejszy element wektora A
sum(A) zwraca sum elementów wektora A
prod(A) zwraca iloczyn elementów wektora A
mean(A) zwraca redni arytmetyczn elementów wektora A
Je li w powy szych funkcjach A jest macierz dwuwymiarow , to funkcje te zwracaj wyniki
odnosz ce si do poszczególnych jej kolumn.
Przykład układ równa :
3x1 + 2x2 - x3 = 5
x1 + x2 + x3 =11
2x1 - x2 + 4x3 = 8
>> A=[3 2 1; 1 1 1; 2 1 4]
>> B=[5;11;8]
>> x=A\B równowa ne inv(A)*B
Skrypty
Skrypt jest to zwykły plik tekstowy zawieraj cy polecenia i instrukcje MATLAB-a, maj cy
rozszerzenie .m. Skrypty mo na tworzy za pomoc dowolnego edytora tekstowego, zapisuj cego
niesformatowane pliki tekstowe.
Oprócz polece i instrukcji z MATLAB-a w skrypcie mo na umieszcza komentarze. Na
komentarz składaj si linie tekstu zaczynaj ce si od znaku %. Dodatkowo je li s to pierwsze
linie w skrypcie, to stanowi pomoc wy wietlan na ekranie po wywołaniu polecenia:
>>help skrypt
gdzie słowo skrypt jest nazw skryptu (bez rozszerzenia .m)
Skrypt uruchamia si podaj c jego nazw (bez rozszerzenia) w wierszu polece MATLAB-a.
Skrypt musi znajdowa si w katalogu bie cym lub w katalogu udost pnionym poleceniem path.
Katalog bie cy jest to katalog, w którym zapisywane s pliki tworzone podczas pracy z pakietem:
dir, ls wy wietl enie plików w bie cym lub podanym katalogu
(mo na u ywa znaków globalnych: *, ?),
cd katalog zmiana bie cego katalogu,
pwd wy wietlenie pełnej cie ki okre laj cej bie cy katalog,
path wy wietlenie listy cie ek,
path(path,kat1) dodanie do listy cie ek katalogu o podanej nazwie (kat1).
Przykład:
Zawarto skryptu o nazwie macierz.m jest nast puj ca:
% Skrypt generuje losowo macierz o rozmiarze 3x3
% nast pnie liczy jej wyznacznik i macierz odwrotn
clc;
A=rand(3,3);
2
disp(A);
% obliczenie wyznacznika
w=det(A);
disp( Wyznacznik macierzy to : );
disp(w);
% obliczenie macierzy odwrotnej
B=inv(A);
disp( Macierz odwrotna do A: );
disp(B);
Polecenie
>> help macierz
spowoduje wy wietlenie informacji o skrypcie:
Skrypt generuje losowo macierz o rozmiarze 3x3
nast pnie liczy jej wyznacznik i macierz odwrotn
natomiast wpisanie:
>> macierz
spowoduje wykonanie skryptu.
Wczytywanie danych do skryptu
Podczas wykonywania skryptu mo na wczytywa do niego dane z klawiatury wykorzystuj c
funkcj input:
x=input(napis) - w tej postaci wy wietlana jest zawarto ła cucha znaków napis, a nast pnie
Matlab czeka na wprowadzenie liczby, która przypisywana jest zmiennej x,
x=input(napis, s ) - działa j.w., ale słu y do wczytania ła cucha znaków.
Przykład:
% Skrypt generuje macierz prostokatna
% o rozmiarze wczytanym z klawiatury
n=input( Podaj liczbe wierszy: );
m=input( Podaj liczbe kolumn: );
A=rand(n,m);
disp(A);
3
Wyszukiwarka
Podobne podstrony:
34 Pliki Operacje na plikach w Pascaluoperacje na plikach tekstowychwycena operacji na rachunkuoperacje na ramkach danych solucjaOperacje na histogramie670 Przekwalifikowanie leasingu operacyjnego na finansowyoperacje na plikachKurs CorelDRAW 12 Część 4 Zaawansowane operacje na obiektachoperacje na rekordach zadaniaoperacje na rekordachAsembler Operacje na PlikachMatematyjka Dzialania na macierzachOperacje na plikach multimedialnych4 Operacje na tablicach (prezentacja)Lab Operacje na plikachzbiory i operacje na zbiorachwięcej podobnych podstron