Rozwiązywanie równań S(x)=0:

Do rozwiązywania równań stosuje się komendę solve(S). Jeśli wyrażenie S zależy od zmiennej x, to komedna to będzie szukać takich wartości x dla których S = 0. Gdy chcemy znaleźć rozwiązanie równania 3*x^2+2*x+8 = 0, to wpisujemy:

syms x %wprowadzamy symboliczne x

S = 3*x^2+2*x+8 %zapisujemy funkcje

X = solve(S) %rozwiązanie rówania

W rozwiązaniu otrzymamy macierz (równanie kwadratowe posiada dwa rozwiązania), z rozwiązaniami

X =

-1/3+1/3*i*23^(1/2)
-1/3-1/3*i*23^(1/2)

Do rozwiązania X warto zastosować komendę double(X). Otrzmyamy wtedy:

ans =

-0.3333 + 1.5986i
-0.3333 - 1.5986i

Rozwiązywanie równań S(x,y)=0:

Gdy równanie które mamy rozwiązać zależy od dwóch zmiennych x oraz y, to postępowanie jest analogiczne, z tym, że należy zaznaczyć w komendzie względem której zmiennej chcemy liczyć.

syms x y %wprowadzamy symboliczne x i y

Y = solve(x^2+y^2-3*x*y+1,y) %rozwiązujemy względem y

W rozwiązaniu otrzmujemy

Y =

3/2*x+1/2*(5*x^2-4)^(1/2)
3/2*x-1/2*(5*x^2-4)^(1/2)

Natomiast względem x

X = solve(x^2+y^2-3*x*y+1,x) %rozwiązujemy względem x

X =

3/2*y+1/2*(5*y^2-4)^(1/2)
3/2*y-1/2*(5*y^2-4)^(1/2)

Do rozwiązań X oraz Y warto zastosować komendę pretty(X) oraz pretty(Y). Można dzięki niej w bardziej przejrzysty sposób zobaczyć jak wygląda rozwiązanie.

Rozwiązywanie równań f(x)=g(x):

Do rozwiązywania równań typu f(x)=g(x) również stosujemy komendę solve jednak zapis jest nieco inny. Gdy chcemy rozwiązać równanie cos(3*x)*sin(5*x)+cos(x)=tan(x), wpisujemy je: s = solve('cos(3*x)+cos(x)=tan(x)') (oczywiście wcześniej należy zadeklarować x). Do rozwiązania tego równania również proponuję zastosować komendę double(s)

Rozwiązywanie układów równań:

Do rozwiązywania układów równań znów stosujemy komendę solve. Tym razem w nawiasie podajemy obydwa równania. Gdy chcemy rozwiązać układ równań 3*x+5*y=2, 4*x-7*y=-5 zapisujemy:

syms x y

[x,y] = solve('3*x+5*y=2', '4*x-7*y=-5')

W rozwiązaniu otrzmyujemy x = -11/41 oraz y = 23/41. Powyższy układ równań był bardzo prosty: dwie niewiadome, dwa liniowe równania, więc odpowiedź była tylko jedna. Jeśli mamy do rozwiazania bardzej skomplikowany układ równań, taki który posiada więcej jak jedno rozwiązanie, to komenda do znalezienia rozwiązania jest taka sama, ale postać tegoż rozwiązania jest inna. Rozwiązanie dostajemy w postaci macierzy z której przy pomocy odpowiednich komend wybieramy interesujące nas rozwiązanie.

syms a u v

S = solve('u^2-a^2 = v','u + a = 1','u^2-2*a = 3*v') %układ trzech równań, z trzema niewiadomymi

S =

a: [2x1 sym]
u: [2x1 sym]
v: [2x1 sym]
%postać rozwiązania - jest to macierz 2x1, czyli układ równań posiada dwa rozwiązania

Aby wydobyć rozwiazanie stosujemy komendę: M = [S.a, S.u, S.v]

M =

[-1-3^(1/2) , 2+3^(1/2), 3+2*3^(1/2)]
[ 3^(1/2)-1 , 2-3^(1/2) , 3- 2*3^(1/2)]

Jeśli interesują nas tylko rozwiązania parametru a to piszemy a =S.a

a =

-1-3^(1/2)
3^(1/2)-1

A jeśli tylko drugie z rozwiązań to: s2 = [S.a(2), S.u(2), S.v(2)]

s2 =

[ 3^(1/2)-1, 2-3^(1/2), 3-2*3^(1/2)]

Dzielenie macierzy:

Wróćmy jeszcze na chwile do przykładu prostego układu równań:

3*x+5*y=2

4*x-7*y=-5

x oraz y można wyznaczyć zapisując macierz współczynników A = [3 5; 4 -7], oraz macierz wyrazów wolnych w = [2 ;-5], a następnie dzieląc A\w (uwaga na 'kierunek dzielenia', nie jest to znak / tylko \).