Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
MATLAB — wprowadzenie
MAT rix LAB oratory• MATLAB operuje tylko na jednymtypie zmiennych —na
macierzach.• Liczby (skalary) są szczególnymi przypadkami macierzy
o wymiarze 1×1, (zawierającymi jeden wiersz i jedną kolumnę).• Nazwą zmiennej jest dowolny ciąg znakówalfanumerycznych,
rozpoczynający się od litery. Rozróżniane są duże i małe litery.Pamiętanych jest 19 pierwszych znaków.
Przykłady nazw zmiennych:
A C21 delta tvx444 omega_zero
hxx J23 aaa g4534 Fx_38
>> a=5.75
a =
5.75
>> b=3;
Przypisanie zmiennym wartości liczbowych
→ enter
→ enter
>> D2=[1 -9]
D2 =
1 -9
→ enter
>> A1=[3 6.5 8 0 0 1]
A1 =
Columns 1 through 4
3 6.5 8 0
Columns 5 through 6
0 1
→ enter
Lepiej postawić średnik
>> A1=[3 6.5 8 0 0 1]; → enter
>> Yn=[4 7 -42 0 6]
Yn =
4 7 -42 0 6
lub
>> Yn=[4 7 -4;2 0 6]
Yn =
4 7 -42 0 6
→ enter→ enter
→ enter
Zmienne standardowe: eps, pi, i, j
>> epsans =
2.2204e-016>> pians =
3.1416>> ians =
0 + 1i>> jans =
0 + 1i
Tych nazw nie należy używać jako nazw własnych zmiennych (w szczególności eps)
Operacje arytmetyczne: + – * /
>> a=7;b=3;>> c=a+bc =
10>> d=a/bd =
2.3333>> e=a*be =
21>> f=b-af =
-4
>> a=7;b=3;>> a+bans =
10>> a/bans =
2.3333>> a*bans =
21>> b-aans =
-4
Potęgowanie i pierwiastkowanie
>> x=-3;y=8;>> x^3ans =
-27>> y^(3/2)ans =
22.627>> sqrt(x)ans =
0 + 1.7321i>> sqrt(y)ans =
2.8284
Gdy chcemy zapamiętać wynik, koniecznie trzeba mu przypisać nazwę!
Np.>> w=sqrt(y)w =
2.8284
Działania na macierzach — muszą być wykonalne!
>> A=[1 3; -2 1];B=[0 1;6 -1];C=[3 8];>> D=A+BD =
1 44 0
>> E=A*BE =
18 -26 -3
>> F=A+C??? Error using ==> plusMatrix dimensions must agree.
>> G=B*C??? Error using ==> mtimesInner matrix dimensions must agree.
A =
1 3
-2 1
>> B
B =
0 1
6 -1
>> C
C =
3 8
inv(A) — oblicza macierz odwrotną A–1
det(A) — oblicza wyznacznik macierzy A
A’ — transpozycja i sprzężenie zespolone macierzy A (A’=A*t)
A.’ — transpozycja (bez sprzężenia), czyli A.’=At
Jeżeli operacja nie jest wykonalna sygnalizowany jest błąd
Działania na liczbach (macierzach) zespolonychreal(A) — część rzeczywista liczby (macierzy) A (Re{A})imag(A) — część urojona liczby (macierzy) A (Im{A})abs(A) — moduł liczby (macierzy) A (|A|)angle(A) — argument liczby (macierzy) A (argA) W radianach!!!conj(A) — sprzężenie zespolone liczby (macierzy) A (A*)
>> A=1+j*piA =
1 + 3.1416i>> r=real(A);im=imag(A);m=abs(A);ar=angle(A);>> [r im m ar]ans =
1 3.1416 3.2969 1.2626
Działania na elementach macierzy (działania tablicowe)
C=A.*B →
C=A./B →
C=A.^k →
ij ij ij
ij ij ij
kij ij
c a b
c a b
c a
=
=
=
Wymiary macierzy A i B muszą być identyczne!
>> A=[3 -1 2];B=[1 2 4];>> A.*Bans =
3 -2 8
>> A./Bans =
3 -0.5 0.5
Tworzenie standardowych macierzy
zeros(n) — generuje macierz n×n złożoną z samych zerzeros(n,m) — generuje macierz n×m złożoną z samych zerones(n) — generuje macierz n×n złożoną z samych jedynekones(n,m) — generuje macierz n×m złożoną z samych jedynekeye(n) — generuje macierz jednostkową n×n
>> zeros(2)ans =
0 00 0
>> ones(2,4)ans =
1 1 1 11 1 1 1
>> eye(3)ans =
1 0 00 1 00 0 1
Generowanie ciągów liczbowych
k=a:s:b — generuje macierz wierszową [a a+s a+2s ... b’],czyli ciąg arytmetyczny,b’≤ b gdy s > 0,b’ ≥ b gdy s < 0.
>> k1=1:3:8k1 =
1 4 7
>> k2=5:-2:-1k2 =
5 3 1 -1
k=a:b — domyślną wartością jest s = 1
>> k=1:5k =
1 2 3 4 5
k=linspace(a,b,n) — generuje n-elementowąmacierz wierszową, złożoną z n równoodległych liczb między a i b.Gdy nie jest podane n, domyślną wartością jest 100.
>> x=linspace(0,pi,10);>> x'ans =
00.349070.69813
1.04721.39631.74532.09442.44352.79253.1416
k=logspace(a,b,n) — generuje n-elementowąmacierz wierszową, złożoną z n liczb między 10a i 10b, których logarytmy są równoodległeGdy nie jest podane n, domyślną wartością jest 50.
>> w=logspace(0,2,11);>> w'ans =
11.58492.51193.98116.3096
1015.84925.11939.81163.096
100
>> log(63.096)-log(39.811)ans =
0.46051
>> log(15.849)-log(10)ans =
0.46052
>> log(2.5119)-log(1.5849)ans =
0.46052
Funkcje elementarne w MATLABIE
Funkcje trygonometryczne:
sin(x) — sinxcos(x) — cosxtan(x) — tgxcot(x) — ctgx
Funkcje odwrotne:
asin(x) — arcsinxacos(x) — arccosxatan(x) — arctgxacot(x) — arcctgx
Argument w radianach!
Wynik w radianach!
Argumenty mogą być liczbami zespolonymi
Funkcje hiperboliczne:
sinh(x) — sinhx = shxcosh(x) — coshx = chxtanh(x) — tghx = thxcoth(x) — ctghx = cthx
Funkcje odwrotne:
asinh(x) — arsinhx = arshxacosh(x) — arcoshx = archxatanh(x) — artghx = arthxacoth(x) — arctghx = arcthx
Argumenty mogą być liczbami zespolonymi
Funkcja wykładnicza:
exp(x) — ex
Funkcje logarytmiczne:
log(x) — lnx — logarytm naturalnylog10(x) — lgx — logarytm dziesiętnylog2(x) — log2x — logarytm o podstawie 2
Argumenty mogą być liczbami zespolonymi
Pomoc (instrukcja help )
>> help logLOG Natural logarithm.
LOG(X) is the natural logarithm of the elements of X.Complex results are produced if X is not positive.
See also log1p, log2, log10, exp, logm, reallog.
Overloaded methods:gf/logdistributed/logfints/log
Reference page in Help browserdoc log
Formaty wyświetlania liczb>> x=200*pi;y=0.025+j*sqrt(2);
>> format short>> [x y]ans =
1.0e+002 *6.2832 0.0003 + 0.0141i
>> format short e>> [x y]ans =
6.2832e+002 2.5000e-002 +1.4142e+000 i>> format long>> [x y]ans =
1.0e+002 *6.28318530717959 0.00025000000000 + 0.0 1414213562373i
>> format long e>> [x y]ans =
Column 1 6.283185307179587e+002
Column 2 2.500000000000000e-002 +1.414213562373095e+000i
>> format short g>> [x y]ans =
628.32 0.025 + 1.4142i>> format long g>> [x y]ans =
628.318530717959 0.025 + 1.41421356 23731i>> format hex>> [x y]ans =
4083a28c59d5433b 0000000000000000i 3f99999999 99999a 3ff6a09e667f3bcdi
>> format bank>> [x y]ans =
628.32 0.03>> format rational>> [x y]ans =
13823/22 1/40 + 1393/98 5i