MathCAD – mozliwosci I zastosowanie w matematyce

background image

Państwowa Wyższa Szkoła Zawodowa

w Chełmie

Instytut Matematyki i Informatyki

Specjalność Matematyka z Informatyką

Joanna Kisielewska

Nr albumu 1860

MathCAD – możliwości

i zastosowanie w matematyce

Praca licencjacka
napisana pod kierunkiem
prof.dr hab. Krzysztofa Murawskiego

Chełm 2007

background image

Oświadczenie o autorstwie pracy

Oświadczam, że niniejszą pracę przygotowałem/przygotowałam

samodzielnie.

Wszystkie dane, definicje, wzory i sformułowania pochodzące z literatury są opa-

trzone odpowiednimi odsyłaczami. Praca przedłożona do oceny nie była dotychczas

publikowana w żadnej formie.

Imię i nazwisko autora pracy

.............................................................

(data i podpis autora pracy)

niepotrzebne skreślić

background image

Spis treści

Wstęp

5

Cel i zakres pracy

6

1 Ogólna charakterystyka programu MathCAD

7

2 Środowisko aplikacji

9

2.1 Podstawy tworzenia dokumentów . . . . . . . . . . . . . . . . . . . . 11

2.2 Definiowanie zmiennych . . . . . . . . . . . . . . . . . . . . . . . . . 12

3 Podstawowe zastosowanie MathCAD’a

15

3.1 Rozwiązywanie równań i ich układów . . . . . . . . . . . . . . . . . . 15

3.2 Operacje na macierzach . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.3 Liczby zespolone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.4 Jednostki miar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4 Zaawansowane zastosowanie MathCAD’a

33

4.1 Pochodne i całki . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.2 Rozwijanie funkcji w szereg Taylora . . . . . . . . . . . . . . . . . . . 35

4.3 Możliwości programowania . . . . . . . . . . . . . . . . . . . . . . . . 36

4.4 Tworzenie i formatowanie wykresów . . . . . . . . . . . . . . . . . . . 41

5 Projekt własny – prezentacja metody Rungego – Kutty rozwiązy-

wania równań różniczkowych

48

5.1 Opis projektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.2 Kod programu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

background image

Zakończenie

54

Bibliografia

55

Załączniki

56

background image

Wstęp

Matematyka jest bardzo skomplikowaną dziedziną nauki. Rozwiązując niektóre ma-

tematyczne poblemy zdecydowaną większość czasu poświęcamy na dokonywanie ob-

liczeń. Niekiedy są one bardzo skomplikowane i żmudne. Nie zawsze również prowa-

dzą do oczekiwanych przez nas rezultatów. Mały błąd w rachunkach na początku

obliczeń sprawia, że wynik znacznie odbiega od tego, jaki chcemy uzyskać. Aby

ułatwić życie wielu osobom, które z obliczeniami matematycznymi mają styczność

na co dzień, opracowano szereg programów i pakietów matematycznych. Aplikacje

takie sprawiają, że inżynierowie nie siedzą już nad kartką z ołówkiem w ręku wyko-

nując obliczenia – teraz liczy za nich komputer i specjalistyczne oprogramowanie na

nim zainstalowane.

Opracowano już wiele aplikacji służących do dokonywania obliczeń matematycz-

nych: Mathematica, MatLab, Maxima, MathCAD. Każdy z nich w mniejszym lub

większym stopniu znajduje zastosowania w praktyce. Wszystkie mają jedną i nie-

powtarzalną właściwość, że potrafi w mgnieniu oka policzyć, coś, na co człowiek

z pewnością straciłby przynajmniej dłuższą chwilę.

W przedstawionej pracy postaram się zaprezentować możliwości jednego z wy-

mienionych wcześniej programów: MathCAD. Mam nadzieję, że po zapoznaniu się

z treścią pracy czytelnik doceni możliwości tej apkikacji i zacznie się posługiwać nią

w codziennym dokonywaniu skomplikowanych i czasochłonnych obliczeń.

background image

Cel i zakres pracy

Popularność aplikacji typu CAD

1

zmotywowała, by uczynić programy tego typu

możliwie prostymi, a zarazem niezwykle użytecznymi przy obliczeniach matema-

tycznych. Kolejne rozdziały pracy ukazują potencjał programu MathCAD. Pre-

zentowane możliwości pakietu mają na celu przybliżenie sposobów rozwiązywania

problemów matematycznych.

Praca składa się z pięciu rozdziałów. Pierwszy rozdział jest ogólną charakterystyką

MathCAD’a. W drugim rozdziale przedstawiony jest zakres wiadomości ułatwia-

jących wykonanie prostych operacji, poznanie obsługi edytora i środowiska aplika-

cji. Trzeci rozdział stanowi przegląd podstawowych możliwości wykorzystywanych

w programie. Czwarty rozdział ukazuje zaawansowane zastosowania MathCAD’a.

W ostatnim rozdziale zaprezentowany jest projekt własny, prezentujący metodę

Rungego – Kutty rozwiązywania równań różniczkowych.

1

CAD (ang. Computer Aided Design) – komputerowe wspomaganie projektowania

background image

Rozdział 1

Ogólna charakterystyka programu

MathCAD

MathCAD to wysokiej jakości program obliczeniowy napisany przez firmę

MathSoft r

°Inc. w 1986 roku. MathSoft r

°Inc. systematycznie rozwija kolejne i co-

raz lepsze wersje aplikacji, a ponadto upowszechnia materiały i opracowania pomoc-

ne do pracy z programem. W Polsce dystrybucją MathCAD’a i literatury dotyczącej

programu zajmuje się wyłącznie firma GAMBIT

1

. MathCAD stanowi dużo tańszą

alternatywę w porównaniu do tak wyrafinowanych narzędzi, jakimi są Mathematica

oraz Matlab. Ze względu na łatwość obsługi MathCAD jest powszechnie używa-

ny zarówno przez profesjonalnych inżynierów, profesorów, jak i studentów szkół

wyższych. Aplikacja posiada zintegrowane środowisko, które łączy funkcjonalność

aparatu obliczeniowego z możliwościami procesora tekstu. MathCAD nie oddziela

przebiegu rozwiązywania problemu matematycznego od sporządzania dokumenta-

cji oraz prezentacji danych. Wszystkie te zadania spełniane są równocześnie wraz

z tworzeniem pojedynczego aktywnego dokumentu. Wprowadzone dane wejściowe

i funkcje można dowolnie modyfikować, program dokona wszystkich poszczególnych

operacji i wyświetli nowy wynik. Co ważniejsze wartości liczbowe mogą być wpi-

sywane w dowolnych jednostkach miar. MathCAD wykona odpowiednich konwer-

sji, automatycznie przeliczy i zagwarantuje poprawny wynik. Najwygodniejsze jest

jednak definiowanie zmiennych i deklarowanie równań. MathCAD kontrastowo do

innych programów matematycznych, języków programowania, czy arkuszy kalkula-

1

Największy w Polsce dystrybutor oprogramowania naukowo-technicznego.

background image

1. OGÓLNA CHARAKTERYSTYKA PROGRAMU MATHCAD

8

cyjnych nie wymusza od użytkownika znajomości specjalistycznych formuł. Sposób

wprowadzania liczb, wzorów, równań w obszarze roboczym MathCAD’a niewiele

odbiega od zapisów odręcznych lub stosowanych w większości podręczników. Z ra-

cji całkowicie obiektowej budowy dokumentu, wszelkie wyrażenia można sytuować

w dowolnym miejscu, lub wykorzystać w innych aplikacjach. Na porównywalnej za-

sadzie wstawia się do arkusza pliki z zewnętrznych programów m.in. wygenerowane

rysunki, które posiadają parametry zależne od danych znajdujących się w dokumen-

cie MathCAD’a. Mimo wszystko należy podkreślić szerokie możliwości programu

w tworzeniu wykresów 2D i 3D. Aplikacja potrafi przedstawić wizualizacje obliczeń

numerycznych, a ponadto pozwala na oglądanie wykresu lub animacji z dowolnej

perspektywy. Program wykorzystuje imponujący aparat matematyczny, dzięki któ-

remu można rozwiązywać standardowe obliczenia numeryczne, a także operować

na symbolach. Zanim wartość wyrażenia zostanie wyznaczona, najpierw trzeba

podstawić wartości zmiennych do uprzednio wyprowadzonego wzoru. Ponadto dwa

procesory MathCAD’a numeryczny i symboliczny są w stanie ze sobą współdziałać.

Oznacza to, że przed rozpoczęciem przybliżonych obliczeń numerycznych program

wcześniej sprowadzi wzór do jego najprostszej postaci. Aplikacja zawiera również

potężną bibliotekę funkcji matematycznych. Wbudowane funkcje mogą okazać się

użyteczne w kombinatoryce, statystyce, finansach, logice, trygonometrii i w wielu in-

nych dziedzinach. Program potrafi dokonywać operacji na liczbach zespolonych, na

wektorach i macierzach, może rozwiązywać układy równań liniowych i nieliniowych,

wyznaczać transformaty Fouriera i Laplace’a, rozwiązywać równania różniczkowe

zwyczajne i cząstkowe. Ale to nie wszystkie możliwości MathCAD’a – doskona-

le sprosta również obsłudze ciągu znaków, sortowaniu, zaokrąglaniu i generowaniu

liczb losowych. Udostępnia instrukcje warunkowe, iteracyjne oraz nadzorujące bez-

błędność wykonania.

Podsumowując ogólną charakterystykę programu, można bez wątpienia stwierdzić,

że MathCAD jest doskonałym narzędziem ułatwiającym pracę w zakresie skompli-

kowanych operacji zarówno matematycznych jak i zagadnień technicznych.

background image

Rozdział 2

Środowisko aplikacji

MathCAD wykazuje podobieństwo do standardowego interfejsu użytkownika zna-

nego ze środowiska Windows. Korzystanie z suwaków, menu i paska narzędzi jest

niemalże identyczne, jak w innych aplikacjach. Stosuje się także zbliżony, choć

o wiele bardziej uproszczony, sposób edycji wyrażeń matematycznych jak w edy-

torze równań Microsoft Equation z pakietu Microsoft Office. Praca w polu edycji

programu MathCAD jest w pełni intuicyjna. Trafną analogią dla nowego dokumen-

tu jest „tabula rasa

1

”, na której umieszczane są dane, wzory, definicje i komentarze

dotyczące poszczególnych etapów rozwiązań. Menu główne programu umieszczone

jest u góry okna. Znajduje się na nim zestaw poleceń potrzebnych do kreowania

arkuszy obliczeniowych (Rys. 2.1).

Rysunek 2.1: Obszar roboczy

1

łac. „niezapisana tablica”.

background image

2. ŚRODOWISKO APLIKACJI

10

Po uruchomieniu aplikacji dodatkowo mogą otworzyć się okna z tzw. „Poradą

dnia” (Tip of the Day) oraz Centrum Zasobów Pomocy (Resource Center) - oferu-

jące m.in. dostęp do samouczków (Tutorials) i przykładów (Quick Sheets). Można

zamknąć te okienka, a w razie potrzeby otworzyć z menu Help. Użytkownik ma

do dyspozycji trzy paski narzędzi (Toolbars). Pasek Standard służy do wykonywa-

nia podstawowych operacji na dokumentach (nowy, otwórz, zapisz, drukuj), schow-

ku (cofnij, wytnij, kopiuj, wklej), sprawdzaniu ortografii, wyrównywaniu regionów,

wstawianiu funkcji oraz jednostek. Pasek Formatting służy do formatowania akapi-

tów i obszarów tekstowych. Natomiast przy pomocy przycisków znajdujących się na

pasku Math (Rys. 2.2) można wykonać wszystkie operacje matematyczne. Dostępny

jest również pasek stanu – Status Bar i linijka – Ruler.

Rysunek 2.2: Pasek do włączania widoczności poszczególnych palet sym-

boli matematycznych

Symboli na palecie Math jest wiele. Najważniejsze będą wyjaśnione przy oma-

wianiu poszczególnych operacji. Poniżej zostaną wymienione podstawowe nazwy

palet, grup symboli i operacji:

• Calculator – działania takie jak na kalkulatorze,

background image

2. ŚRODOWISKO APLIKACJI

2.1 Podstawy tworzenia dokumentów

11

• Matrix – operacje wektorowe i macierzowe,

• Calculus – analiza matematyczna (całki, pochodne, sumy, iloczyny, granice),

• Programming – operatory programowania,

• Symbolic – przekształcenia symboliczne (działania na wzorach),

• Greek – litery greckie,

• Boolean – relacje i operacje logiczne,

• Evaluation – m.in. symbole przypisywania zmiennym wartości,

• Graph – wstawianie różnego rodzaju wykresów.

2.1

Podstawy tworzenia dokumentów

MathCAD umieszcza wszystkie wyrażenia, komentarze, wyniki i wykresy funkcji

w prostokątnych polach, które nazywamy regionami.

Dokument MathCAD’a można sporządzać używając czterech typów regionów

2

:

• tekstowych – wstawianych klawiszem cudzysłowu i zawierających dowolne tek-

sty istotne dla czytelności dokumentu, lecz zupełnie nie mające wpływu na

obliczenia;

• matematycznych – zawierających m.in.: nazwy wektorów i macierzy, liczne

operatory, funkcje, symbole potęg, pierwiastków, sum, pochodnych, całek,

a także jednostki miar, wyznaczniki, tabele i mnóstwo innych;

• wykresów – dwu i trój-wymiarowych;

• obrazów – importowanych z innych programów.

Każdy region w dokumencie można dowolnie przesuwać, kasować lub kopiować,

aby uzyskać stosowną postać dokumentu. Edytowanie regionu po kliknięciu na niego

myszką powoduje, że w tym obszarze pojawia się pionowa kreska będąca punktem

wstawienia. Nawigacja wewnątrz regionu odbywa się za pomocą strzałek i klawiszy

2

http://adam.imir.agh.edu.pl/dydakt/mcad/wpr mcad.pdf

background image

2. ŚRODOWISKO APLIKACJI

2.2 Definiowanie zmiennych

12

Home, End. Do zmiany zakresu edycji regionu używany jest klawisz spacji, na-

tomiast klawiszem Insert ustalane jest początkowe lub końcowe położenie punktu

wstawiania w edytowanym regionie. Podczas pracy z programem należy pamiętać

o kolejności i sposobie rozmieszczania regionów. Realizowane czynności powinny być

dostosowane do przyjętego algorytmu obliczeniowego. W aplikacji w niedokończo-

nych definicjach równań, zmiennych bądź wykresach pojawia się w postaci małego

prostokąta znacznik braku (Rys. 2.3). Region taki należy wówczas uzupełnić braku-

jącymi elementami.

Rysunek 2.3: Znacznik braku

2.2

Definiowanie zmiennych

Definiowanie zmiennej w programie przypomina typowy zapis stosowany w mate-

matyce i niektórych językach programowania. Zmienna jest obiektem posiadającym

nazwę – identyfikator, który odróżnia go od innych zmiennych oraz przechowuje

wartość – daną określonego typu. Wartość ta może się zmieniać, zachowując ten

sam typ. Typ wartości określony jest przez rodzaj i strukturę danych.

Najważniejsze typy danych:

skalar – pojedyncza liczba,

zakres – ciąg typu postęp arytmetyczny,

tablica – wektor lub macierz,

łańcuch znaków – tekst ujęty w cudzysłowy.

Zmienna osiąga określony typ przy pierwszym nadaniu jej wartości:

• zmienna skalarna

x1 := 24.51,

background image

2. ŚRODOWISKO APLIKACJI

2.2 Definiowanie zmiennych

13

• zmienna zakresowa

x2 := 0.2, 0.4 .. 1.6,

• zmienna tablicowa

x3 :=

4 2.5

3

0

2

1

• zmienna znakowa

x4 := „To jest przykładowe zdanie”.

Instrukcje przypisywania wartości zmiennym są najczęściej występującymi regio-

nami w dokumencie, używane są w bloku danych, we wzorach i obliczeniach. Każda

definicja zmiennej składa się z trzech części:

nazwa zmiennej; znak przypisania; wyrażenie

Wyróżniamy:

definicję zmiennej o zasięgu lokalnym, używającą znaku „:=”,

definicje o charakterze globalnym, zawierającą znak „”.

Deklaracja zmiennej lokalnej ma postać:

zmienna := wyrażenie

W wyrażeniu zapisanym po prawej stronie definicji należy użyć tylko tych zmien-

nych, które posiadają już konkretne wartości. To znaczy określonych w poprzedniej

części dokumentu (powyżej bądź na lewo od miejsca, w którym jest to wyrażenie).

Wynika to z faktu, że wartość każdej zmiennej zdefiniowanej lokalnie jest dostępna

tylko dla następnych regionów – umieszczonych na prawo lub poniżej. Przeważnie

dla obliczeń stosowane są definicje lokalne, ponieważ mają one wpływ na logiczny

porządek dokumentu, a ponadto sprzyjają jego poprawności. Jeśli jednak istnieje

konieczność podstawienia wartości danych nie na początku, lecz na końcu dokumen-

tu, to należy zastosować globalną definicję zmiennej.

Deklaracja zmiennej globalnej ma postać:

zmienna ≡ wyrażenie

Wartość zmiennej globalnej jest widoczna przez program w całym dokumencie.

Podobnie jak w przypadku użycia zmiennej lokalnej, również i tu obowiązuje ko-

lejność: najpierw wpisywane są dane, a potem obliczenia. Takie cechy definicji

globalnej wynikają z faktu, że po uruchomieniu obliczeń najpierw wykonywane są

background image

2. ŚRODOWISKO APLIKACJI

2.2 Definiowanie zmiennych

14

po kolei wszystkie definicje globalne. Następnie wykonywane są kolejno definicje

lokalne

3

.

MathCAD wymusza dostosowywanie się do jednakowych reguł tworzenia nazw

dla wszystkich typów. Ważne jest przestrzeganie następujących zasad

4

:

nazwy zmiennych muszą zaczynać się od litery (mogą być wieloliterowe, mo-

gą zawierać tylko duże i małe litery alfabetu angielskiego oraz cyfry i znak

podkreślenia),

wszystkie znaki w nazwie zmiennej muszą mieć ten sam format (rodzaj, wiel-

kość czcionki), MathCAD rozróżnia zmienne napisane różnymi czcionkami,

program rozróżnia małe i wielkie litery,

nazwy zmiennych muszą być inne niż nazwy funkcji, nazwy stałych i nazwy

jednostek miar.

Jeżeli zmienna zostanie nieprawidłowo zdefiniowana lub nie została wcześniej

określona, pojawi się komunikat o błędzie. W tej sytuacji algorytm nie będzie re-

alizowany. Należy wówczas zweryfikować wprowadzone formuły i użyć właściwego

zapisu.

3

Bodnar A., Dziewiałtowski W., Ziębakowski T., MathCAD instrukcja do ćwiczeń laboratoryj-

nych z informatyki, Politechnika Szczecińska, Wydział Mechaniczny, Szczecin 2002

4

http://adam.imir.agh.edu.pl/dydakt/mcad/wpr mcad.pdf

background image

Rozdział 3

Podstawowe zastosowanie

MathCAD’a

W poniższym rozdziale zostaną zaprezentowane możliwości MathCAD’a na przy-

kładach zagadnień z podstaw algebry. Przegląd zdolności programu rozpocznie się

od przedstawienia sposobów rozwiązywania równań i ich układów. Następnie omó-

wione będą operacje macierzowe, działania na liczbach zespolonych oraz dostępny

w aplikacji wbudowany system jednostek miar.

3.1

Rozwiązywanie równań i ich układów

Problematyka rozwiązywania równań i układów równań to jedno z podstawowych

zagadnień algebry liniowej. MathCAD dysponuje dość silnymi narzędziami, które

pozwalają użytkownikowi znaleźć rozwiązanie równania. Program oferuje różne spo-

soby rozwiązywania równań. Najważniejsze i najbardziej pomocne metody zostaną

omówione i zaprezentowane na prostych przykładach poniżej.

Przy rozwiązywaniu równań z jedną niewiadomą, wystarczająco skuteczna może

być funkcja solve, która wywoływana jest z palety Symbolic.

¥ solve, ¥

Po lewej stronie słowa kluczowego solve powinno znajdować się wyrażenie, po stronie

prawej, po przecinku, wpisywana jest nazwa zmiennej

1

. Użycie polecenia solve

ilustrują przykłady:

1

Sokół M., MathCAD leksykon kieszonkowy, Wydawnictwo Helion, Gliwice 2005

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.1 Rozwiązywanie równań i ich układów

16

Równanie kwadratowe:

ax

2

+ bx + c = 0 solve, x →

1

2a

[−b + (b

2

4ac)(

1
2

)]

1

2a

[−b − (b

2

4ac)(

1
2

)]

Deklarując równanie należy pamiętać o pogrubionej postaci znaku równości, któ-

ry wybierany jest za pomocą kombinacji dwóch klawiszy Ctrl+ =. Poszukiwanie

pierwiastków równania za pomocą MathCAD’a nie wymusza wpisywania znaku :=.

Równanie można wprowadzić w następujący sposób:

x

2

+ x − 2 solve, x →

2

1

Równanie kwadratowe z parametrem:

a :=

1
2

x

2

2

+ x = 1 + a solve, x →

3

1

Układ równań:

3x + 6y = 9

2x + y = 4

!

solve,

x
y

!



5
3

2
3



= (1.667 0.667)

W programie poza funkcją solve można podobnie zastosować funkcję lsolve,

która zwraca taki sam wynik jak funkcja solve, lecz układ równań rozwiązywany

jest inną metodą. Komenda lsolve zwraca wektor u będący rozwiązaniem równania:

M · u = v

Argumenty występujące w wyrażeniu oznaczają:

• M – macierz kwadratowa elementów rzeczywistych lub zespolonych, której

wyznacznik jest różny od zera,

• v – wektor o elementach rzeczywistych lub zespolonych.

Wykorzystanie polecenia lsolve zostanie zilustrowane na podstawie układu równań

z poprzedniego przykładu:

3x + 6y = 9

2x + y = 4

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.1 Rozwiązywanie równań i ich układów

17

Aby rozwiązać dany układ należy stworzyć macierz współczynników przy nie-

wiadomych i wektor wyrazów wolnych, a następnie wpisać funkcję lsolve wraz z pa-

rametrami:

M :=

3 6

2 1

v :=

9

4

lsolve(M , v ) =

1.667

0.667

MathCAD w prosty i szybki sposób wygenerował poprawny wynik. Aplikacja

oprócz wspomnianych funkcji solve i lsolve oferuje użytkownikowi również polecenia

do wyznaczania miejsc zerowych (pierwiastków) wielomianów. Szczególnie użytecz-

ne mogą być funkcje root i polyroots. Komenda root, występująca w starszych

wersjach programu, pozwala wyznaczyć pojedynczy pierwiastek wielomianu, naj-

bliższy podanemu punktowi startowemu. Aby rozwiązać za pomocą MathCAD’a

równanie z jedną niewiadomą wystarczy użyć funkcji:

root(f (var1, var2, . . .), var1, [a, b])

Gdzie:

• f – jest funkcją skalarną dowolnej liczby zmiennych, funkcja f może mieć

więcej niż jeden argument,

• var1 – jest argumentem funkcji f , zmienną zależną względem, której szukane

są pierwiastki; jeśli rozwiązanie ma być w przedziale liczb zespolonych, wartość

początkową zmiennej var1 należy podać w postaci zespolonej,

• a, b (opcjonalne) – liczby rzeczywiste, a < b, stanowią granice przedziału,

w którym szukane są miejsca zerowe funkcji.

Wynikiem działania funkcji root jest taka wartość var, dla której wyrażenie przyj-

muje wartość zero, f = 0. Jeżeli wyspecyfikowane są parametry a i b, wówczas

funkcja znajduje miejsca zerowe w przedziale (a, b). Wartości początkowe zmien-

nych zależnych vari muszą być zadeklarowane przed wywołaniem polecenia root.

W przypadku, gdy funkcja ma kilka pierwiastków, to wartość początkowa musi

wskazywać na każdy z nich. Dla wizualnego sprawdzenia warto sporządzić wykres

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.1 Rozwiązywanie równań i ich układów

18

przebiegu funkcji tak jak zostało przedstawione w poniższym przykładzie

2

(Rys. 3.1)

x := 10, −9.9 .. 15

f (x) := x

2

3x − 55

Rysunek 3.1: Wykres funkcji i jej pierwiastków

Wartości początkowe: Obliczone pierwiastki funkcji f(x):

x := -5

root(f(x), x) = -6.066

x := 5

root(f(x), x) = 9.066

Jeśli użycie polecenia root nie umożliwi znalezienie pierwiastka równania i spowoduje

wystąpienie błędu, wówczas może to oznaczać, że:

badane wyrażenie nie ma miejsc zerowych,

wartości początkowe są nieodpowiednio dobrane, zbyt odległe od przybliżenia

początkowego,

występują lokalne maksima lub minima w przedziale między wartością starto-

wą a zerową,

pierwiastek wyrażenia jest zespolony, zaś wartość początkowa zadeklarowana

została jako rzeczywista.

Za pomocą polecenia root można rozwiązać także równanie przestępne

3

.

Niech dane będą dwie funkcje:

2

Pietraszek J., MathCAD. Ćwiczenia praktyczne, Wydawnictwo HELION, Gliwice 2002

3

Równanie matematyczne, w którym występują przestępne funkcje działające na argumenty

niewiadome (np. równania trygonometryczne lub logarytmiczne).

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.1 Rozwiązywanie równań i ich układów

19

f (x) = ln(x + 1)

g(x) = sin(x)

Aby znaleźć takiego x, dla którego f (x) = g(x) należy zadeklarować równania i wy-

konać pomocny wykres.

f (x) := ln(x + 1)

g(x) := sin(x)

Rysunek 3.2: Wykres funkcji f (x) i g(x)

Jak widać na wykresie (Rys. 3.4) rozwiązanie zlokalizowane jest w okolicach

x := 2. Tak więc pozostaje zastosować funkcję root z odpowiednimi parametrami,

aby program wyznaczył rozwiązanie:

x := 2

root(f (x) − g(x), x) = 1.697

Do obliczania pierwiastków wielomianu n – tego stopnia należy używać w progra-

mie funkcji polyroots(v), gdzie v jest wektorem rzeczywistym lub zespolonym współ-

czynników. Pierwszym elementem wektora v jest wyraz wolny, a ostatnim współ-

czynnik przy wyrazie z najwyższą potęgą. Definiując wektor wielomianu nie można

pominąć współczynników zerowych. Funkcja polyroots(v) nie wymaga wartości po-

czątkowych w przeciwieństwie do polecenia root. Użycie procedury polyroots(v)

do znajdowania miejsc zerowych wielomianu można przedstawić na następującym

przykładzie

4

:

Podanie definicji funkcji:

f (x) := x

3

10x + 2

Zastosowanie procesora symbolicznego

5

do znalezienia współczynników wielo-

4

Regel W., MathCAD przykłady zastosowań, Wydawnictwo MIKOM, Warszawa 2004

5

W miejsce „ręcznego” wprowadzania wektora współczynników, zastosowana jest wbudowana

w aplikacji funkcja coef f s z palety Symbolic.

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.1 Rozwiązywanie równań i ich układów

20

mianu:

w := f (x ) coeffs, x →

2

10

0

1

Zastosowanie funkcji polyroots(v) do wyznaczania pierwiastków wielomianu:

z := polyroots(w)

Wygenerowanie transponowanego wektora rozwiązania przy wartości parame-

tru

6

T OL = 0.001:

z

T

= (3.258 0.201 3.057)

Określenie przedziałów odpowiednich zmiennych pomocniczych:

x := 4, −3.99, .. 4

j := 0, 1 .. 2

Zilustrowanie otrzymanego rozwiązania w postaci graficznej (Rys. 3.3):

Rysunek 3.3: Wykres wielomianu i jego pierwiastków

Poza omówionymi powyżej metodami warto korzystać w programie MathCAD

także z bloku Given − F ind rozwiązującego układ równań. Za pomocą tego bloku

w prosty sposób można poszukiwać rozwiązanie układu równań, szczególnie nieli-

niowych. Składnia funkcji F ind jest następująca:

F ind(var1, var2, ...)

Gdzie:

• var1, var2, . . . – to liczby rzeczywiste lub zespolone, wartości startowe, które

koniecznie należy zadeklarować.

6

Błąd względny, domyślna dokładność obliczeń w programie to 10

3

.

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.1 Rozwiązywanie równań i ich układów

21

Procedura F ind zwraca wektor wartości zmiennych, będący rozwiązaniem ukła-

du równań. Liczba argumentów funkcji odpowiada liczbie szukanych zmiennych.

MathCAD podaje wynik w postaci skalara, gdy szukana jest tylko jedna wartość

bądź w formie wektora, jeśli rozwiązywany jest układ równań. Aplikacja może roz-

wiązywać układ nawet do dwustu równań

7

.

Przy poszukiwaniu rozwiązania układu równań nieliniowych należy postępować w ni-

niejszy sposób:

Zadeklarować przybliżone wartości startowe zmiennych,

Wpisać słowo kluczowe Given, czyli dane (równania i ewentualne ograniczenia

w postaci nierówności); liczba równań i nierówności nie może być mniejsza od

liczby niewiadomych,

Wpisać funkcję F ind z listą zmiennych.

Zestaw instrukcji zawartych między procedurą Given a funkcją F ind tworzy blok.

Oto prosty przykład

8

rozwiązania układu dwóch równań nieliniowych z dwoma nie-

wiadomymi:

x

2

+ y

2

= 6 z ograniczeniami x ¬ 1, y > 2

x + y = 2

Szacowanie wartości początkowych (punktów startowych):

x := 1

y := 1

Zastosowanie bloku Given − F ind, wpisanie równań i ograniczeń (z twardymi

znakami równości pisanymi pogrubioną czcionką):

Given

x

2

+ y

2

= 6

x + y = 2

x ¬ 1

y > 2

x

res

y

res

:=Find(x,y)

7

Sokół M., MathCAD leksykon kieszonkowy, Wydawnictwo HELION, Gliwice 2005

8

Pietraszek J., MathCAD. Ćwiczenia praktyczne, Wydawnictwo HELION, Gliwice 2002

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.1 Rozwiązywanie równań i ich układów

22

Rezultat obliczeń i wydruk w postaci graficznej:

x

res

= 0.414

y

res

= 2.414

Rysunek 3.4: Wykres funkcji x

2

+ y

2

= 6 oraz x + y = 2

Ograniczenia w bloku nie są konieczne. Użycie ich sprawiło odrzucenie przez pro-

gram drugiego rozwiązania równań, na wykresie (Rys. 3.4) prawego, dolnego punktu

przecięcia prostej z okręgiem.

Procedura F ind oblicza dokładne wartości rozwiązania. Jednak bywają przypad-

ki, gdy MathCAD nie potrafi znaleźć rozwiązania numerycznego przy wykorzystaniu

funkcji F ind, wówczas należy poszukiwać rozwiązania przybliżonego, z minimalnym

błędem, używając procedury MinErr. Składnia funkcji jest następująca:

MinErr(var1, var2, . . .)

Gdzie:

• var1, var2, . . .- podobnie jak w przypadku funkcji F ind są to liczby rzeczywiste

lub zespolone, będące punktami startowymi.

Funkcja MinErr oblicza wartości niewiadomych var1, var2, . . ., które najlepiej speł-

niają układ równań lub nierówności zawartych w bloku. Liczba argumentów funkcji

odpowiada liczbie szukanych zmiennych. Wynik ma postać skalara, jeśli szukana

jest tylko jedna wartość, lub wektora, gdy rozwiązywany jest układ równań.

Zastosowanie funkcji MinErr można prześledzić na poniższym przykładzie

9

:

(x − 2)

2

+ (y − 2)

2

= 1

(x + 1)

2

+ (y +

1
2

)

2

= 7

9

Paleczek W., MathCAD w algorytmach, Wydawnictwo EXIT, Warszawa 2005

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.1 Rozwiązywanie równań i ich układów

23

Wprowadzenie wartości startowych:

x := 13 y := 13

Wpisanie bloku Given − MinErr (znak równości Ctrl+ =):

Given

(x − 2)

2

+ (y − 2)

2

= 1

(x + 1)

2

+ (y +

1
2

)

2

= 7

x

y

:=MinErr(x,y)

Wydruk wartości rozwiązania:

x

y

=

1.093

1.204

Sprawdzenie wartości obu funkcji przez podstawienie wartości z rozwiązania

i przedstawienie wykresu funkcji:

(x − 2)

2

+ (y − 2)

2

= 1.456

(x + 1)

2

+ (y +

1
2

)

2

= 7.285

Rysunek 3.5: Wydruk rozwiązania układu równań w postaci graficznej

Na wykresie (Rys. 3.5) okazuje się, że obie funkcje nie posiadają punktów wspólnych.

Przybliżone rozwiązanie rozpatrywanego układu równań to naniesiony na wykresie

punkt oznaczony kropką, który został podany przez procedurę MinErr.

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.2 Operacje na macierzach

24

3.2

Operacje na macierzach

Macierz w programie jest zdefiniowana jako prostokątna tablica, w której wyróżnia-

my wiersze (rows) i kolumny (columns). Zmienną, która określa macierze lub ogólnie

tablice nazywamy zmienną tablicową. MathCAD umożliwia definiowanie macierzy

na różne sposoby. Prostą i szybką metodą można wskazać kursorem początkowy

punkt i nacisnąć klawisze Ctrl + M lub skorzystać z pierwszej ikony palety Matrix

(Rys. 2.2), następnie w oknie dialogowym Insert Matrix podać wymiary macierzy

i wypełnić poszczególne komórki. Elementami macierzy nie muszą być wyłącznie

liczby, mogą być to wyrażenia liczbowe, stałe lub zmienne typu string ujęte w cu-

dzysłowy. W jednej macierzy mogą występować elementy różnych typów.

W programie indeksy wierszy i kolumn mają domyślnie ustawioną wartość począt-

kową 0. Jeżeli użytkownikowi zależy na tym, aby indeksy zaczynały się od 1, może

napisać dużymi literami polecenie ORIGIN z podaniem wartości argumentu 1:

ORIGIN ≡ 1

Oczywiście funkcja wpisana w taki sposób odnosi się do całego arkusza roboczego.

Zmiennymi indeksowanymi można odwoływać się do poszczególnych elementów ma-

cierzy. Na przykład, aby odwołać się do elementu A[0, 2] z poniższej macierzy:

A :=

2.1

5.4

3.1

1.4

1.9 0.5

2.5 4.8

1.6

należy wpisać nazwę macierzy, wcisnąć klawisz z lewym nawiasem kwadratowym

(jest to przejście do indeksu dolnego), po czym podać numer wiersza, i po przecinku

numer kolumny, nacisnąć podwójnie klawisz spacji, (aby powrócić do linii podsta-

wowej) i wprowadzić znak równości. Na ekranie wyświetlona zostanie następująca

wartość:

A

0,2

= 3.1 (element wiersza pierwszego i kolumny trzeciej).

Macierz można również utworzyć przez nadanie wartości jej poszczególnym elemen-

tom. Na przykład:

A

0,0

:= 2.1 A

0,1

:= 5.4 A

0,2

:= 3.1

A

0,0

:= 2.1 A

0,1

:= 5.4 A

0,2

:= 3.1

A

0,0

:= 2.1 A

0,1

:= 5.4 A

0,2

:= 3.1

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.2 Operacje na macierzach

25

Macierz zerową tworzy się w prosty sposób - poprzez zdefiniowanie jej ostatniego

elementu. Pozostałe nieokreślone elementy będą miały domyślną wartość zero.

Przykład:

Zero

2,2

:= 0

Zero =

0 0 0

0 0 0

0 0 0

Macierz jednostkową

10

wprowadza się w dokumencie poprzez wywołanie wbudowa-

nej funkcji identity(n), gdzie n > 0 oznacza wymiar macierzy. Funkcję tę wybiera

się klikając na ikonę „f (x)”, która znajduje się na pasku Standard, po czym z wy-

świetlonej listy zaznacza się odpowiednią funkcję.

m := identity(3)

(ORIGIN ≡ 1)

M =

1 0 0

1 1 0

1 0 1

MathCAD umożliwia zdefiniowanie macierzy również dzięki funkcjom augment,

stack i submatrix. Właściwości tych funkcji, w zakresie działań na macierzach, są

przedstawione na przykładach:

• augment(A, B, C, . . .) – łączy kolumny podanych macierzy, nowa macierz two-

rzona jest z co najmniej dwóch macierzy, które muszą mieć identyczną liczbę

wierszy

A :=

25

0

Π

B :=

1 0 0

0 1 0

0 0 1

Po zastosowaniu funkcji augment dana jest macierz:

10

Macierz kwadratowa, w której elementy leżące na głównej przekątnej są jedynkami, a reszta

wypełniona jest zerami.

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.2 Operacje na macierzach

26

augment(A, B) =

5

1 0 0

0

0 1 0

3.142 0 0 1

• stack(A, B, C, . . .) – łączy wiersze podanych macierzy, nowa macierz tworzona

jest z macierzy o tej samej liczbie kolumn

A :=

1 1 1

1 1 1

1 1 1

B :=

3 3 3

3 3 3

3 3 3

Funkcja stack zwraca macierz skonstruowaną z macierzy A, B ustawionych

jedna nad drugą:

stack (A, B) =

1 1 1

1 1 1

1 1 1

3 3 3

3 3 3

3 3 3

• submatrix(A, i1, in, j1, jn) – funkcja tworzy w oparciu o macierz A nową ma-

cierz, a właściwie - podmacierz, w której poszczególne symbole oznaczają:

i1 – numer pierwszego wiersza macierzy A,

in – numer ostatniego wiersza macierzy A,

j1 – numer pierwszej kolumny macierzy A,

jn – numer ostatniej kolumny macierzy A.

Użycie funkcji submatrix można przedstawić na prostym przykładzie, który ilustruje

wyodrębnianie nowej macierzy kwadratowej z macierzy A:

ORIGIN ≡ 1

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.2 Operacje na macierzach

27

stack (A, B) =

2 3 45 67

88

1 1 66 99 1100

1 1 78 99

89

1 1

1

1

1

1 1

1

1

1

submatrix (A, 1 , 3 , 3 , 5 ) =

45 67

88

66 99 1.1 × 10

3

78 99

89

Zdefiniowane w programie wiersze i kolumny macierzy można dodatkowo wyli-

stować w postaci wektorów. Odwołując się do kolumny macierzy należy wykorzystać

indeks górny M

<>

z palety Matrix (Rys. 2.2). Natomiast w celu uzyskania wiersza

macierzy trzeba po kolei wybrać polecenia oznaczone ikonami M

T

, M

<>

, M

T

.

Dana jest macierz A:

A :=

2.1

5.4

3.1

1.4

1.9 0.5

2.5 4.8

1.6

Wylistowanie trzech kolumn macierzy A ma postać:

A

<1 >

=

2.1

1.4

2.5

A

<2 >

=

5.4

1.9

4.8

A

<3 >

=

3.1

0.5

1.6

Uzyskiwanie wierszy z macierzy A przedstawia się następująco:

(A

T

)

<1 >

T

=



2.1 5.4 3.1



(A

T

)

<2 >

T

=



1.4 1.9 0.5



(A

T

)

<3 >

T

=



2.5 4.8 1.6



MathCAD jest pomocnym narzędziem w wykonywaniu obliczeń macierzowych.

Aplikacja potrafi prowadzić operacje na elementach macierzy w sposób numeryczny

i symboliczny. Typowe działania algebraiczne takie jak: dodawanie , odejmowanie,

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.2 Operacje na macierzach

28

czy mnożenie zapisywane są naturalnie, symbolami +, -, , itd. Dlatego też po-

minięte zostaną standardowe działania na macierzach, których elementami są licz-

by. Uwaga będzie skupiona na symbolicznym przeprowadzaniu rozwinięć macierzy.

MathCAD oferuje wygodny sposób wykonywania operacji na macierzach. Warto

korzystać z poleceń paska narzędzi Symbolics, aby np. stworzyć macierz transpono-

waną, odwrotną lub obliczyć wyznacznik macierzy. Oto przykłady symbolicznych

operacji na macierzy A:

A :=

a

11

a

12

a

21

a

22

• Transpozycja A

T

a

11

a

12

a

21

a

22

• Odwrotność A

−1

a

22

(a

11

a

22

−a

12

a

21

)

−a

12

(a

11

a

22

−a

12

a

21

)

−a

21

(a

11

a

22

−a

12

a

21

)

a

11

(a

11

a

22

−a

12

a

21

)

• Wyznacznik |A| → a

11

a

22

− a

12

a

21

Dokonując numerycznych obliczeń na macierzach należy używać po wyrażeniu

znaku „=” aby uzyskać wynik, zaś przy operacjach symbolicznych znaku „”.

Niemniej jednak to nie wszystkie możliwości MathCAD’a w zakresie operacji na

macierzach. W programie dostępny jest szeroki wachlarz innych funkcji, chociażby

takich:

• diag(v) – zwraca macierz diagonalną, która na głównej przekątnej zawiera

elementy (rzeczywiste lub zespolone) wektora v,

• rank(M) – zwraca rząd macierzy M,

• tr(M) – zwraca ślad macierzy M, czyli sumę elementów na głównej przekątnej,

• rows(M) – zwraca liczbę wierszy macierzy M,

• cols(M) – zwraca liczbę kolumn macierzy M,

• min(M, N, . . . , Z) – zwraca element z listy mający najmniejszą wartość,

• max(M, N, . . . , Z) – zwraca element z listy mający największą wartość.

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.3 Liczby zespolone

29

W programie użytkownik ma do dyspozycji również procedury sortujące:

• sort(M) – w wyniku otrzymuje się wektor M o elementach uporządkowanych

rosnąco,

• csort(M, n) – porządkuje wiersze macierzy M w kolejności rosnącej według

n – tej kolumny; w rezultacie otrzymuje się macierz tych samych wymiarów,

• rsort(M, n) – porządkuje kolumny macierzy M w kolejności rosnącej według

n – tego wiersza, w rezultacie otrzymuje się macierz o tych samych rozmiarach,

• reverse(M) – odwraca kolejność elementów wektora lub macierzy M.

Procedury sortujące dopuszczają sortowanie również liczb zespolonych w argu-

mentach – podczas sortowania brana jest pod uwagę tylko część rzeczywista

11

.

3.3

Liczby zespolone

Zmienna zespolona istnieje w programie w sposób „naturalny”, toteż można wy-

konywać na niej wszystkie operacje znane z algebry. MathCAD przyjmuje liczby

zespolone w postaci a + bi, lub a + bj, gdzie a i b są z przestrzeni liczb rzeczywi-

stych. Podczas deklaracji liczb zespolonych należy pamiętać, aby użyć nie samego

i lub j do wyrażenia jednostki urojonej, lecz 1i bądź 1j. W przeciwnym razie Ma-

thCAD potraktuje i jako zmienną. W aplikacji do działań na liczbach zespolonych

przeznaczone są niniejsze funkcje i operatory:

• Re(z) – zwraca część rzeczywistą liczby z,

• Im(z) – zwraca część zespoloną liczby z,

• arg(z) – zwraca wartość kąta (w radianach) zawartego między dodatnią pół-

osią X, z punktem z leżącym w płaszczyźnie liczb zespolonych (przedział

od Π do Π),

• |z| – zwraca moduł z liczby zespolonej, zmienia znak przy części urojonej.

11

Paleczek W., MathCAD w algorytmach, Wydawnictwo EXIT, Warszawa 2005

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.4 Jednostki miar

30

Przykładowe operacje na liczbach zespolonych przeprowadzone w aplikacji MathCAD:

x

z1

:=

2

3 +

4

z1 = 3 + 2i

z2 := 2

x

+ i

Dodawanie:

z1 + z2 = 7 + 3i

Odejmowanie:

z1 − z2 = 1 + i

Mnożenie:

z1 · z2 = 10 + 11i

Dzielenie:

z1
z2

= 0.824 + 0.294i

Podnoszenie do potęgi:

z1

2

= 5 + 12i

Moduł z liczby zespolonej: |z1| = 3.606

Część rzeczywista:

Re(z1) = 3

Część zespolona:

Im(z1) = 2

Ponadto:

arg(z1 + z2) = 0.405

cos(z2 + z1) = 7.59 6.582i

ln(z1 + z2) = 2.03 + 0.405i

3.4

Jednostki miar

Cechą wyróżniająca aplikacji MathCAD jest możliwość korzystania z wbudowanych

jednostek miar. Jako domyślny przyjmowany jest układ jednostek SI. MathCAD

rozpoznaje różne systemy miar i automatycznie je przelicza. Dzięki temu można

w trakcie obliczeń stosować jednostki, nie przejmując się zbytnio ich zgodnością.

Aplikacja potrafi obliczyć sumę kilku długości, której składniki wyrażone są np.

w milimetrach, centymetrach i metrach. Program dokona odpowiednich konwersji

i zagwarantuje poprawny wynik podając go w metrach, ponieważ metry są główną

jednostką systemu SI. Wybór systemu miar odbywa się w oknie dialogowym Options

z menu Math (Rys. 3.6)

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.4 Jednostki miar

31

Rysunek 3.6: Okno dialogowe Math Options

W zakładce Unit System dostępne są następujące systemy jednostek miar:

SI (International) – Międzynarodowy Układ Jednostek Miar SI, oparty jest

na: metrach, kilogramach, sekundach, amperach, stopniach Kelwina, molach,

kandelach, radianach i steradianach,

MKS – jednostki podstawowe: metr, kilogram, sekunda,

CGS – jednostki główne: centymetr, gram, sekunda i jednostka elektrostatycz-

na,

U.S. – jednostki główne: stopy, funty, sekundy, kulomby,

None – rezygnacja z wbudowanych jednostek.

Pewne utrudnienie pojawia się wówczas, gdy nieznany jest symbol lub nazwa jed-

nostki, która została użyta w obliczeniach. W takiej sytuacji wystarczy skorzystać

z polecenia Insert Unit, po czym wybrać potrzebny rodzaj jednostki (Rys. 3.7)

background image

3. PODSTAWOWE ZASTOSOWANIE MATHCAD’A

3.4 Jednostki miar

32

Rysunek 3.7: Wybór jednostki miary

Program traktuje jednostkę jako zmienną, więc bez problemu można definiować

własne jednostki. Wprowadzenie tego rodzaju zmiennych może znacznie uprościć

pracę. Warto przyjąć takie jednostki, które łatwo jest zapamiętać. Po ich określeniu

pozostaje zastosować je w bieżącym arkuszu roboczym.

background image

Rozdział 4

Zaawansowane zastosowanie

MathCAD’a

Zakres możliwości MathCAD’a zaprezentowany w niniejszym rozdziale dotyczyć bę-

dzie wybranych zagadnień analizy matematycznej, podstawowych technik progra-

mowania oraz zasad tworzenia rozmaitych wykresów. Bez wnikania w tajniki algo-

rytmiki podana zostanie niezbędna i stosowna do pracy z programem wiedza teore-

tyczna, a ponadto przedstawione będą instrukcje i wskazówki, które wykorzystane

zostaną na przykładach.

4.1

Pochodne i całki

Z podstawowych zasad analizy matematycznej wiadomo, że pochodną funkcji y =

f (x) w punkcie x nazywana jest granica, do której dąży stosunek przyrostu funkcji

y do odpowiedniego przyrostu zmiennej niezależnej ∆ x, gdy gdy przyrost zmien-

nej niezależnej dąży do zera, czyli granicę:

lim

x→0

y
x

= lim

x→0

f (x + ∆ x) − f (x)

x

Jeżeli granica taka nie istnieje, to funkcja w tym punkcie nie ma pochodnej.

Odnajdywanie pochodnej funkcji nazywa się różniczkowaniem funkcji.

Dział matematyki traktujący o pochodnych, ich własnościach i zastosowaniach na-

zywa się rachunkiem różniczkowym.

background image

4. ZAAWANSOWANE ZASTOSOWANIE MATHCAD’A

4.1 Pochodne i całki

34

Pchodne wyższych rzędów, czyli pochodną rzędu drugiego lub drugą pochodną funk-

cji y = f (x) nazywana jest pochodną pierwszej pochodnej tej funkcji. Podobnie

pochodną rzędu trzeciego lub trzecią pochodną funkcji y = f (x) okreslana jest po-

chodną drugiej pochodnej, itd.

1

Jak zostało już wspomniane edytor MathCAD jest po prostu zwykłą kartką.

Jeżeli użytkownik chce, aby program obliczył pochodną funkcji, może w tym celu

wpisać odpowiedni symbol bądź użyć właściwej ikony z palety Calculus (Rys. 2.2).

Następnie należy wprowadzić wyrażenie i zastosować polecenie Simplif y z menu

Symbolic. Po kolejnym wykonaniu tych czynności przez użytkownika, MathCAD

poda prawidłowy wynik.

W programie operator

d

dx

zwraca wartość pierwszej pochodnej funkcji f (x) w punkcie

x. Stosowanie tego operatora wymusza definiowanie wszystkich zmiennych w funkcji

f (x). Zmienna x musi być liczbą, aby funkcja zwracała wartość skalarną.

Aby obliczyć pierwszą pochodną przykładowej funkcji g(x) := x

3

sin(x) należy za-

stosować poniższy sposób zapisu:

d

dx

(x

3

sin(x)) simplif y → 3x

2

sin(x) + x

3

cos(x)

W celu obliczenia pochodnej n-tego rzędu użytkownik musi wykonać podobne

czynności jak w poprzednim przypadku, ale używając operatora

d

n

dx

n

, gdzie n to licz-

ba całkowita z przedziału < 0, 5 >. Z kolei przy obliczeniach symbolicznych n jest

liczbą całkowitą większą od zera. Dla n = 0 operator zwraca wartość funkcji, a dla

n = 1 jest równoważny pierwszej pochodnej.

Odwrotnością pochodnej jest całka nieoznaczona. Całką nieoznaczoną (nieokre-

śloną) funkcji f (x), oznaczaną symbolem

R

f (x) dx

nazywane jest wyrażenie F (x) + C, gdzie F (x) jest funkcją pierwotną funkcji f (x),

a C jest dowolną stałą.

Jest więc

R

f (x) dx = F (x) + C,

gdzie F

0

(x) = f (x)

.

1

Krysicki W., Włodarski L., Analiza matematyczna w zadaniach, część I, Wydawnictwo Na-

ukowe PWN, Warszawa 1999

background image

4. ZAAWANSOWANE ZASTOSOWANIE MATHCAD’A

4.2 Rozwijanie funkcji w szereg Taylora

35

W programie MathCAD całka nieoznaczona obliczona zostanie po użyciu sza-

blonu symbolu

R

i uzupełnieniu jego znaków braku odpowiednimi zmiennymi, a na-

stępnie po wybraniu z menu głównego kolejnych poleceń Symbolic i Simplify.

Natomiast całkę oznaczoną funkcji f (x) ograniczonej na przedziale < a, b >, której

zapis w matematyce ma symbol:

R

b

a

f (x) dx

MathCAD liczy po użyciu przez użytkownika operatora

R

b

a

z określoną funkcją pod-

całkową f (x) w zakresie < a, b >. Oczywiście granice całkowania muszą być ska-

larami, a zmienne w wyrażeniu f (x), za wyjątkiem zmiennej x, względem której

odbywa się całkowanie, muszą zostać wcześniej zdefiniowane. Jako granice całkowa-

nia można przyjąć liczby rzeczywiste, jak również symbole nieoznaczone +i −∞.

Funkcja f (x) może być rzeczywista lub zespolona, czyli przyjmuje wartości będące

liczbami rzeczywistymi bądź zespolonymi.

Ilustracja przykładu rozwiązania całki oznaczonej przez program:

R

0

e

−x

dx simplif y → 1

Jeśli zmienna, względem której przeprowadza się całkowanie, jest wyrażana w okre-

ślonych jednostkach, wówczas granice całkowania także muszą być zadeklarowane

w tych samych jednostkach. Ponadto jeśli funkcja podcałkowa posiada punkty nie-

ciągłości czy też znaczne wahania wartości, wówczas rozwiązanie może nie być do-

kładne.

4.2

Rozwijanie funkcji w szereg Taylora

Za pomocą MathCAD’a istnieje również możliwość rozwijania funkcji lub wyrażenia

w szereg potęgowy. Zgodnie z zasadami matematyki szereg potęgowy o współczyn-

nikach a

n

∈ R, gdzie n = 0, 1, 2, . . . i x ∈ R, to szereg funkcyjny postaci

2

:

X

n=0

a

n

x

n

= a

0

+ a

1

x + a

2

x

2

+ . . . + a

n

x

n

+ . . .

MathCAD do rozwijania funkcji w szereg potęgowy oferuje pomocniczą funkcję

series

3

, która pozwala rozwijać wyrażenie w szereg potęgowy w otoczeniu punktu

2

Gewert M., Skoczylas Z., Analiza matematyczna 2, Oficyna Wydawnicza GiS, Wrocław 2005

3

Sokół M., MathCAD leksykon kieszonkowy, Wydawnictwo HELION, Gliwice 2005

background image

4. ZAAWANSOWANE ZASTOSOWANIE MATHCAD’A

4.3 Możliwości programowania

36

x (domyślnie w punkcie zero). Składnia polecenia jest następująca:

f (x) series, x, k

Po lewej stronie słowa kluczowego znajduje się wyrażenie lub funkcja. W pierwszym

zarezerwowanym polu podawana jest nazwa zmiennej, w drugim polu rząd rozwinię-

cia k (mówi, do której potęgi (k − 1) ma być rozwinięty szereg). Domyślnie k = 6,

a maksymalna wartość k = 99.

Przykłady rozwinięcia funkcji w szereg potęgowy:

Rozwinięcie funkcji sin(x) w szereg przy domyślnych parametrach

sin(x) series, x, 6 → x −

1
6

· x

3

+

1

120

· x

5

Rozwinięcie funkcji sin(x) w szereg w punkcie x 6= 0

sin(x) series, x = 1.3 sin(1) + cos(1) · (x − 1)

1
2

· sin(1) · (x − 1)

2

Rozwinięcie funkcji w szereg względem dwóch zmiennych

e

x

+ y series, x, y, 3 1 + x + y +

1
2

· x

2

MathCAD jest pomocny w przybliżaniu funkcji wielomianami. Komenda series

ułatwia rozwinięcie funkcji w szereg potęgowy, dzięki czemu możliwe jest badanie

własności funkcji, szczególnie tych, które nie są elementarne.

4.3

Możliwości programowania

Każdy język programowania ma specyficzną składnię. Zastosowany w środowisku

MathCAD język programowania wykazuje pewne podobieństwo z programowaniem

w języku Pascal. Wprawdzie potencjał MathCAD’a w tej dziedzinie jest skrom-

ny w porównaniu do innych języków programowania. Warto jednak zapoznać się

z możliwościami oferowanymi przez MathCAD’a, przede wszystkim dlatego, że pro-

gramowanie w aplikacji może znacznie ułatwić rozwiązywanie bardziej złożonych

problemów.

Wszystkie dostępne w edytorze instrukcje i słowa kluczowe są umieszczone na pasku

narzędziowym Programming (Rys. 2.2). Bezpośrednio z klawiatury wpisywane są

wyłącznie nazwy zmiennych oraz operatory w pola znaków braku.

Użycie poszczególnych instrukcji sterujących zostanie omówione na przykładach,

background image

4. ZAAWANSOWANE ZASTOSOWANIE MATHCAD’A

4.3 Możliwości programowania

37

które zilustrują krótki przegląd zdolności MathCAD’a w zakresie programowania.

Wstępny przykład prezentuje technikę zapisu podprogramu, przy użyciu polecenia

AddLine i operatora ←−.

Dana jest funkcja f (x) =

exp

x+0.1

3

2x

, której zapis przy wykorzystaniu podprogramu

jest prostszy w odróżnieniu od zapisu klasycznego. Zdefiniowanie funkcji i oblicze-

nie wartości dla argumentu x = 2.5:

f (x ) :=

a ← exp(x + 0.1)

b ← (2x)

1
3

f ←

a

b

x := 2.5

f (2.5) = 7.874

Zastosowanie komendy AddLine powoduje wstawienie nowego wiersza. Pierw-

sze użycie tego polecenia definiuje program, pojawia się pionowa kreska z dwoma

zarezerwowanymi miejscami, następne użycie operatora AddLine zwiększa liczbę

wierszy. Ostatnia linia instrukcji powinna zawierać wartość zwracaną przez pro-

gram. W algorytmie występuje również definicja lokalna – znak przypisania .

Operator strzałki deklaruje zmienną lokalną a i nadaje jej wartość numeryczną rów-

ną wartości obliczonej funkcji exp(x + 0.1). Poza programem zmienna a pozostaje

nieokreślona.

Instrukcje decyzyjne i warunkowe

Wyrażenia tworzone za pomocą instrukcji decyzyjnych i warunkowych są przydat-

ne głównie do obliczania wartości wyrażeń matematycznych zależnych od spełnienia

określonych warunków logicznych. Najprostszym przykładem jest realizacja instruk-

cji warunkowej: JEŻELI spełniony jest zadeklarowany warunek logiczny TO funkcja

przyjmuje konkretną wartość. Innym przykładem może być instrukcja pętli: wykonuj

operację począwszy OD wartości, a skończywszy NA wartości

4

.

Instrukcja decyzyjna if i instrukcja otherwise

Składnia formuły if jest następująca:

4

Paleczek W., MathCAD w algorytmach, Wydawnictwo EXIT, Warszawa 2005

background image

4. ZAAWANSOWANE ZASTOSOWANIE MATHCAD’A

4.3 Możliwości programowania

38

nazwa funkcji (zmienna) :=

wartosc1

if

warunek logiczny

wartosc2 otherwise

Wyrażenie otherwise (w innym przypadku) używane jest w programie wraz z in-

strukcją if . Wykorzystywane są one do wskazywania alternatywnego zbioru in-

strukcji, gdy podstawowe kryterium nie zostanie spełnione. Zastosowanie formuły

if oraz otherwise przedstawia przykład definicji funkcji skoku jednostkowego (po

prawej stronie operatora if musi być umieszczony warunek boolowski):

x := 2 . . . 2

f (x ) :=

1

if

x = 0

1
x

otherwise

Wylistowany wektor wartości argumentu x i funkcji f (x):

x =

f (x) =

-2

-1

0

1

2

-0.5

-1

1

1

0.5

Sformułowaną definicję f (x) można przeczytać: jeżeli wartość argumentu x jest rów-

na zero, to funkcja f (x) przyjmuje wartość 1, w przeciwnym razie funkcja przyjmuje

wartość

1

x

.

Instrukcja iteracyjna f or

Składnia formuły f or jest następująca:

nazwa f unkcji(zmienna) :=

f or

zmienna

zakres

instrukcja1

instrukcja2

instrukcja3

Pętla f or umożliwia cykliczne obliczenie sekwencji wyrażeń. Stosowana jest, gdy

z góry wiadomo ile razy dana instrukcja będzie powtórzona. Po lewej stronie znaku

background image

4. ZAAWANSOWANE ZASTOSOWANIE MATHCAD’A

4.3 Możliwości programowania

39

znajduje się nazwa iterowanej zmiennej, natomiast z prawej strony tego znaku za-

deklarowany jest zakres wartości przypisywanych przez iterowaną zmienną. Zmienna

może mieć postać zakresu, wektorów lub macierzy. W znaku braku pod słowem klu-

czowym f or musi być podane wyrażenie, które zostanie iteratywnie przeliczone.

Przykład zastosowania pętli f or można zaprezentować na programie generującym

macierz jednostkową:

M(k) :=

f or i ∈ 0 . . . k − 1

f or j ∈ 0 . . . k − 1

macierz

i,j

1 if i = j

macierz

i,j

otherwise

macierz

Wydruk macierzy jednostkowej o wymiarze 3 × 3 elementów:

M (3 ) =

1 0 0

0 1 0

0 0 1

Instrukcje while, break, return, on error

Pętlę while stosuje się w programie, gdy nieznana jest liczba iteracji potrzebna do

osiągnięcia danego celu. Sekwencje wyrażeń zawarte w pętli while będą wykonywa-

ne, o ile zostanie spełniony podany warunek. Sprawdzenie warunku zachodzi przed

instrukcją. Jeżeli spełniony jest warunek logiczny, wpisany po prawej stronie słowa

kluczowego, następuje realizowanie ciągu instrukcji umieszczonych w bloku.

W każdej z pętli: if , f or, while powtarzanie obliczeń może być wcześniej zatrzyma-

ne, po zastosowaniu instrukcji przerwania break. Użycie tego wyrażenia powoduje

wyjście z pętli.

Zastosowanie instrukcji while wraz z instrukcją break prezentuje przykład, umożli-

wiający obliczenie permutacji n – elementowej (n!)

background image

4. ZAAWANSOWANE ZASTOSOWANIE MATHCAD’A

4.3 Możliwości programowania

40

P ermutacja(n) :=

a ← n

while 1

a ← a · · · (n − 1)

n ← n − 1

(break) if n = 1

a

Wynik dla n = 5

P ermutacja(5) = 120

Wynik przy wykorzystaniu funkcji kalkulatora 5! = 120.

W edytorze MathCAD istnieje możliwość testowania podprogramu. Szczególnie

przydatnym do takiej operacji jest wyrażenie return, które odpowiednio umieszczo-

ne w programie może zwracać wartości zmiennych lokalnych lub spowodować wyjście

z rekurencji.

Działanie instrukcji return ilustruje przykład

5

x := 3 . . . 2

f (x ) :=

x ← |x| if x < 0

x otherwise

return x

Wylistowany wektor wartości argumentu x i funkcji f (x):

x =

f (x) =

-3

-2

-1

0

1

2

3

2

1

0

1

2

Algorytm można odczytać następująco: jeżeli wartość argumentu x jest ujemna,

to funkcja f od x przyjmuje wartość bezwzględną argumentu x, w przeciwnym ra-

zie, kiedy zmienna x jest dodatnia, funkcja zwraca po prostu dodatnią wartość x.

5

Regel W., MathCAD przykłady zastosowań, Wydawnictwo MIKOM, Warszawa 2004

background image

4. ZAAWANSOWANE ZASTOSOWANIE MATHCAD’A

4.4 Tworzenie i formatowanie wykresów

41

W przypadku wystąpienia błędu w treści algorytmu, operator warunkowy on error

określa sposób wykonywania podprogramu. Jeśli w kodzie pojawi się błąd, Math-

CAD przetwarza dane umieszczone z prawej strony wyrażenia, a zwraca argument

wpisany po lewej stronie. Instrukcję on error można wykorzystać na przykład, gdy

wystąpiłby błąd podczas próby dzielenia przez zero

6

. Operator on error zabezpiecza

przed takim działaniem i może przypisać wartości funkcji symbol nieskończoność.

Dana jest funkcja f (x) =

1

x−1

, która dla wartości argumentu x = 1 przyjmuje war-

tość nieokreśloną. Aby uniknąć komunikatu o błędzie można zastosować formułę

on error:

f (x) := ∞ on error

1

x−1

Test tak napisanego podprogramu przeprowadzony jest następująco:

f (1) = 1 × 10

307

f (2) = 1

Zaprezentowane możliwości MathCAD’a w zakresie programowania zostały przed-

stawione na podstawowych instrukcjach sterujących. Aplikacja oferuje użytkowni-

kowi wiele innych i ciekawych przykładów dostępnych w „Resource Center”.

4.4

Tworzenie i formatowanie wykresów

Każde rozwiązanie problemu matematycznego jest bez wątpienia lepiej zrozumia-

łe, kiedy można je obserwować na wykresie bądź animacji. MathCAD umożliwia

użytkownikowi kreowanie satysfakcjonujących wizualizacji z obliczeń numerycznych.

Rezultaty pracy można przedstawić w praktycznie dowolny sposób: od wykresów

jednowymiarowych, przez wykresy 2D (X–Y, biegunowe), wykresy przestrzenne 3D

(powierzchniowe, warstwicowe, słupkowe, punktowe, wektorowe), zakończywszy na

animacjach.

Wykresy tworzone są w programie poprzez wywołanie szablonu wykresu z menu

Insert Graph lub z paska narzędziowego Graph.

Wykresy dwuwymiarowe wymagają wpisania przy obu osiach zmiennych lub wyra-

żeń, które są ciągami liczb lub funkcjami. Na jednym wykresie można przedstawić

kilka funkcji oraz dodawać asymptoty lub punkty kontrolne. Kolejne funkcje doda-

wane są poprzez wpiasanie przecinka w polu opisu funkcji, mogą być one zależne od

6

http://www.ia.agh.edu.pl/personal/pszwed/labsp98/AccessBasic/Bledy.html

background image

4. ZAAWANSOWANE ZASTOSOWANIE MATHCAD’A

4.4 Tworzenie i formatowanie wykresów

42

jednej wspólnej zmiennej lub każda z funkcji może mieć swój niezależny argument.

Wykresy trójwymiarowe mają tylko jeden znacznik dla wpisania nazwy macierzy

lub trzech nazw funkcji oddzielonych przecinkami.

Sposób konstrukcji wykresu dwuwymiarowego przedstawiony jest na przykładzie

krzywych Lissajous, ktore w matematyce opisane są przez równania parametryczne:

x = A sin(at + δ)

y = B sin(bt)

Kształt krzywych jest szczególnie uzależniony od współczynnika a/b. Dla współ-

czynnika równego 1, krzywa jest elipsą, ze specjalnymi przypadkami okrąg (A =

B, δ = π/2 radianów) oraz odcinek (δ = 0). Inne wartości współczynnika dają bar-

dziej złożone krzywe, które są zamknięte tylko gdy a/b jest liczbą wymierną

7

.

W programie zadeklarowane są funkcje:

x(t) := sin(3t)

y(t) := sin(4t)

Z panelu Graph należy wybrać odpowiednią ikonę wykresu (X–Y Plot). Po czym

na wykresie w miejsce argumentu należy wpisać jedną funkcję, a w miejsce wartości

drugą. Po wykonaniu przez użytkownika powyższych czynności MathCAD wygene-

ruje wykres funkcji (Rys. 4.1).

Rysunek 4.1: Wykres krzywych Lissajous

Kolejnym przykładem na wykorzystanie możliwości MathCAD’a w zakresie grafiki

będzie rysunek „Miski” w przestrzeni 3D

8

.

„Miska” – to funkcja zdefiniowana do obliczania sinusa z sumy kwadratów:

Miska(p, q) := sin(p

2

+ q

2

)

Umieszczenie p i q w nawiasach po nazwie funkcji sygnalizuje, że są to parametry

formalne zastosowane tylko do deklaracji funkcji i nie muszą mieć określonych war-

7

http://pl.wikipedia.org/wiki/Krzywe Lissajous

8

Pietraszek J., MathCAD. Ćwiczenia praktyczne, Wydawnictwo HELION, Gliwice 2002

background image

4. ZAAWANSOWANE ZASTOSOWANIE MATHCAD’A

4.4 Tworzenie i formatowanie wykresów

43

tości. Kolejno definiowane są zakresy wskaźników i ciągi wartości, które zostaną

użyte jako argumenty tej funkcji:

i := 0 .. 20

j := 0 .. 20

x

i

:= 1.5 + 0.15i

y

i

:= 1.5 + 0.15j

Wartości dla wykresu trójwymiarowego należy umiszczać w macierzy:

M

i,j

:= Miska(x

i

, y

i

)

Dla weryfikacji można wyświetlić wartości tej macierzy (Rys. 4.2), chociaż dla wy-

kresu nie jest to konieczne.

Rysunek 4.2: Wartości macierzy M

Na ogół MathCAD nie wyświetla całej macierzy, ale wystarczy kliknąć wewnątrz

tablicy, aby pojawiły się paski przewijania.

Po wykonaniu powyższych operacji pozostaje wstawić wykres 3D (Rys.4.3) wy-

brany z palety przycisków. W jedynym znaczniku braku tego wykresu należy

wpisać nazwę macierzy i ustalić typ wykresu, w tym przypadku powierzchniowy

(Surf ace P lot).

Rysunek 4.3: Wykres „M iski

background image

4. ZAAWANSOWANE ZASTOSOWANIE MATHCAD’A

4.4 Tworzenie i formatowanie wykresów

44

Sporządzony wykres funkcji, w przestrzeni 2D bądź 3D, w dokumencie MathCAD’a

można dowolnie formatować.

W celu zmiany wyglądu wykresu X–Y należy na nim kliknąć dwukrotnie mysz-

ką. Pokaże się wówczas okno dialogowe Formatting Currently Selected X–Y Plot,

w którym znajdują się następujące opcje

9

:

Strona X – Axis – grupa opcji odnoszących się do osi X wykresu (opcje doty-

czące osi Y są identyczne):

Log Scale – zmienia skalę liniową na logarytmiczną,

Grid Lines – znaczniki na osiach zostaja zastąpione przez linie siatki,

Numbered – znaczniki na osiach zostaja ponumerowane,

Auto Scale – automatycznie dobiera zakres wartości na osi,

Show Markers – służy do dodania pionowych i poziomych linii,

Auto Grid – automatycznie dobiera linie siatki na wykresie – po wybraniu

tej opcji nie jest dostepne pole Number Of Grids,

Number Of Grids – służy do ustalenia liczby linii siatki, z przedziału od

2 do 99, dla poszczególnych osi,

Axis Style – opcje tej grupy pozwalają dostosować wygląd układu współ-

rzędnych,

Boxed – układ współrzędnych kreślony jest w postaci ramki,

Crossed – układ współrzędnych przedstawiony jest w postaci dwóch osi,

None – brak układu współrzędnych,

Equal Scales – dobór jednakowej skali na obu osiach,

Strona Traces – w tej zakładce ustalane są parametry rysowania kilku funkcji

w jednym wykresie, można te wykresy wyróżnić różnymi kolorami oraz innymi

stylami linii:

Legend Label – lista z nazwami krzywych,

Symbol – określa sposób wyświetlania punktów na wykresie,

9

http://www.lysy79.republika.pl/pliki/is/materialy/mathcad/mathcad1.pdf

background image

4. ZAAWANSOWANE ZASTOSOWANIE MATHCAD’A

4.4 Tworzenie i formatowanie wykresów

45

Line – rodzaj linii, jaką będzie narysowany wykres,

Color – kolor linii,

Type – określa typ wykresu, np. punktowy, liniowy, słupkowy,

Weight – określa grubość linii,

Hide Arguments – ukrywa wartości argumentów,

Hide Legend – ukrywa legendę wykresu,

Strona Labels – służy do nadawania nazw wykresom i osiom:

Title – pole tekstowe do wpisania tytułu wykresu,

Axis Labels – nadanie nazw poszczególnym osiom,

Strona Defaults – pozwala korzystać z ustaleń domyślnych:

Change To Defaults – przywrócenie standardowych ustawień dla aktual-

nego wykresu,

Use For Defaults – umożliwia przyjęcie bieżących ustaleń jako domyślne

dla wszystkich innych wykresów.

W celu przeprowadzenia formatowania wykresu trójwymiarowego należy na jego

obszarze klniknąć dwukrotnie myszką i wybrać odpowiednie opcje z okna dialogo-

wego 3D Plot Format

10

:

Strona General – umożliwia wybór wykresu i jego ogólne parametry:

View – określa wygląd wykesu:

∗ Rotation – kąt obrotu wykresu wokół punktu środkowego wykresu,

od 360 do 360 stopni,

∗ Tilt – kąt obrotu wykresu wokół osi Y, od 0 do 180 stopni,

∗ Twist – kąt obrotu wokółm osi Z, od 360 do 360 stopni,

∗ Zoom – określa stopień powiększenia,

Axes Style – określa wygląd osi współrzędnych:

∗ Perimeter – osie współrzędnych są widocznze,

10

Pietraszek J., MathCAD. Ćwiczenia praktyczne, Wydawnictwo HELION, Gliwice 2002

background image

4. ZAAWANSOWANE ZASTOSOWANIE MATHCAD’A

4.4 Tworzenie i formatowanie wykresów

46

∗ Corner – osie wspólrzędnych rozpoczynają się w tym samym punkcie,

∗ None – osie współrzędnych są niewidoczne,

∗ Equal Scales – taka sama podziałka skali na wszystkich osiach,

Frames– nadanie ramki wykresowi,

Plot 1 – typ wykresu:

∗ Surface Plot – wykres powierzchniowy,

∗ Data Points – wykres punktowy,

∗ Bar Plot – wykres słupkowy,

∗ Contour Plot – wykres konturowy,

∗ Vector Field Plot – wykres wektorowy,

∗ Patch Plot – wykres w postaci niepołączonych prostokątów na róż-

nych poziomach,

Strona Axes – zarządza osiami układu wspólrzędnych (takie same parametry

dla wszystkich osi):

Grids – wprowadza do wykresu pomocnicze linie siatki:

Axis Format – ustalenie formatu osi współrzędnych,

Axis Limits – ustalenie zakresu osi współrzędnych,

Strona Appearance – określa wygląd wykresu:

Fill Options – określa opcje wypełniania wykresu,

Color Options – wybór palety kolorów lub koloru jednolitego,

Line Options – określa opcje linii wykresu,

Point Options – ustala sposobu rysowania punktów na wykresie

Strona Lighting:

Enable Lighting – włacza oświetlenie,

Ambient Light Color – ustala otaczający kolor,

Lighting Scheme – wyświetla listy wbudowanych systemów oświetlenia,

background image

4. ZAAWANSOWANE ZASTOSOWANIE MATHCAD’A

4.4 Tworzenie i formatowanie wykresów

47

Light X – określa oświetlenie kierunkowe

Strona Title:

Graph Title – pole tekstowe do wpisania tytułu wykresu,

Strona Backplanes – ustala wygląd płaszczyzny tła X–Y, Y–Z, X–Z,

Strona Special – określa opcje specjalne wykresu:

Contour Options – opcje konturu,

Bar Plot Layout – opcje wykresu słupkowego,

Interpolated Mesh – przy przekształceniu wykresu punktowego w po-

wierzchniowy należy ustalić liczbę wierszy i kolumn do interpolacji,

Connectivity – ustala sposób połączenia punktów przez linię,

Strona Advanced – określa opcje zaawansowane:

Advanced View Options – zaawansowane opcje widoku,

Printing – opcje drukowania,

Colormap – użycie wybranej palety,

Plot 1 – wybór sposobu rysowania wykresu,

Strona QuickPlot Data – wybór parametrów domyślnych przy szybkim ry-

sowaniu wykresów, gdy nie ma zdefiniowanego zakresu zmienności i układu

współrzędnych:

Range – ustala zakres zmienności,

Coordinate System – określa rodzaj układu współrzędnych.

MathCAD dysponuje szerokim wachlarzem operacji związanych z rysowaniem

wykresów. Na sporządzonym i sformatowanym wykresie funkcji można odczytać

informacje o przebiegu funkcji, punktach przecięcia z inną funkcją, odczytać współ-

rzędne. Takie informacje i wiele innych można uzyskać dzięki opcjom Zoom (po-

większenie) i Trace (śledzenie). Użytkownik MathCAD’a może w dowolny sposób

przeprowadzać zmiany dotyczące typu wykresów i ich atrybutów.

background image

Rozdział 5

Projekt własny – prezentacja

metody Rungego – Kutty

rozwiązywania równań

różniczkowych

5.1

Opis projektu

MathCAD posiada szereg poleceń służących do poszukiwania rozwiązania równania

różniczkowego zwyczajnego. Każde z tych poleceń podaje wynik w postaci nume-

rycznej, a mianowicie macierzy zawierającej wartości funkcji pierwotnej obliczone na

pewnym zbiorze punktów. Wykorzystywane polecenia różnią się głównie techniką

algorytmizacji, stosowaną do znalezienia rozwiązania. Mimo różnic każda z proce-

dur rozwiązujących, dostępnych w programie, wymaga podania co najmniej trzech

czynników:

warunków początkowych,

zbioru punktów, dla których będzie poszukiwane rozwiązanie,

szczególnego zapisu postaci równania różniczkowego (tj. w projekcie poniżej)

Projekt własny zawarty w pracy przedstawia algorytm rozwiązania równania róż-

niczkowego znanego pod nazwą metody Rungego – Kutty. Procedurą wykorzystaną

background image

5. PROJEKT WŁASNY – PREZENTACJA METODY RUNGEGO – KUTTY ROZWIĄZYWANIA RÓWNAŃ
RÓŻNICZKOWYCH

5.2 Kod programu

49

w projekcie jest rkfixed. Funkcja ta stosuje metodę całkowania metodą Runge –

Kutta czwartego rzędu. Po dokonaniu odpowiednich obliczeń funkcją rkfixed i zilu-

strowaniu wyników w formie liczbowej i graficznej, w projekcie przedstawiony jest

algorytm numerycznej metody Runge – Kutta oparty na danych z rozwiązanego

przykładu. Algorytm ten służy do iteracyjnego rozwiązywania równań różniczko-

wych zwyczajnych. Okazuje się, że oba sposoby rozwiązania równania różniczkowego

dają zgodne wyniki. Jednak łatwo można zauważyć, że zastosowanie procedury rkfi-

xed, oferowanej przez aplikację MathCAD, jest znacznie szybsze i przede wszystkim

praktyczniejsze przy wykonywaniu żmudnych obliczeń.

5.2

Kod programu

Dane jest równanie różniczkowe postaci:

π ·

d

2

dx

2

y(x) + 10 · (

d

dx

y(x)) + 100 · y(x) = 50 · cos(4x)

W technice zapisywania równań różniczkowych stosowanych w programie MathCAD

równanie zdefiniowane jest w postaci:

d

dx

[Y

0

(x) = Y

1

(x)]

Równanie drugiego rzędu przekształcone jest do równania pierwszego rzędu:

d

dx

h

Y

1

(x) =

1

π

· [50 · cos(4x) 10 · Y

1

(x) 100 · Y

0

(x)]

i

Wektor wartości początkowych:

wekt pocz :=

5

2

Punkt startowy rozpatrywanego przedziału:

poczatkowa := 0

Punkt końcowy rozpatrywanego przedziału:

koncowa := π

Podział przedziału między zmiennymi „poczatkowa” i „koncowa” (liczba iteracji):

podzial przedzialu := 100

Macierz funkcyjna D zwracająca wartości w postaci wektora, którego elementy są

pierwszymi pochodnymi nieznanych funkcji:

D(x, Y ) :=

Y

1

1

π

[50 · cos(4x) 10 · Y

1

(x) 100 · Y

0

(x)]

background image

5. PROJEKT WŁASNY – PREZENTACJA METODY RUNGEGO – KUTTY ROZWIĄZYWANIA RÓWNAŃ
RÓŻNICZKOWYCH

5.2 Kod programu

50

Zastosowanie procedury rkfixed rozwiązującej równanie różniczkowe metodą Runge-

go - Kutty 4 - rzędu ze stałym krokiem:

A := rkf ixed(wekt pocz, poczatkowa, koncowa, podzial przedzialu, D)

Wartość zmiennej zakresowej j w przedziale:

j := 0 . . . podzial przedzialu

Rozwiązanie w formie liczbowej (Rys. 5.1):

Rysunek 5.1: Wartości macierzy D

Rozwiązanie w formie graficznej (Rys. 5.2):

Rysunek 5.2: Wizualizacja macierzy D

background image

5. PROJEKT WŁASNY – PREZENTACJA METODY RUNGEGO – KUTTY ROZWIĄZYWANIA RÓWNAŃ
RÓŻNICZKOWYCH

5.2 Kod programu

51

Algorytm metody Rungego – Kutty w oparciu o dane z rozwiązanego przykładu

Deklaracja wartości ilorazu rozpiętości przedziału rozwiązania i wartości podzia-

łu przedziału:

h :=

koncowa−poczatkowa

podzial przedzialu

Przypisanie elementom wektorów poszczególnych wartości:

x

0

:= poczatkowa

y

<0>

:= wekt pocz

które w przykładzie odpowiednio wynoszą:

x

0

= 0

y

<0>

=

5

2

Tak więc drugie elementy wektorów odpowiednio wynoszą:

x

1

:= x

0

+ h

x

1

= 0.031

oraz

y

<0>

+ h · D(x

0

, y

<0>

) =

4.937

1.5

Wykonanie obliczeń w czterech krokach, w celu sprawdzenia wartości otrzymanych

powyżej:

k1 := h · D(x

0

, y

<0>

)

k2 := h · D(x

0

+

h

2

, y

<0>

+

k1

2

)

k3 := h · D(x

0

+

h

2

, y

<0>

+

k2

2

)

k4 := h · D(x

0

+ h, y

<0>

+ k3)

Wydruk kontrolny obliczonych wartości:

k1 =

0.063

0.5

k2 =

0.055

0.424

background image

5. PROJEKT WŁASNY – PREZENTACJA METODY RUNGEGO – KUTTY ROZWIĄZYWANIA RÓWNAŃ
RÓŻNICZKOWYCH

5.2 Kod programu

52

k3 =

0.056

0.424

k4 =

0.05

0.346

Algorytm obliczenia kontrolnego:

y

<1>

:= y

<0>

+



k1

6

+

k2

3

+

k3

3

+

k4

6



y

<1>

:=

4.944

1.577

Wartości w obu przypadkach są zgodne.

Wykonanie drugiego kroku całkowania:

x

2

:= x

1

+ h

x

2

:= 0.063

m1 := h · D(x

1

, y

<1>

)

m2 := h · D(x

1

+

h

2

, y

<1>

+

m1

2

)

m3 := h · D(x

1

+

h

2

, y

<1>

+

m2

2

)

m4 := h · D(x

1

+ h, y

<1>

+ m3)

Wydruk kontrolny obliczonych wartości:

m1 =

0.05

0.346

m2 =

0.044

0.266

m3 =

0.045

0.266

m4 =

0.041

0.185

background image

5. PROJEKT WŁASNY – PREZENTACJA METODY RUNGEGO – KUTTY ROZWIĄZYWANIA RÓWNAŃ
RÓŻNICZKOWYCH

5.2 Kod programu

53

Algorytm obliczenia kontrolnego i wydruk wartości obliczonych w drugim kroku

całkowania:

y

<2>

:= y

<1>

+



m1

6

+

m2

3

+

m3

3

+

m4

6



y

<2>

:=

4.899

1.311

Porównanie otrzymanych wartości z dwóch kroków całkowania. Zestawienie

w postaci macierzy.

Z rozwiązania metodą rkfixed przy wykorzystaniu funkcji submatrix (utworzenie

podmacierzy z macierzy wynikowej A):

submatrix(A, 0, 2, 0, 2) =

0

5

2

0.031 4.944 1.577

0.063 4.899 1.311

Z rozwiązania przy użyciu algorytmu metody Runge – Kutta, przy wykorzystaniu

funkcji augment (utworzenie macierzy z wektorów danych x i y

T

):

augment(x, y

T

) =

0

5

2

0.031 4.944 1.577

0.063 4.899 1.311

Wniosek:

Można zauważyć, że otrzymane wyniki są zgodne i mogą stanowić ilustrację

do algorytmu stosowanego w numerycznym rozwiązywaniu równań różniczkowych

bazujących na metodzie „rk ” – metodzie Runge - Kutta.

background image

Zakończenie

Przedstawione w pracy możliwości pakietu MathCAD, to jedynie ich ogólny zarys.

Niełatwo jest scharakteryzować całą paletę zastosowań MathCAD’a, gdyż wymienie-

nie wszystkich jego właściwości polegałoby na napisaniu podręcznika użytkownika.

Podsumowując krótką prezentację potencjału MathCAD’a śmiało można go określić

uniwersalnym i przede wszystkim profesjonalnym programem matematycznym. Ze

względu na zintegrowane środowisko pracy tego programu można nazwać go „kom-

bajnem”, cenionym przez coraz większe grono naukowców, inżynierów i studentów.

Przy wyborze programu obliczeniowego warto mieć na uwadze, iż operacje wyko-

nywane w edytorze MathCAD mają jawną formę i dodatkowo istnieje możliwość

kontrolowania poprawności obliczeń. Dostępnych jest wiele innych konkurencyjnych

aplikacji do obliczeń matematycznych, jednak często są one czasochłonne, gdyż opa-

nowanie ich obsługi niejednokrotnie sprawia kłopoty. Tak więc nie mają one szansy

na powszechne zastosowanie, w odróżnieniu od pakietu MathCAD, w którym pra-

ca jest dużo bardziej intuicyjna dla użytkownika. Dzięki temu MathCAD zajmuje

szczególną pozycję, a sposoby wykorzystania funkcji oferowanych przez aplikację są

ograniczone wyłącznie wyobraźnią użytkownika.

background image

Bibliografia

[1] W. Paleczek: MathCAD 12, 11, 2001i, 2001, 2000 w algorytmach, Aka-

demicka Oficyna Wydawnicza EXIT, Warszawa 2005

[2] W. Regel: MathCAD przykłady zastosowań, Wydawnictwo MIKOM, War-

szawa 2004

[3] J. Pietraszek: MathCAD. Ćwiczenia praktyczne, Wydawnictwo HELION,

Gliwice 2002

[4] M. Sokół: MathCAD leksykon kieszonkowy, Wydawnictwo HELION, Gli-

wice 2005

[5] L. Włodarski, W. Krysicki: Analiza matematyczna w zadaniach, część I,

Wydawnictwo Naukowe PWN, Warszawa 1999

[6] M. Gewert, Z. Skoczylas: Analiza matematyczna 2, Oficyna Wydawnicza

GiS, Wrocław 2005

[7] A. Bodnar, W. Dziewiałtowski, T. Ziębakowski: MathCAD instrukcja do

ćwiczeń laboratoryjnych z informatyki, Politechnika Szczecińska, Wydział

Mechaniczny, Szczecin 2002

[8] http://adam.imir.agh.edu.pl/dydakt/mcad/wpr mcad.pdf

[9] http://www.ia.agh.edu.pl/personal/pszwed/labsp98/AccessBasic/Bledy.html

[10] http://www.lysy79.republika.pl/pliki/is/materialy/mathcad/mathcad1.pdf

[11] http://pl.wikipedia.org/wiki/Krzywe Lissajous

background image

Załączniki

Płyta CD zawiera:

egzemplarz pracy w formie elektronicznej,

prezentację pracy,

plik aplikacji MathCAD z projektem.


Wyszukiwarka

Podobne podstrony:
Adamowski Nauczanie oparte na r mozliwosci zastosowania w psych (2)
1 Ocena możliwości zastosowania procedury podejmowania?cyzji w organizacjach niezhierarchizowanych
Joniec, Dudkiewicz Możliwość zastosowania wybranych gatunków roślin okrywowych w architekturze krajo
zadanie pochodne, Zarządzanie UMK, I rok, Zastosowanie matematyki w zarządzaniu
Zastosowanie matematyki w technice termin II
CAŁKI Z ZASTOSOWANIAMI, Matematyka, Analiza
Postęp i możliwości zastosowania genomiki w hodowli drzew leśnych
Możliwość zastosowania metody biograficznej w pracy z człowiekiem dorosłym, andragogika
Kant - mozliwosc czystej matematyki, Filozofia matematyki
Kant mozliwosc czystej matematyki
Możliwości zastosowania metody PNF i kinesiotapingu w leczeniu młodzieńczej kifozy piersiowej ppt
macierze, Zastosowanie matematyki w ekonomii i zarządzaniu
MOŻLIWOŚCI ZASTOSOWANIA TERAPII MANUALNEJ W LECZENIU SKOLIOZ, Masażysta, wady postawy
zastosowanie matematyki, zastosy
Pochodne i ich zastosowania, Matematyka, Analiza
zastosowanie matematyki

więcej podobnych podstron