Wprowadzenie do Mathcad'a

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

Wprowadzenie do Mathcad'a

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

Wprowadzenie do Mathcad'a

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

Wprowadzenie do Mathcad'a

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

Wprowadzenie do Mathcad'a

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

Wprowadzenie do Mathcad'a

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

Wprowadzenie do Mathcad'a

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

Wprowadzenie do Mathcad'a

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

Wprowadzenie do Mathcad'a

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