ZAKŁAD AUTOMATYKI I INŻYNIERII POMIAROWEJ
MODELOWANIE CYFROWE
Z WYKORZYSTANIEM PROGRAMU MATHCAD
Ćwiczenie
Modelowanie cyfrowe z wykorzystaniem
programu MathCad
I. Wstęp
Mathcad, produkt firmy PTC, to najczęściej używany program do obliczeń inżynierskich na świecie. Korzysta z niego ponad 1.8 miliona użytkowników w ponad 50 krajach. Środowisko programu Mathcad umożliwia inżynierom wszystkich dziedzin efektywne wykorzystanie jego możliwości na każdym etapie projektowania. Unikalne narzędzia obliczeniowe oraz wbudowany język programowania umożliwiają dokonywanie zaawansowanych obliczeń matematycznych z uwzględnieniem najważniejszych aspektów dokumentacji takich jak: bezpieczeństwo, sprawność czy produktywność. Mathcad to także: zwiększenie wydajności, skrócenie procesu projektowania, znaczne poprawienie jakości produktu oraz lepsze dostosowanie do istniejących przepisów. Cechą charakterystyczną Mathcada jest łatwość obsługi, a w szczególności łatwość tworzenia rozmaitych wykresów. Interfejs Mathcada imituje notatnik i jest intuicyjny w użyciu, a wiele operacji daje się realizować za pomocą myszy. Równania i wyrażenia algebraiczne wyświetlane są w postaci graficznej, a nie tekstowej.
Mathcad to również uniwersalny program algebry komputerowej. Bogaty zakres jego operatorów i funkcji wykorzystywany jest do wykonywania różnego rodzaju obliczeń. Program ten pozwala na tworzenie dokumentacji projektowej, a także umożliwia na przykład generowanie wykresów funkcji jednej i dwóch zmiennych, wykonywanie operacji na wektorach i macierzach oraz analizę matematyczną. Mathcad zawiera wiele przydatnych narzędzi -- na przykład funkcję obracania wykresu, dzięki której zwiększa się czytelność edytowanego obrazu.
Niektóre możliwości Mathcada:
* Rozwiązywanie równań różniczkowych - do dyspozycji jest kilka metod numerycznych
* Wykreślanie wykresów funkcji jednej i dwu zmiennych
* Wykorzystanie wielkich i małych liter alfabetu greckiego w wyrażeniach
* Obliczenia symboliczne
* Operacje na wektorach i macierzach
* Symboliczne rozwiązywanie układów równań
* Dopasowywanie krzywych do zadanego układu punktów na płaszczyźnie
* Tworzenie własnych podprogramów przez użytkownika
* Znajdowanie pierwiastków wielomianów i innych funkcji
* Wbudowane rozkłady prawdopodobieństwa i funkcje statystyczne
* Znajdowanie wektorów i wartości własnych
II. Obsługa programu
Rys. 1 Obszar roboczy programu MathCad
Mathcad używa standardowego interfejsu Windows rysunek powyżej). Naszym głównym celem jest zapoznanie się z ogromnymi możliwościami pakietu i zrozumienie specyfiki obliczeń numerycznych (np. źródeł powstawania błędów numerycznych).
Jak widać na przedstawionym rysunku, okno robocze Mathcada zawiera oprócz menu głównego różne paski narzędzi, które podobnie jak w aplikacjach MS-Office można dowolnie rozmieszczać na pulpicie. Korzystanie z tych narzędzi odbywa się w standardowy sposób, to jest poprzez kliknięcie myszą lub zastosowanie odpowiedniego skrótu z klawiatury. Mathcad stosuje specyficzny sposób edycji wyrażeń matematycznych, podobny do używanego w programie Word edytora równań - tu również operujemy tzw. kursorem dwuwymiarowym, który oprócz punktu wstawiania pokazuje zakres aktywnego argumentu (szczegóły podane zostaną w przykładach).
Regiony
Wszystkie dane (wzory, wyniki, wykresy) są przechowywane w prostokątnych polach zwanych regionami. W odróżnieniu od komórek Excela mogą one zajmować dowolną pozycję na arkuszu roboczym. Regiony przeznaczone są przede wszystkim do przechowywania wzorów matematycznych ale mogą również zawierać zwykły tekst (komentarze itp.), grafikę (np. wykresy funkcji) oraz obiekty osadzone - tworzone przez inne aplikacje Windows.
Należy wspomnieć, że sposób rozmieszczenia regionów ma wpływ na kolejność wykonywanych operacji i widzialność definiowanych przez użytkownika zmiennych, powinien więc być
dopasowany do realizowanego algorytmu obliczeniowego. Mathcad przelicza kolejne regiony w naturalny sposób, począwszy od lewego górnego rogu „idąc” w prawo i w dół. (Wyjątkiem od tej zasady są tzw. zmienne globalne.)
Podstawowe operatory
Wykaz stosowanych w Mathcadzie operatorów i odpowiadających im klawiszy funkcyjnych przedstawiono w załączniku 1. Większość podanych tam skrótów klawiaturowych nie trzeba pamiętać gdyż można je zastąpić kliknięciem odpowiedniej ikonki z pasków narzędziowych lub z menu głównego. Operowanie myszką jest jednak wolniejsze i często mniej wygodne, dlatego warto chociaż pobieżnie zapoznać się z przedstawioną tabelą i zapamiętać kilka kluczowych skrótów klawiaturowych. Przegląd pozostałych klawiszy funkcyjnych można znaleźć w systemie pomocy„Resource Center” (hasło: keyboard help).
Wybrane funkcje wbudowane
System Mathcad dysponuje ogromną liczbą wbudowanych funkcji matematycznych, takich jak:
funkcje trygonometryczne, sin, cos, tan, cot
wykładnicze exp, log, ln
statystyczne, normal, gamma.
Istnieją ponadto funkcje-procedury dedykowane do rozwiązywania konkretnych zagadnień. Ich
używanie jest już trudniejsze i wymaga pewnej wiedzy z metod numerycznych, jednak im właśnie
należy poświęcić więcej czasu aby móc w pełni korzystać z potencjału obliczeniowego Mathcada.
Na początek podaję tylko dwa przykłady:
lsolve(A, v) - rozwiązywanie układu równań liniowych,
find(x1, x2, ...) - poszukiwanie rozwiązania równań nieliniowych.
Definiowanie własnych zmiennych i funkcji
Kluczową rolę w obliczeniach prowadzonych w Mathcadzie odgrywa możliwość definiowania własnych zmiennych i funkcji. Raz zdefiniowaną zmienną lub funkcję można używać wielokrotnie upraszczając i zwiększając przejrzystość obliczeń. Zmienne (lub funkcje) mogą mieć zasięg lokalny lub globalny. Zmienne lokalne widziane są na prawo i poniżej definicji, natomiast zmienne globalne widziane są w całym arkuszu niezależnie od miejsca ich definicji.
Definicja zmiennej lokalnej ma postać:
nazwa_zmiennej_lokalnej :=wartość (lub ogólniej - wyrażenie),
a zmiennej globalnej:
nazwa_zmiennej_globalnej ≡ wartość.
Operatory ”:=” i ”≡” uzyskujemy poprzez wpisanie z klawiatury odpowiednio dwukropka ”:” lub tyldy ”~” - Mathcad automatycznie przekształca wpisane znaki do postaci wyświetlanej powyżej. Wartości zmiennych lokalnych można zmieniać w trakcie obliczeń - zmienna może przechowywać różne wartości w kolejnych etapach obliczeń - nowa definicja niszczy starą.
Uwaga: Mathcad rozróżnia wielkie i małe litery a nawet rodzaj zastosowanej czcionki. Na przykład
zmienne: abc, ABC oraz abc oznaczają trzy różne wielkości.
Obliczenia symboliczne kontra numeryczne
Mathcad dysponuje dwoma niezależnymi mechanizmami przetwarzania danych:
obliczenia numeryczne - stosowane w typowych zagadnieniach inżynierskich, gdzie głównym celem jest znalezienie rozwiązania w postaci konkretnych wartości liczbowych,
wyrażenie = wynik w postaci liczby (klaw. =)
obliczenia symboliczne - stosowane przede wszystkim w analizie matematycznej, w której (o ile to możliwe) staramy się uzyskać rozwiązanie w postaci zwięzłego wzoru matematycznego
wyrażenie → wynik w postaci wzoru (klaw. Ctrl+. lub Shift+Ctrl+.)
W wielu przypadkach możemy stosować obydwie metody zamiennie lub równolegle, jednak istnieją klasy zagadnień do rozwiązania których prowadzi tylko jedna z nich. Na przykład pochodne lub całki nieoznaczone obliczamy w sposób symboliczny, podczas gdy rozwiązanie równania przestępnego możemy (w ogólnym przypadku) przeprowadzić jedynie na drodze numerycznej.
Warto zauważyć, że obliczenia symboliczne pozwalają na lepszą ocenę jakościową wyników, ale są
kosztowne i nie zawsze możliwe do przeprowadzenia.
Jednostki miar
Jedną z wyróżniających cech Mathcada jest automatyczne przeliczanie różnych jednostek miar.
Mathcad rozpoznaje systemy miar m.in.: SI (m, s, kg,...), CGI (cm, sec, gm,...), US (ft, sec, lb,...).
Jednostkę miary dodajemy bezpośrednio po liczbie (lub wyrażeniu) z użyciem lub bez operatora mnożenia (szczegóły podane będą w przykładach). Możemy definiować własne jednostki miar - jako pochodne od miar pierwotnych. Wykaz predefiniowanych miar i odpowiadających im skrótów znaleźć można w Resource Center (hasło: units and dimensions).
Liczby zespolone
Mathcad stosuje powszechną notację liczb zespolonych: a + bi, lub a + bj. Literę „i” lub „j” należy podać podobnie jak jednostkę miary zaraz po liczbie (lub wyrażeniu), jednak nie można ich stosować oddzielnie, tzn. litera i (lub j) musi być poprzedzona wyrażeniem, w szczególnym przypadku liczbę urojoną i zapisujemy jako 1i. Mathcad automatycznie rozpoznaje zespolone argumenty w operatorach i funkcjach oraz stosuje zespolone odpowiedniki tych funkcji.
Zmienne zakresowe - obliczenia iteracyjne
Szczególnym typem zmiennych w Mathcadzie są zmienne zakresowe „od..do”, służące przede wszystkim do obliczeń cyklicznych lub iteracyjnych. Typowym ich zastosowaniem jest tablicowanie wartości funkcji lub obliczanie sum szeregów. Mają również zastosowanie w różnego rodzaju operacjach macierzowych. Zmienne zakresowe definiujemy w postaci:
x := x1, x2 .. x3 (zamiast dwóch kropek .. używamy średnika ;)
gdzie x jest nazwą definiowanej zmiennej, x1 i x3 oznaczają początek i koniec zakresu, a x2 (opcjonalne) określa w sposób pośredni przyrost kolejnych elementów ciągu. Na przykład do stablicowania funkcji f(x) w przedziale od 1 do 5 co 0.2 wygodnie jest zdefiniować następującą
zmienną zakresową:
x:=1, 1.2 .. 5.
Po wpisaniu formuły „f(x) =” Mathcad poda wszystkie wyniki (dla kolejnych x) w postaci tablicy.
Wykresy funkcji
Rys.2 Przykłady wykresów utworzonych w MathCadzie
Wykresy w Mathcadzie tworzymy z menu Insert/Graph lub z paska narzędziowego Graph. Na jednym wykresie można przedstawić kilka funkcji oraz dodawać punkty kontrolne lub asymptoty (rys. 2). Kolejne funkcje dodajemy poprzez wpisanie przecinka w polu opisu funkcji, mogą być one zależne od jednej wspólnej zmiennej lub każda z funkcji może mieć swój niezależny argument. Formatowanie wykresu odbywa się po jego podwójnym kliknięciu i wybraniu odpowiednich opcji z okienka dialogowego.
Pola tekstowe
Pola tekstowe służą do dokumentowania prowadzonych obliczeń (komentarze, objaśnienia, itp.). Domyślnie każdy nowo tworzony region zawiera równanie, jednak po wpisaniu pierwszego wyrazu i spacji automatycznie zmienia się w region tekstowy. Pewniejszym sposobem jest zastosowanie cudzysłowu [”] na początku wpisywanego tekstu - jest to sygnał dla Mathcada, że chcemy wpisywać tekst a nie wzór. Teksty możemy formatować jak w zwykłych edytorach tekstu lub pośrednio poprzez zastosowanie styli (podobnie jak w Wordzie).
Formatowanie danych i wyników
Formatowanie równań i wyników uzyskujemy z menu Format/Equation i Format/Result. Za pomocą tych funkcji możemy ustawić rodzaj i wielkość czcionki lub ilość cyfr wyświetlanych w wynikach.
Pozycjonowanie regionów
Przejrzystość tworzonej w Mathcadzie dokumentacji uzyskamy poprzez właściwe rozmieszczenie
regionów, tak aby nie zachodziły na siebie i były odpowiednio wyrównane. Pomocne w tym celu są
funkcje z menu Format/Separate_Regions i Format/Align_Regions.
III. Przykłady demonstracyjne
W punkcie tym przedstawiamy kilka podstawowych przykładów pokazujących jak wykonać konkretne zadanie w Mathcadzie. Część z nich opatrzona została komentarzem „krok po kroku”, ułatwiającym zrozumienie jak wprowadzać dane z klawiatury (lub za pomocą myszki).
Inteligentny kalkulator
Mathcad można używać podobnie do zaawansowanego kalkulatora matematycznego (jak w poniższym
przykładzie). Warto zwrócić uwagę na różnice w numerycznym (=) i symbolicznym (→) obliczaniu wyrażeń. Podczas edycji wzorów bardzo przydatnym klawiszem jest spacja, która umożliwia łatwe grupowanie pól przed zastosowaniem kolejnego operatora - w razie potrzeby Mathcad sam generuje
POLECENIE
Istnieją wygodniejsze i mniej pracochłonne sposoby rozwiązywania równań - zamiast liczyć
pierwiastki „na piechotę” można zlecić to zadanie Mathcadowi (w wielu przypadkach wykona je
lepiej od nas!). Tematyka ta omówiona zostanie bardziej szczegółowo na ćwiczeniach, a poniżej
przedstawiamy jeden z prostszych sposobów:
Definiowanie zmiennych i funkcji, proste obliczenia
Rozwiązanie równania kwadratowego
POLECENIE
Tworzenie wykresu funkcji
Poniżej opisano sposób tworzenia i formatowania wykresu. Wykorzystano własną funkcję f(x)
zdefiniowaną w poprzednim przykładzie. Analogicznie tworzymy wykresy innych funkcji.
Zmienne zakresowe (przykład tablicowania funkcji)
IV. Przebieg ćwiczenia laboratoryjnego
Zapoznać się z budową i działaniem aplikacji inżynierskiej MATHCAD
Wykonać zadanie wkładające się z kilkunastu poleceń wykorzystujących możliwości zastosowania programu MATHCAD
Sprawdzić poprawność wykonanych obliczeń i wykresów
Wydrukować na zajęciach laboratoryjnych otrzymane wyniki. Wydruk dołączyć do sprawozdania z ćwiczenia.
- 11 -
POLITECHNIKA RADOMSKA - INSTRUKCJA DO ĆWICZENIA