Tworzenie obiektów symbolicznych (symboliczne wyrażenia, zmienne, macierze)
Do tworzenia obiektów symbolicznych służą komendy: sym oraz syms. Pierwszej z nich - sym używamy chcąc wprowadzić tylko jeden obiekt symboliczny, druga - syms pozwala na wprowadzenie kilku na raz obiektów symbolicznych. Możemy to zrobić na kilka sposobów:
x = sym('x') %wprowadzenie obiektu x
syms x y z %wprowadzenie obiektów x y z (w praktyce najczęściej korzysta się z tego zapisu)
A
= syms('x','y','z') %wprowadzenie obiektów x y z
1.
Tworzenie obiektów symbolicznych:
Gdy chcemy policzyć pierwiastek z pięciu to w głównym oknie Matlaba wpisuemy
sqrt(5). W odpowiedzi dostajemy ans = 2.2361.
Jeżli potraktujemy liczbę pięć jako obiekt symboliczny i wpiszemy a = sqrt(sym(5))
to nie otrzymamy wartości lecz wyrażenie a
= 5^(1/2). Warość otrzymamy dopiero komendą double(a).
Tak samo będzie z ułamkami. Gdy dodajemy 3/8 + 6/7 otrzymujemy ans
= 1.2321. A wprowadzając liczby symbolicznie b=sym(3)/sym(8)+sym(6)/sym(7)
otrzymamy ułamek b = 69/56.
Komenda
|
Odpowiedź
|
sqrt(5) |
ans = 2.2361 |
a = sqrt(sym(5)) |
a
= 5^(1/2); double(a) = 2.2361
|
3/8 + 6/7 | ans = 1.2321 |
b = sym(3)/sym(8) + sym(6)/sym(7) |
b = 69/56; double(b) = 1.2321 |
2.
Tworzenie zmiennych symbolicznych oraz wyrażeń symbolicznych:
Gdy jako zmienne symboliczne wprowadzimy x = sym('x'), t = sym('theta'),
f= sym('phi') będziemy mogli tworzyć wyrażenia w których występują te zmienne
np. g=(sin(t))^2+(cos(f))^2. W odpowiedzi dostaniemy: sin(theta)^2+cos(phi)^2.
Całe wyrażenia możemy traktowć jako obiekty symboliczne - np. c = sym('(sqrt(5)+sin(t))/cos(f)').
Mając tak zdefiniowane wyrażenie c możemy je wstawiać do innych wyrażeń i konstruować
np. d = c*sin(t)+cos(f)/c. Do wyrażenia d warto zastosować jeszcze komendę
pretty(d).
Gdy chcemy zapisać trójmian kwadratowy korzystamy z komendy syms a b c x,
a następnie f = a*x^2 + b*x + c.
Komenda
|
Odpowiedź
|
x = sym('x') t =
sym('theta') f
= sym('phi') c = sym('(sqrt(5)+sin(t))/cos(f)') d = c*sin(t)+cos(f)/c |
x = x t =
theta f
= phi c = (sqrt(5)+sin(t))/cos(f) d = (5^(1/2)+sin(t))/cos(f)*sin(theta) + cos(phi)/(5^(1/2)+sin(t))*cos(f) |
syms a b c x f = a*x^2 + b*x + c |
f
= a*x^2 + b*x + c
|
Na takich obiektach możemy wykonywać wyżej wymienione operacje matematyczne.
Ważne !!!
Przed wynonaniem którejkolwiek z powyższych operacji matematycznych musimy odpowiednio zapisać funkcję(-e) na której(-ych) będziemy pracować. Czyli gdy naszą wybraną funkcją będzie trójmian kwadratowy o parametrach a b c x to (tak jak w tabeli) w gównym oknie matlaba wpisujemy: syms a b c x a następnie f = a*x^2+b*x+c. I dopiero w kolejnych linijkach będziemy mogli np. różniczkować funkcję f
Funkcje do wykorzystania
W MatLab'ie dostępne są niektóre elementarne funkcje, które można bezpośrednio wykorzystać podając tylko odpowiednie argumenty.
Sinus
|
Cosinus
|
||
sin(x)
|
sinus
|
cos(x)
|
cosinus
|
sind(x)
|
sinus,
którego argument wyrażony jest w stopniach
|
cosd(x)
|
cosinus,
którego argument wyrażony jest w stopniach
|
sinh(x)
|
sinus
hiperboliczny
|
cosh(x)
|
cosinus
hiperboliczny
|
asin(x)
|
arc
sinus
|
acos(x)
|
arc
cosinus
|
asind(x)
|
arc
sinus którego wynik wyrażony jest w stopniach
|
acosd(x)
|
arc
cosinus którego wynik wyrażony jest w stopniach
|
asinh(x)
|
arc
sinus hiperboliczny
|
acosh(x)
|
arc
cosinus hiperboliczny
|
Tangens
|
Cotangens
|
||
tan(x)
|
tangens
|
cot(x)
|
cotangens
|
tand(x)
|
tangens,
którego argument wyrażony jest w stopniach
|
cotd(x)
|
cotangens,
którego argument wyrażony jest w stopniach
|
tanh(x)
|
tangens
hiperboliczny
|
coth(x)
|
cotangens
hiperboliczny
|
atan(x)
|
arc
tangens
|
acot(x)
|
arc
cotangens
|
atand(x)
|
arc
tangens którego wynik wyrażony jest w stopniach
|
acotd(x)
|
arc
cotangens którego wynik wyrażony jest w stopniach
|
atanh(x)
|
arc
tangens hiperboliczny
|
acoth(x)
|
arc
cotangens hiperboliczny
|
exp(x)
|
eksponenta
z x
|
log(x)
|
logarytm
naturalny z x
|
log10(x)
|
logarytm
o podstawie 10 z x
|
sqrt(a)
|
pierwiastek
z a
|
abs(S)
|
wartość
bezwzględna z wyrażenia S
|
fix(a)
|
zaokrągla
do liczby najbliższej 0
|
floor(a)
|
zaokragla
w kierunku minus nieskończoności
|
ceil(a)
|
zaokragla
w kierunku plus nieskończoności
|
round(a)
|
zaokrągla
do najbliższego intigera
|
Przydatne skróty
pi %liczba pi = 3.14159265...
i %jednostka urojona i = sqrt(-1)
inf %nieskończoność
NaN %Not-a-number