Mathcad przeglad możliwosci


1
MATHCAD- przeglad możliwości

Bogus KLimas1 & Damian Lapa2
law
18 stycznia 2006
1
fatcat.ftj.agh.edu.pl/<"klimas7
2
fatcat.ftj.agh.edu.pl/<"fachmann
2 SPIS TREŚCI
Spis treści
1 Wprowadzenie 3
2 Prosta algebra 3
2.1 Operacje na liczbach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Funkcje trygonometryczne . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Liczby zespolone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.4 Definowanie funkcji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.5 Polecenia simplify, expand, factor . . . . . . . . . . . . . . . . . . . 4
2.6 Operacje na macierzach . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.6.1 Algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.6.2 Wartości i wektory w . . . . . . . . . . . . . . . . . . . . . . 5
lasne
2.6.3 Dekompozycje . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Równania 7
3.1 Uk równań linowych . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
lad
3.2 Równania nielinowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.3 Parametr TOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Wizualizacja 9
4.1 Wykresy parametryczne - krzywe Lissajous . . . . . . . . . . . . . . . . 9
4.2 Wykresy 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3 Pola wektorowe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5 Analiza już bardziej zaawansowana 12
5.1 Ca
lkowanie i różniczkowanie symboliczne . . . . . . . . . . . . . . . . . 12
5.2 Rozwijanie funkcji w szereg potegowy . . . . . . . . . . . . . . . . . . . 12

5.3 Rozwiazanie równania różniczkowego 1 rzedu . . . . . . . . . . . . . . . 12

5.4 Rozwiazanie uk równań różniczkowych 1 rzedu . . . . . . . . . . . . 13
ladu

5.5 Rozwiazanie równania różniczkowego 2 rzedu . . . . . . . . . . . . . . . 14

6 Wahad matematyczne - rozwiazanie wMATHCAD 15
lo

7 Elementy programowania 16
8 Podsumowanie 17
3
1 Wprowadzenie
Popularność programów typuCADw ostatnich czasach zmotywowa nas, aby pokazać
la
to narzedzie jako bardzo poroste a zarazem niezwykle użyteczne w obliczeniach mate-

matycznych. ZaprezentujemyMATHCADa jako dużo tańsza alternatywe w stosunku co
do tak wyrafinowanych narzedzi jakimi sa Mathematica oraz Matlab. Poprzez kolejne

rozdzia ukażemy możliwości tego narzedzia, od podstaw algebry, operacji na macier-
ly

zach, wizualizacji wynikó do program w jezykuMATHCADa. Rozmiar opracowania nie
pozwala na zaprezentowanie wszystkich możliwości, materialu starczy by nawet na
lo
pokazna ksia żke dlatego też nie bedziemy wnikać w szczegu techniczne edycji tekstu
ly

w edytorzeMATHCADa. Skupimy sie na prezentacji tego co najważniejsze. Na wstepie

należy wspomneć że pole edycji wMATHCADe jest dużo bardziej intuicyjne aniżeli w
innych tego typu programach, dysponujemy ,,czysta kartka na której piszemy wzory

i definicje w analogiczny jak w rzeczywistości sposób. Wieksza cześć pracy bedzie

opiera sie na praktycznych przyk wykorzystania funkcji i możliościMATHCADa.
la ladach

W pracy beda pojawia sie równani i wzory podawane w sposób jawny, co bedzie
ly

sygnalizowane, których nie należy wpisywać do edytora. Należy pamietać że znak

mnożenia zawsze musi być użyty w miejscu w którym wystepuje, uchroni nas to

wielokrotnie przed b które pojawiaja sie ,,znikad .3
ledami

2 Prosta algebra
2.1 Operacje na liczbach
WMATHCADe definujemy zmiene w nastepujacy sposób a := 12.6, b := 3 na tak zdefi-

nowanych liczbach możemy przeprowadzić do wolne operacje matematyczne. W tak
intuicyjny sposób jak na zwyk kartce a + b = 15.6 itd. Należy wpisać dzia
lej lanie
zank = i wcisna ćEnter. Jeżeli wykonujemy naprzyk dzielenie i wynikiem jest
lad
liczba niewymierna to zostaje ona wyświetlona z domyślnie ustawiona dok
ladnościa,

która możemy zmienić w meni programu. W takiej stytuacji możemy także użyć po-
lecenia Ąfloat, 10 3.141592654 liczba po przecinku informuje ile cyfr ma zostać
wyświetlonych.
2.2 Funkcje trygonometryczne
Nie mog zabraknac także funkcji trygonometrycznych. Musimy pamietać że argu-
lo

mentami funkcji trygonometrycznych sa radiany. W przypadku wyrażania katów w

stopniach należy pamietać o dokonaniu stosownej transformacji (ą), dopiero wtedy
Ą
uzywać ich jako argumentów. W ustawieniach można ta kze zmienić radiany na stop-
1
nie. Zdefiniujmy z := 3.34 i kolejno sin(z) = -0.197, csc(z) := = -5.073,
sin(z)
1
cos(z) = -0.98, sec(z) := , tan(z) = 0.201, cot(z) = 4.97. Wiekszośc podstawo-
cos(z)
wych funkcji mamy dostepna bezpośrednio na palecie bocznej.

2.3 Liczby zespolone
Zmienna zespolona istnieje w tym programie w sposób ,,naturalny . I mozemy na niej
wykonywać wszystkie znane z algebry operacje, w ten sam intuicyjny sposób jak reszte

3
W odrużnieniu od Mathematica gdzie znak mnożenia zastepuje sie spacja

4 2 PROSTA ALGEBRA
operacji. Domyślnym oznaczeniem liczby urojonej jest i lecz w ustawieniach możemy
zmienić na j. Zadeklarujmy rl := 45, im = 16.67, i zdefiniujmy liczbe zespolona
c := rl + im i. Co daje c = 45 + 16.67i, c = 45 - 16.67i, | c |= 47.988. W przestrzeni
zespolonej mamy.
2.4 Definowanie funkcji
Jak wspomina na poczatku funkcje i zmienne definiujemy w sposób bardzo intu-
lem

icyjny. Oto prosty przyk
lad.
k
n - i + 1
C(n, k) := ( )
i
i=1
Niech n := 23, k := 13 co daje C(n, k) = 1.144 106 w przypadku użycia znaku =
wartość jest obliczana numerycznie i wyświetlana w przybliżony sposób. Zdefiniujmy
sobie ta sama funkcje tylko w inny sposób.
n!
C(n, k) :=
k!(n - k)!
Nowa definicja przys stara. Wywo funkcje C(n, k) 144066 otrzymujemy
lania lujac

wynik dok Użycie zamiast znaku = powoduje że obliczenia przeprowadzane
ladny.
sa w sposób symboliczny, na co zwróce jeszcze uwage w dalszej cześci pracy.

2.5 Polecenia simplify, expand, factor
W tym podrozdziale omówie trzy bardzo ciekawe i przydatne polecenia. Wszystkie
znajduja sie na panelu bocznym programu. Pierwsze z nich simplyify uprzaszcza

dane wyrażenie.
"
1125 d2 fsimplify 15 5d f
x2 - 3x - 4
+ 2x - 5simplify 3x - 4
x - 4
2.6 Operacje na macierzach 5
Polecenie expand rozwija dane wyrażenie.
(x + y)4expand x4 + 4x3y + 6x2y2 + 4xy3 + y4
cos(5x)expand 16cos5(x) - 20cos3(x) + 5cos(x)
Polecenie factor rozk dane wyrażenie na czynniki.
lada
-5xyz + 2xz2 - x2y - 2x2z + 3y2z + 6yz2 - 3xy2factor -(y + 2z)(-z + x)(x + 3y)
int := 9!, int 362880, int = 3.628 105, intfactor (2)7(3)4(5)(7)
2.6 Operacje na macierzach
WMATHCADe macierze definujemy dok tak samo jak zwyk zmiene lub funkcje.
ladnie le
Wybierajac z poanelu bocznego symbol macierzy, określamy ilość kolumn i wierszy.

wype macierz tak jak w rzeczywistości ona wyglada.
lniamy

ł łł
8 7 -3 2
ł śł
7 1 0 4
ł śł
M := ł śł
ł 3 0 5 9 ł
2 4 9 2
2.6.1 Algebra
Macierz odwrotna tworzymy piszac wprost.

ł łł
-2.052 10-3 0.132 -0.051 -0.029
ł śł
0.132 -0.156 0.027 0.059
ł śł
M-1 = ł śł
ł -0.051 0.027 -0.019 0.083 ł
-0.029 0.059 0.083 0.037
Mnożenie macierzy.
ł łł
1 0 0 0
ł śł
0 1 0 0
ł śł
M M-1 = ł śł
ł 0 0 1 0 ł
0 0 0 1
Macierz transponowana tworzymy piszac wprost MT =, wyznacznik macierzy liczymy

|M| = 5.361103, maksymalna i minimalna wartość macierzy max(M) = 9, min(M) =
-5.
2.6.2 Wartości i wektory w
lasne
Do wyznaczania wartości w s polecenie,
lasnych luża
ł łł
-3.994
ł śł
8.268
ł śł
eigenvals(M) = ł śł
ł 13.634 ł
-11.908
6 2 PROSTA ALGEBRA
natomiast do wyznaczania wektorów w s polecenie.
lasnych luży
ł łł
-0.495 -0.385 0.766 0.144
ł śł
0.838 0.026 0.536 0.098
ł śł
eigenvecs(M) = ł śł
ł -0.142 0.576 0.047 0.804 ł
-0.181 0.721 0.352 -0.569
Kolejne kolumny powsta macieży sa wektorami w
lej lasnymi.

2.6.3 Dekompozycje
W tym podpunkcie pokaże w jaki sposób wykonać dekompozycje macierzy. Cholesky

decomposition wykonujemy poleceniem cholesky(B). Zadeklarujmy.
ł łł
13 4 4
ł śł
B := 4 9 -3
ł ł
4 -3 57
W wydajac polecenie L := cholesky(B) dokonujemy dekompozycji która w tym przy-

padku polega na wyznaczeniu macierzy L takiej że L LT = B. Gdzie L jest macierza
poddiagonalna.
ł łł
3.605 0 0
ł śł
L = 1.109 2.787 0
ł ł
1.109 -1.517 7.312
LU decomposition. Zadeklarujmy macierz.
ł łł
3 -1 2
ł śł
C := 1 2 3
ł ł
2 -2 -1
Wydajac polecenie M := lu(C) dokonujemy dekompozycji LU macierzy C wynik

przypisujac jednocześnie do macierzy M.

ł łł
0 0 1 1 0 0 2 -2 -1
ł śł
M = 0 1 0 0.5 1 0 0 3 3.5
ł ł
1 0 0 1.5 0.666 1 0 0 1.166
Jak widać macierz M zawiera kolejo macierz P , L, U. submatrix(A,br,er,bc,ec) s
luży
do ,,wyciagania podmacierzy A, gdzie (br, er) zakres wierszy, a (bc, ec) zakres kolumn.

Przyk L := submatrix(M, 0, 2, 3, 5), P := submatrix(M, 0, 2, 0, 2)
ladowo
ł łł ł łł
0 0 1 0 0 0
ł śł ł śł
P = 0 1 0 L = 0.5 1 0
ł ł ł ł
1 0 0 1.5 0.666 1
Także przy obliczeniach na macierzach należy pamietać o różnicy pomiedzy oblicze-

niami wykonywanymi po znaku = a po znaku . Zwracam na to szczególna uwage
ponieważ nie wszystkie operacje moga być wykonane ,,symbolicznie przez program.
Przyk przy liczeniu macierzy odwrotnej M-1 dostaniemy wynik w postaci
ladowo
macierzy której elemententy sa w postaci ilorazu dwuch liczb wymiernych.
7
3 Równania
Problem rozwiazywani zwyk równań liniowych, jako problem ma interesujacy nie
lych lo

zostanie tutaj poruszony.
3.1 Uk równań linowych
lad
Najlepsza ilustracja tego problemu bedzie przyk Mamy uk równań linowych.
lad. lad

ńł
ł 0.3w + 0.2x + 6.6y - 1.1z = 1
ł
ł
ł
4.5w - 1.8x - 0.3y + 6.5z = 0.1
ł -7.3w + 9.7x + 10.9y - 4.1z = 0.01
ł
ł
ół
8.1w - 2.7x + 8.7y + 8.9z = 0.1
Zadeklarujmy macierz g ówna uk M oraz macierz wyrazów wolnych v.
l ladu
ł łł ł łł
0.3 0.3 6.6 -1.1 1
ł śł ł śł
4.5 1.8 0.3 6.5 0.1
ł śł ł śł
M := ł śł ł śł
v :=
ł -7.3 9.7 10.9 -4.1 ł ł 0.01 ł
8.1 2.7 8.7 8.9 0.1
Wydajac polecenie soln := lsolve(M, v) rozwiazujemy uk równań jednocześnie wy-
lad

nik przypisujac do soln.
ł łł
-3.688
ł śł
ł -2.798
śł
soln = ł śł
ł 0.708 ł
1.826
3.2 Równania nielinowe
W poniższych dwuch przyk zilustruje problem rozwiazywania równań nielino-
ladach

wych. Za óżmy że mamy równanie postaci h(x) = 0 gdzie h(x) := x3 - 10x + 2
l
zilustrujmy nasz problem.
Wstepnie musimy znać po zer tego wielomianu np. x1 := -2, x2 := 0, x3 := 3
lożenie

Nastepnie poprzez polecienie root(W (x), xi), gdzie W (x) to wielomian którego zer

8 3 RÓWNANIA
szukamy a xi to punkt w okolicy którego zlokalizowane jest zero. W naszym przypadku
bedzie to XL := root(x3 - 10x + 2, x1), XM := root(x3 - 10x + 2, X2), XR :=

root(x3 - 10x + 2, x3) co w ostateczności daje XL = -3.257, XM = 0.2, XR = 3.057.
Rozażmy drugi przypadek kiedy mamy dane dwie funkcje f(x) := ln(x+1), g(x) :=
sin(x). Szukamy takiego x dla którego f(x) = g(x).
Jak widzimy rozwiazanie zlokalizowane jest w okolicach x := 2.Wykonujemy polecenie

X := root(f(x) - g(x), x). Otrzymujemy X = 1.697.
3.3 Parametr TOL
Parametrem okreslajacym tolerancje z jaka sa wykonywane obliczenia jest w
laśnie

TOL. Jest to parametr znany z wielu procedur używanych w Numerical Recipes. W
polu edycjiMATHCADa należy zadeklarować go wcześniej aniżeli polecenie które wyko-
nuje obliczenia numeryczne. Zagadnienie zilustruje na przyk wcześniejszym.4
ladzie
TOL := 1 10-3 TOL := 1 10-9
X := root(f(x) - g(x), x) X := root(f(x) - g(x), x)
lub
f(X) - g(X) = 2.084933399 10-4 f(X) - g(X) = 6.2262006661 10-10
X = 1.697232169 X = 1.6968123881
Parametr TOL jest domyślnie ustawiony na TOL := 10-3 należy o tym bezwzglednie

pamietać jeżeli chcemy przeprowadzć bardzo dok obliczenia.
ladne

4
W edytorzeMATHCADa uk poleceń bedzie wyglada inaczej, tego typu polecenia powinny być
lad l

umieszczane w ,,dó
l
9
4 Wizualizacja
Każdy problem matematyczny czy fizyczny jest z pewnościa lepiej zrozumiany kiedy
możemy zobaczyć na rysunku badz animacji.MATHCADe mozremy przedstawić rezultaty

naszej pracy w przktycznie dowolny sposób od jednowymiarowych wykresów, przez wy-
kresy parametryczne, wykresy 3D, zkończywszy na animacjach. Te ostatnie nie zostana
zaprezetowane z racji formy maszej pracy. Zwyk wykresy 2D zosta zaprezentowane
le ly

juz wcześniej, wiec nie zostana tutaj przedstawione.

4.1 Wykresy parametryczne - krzywe Lissajous
Na tym przyk przedstawie sposób konstukcji takiego wykresu. Deklaryjemy
ladzie
x(t) := sin(2t), y(t) := sin(3t). Z panelu bocznego wybieramy odpawiednia ikone
wykresu. W miejscu argumentu na wykresie wstamiamy jedna funkcje a w miejsće
wartości druga.

10 4 WIZUALIZACJA
4.2 Wykresy 3D
Rozwarzmy problem czastki wpadajacej w pole magnetyczne z pr dkościa prostopad a
l

do kierunku dzia tego pola.5 Cześć teoretyczna tego zagadniennia pominiemy,
lania

albowiem wiemy że czastka bedzie porusza sie po krzywej ,,śrubowej . Zadeklarujmy
l

N := 100 - ilość punktów uwzglednionych na wykresie, i := 0..N 1 gzdie i zmienia

sie od 0 do N co 1. Oraz deklarujemy wektory które bedziemy wykorzystywali do

i i i
sporzadzenia wykresu Xi := cos(N 6Ą), Yi := sin(N 6Ą), Zi := 6Ą Nastepnie z panelu
N
bocznego wybieramy dopowiedni typ wykresu i wstawiamy wcześniej przygotowane
wektory.
Nastepnym przyk na wykorzystanie wykresów 3D bedzie rysunek sfery.
ladem

5
pole dzia w kierunku osi z.
la
4.3 Pola wektorowe 11
Z powodu oszczedności miejsca rysunek zosta wstawiony wcześniej aniżeli opis ego
l

Ą
powstania. Zaczynajac deklarujemy N := 25, i := 0..N, j := 0..N, Ći := iN , Śj :=

Ą
j2N , oraz wektory wykorzystane do rysowania sfery. Xi,j := sin(Ći)cos(Śj), Yi,j :=
sin(Ći)sin(Śj), Zi,j := cos(Ći).
4.3 Pola wektorowe
Mamy dana funkcje dwóch zmiennych f(x, y) := sin(x)cos(x) i chcemy narysować
powierzchnie tworzona przez nasza funkcje oraz gradient tej powierzchni w postaci
wykresu z wektorami przedstawiajacymi gradient. Na poczatku deklarujemy przedzi
ly

w jakich beda sie zmieniać nasz x, y, xlow := -2, xhigh := 2, ylow := -4, yhigh := 4,

oraz podzia przedzia ów xn := 20, yn := 20. Zdefiniujmy funkcje przedstawiajaca
l l

gradient. Fi,j macierz obrazujaca powierzchnie.

d
f(x, y)
dx
grad(x, y) := i := 0..xn - 1 j := 0..yn - 1
d
f(x, y)
dy
xhigh - xlow yhigh - ylow
xindi := xlow + i yindj := ylow + j
xn - 1 yn - 1
Vi,j := grad(xindi, yindj) Mi,j := (Vi,j)0 Ni,j := (Vi,j)1
Fi,j := f(xindi, yindj)
12 5 ANALIZA JUŻ BARDZIEJ ZAAWANSOWANA
5 Analiza już bardziej zaawansowana
5.1 Ca
lkowanie i różniczkowanie symboliczne
Jak wielokrotnie wspomina edytor wMATHCADe jest poprostu zwyk a kartka. Praca
lem l
tutaj wyglada zupe jak w rzeczywistości. Piszemy f(x) := 5x + 1 + cos(x)2. Jeżeli
lnie

chcemy policzyć pochodna lub ca to piszac wprost.
lke

d 5 3 1
f(x) 5 - 2cos(x)sin(x) f(x)dx x2 + x + cos(x)sin(x)
dx 2 2 2
Otrzymujemy wyniki. Jeżeli chcemy policzyć pochodna wyższego rzedu to piszemy.

dn d5
n := 5 -32cos(x)sin(x) lub -32cos(x)sin(x)
dxn dx5
5.2 Rozwijanie funkcji w szereg potegowy

Polecenie jakie warto znać jest series, rozwija funkcje w szereg potegowy. Jego

sk jest nastepjaca. f(x)series, x=x0, k gdzie f(x) to funkcja która rozwijamy
ladnia

w szereg potegowy, x zmienna po ktżej rozwijay. Nasza funkcja nie koniecznie musi

zależeć od jednej zmiennej, x0 punkt wokól którego rozwijamy funkcje w szereg, k
mówi do której potegi (k - 1) ma być rozwijany szereg. Przyk
lady.

1 1 1
f(x) := sin(x) f(x)series, x = 0, 9 x - x3 + x5 - x7
6 120 5040
1 1 1 1
cos(x)series, x = 0, 9 1 - x2 + x4 - x6 + x8
2 24 720 40320
5.3 Rozwiazanie równania różniczkowego 1 rzedu

W numerycznym wydaniu tego problemu sprowadza sie to wyznaczenia kolejnych

punktó na wykresie y(t). Metode rozwiazywania tego problemu przedstawie na pro-

stym przyk WMATHCADe przyjmujemy dwie rzeczy o których musimy pamietać
ladzie.

d
=f(t, y) oraz y(t0)=y0. Specyfikujemy problem podajac nasze równanie oraz wa-
dt
runki poczatkowe.

1
f(t, y) := sin(t) + t0 := 0 y0 := 1
y
Podajemy parametry potrzebne do rozwiazania równania. t1 := 8Ą punkt końcowy

naszego rozwiazania oraz N := 1000 liczbe iteracji. Musimy także zdefinować wek-

tor inicjujacy nasze rozwiazanie który w tym przypadku jest ma ciekawy ic0 := y0.
lo

Musimy także zadektarować funkcje pochodnej D(t, Y ) := f(t, Y0)6 drugi argument
musi być definowany jako wektor. Po tak poczynionych staraniach możemy rozwiazać

równanie. Polecenia do rozwiazywania równań rózniczkowych to rkfixed, Rkadapt,

Bulstoer których sk jest identyczna rkfixed(ic, to, t1, N, D) - parametry pole-
ladnia
cenia zosta omówione już wcześniej.
ly
S := rkfixed(ic, t0, t1, N, D) T := S<0> Y := S<1>
T - zawiera niezależna zmienna równania u nas jest to czas t, Y - kolejne wartości
rozwiazania.

6
derivative funcion
5.4 Rozwiazanie uk równań różniczkowych 1 rzedu 13
ladu

5.4 Rozwiazanie uk równań różniczkowych 1 rzedu
ladu

Mamy dany uk równań różniczkowych 1 rzedu z danymi warunkami poczatkowymi,
lad

w nastepujacej postaci7

ńł
d
y0(t) = 8y0(t) + 8y1(t) y0(0) = -1
ł
ł dt
ł
ł
ł
ł
d
y1(t) = 30y0(t) + y1(t) - y0(t)y2(t) y1(0) = 0
dt
ł
ł
ł
ł
ł
ół
d 8
y2(t) = y0(t)y1(t) - y2(t) y2(0) = 1
dt 3
Okreslamy przedzia czasu w jakim bedzie rozwiazywane nasze równanie t0 := 0, t1 :=
l

10. Definujemy funkcje pochodnej oraz wektor inicjujacy.

ł łł ł łł
8Y0 + 8Y1 -1
ł ł śł
D(t, Y ) := 30Y0 + Y1 - Y0Y2 śł Y 0 := 0
ł ł ł ł
8
Y0Y1 - Y2 1
3
Rozwiazujemy równanie piszac.

S := Rkadapt(Y 0, t0, t1, N, D)
t := S<0> y0 := S<1> y1 := S<2> y2 := S<3>
Graficznie rozwiazania przedstawiaja sie nastepujaco. Pierwsza funkcja y0(t).

7
Dany jawnie. Nie nalezy wpisywać do edytaraMATHCADa
14 5 ANALIZA JUŻ BARDZIEJ ZAAWANSOWANA
Druga funkcja y1(t).
Oraz trzecia fukcja y2(t).
5.5 Rozwiazanie równania różniczkowego 2 rzedu

Mamy dane jawnie równanie 2 rzedu z warunkami poczatkowymi.

d2 d 1
100 x(t) + 10 x(t) + 101x(t) = 50cos( t) x(0) = 0 x (0) = 1
dt2 dt 4
Przekszta równanie 2 rzedu do równania 1 rzedu.
lcamy

d d 1 1
x0(t) = x(t) x1 = x0(t) x1(t) = (50cos( t) - 10x1(t) - 101x0(t)
dt dt 100 4
Warunki poczatkowe.

x0(0) 0 0
= co daje wektor inicjalizujacy ic :=

x1(0) 1 1
Określamy parametry rozwiazania t0 := 0, t1 := 150, N := 1500, a także funkcje

pochodnej.
ł łł
X1
ł śł
D(t, X) :=
ł ł
1
(50 cos(1) - 10 X1 - 101 X0
100 4
15
Należy pamietać że drugim argumentem funkcji pochodnej jest wektor. Rozwiazujemy

równanie jedna z wcześnie j wymienionych metod.
S := rkfixed(ic, t0, t1, N, D) T := S<0> X := S<1>
Rozwiazanie przedstawia sie nastepujaco.

6 Wahad matematyczne - rozwiazanie wMATHCAD
lo

Mamy wahad matematyczne o d L, i wychyleniu poczatkowym Ś0
lo lugości

Niewadoma funkcja dla której rozwiazujemy równanie jest Ś(t), mamy równanie w

postaci jawnej.
d2
L Ś(t) + gsin(Ś(t)) = 0 Ś(0) = Ś0
dx2
d
Ś(t) = 0 dla t = 0
dt
Określamy parametry poczatkowe L := 3 m - podanie jednostki nie jest b edem.
l

Ą
Ś0 := , g = 9.807 m s-2 sta g jak i wiele innych sta jest zdefiniowana w
la lych
4
programie.
X1
D(t, X) := T := 6 N := 100
g
sin(X0)
L
16 7 ELEMENTY PROGRAMOWANIA
Rozwiazujemy równanie.

Ś0
P := rkfixed , 0, T, N, D n := 0, 1..N
0
Rozwiazanie przedstawia poniższy wykres.

Gdzie.
d
<0> <1> <2>
t := (P )n Ś(t) := (P )n (t) := Ś(t) := (P )n
dt
7 Elementy programowania
Na przyk rozwijania funkcji w szereg Fouriera, pokaże konstrukcje prostego pro-
ladzie
gramu. Za óżmy że mamy funkcje f(x) dana wzorem.
l
1 if 0 d" x d" 1
f(x) := -x if - 1 d" x < 0
f(x - 2) if x e" 1
Zdefinoowana na przedziale -L d" x d" L. Po óżmy L := 1, oraz ilość wyrazów w
l
szeregu N := 20. Program obliczajacy kolejne wspó
lczyniki w szeregu Fouriera.

L
1
f(x)dx
2L -L
R<0> !
0
for n "ł
1..N
łł
F C(f, N, L):=
L
1
f(x)cos(nĄx)dx
L -L L
ł śł
R !
ł ł
L
1
f(x)sin(nĄx)dx
L -L L
RT
17
Wywo nasza program res := F C(f, N, L). Tworzymy dwie tablice które beda
lujemy

zawiera wspó
ly lczynniki A := res<0>, B := res<1>. Definiujemy wielomian Fouriera.
N
n Ą x n Ą x
p(x) := A0 + An cos( ) + Bn sin( )
L L
n=1
Narysujmy na wspólnym wykresie wielomian Fouriera oraz funkcje orginalna.

Powtórzmy to samo dla N := 4.
8 Podsumowanie
Mamy nadzieje że po tak zachecajacyma wstepie przekonaliśmy czytelnika do pracy

w środowiskuMATHCAD. Jest pewne że pokazaliśmy tylko wierzcho góry lodowej.
lek
Możliwości programu ogranicza jedynie wyobraznia użytkownika.
D. Lapa & B. KLimas



Wyszukiwarka