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