Opracował:M. Detka P. Stąpór
Wspomaganie obliczeń za pomocą programu MathCad Definicja zmiennych
Aby zdefinowac znienną e
wybierz z klawiatury
e := 1
f := 1
g1 := 2
h := 8
kolejno:
e:1
Przykład dowolnego wyrażenia
Aby zdefinowac wyrażenie wybierz z
2
ln(g1)
e ⋅ f + 34 ⋅
klawiatury kolejno:
2
= 0
− .041237
e*f^2+34*ln(g)/2/10*e*(e^2-4*h)
2
⋅ (
)
10 ⋅ e
e − 4 ⋅ h
Wartość wyrażenia lub zmiennej
uzyskujemy po naśsnieciu znaku =
Definicja funkcji f(x)
a := 2
b := 3
c := 1
−
2
Aby zdefiniować funkcję wybierz z
f(x) := a ⋅ x + b ⋅ x + c
klawiatury kolejno:
f(x):a*x^2+b*x+c
Aby "wyświetlić" wzór zdefiniowanej 2
f(x) → 2 ⋅ x + 3 ⋅ x − 1
funkcji wybierz z klawiarury kolejno:
f(x) Ctr+Shift+ 2*x^2+3*x-1
Aby obliczyć wartość funkcji dla danej
f(1) = 4
wartość wybierz z klawiatury kolejno:
f(1)=
Definicja pochodenj funkcji na podstwaie wzoru funkcji Aby zdfiniować funkcję fp(x) będaca
d
fp(x) :=
f(x)
pochodną wcześniej zdefiniowanej funkcji dx
f(x) wybierz z klawiatury kolejno:
fp(x):Shift+/ f(x)x
fp(x) → 4 ⋅ x + 3
1/16
Opracował:M. Detka P. Stąpór
Definicja zmiennej zakresowej
Aby zdefiniowć zmienną (wektor pionowy)
reprezentujący pewien przedział liczb wybierz x := 1
− 0, 9
− .5. 10 z klawiatury kolejno:
x:-10,-9.5;10
Oznacza to liczy z przedzialu -10 do 10 z krokiem 0,5
Aby wyswietlić x
Aby dla danych x
wpisz:
wyswietlić wartości
x=
funkcji x wpisz:
f(x)=
x =
f(x) =
fp(x) =
-10
169
-37
-9.5
151
-35
-9
134
-33
-8.5
118
-31
-8
103
-29
-7.5
89
-27
-7
76
-25
Uwaga: Na wydruku umieszczono tylko pierwszych 7 liczb z każdego przedziału.
Przedstawienie funkcji na wykresie
Aby uzyskać możliwosć
rysowania wykresu
10
funkcji nalelży wybrać
kombinacje klawiszy
Shift+2.
Po lewej stronie wykresu
należy kolejno wpisać
f(x)
identyfikatory funkcji
0
fp(x)
które chcemy umiescić na
wykresie: f(x),fp(x)
Na dole natomiast
zmienną zakresową x,
która stanowi dziedzinę
10 10 8 6 4 2 0 2 4 6 8 10
funkcji.
x
Klikając dwukrotnie na obszarze wykresu uzyskujemy możliwość dodatkowej konfiguracji wyglądu wykresu.
2/16
Opracował:M. Detka P. Stąpór
Miejsca zerowe funkcji
Znając przybliżone wartości pirewiastków funkcji (np. na podstawie wykresu) możemy uzyskać ich dokładną wartość za pomoca funkcji systemu MathCad root
x := 2
−
root(f(x) , x) = 1
− .781
x := 0
root(f(x) , x) = 0.281
Definiowanie wektorów i macierzy
Aby zdefiniować wektor C wybierz z klawiatury
1 2 3
kolejno:
C :=
7 5 5
c:Ctrl+M
4 5 6
a następnie ustal wymiar i wpisz wartości poczczególnych elementów
Aby uzyskać macierz transponowaną wybierz z
1 7 4
T
klawiatury kolejno:
C =
2 5 5
C Ctrl+1 =
3 5 6
Aby uzyskać wartość wyznacznika macierzy wybierz z klawiatury kolejno:
C = 6
C|=
− 1
Aby zdefinować macierz A będacą macierzą A := C
odwrotną C wybierz z klawiatury kolejno: A:C^-1
I := identity(4)
Aby zdefinować macierz jednostkową I o
wymiarach 4x4 wybierz z klawiatury kolejno:
1 0 0 0
I:identity(4)
0 1 0 0
I = 0 0 1 0
0 0 0 1
3/16
Opracował:M. Detka P. Stąpór
Definiowanie wektorów i macierzy w oparciu o zmienne indeksowe.
Zmienna globalna ORIGIN wyznacza wartość ORIGIN ≡ 1 początkowa dla indeksu macierzy tzn. jeżeli ORIGIN=1 to pierwszy element w macierzy bedzie posiadał współrzedne 1,1 standardowo w
MAthCad'ie 0,0
i := 1 . 5
Definicja zmiennej indeksującej.
U :=
i
3
Definicja wektora pionowego.Wybierz z klawiatury 5
kolejno:
7
U[i:3,5,7,8.9,9.1
8.9
9.1
D
:=
Definicja macierzy D poprzez nadanie
1,
20
1
wartości poszcególnym elementą macierzy, D
:=
aby zdefinować element 1,1 wybierz z
4,
34
3
klawiatury kolejno:
20 0 0
D[1,1:20
0
0
0
D = 0 0 0
0
0 34
W programie MathCad w dwojaki sposób uzywa się symbolu tzw. indeksu dolnego. Jeżeli wprowadzimy: X [2,2:4
oznacza to element macierzy kolumnowej o indeksie 2
0
X := 4
X =
2
4
X = 4
2
Natomiast jeżeli wprowadzimy:
X.2:5
oznacza to "zwykłą" zmienną zdefiniowaną z użyciem symbolu graficzgo jakim jest indeks dolny.
X :=
=
2
5
X2 5
4/16
Opracował:M. Detka P. Stąpór
Rozwiązywanie układu równań liniowych.
Rozwiązać poniższy układ równań
5x+y+3z=20
x-27+3z=-4
2x+3y+2z=6
Definicja macierzy
5 1 3
20
A :=
1 27 3
B :=
4
−
2 3 1
6
Rozwiązanie:
Sprawdzenie:
2.414
− 1
20
X := A
⋅ B
X =
0
− .552
A ⋅ X =
4
−
2.828
6
Zastosowanie funkcji wbudowanej lsolve MathCada do rozwiązanie układu równań
2.414
lsolve(A, B) =
0
− .552
2.828
Rozwiązywanie równań układów równań nieliniowych x := 1
y := 1
Definicja wartości początkowych
Given
Słowo kluczowe Given poprzedza blok równań 2
2
Aby wprowadzić równaie wybierz z klawiatury x + y = 6
kolejno:
x + y = 2
x^2+y^ Ctrl+= 6
2.414
Find(x , y) =
0
− .414
5/16
Opracował:M. Detka P. Stąpór
Definiowanie wektorów funkcyjnych
1
1
−
x
3
w(x) := 2
p :=
x
2
3
0
x
Definiowanie funkcji jako iloczynu wektorów h(n) := w(n) ⋅ p
2
h(n) → ( 1
− ) + 3 ⋅ n + 2 ⋅ n
Wykres zdefiniowanej funkcji
x := 4
− , 3
− .9. 4
60
40
h(x)
20
0
20 4
2
0
2
4
x
Wyznaczanie miejsc zerowych wielomianów na podstawie wektora współczynników p
1
− .781
polyroots(p) =
0.281
Sprawdzenie
x := polyroots(p)
1
− .781
x =
0.281
i := 1 . 2
h x
( ) =
i
Wartość funkcji h(x) dla wyznaczonych
0
pierwiastków
0
6/16
Opracował:M. Detka P. Stąpór
ORIGIN := 0
Rozwiazanie problemu brzegowego za pomoca funkcji rkfixed programu MathCad
y''(x)=1
w przedziale a=-4, b=5
Rozwiazanie dokladne
1
2
y(x) =
⋅
2.5
x −
⋅ x − 8.111
2
9
Zamiana rownania na uklad dwoch rownan rzedu pierwszego y0 = y(x)
y1 = y'(x)
y
1
D(x , y) :=
1
poczatkowa wartosci brakujacego warunku
g := 5
0
poczatkowego (dowolna do iteracji)
a := 4
−
b := 5
I przypadek warunkow brzegowych
y( 4
− ) = 1
y(5) = 3
1
load(x , v) :=
v
0
v
brakujacy warunek poczatkowy
0
score(x , w) := w − 3
0
w −
roznica pomiedzy warunkiem poczatkowym w punkcie 0
3
b a jego oszacowaniem
w procesie obliczen
IC := sbval(g , a , b , D, load, score)
IC = ( 4
− .278 )
wartosc brakujacego warunku poczatkowego ic := load(0 , IC)
1
ic =
pelny wektor warunkow poczatkowych
4
− .278
7/16
Opracował:M. Detka P. Stąpór
Rozwiazanie problemu poczatkowego
N := 30
S := rkfixed(ic, a , b , N, D)
〈0〉
〈1〉
i := 0 . N
x := S
y := S
X := 5
− , 4
− .9. 6
1
2
Y(X) :=
⋅
2.5
X −
⋅ X − 8.111
2
9
10
5
yi
Y(X)
6
4
2
0
2
4
6
5
10
x ,
i X
II przypadek warunkow brzegowych
y'( 4
− ) = 4
− .278 y(5) = 3
v
0
load(x , v) :=
4
− .278
score(x , w) := w − 3
0
IC := sbval(g , a , b , D, load, score)
IC = ( 1.002 )
ic := load(0 , IC)
1.002
ic =
4
− .278
8/16
Opracował:M. Detka P. Stąpór
Rozwiazanie problemu poczatkowego
〈0〉
〈1〉
S := rkfixed(ic, a , b , N, D)
x := S
y := S
10
yi
Y(X)
5
0
5
10
10
x ,
i X
III przypadek warunkow brzegowych
y( 4
− ) = 1
y'(5) = 4.722
1
load(x , v) :=
v
0
v0
score(x , w) := w − 4.722
1
IC := sbval(g , a , b , D, load, score)
IC = ( 4
− .278 )
ic := load(0 , IC)
1
ic =
4
− .278
Rozwiazanie problemu poczatkowego
〈0〉
S := rkfixed(ic, a , b , N, D)
x := S
〈1〉
y := S
10
yi
Y(X)
5
0
5
10
10
x ,
i X
9/16
Wprowadzenie do Mathcad'a Opracował:M. Detka P. Stąpór
Metody wariacyjne przypadek I
Zamiana problemu na problem z jednorodnymi warunkami brzegowymi y(x)=u(x)+y0(x)
2
y0(x) :=
⋅
17
x +
y0(a) = 1
9
9
2
y0'(x) :=
y0(b) = 3
9
y0' (x) := 0
u' (x) − 1 = 0
u( 4
− ) = 0
u(5) = 0
Metoda Rayleigha-Ritza
Budowa funkcjonalu dla problemu
b
⌠
I = u ⋅ u' (x) + 2 ⋅ u ⋅ ( 1
− ) dx
⌡a
Po scalkowaniu przez czesci otrzymujemy
b
⌠
b
⌠
I =
−
u' ⋅ u' dx + 2 ⋅ u ⋅ ( 1
− ) dx
⌡
⌡
a
a
Przyjmujemy baze aproksymacyjna
φ
2
(x) := (
x − a) ⋅ (x − b) (x − a) ⋅ (x − b) ⋅ x (x − a) ⋅ (x − b) ⋅ x
φ(
b) = ( 0 0 0 )
φ(a) = (0 0 0 )
φ
2
'(x) := (
x − a) + (x − b) [(x − a) + (x − b)] ⋅ x + (x − a) ⋅ (x − b) [(x − a) + (x − b)] ⋅ x + 2 ⋅ x ⋅ (x − a) ⋅ (x − b)
Podstawiajac za u(x)=φ(x)*c otrzymujemy
b
⌠
b
⌠
T
T
T
I =
−
c ⋅ φ' ⋅ φ' ⋅ c dx
+
2 ⋅ c
φT
⋅
⋅ ( 1
− ) dx
⌡
⌡
a
a
10/16
Wprowadzenie do Mathcad'a Opracował:M. Detka P. Stąpór
Korzystajac z warunku na minimum funkcjonalu d I(x) = 0
dc
szukamy nieznanych wspolczynnikow c
b
⌠
b
⌠
−
φ T
' ⋅ φ' dx ⋅ c
+
φT ⋅ ( 1
− ) dx = 0
⌡
⌡
a
a
Przyjmujac oznaczenia
b
⌠
T
A =
φ
− ' ⋅ φ' dx
⌡a
b
⌠
P =
−
φT ⋅ ( 1
− ) dx
⌡a
Obliczamy
ORIGIN := 1
i := 1 . 3
j := 1 . 3
b
⌠
T
:=
(
)
A
φ
− '(x) ⋅ φ'(x)
dx
i, j
i, j
⌡a
3
2
− 43
1
− 21.5
1
− .045 × 10
A
3
3
=
1
− 21.5
3
− .013 × 10
3
− .475 × 10
3
3
4
1
− .045 × 10
3
− .475 × 10
3
− .478 × 10
Wyznaczam wektor P
b
⌠
T
P := −
φ
(x) ⋅ ( 1
− ) dx
i
i
⌡a
1
− 21.5
P =
6
− 0.75
5
− 22.45
Szukana wartosc wektora c wynosi
− 1
c := A
⋅ P
0.5
c =
0
0
11/16
Wprowadzenie do Mathcad'a Opracował:M. Detka P. Stąpór
Ostateczne rozwiazanie ma postac
T
x := a , a + 0.01 . b
y
:=
⋅ +
RR(x)
φ(x)
c
y0(x)
5
0
yRR(x)
5
10 4
2
0
2
4
6
x
Metoda Bubnowa-Galerkina
Rozwiazania szukamy z warunku
b
⌠
w(x) ⋅ (u' (x) − 1) dx = 0
⌡a
gdzie
w(x) - funkcja wagowa
Przyjmujemy aproksymacje dla u(x)
u(x)=φ*c
oraz aproksymuje dla w(x)
w(x)=φ*d
Funkcje bazowe
φ
2
(x) := (
x − a) ⋅ (x − b) (x − a) ⋅ (x − b) ⋅ x (x − a) ⋅ (x − b) ⋅ x
φ(b) = (0 0 0 )
φ(a) = (0 0 0 )
φ
2
'(x) := (
x − a) + (x − b) [(x − a) + (x − b)] ⋅ x + (x − a) ⋅ (x − b) [(x − a) + (x − b)] ⋅ x + 2 ⋅ x ⋅ (x − a) ⋅ (x − b)
φ
2
' (x) := 2
(x − a) + (x − b) + 2 ⋅ x + 2 [(x − a) + (x − b)] ⋅ 2 ⋅ x + 2 ⋅ x + 2 ⋅ (x − a) ⋅ (x − b) + 2 ⋅ x ⋅ [(x − a) + (x − b)]
12/16
Wprowadzenie do Mathcad'a Opracował:M. Detka P. Stąpór
Ostatecznie otrzymuje roT
d r
≠ ó
0 wnanie,
b
⌠
φT ⋅ φ' ⋅ c + φT ⋅ ( 1
− ) dx = 0
⌡a
Przyjmujac oznaczenia
b
⌠
b
⌠
A = φT ⋅ φ' dx
i P =
−
φT ⋅ ( 1
− ) dx
⌡
⌡
a
a
Obliczamy
b
⌠
T
:=
(
)
A
φ(x) ⋅ φ'(x)
dx
i, j
i, j
⌡a
3
2
− 43
3
− 64.5
1
− .045 × 10
A
3
3
=
1
− 21.5
2
− .151 × 10
3
− .475 × 10
3
3
4
1
− .045 × 10
3
− .536 × 10
3
− .478 × 10
b
⌠
T
P := −
φ
(x) ⋅ ( 1
− ) dx
i
i
⌡a
1
− 21.5
P =
6
− 0.75
5
− 22.45
Szukana wartosc wektora c wynosi
− 1
T
c := A
⋅ P
Rozwiazanie ma postac
y
:=
⋅ +
BG(x)
φ(x)
c
y0(x)
0.5
5
c =
0
0
0
yBG(x)
5
10 4
2
0
2
4
6
x
13/16
Wprowadzenie do Mathcad'a Opracował:M. Detka P. Stąpór
Metoda Elementow Skonczonych
Przyjmujemy 3 rownej dlugosci elementy
skonczone
b − a
le :=
le = 3
3
Definiuje liniowe funkcje ksztaltu dla elementow
x
N(x) := 1 −
x
le
le
1
−
1
N'(x) :=
le le
Rownanie dla elementu skonczonego ma postac
le
le
y
− '(0) ⌠
⌠
T
−
T
N' ⋅ N' ⋅ Q dx +
N ⋅ ( 1
− ) dx = 0
e
y'(l)
⌡
⌡
0
0
gdzie Qe - wektor stopni swobody dla elementu Obliczmy macierze i wektory dla elementow Element 1
i := 1 . 2
j := 1 . 2
le
⌠
le
⌠
T
:=
−
(
)
T
K1
N'(x) ⋅ N'(x)
dx
P1 :=
N
(x) ⋅ ( 1
− ) dx
i, j
i, j
⌡
i
i
⌡
0
0
y
− '(0)
0
− .333 0.333
Pb1 =
K1 =
y' l
( )
1
0.333
0
− .333
1
− .5
P1 =
1
− .5
Element 2
K2 := K1
P2 := P1
y
− '(0)
Pb2 =
y' l
( )
2
Element 3
K3 := K1
P3 := P1
y
− '(0)
Pb2 =
y' l
( )
3
14/16
Wprowadzenie do Mathcad'a Opracował:M. Detka P. Stąpór
Agregacja macierzy i wektorow
1 0 0 0
0 1 0 0
0 0 1 0
B1 :=
B2 :=
B3 :=
0 1 0 0
0 0 1 0
0 0 0 1
T
T
T
K := B1 ⋅ K1 ⋅ B1 + B2 ⋅ K2 ⋅ B2 + B3 ⋅ K3 ⋅ B3
T
T
T
P := B1 ⋅ P1 + B2 ⋅ P2 + B3 ⋅ P3
y
− '(a)
0
− .333 0.333
0
0
−
1.5
0
Pb =
0.333
0
− .667 0.333
0
3
−
0
K =
P =
0
0.333
0
− .667 0.333
3
−
y'(b)
0
0
0.333
0
− .333
1
− .5
Uklad rownan dla calego ukladu, po uwzglednieniu warunkow brzegowych ma postac
0
− .333 0.333
0
0
1
−
−
1.5
y'(a)
0.333
0
− .667 0.333
0
Q2
3
−
0
⋅
= −
−
0
0.333
0
− .667 0.333 Q
3
−
0
3
0
0
0.333
0
− .333
−
3
1.5
y'(b)
Rozwiazanie
y'a
− 1
1 0.333
0
0
Q2
0
0
− .667 0.333 0
〈4〉
〈1〉
:=
⋅ (
)
P
− − K ⋅ 3 − K
Q
−
3
0
0.333
0.667
0
y'b
0
0
0.333
1
−
Niewiadome wtorne
y'a = 4.271
y'b = 4
− .715
Niewiadome pierwotne
Q = −
2
7.319
Q = −
3
6.653
1
Q2
Q :=
globalny wektor stopni swobody
Q
3
3
15/16
Wprowadzenie do Mathcad'a Opracował:M. Detka P. Stąpór
Powrot do elementow
Element 1
d1 := a
q1 := B1 ⋅ Q
y1(x) := N(x − d1) ⋅ q1
Element 2
d2 := d1 + le
q2 := B2 ⋅ Q
y2(x) := N(x − d2) ⋅ q2
Element 3
d3 := d2 + le
q3 := B3 ⋅ Q
y3(x) := N(x − d3) ⋅ q3
Rozwiazanie dla calego przedzialu
y
:= ( <
,
, ( <
,
,
MES(x)
if x
d2 y1(x) if x
d3 y2(x) y3(x)))
5
0
yMES(x)
5
10 4
2
0
2
4
6
x
Porownanie wynikow
5
yBG(x)
0
yRR(x)
yMES(x) 5
10 4
2
0
2
4
x
16/16