Mathcad
II Równania i układy równań
II.1. Rozwiązywanie równań - Metody numeryczne II.1.1. Metoda funkcji root
3
3
Rozwiążmy równanie x
20⋅x +
=
1. Przekształcamy je do postaci x − 20⋅x − 1 = 0 i wstawiamy wykres.
x := −5 −
, 4.9 .. 5
Definiujemy punkt startowy dla przecięcia 40
z osią 0X w okolicy x=-5:
20
x := −5
3
x −20⋅x−1
0
0
Rozwiązanie:
− 20
3
root(x
)
− 20⋅x − 1 x
,
= −4.447
− 40
Drugie rozwiązanie:
− 6
− 4
− 2
0
2
4
6
x
3
x
(
)
:= 0
root x − 20⋅x − 1 x
,
= −0.05
Trzecie rozwiązanie:
3
x
(
)
:= 3
root x − 20⋅x − 1 x
,
= 4.497
Aby znaleźć jednocześnie wszystkie rozwiązania, definiujemy wektor punktów startowych:
−5
x := 0
3
:=
(
)
f (x)
root x − 20⋅x − 1 x
,
3
i := 0 .. 2
−4.447
wyniki := f (xi)
wynik = −0.05
4.497
x := −10 −
, 9.9 .. 10
2
Zad. Rozwiąż równanie sin(x)
−0.1⋅
=
x
1
−5
sin( x) +0.1⋅x
0
−3
0
x := 0
− 1
4
− 2
6
− 10
− 5
0
5
10
x
6
f (x) := root(sin(x) + 0.1⋅x x
, )
−5.679
i := 0 .. 4
−3.499
wyniki := f (xi)
wynik =
0
3.499
5.679
II.1.2. Metoda funkcji polyroots wyznaczania pierwiastków wielomianów 3
Znajdź miejca zerowe wielomianu x − 50⋅x + 5.
Definiujemy wektor współczynników wielomianu o n+1 wierszach, gdzie n-maksymalna potęga wielomianu: x := −10 −
, 9.9 .. 10
600
0
5
x
400
1
−50
x
200
3
v :=
x −50⋅x+5
0
2
x
0
0
3
1
x
− 200
− 400
−7.121
− 600
=
− 10
− 5
0
5
10
polyroots(v)
0.1
x
7.021
Współczynniki można wyznaczyć za pomocą polecenia coeffs. Musimy wówczas zdefiniować wielomian jako funkcję:
x := x
(Ta linijka zapobiegnie wstawieniu zakresu x z powyższego wykresu do coeffs) (po w(x) naciskamy Ctrl Shift kropka)
5
−7.121
3
−50
w(x) := x − 50⋅x + 5
v2 := w(x) coeffs →
=
polyroots(v2)
0.1
0
7.021
1
3
2
Zad. Wyznacz współczynniki wielomianu (x + 2) = (x + 2) i oblicz jego miejsca zerowe.
4
−2
3
2
8
q(x) := (x + 2) − (x + 2)
ws := q(x) coeffs →
=
polyroots(ws)
−2
5
−1
1
7
, 2.9 .. 0
6
4
3
2
( x+2) −(x+2)
2
0
0
− 2
− 3
− 2
− 1
0
1
x
II.2. Rozwiązywanie równań - Metody symboliczne II.2.1. Metoda 1. - za pomocą menu symbolicznego Rozwiążmy równanie
2
x − 4 = 12
2
x − 4 = 12
(symbol = wstawiamy skrótem Ctrl
=)
−4
Wybierany zmienną x obejmując ją niebieskim znacznikiem bez potęgi,
4
następnie klikamy na pasku Symbolics →Variable →Solve Zad. Rozwiąż równanie
2
x + x − 1.
2
2
x + x − 1
lub
x + x − 1 = 0
5
1
5
1
−
−
−
2
2
2
2
5
1
5
1
−
−
−
2
2
2
2
II.2.2. Metoda 2. - za pomocą polecenia solve x := x
2
x + x − 1 = 0
Klikamy gdziekolwiek na równanie i wybieramy Ctrl Shift kropka, wpisujemy solve
5
1
−
2
2
2
x + x − 1 = 0 solve →
5
1
−
−
2
2
Zad. Rozwiąż równanie h⋅x + 15 = m gdzie h i m są parametrami.
Aby wskazać zmienną, po solve dajemy przecinek i wpisujemy x.
m − 15
h⋅x + 15 = m solve x
,
→
h
8
II.3. Rozwiązywanie układów równań II.3.1. Metoda bloków
2
Rozwiąż układ równań:
x − 2 = y
x + y = 2
x := −5 −
, 4.9 .. 5
Definiujemy punkty startowe dla każdej zmiennej: 30
x := 0
y := 0
20
Given
(słowo kluczowe Given)
2
x −2 10
2
x − 2 = y
2−x
0
x + y = 2
1.562
− 10
=
− 6
− 4
− 2
0
2
4
6
Find(x y
, )
0.438
x
Znajdujemy jedno z rozwiązań. Aby obliczyć drugie musimy zmienić punkt startowy: x := −5
y := 0
Given
2
x − 2 = y
x + y = 2
−2.562
Find(x y
, ) =
4.562
Zad. Rozwiąż układ równań:
x := 0
y := 0
z := 0
Given
2
x + 2⋅y − z = 0
y − 5⋅z
−
=
1
x
2⋅
=
z
0.338
Find(x y
,
z
, ) = −0.155
0.169
3
Zad. Metodą bloków można również rozwiązywać pojedyncze równania. Rozwiąż równanie 2⋅x = 67
x := 0
Given
3
2⋅x = 67
Find(x) = 3.224
9
II.3.2. Metoda bloków symboliczna Nie definiujemy punktów startowych. Zamiast = po Find wstawiamy strzałkę kombinacją Ctrl kropka.
Zad. Rozwiąż układ równań:
Given
2
x + 2⋅y − z = 0
y − 5⋅z
−
=
1
x
2⋅
=
z
2⋅ 34 + 12 12 − 2⋅ 34
Find(x y
,
z
, ) → 5⋅ 34 + 29 29 − 5⋅ 34
34 + 6
6 −
34
Zad. Rozwiąż układ równań:
a := a
Given
x + a⋅y = 0
2
x
2⋅
=
y
2
0 −
a
Find(x y
, ) →
2
0
2
a
II.3.3. Metoda macierzowa
− 1
Rozwiązaniem równania macierzowego A⋅X = B jest macierz X
A
⋅
=
B gdzie A to macierz
współczynników a B - wektor wyrazów wolnych.
Przykład. Rozwiąż układ równań:
2⋅x + y − z = 5
y + 7⋅z = 0
−x − y + 2⋅z = 1
2
1
−1
5
5.3
− 1
A := 0
1
7
B := 0
A
⋅ B = −4.9
−1 −1 2
1
0.7
10
Sprawdźmy wynik otrzymany metodą bloków.
x := 0
y := 0
z := 0
Given
2⋅x + y − z = 5
y + 7⋅z = 0
−x − y + 2⋅z = 1
5.3
Find(x y
,
z
, ) = −4.9
0.7
lub
X0 := 0
X1 := 0
X2 := 0
Given
A⋅X = B
5.3
Find(X) = −4.9
0.7
II.3.4. Metoda funkcji lsolve
Podobnie jak w metodzie macierzowej definiujemy macierze A i B.
Przykład.
x + 3⋅y = 0
x − 2⋅y = 5
1 3
0
3
A :=
B :=
lsolve(A B
, ) =
1 −2
5
−1
Zad. Rozwiąż układ równań z parametrami a i b: a := a
b := b
a⋅x − 15⋅y = 1
5⋅x − b⋅y = 2
30⋅a + a⋅b
a −15
1
a⋅(a⋅b + 75)
A(a b
, ) :=
B :=
lsolve(A (a b
, ) B
, ) →
5 b
2
2
⋅a − 5
a⋅b + 75
11