MATHCAD 000 ściąga do ćwiczeń z podstaw informatyki 1. Wprowadzenie Mathcad 000 to profesjonalny program matematyczny służący do rozwiązywania różnego typu zagadnień inżynierskich. Umożliwia prowadzenie zaawansowanych obliczeń numerycznych, jak również przekształceń symbolicznych (m.in. symboliczne obliczenia pochodnych, całek i granic funkcji), czyli operacji związanych z analizą matematyczną. W porównaniu do konkurencyjnych produktów Mathcad zajmuje szczególną pozycję. Pomimo faktu, że w obliczeniach numerycznych jest słabszy od Mathlaba a w obliczeniach symbolicznych wyraźnie ustępuje Mathematice, to jednak wyróżnia się z pośród innych pakietów: łatwością obsługi, pracą zbliżoną do naturalnych rachunków prowadzonych na kartce papieru, symboliczną prezentacją tworzonych wzorów (zgodną z ogólnie panującymi zwyczajami), wygodnym tworzeniem wykresów, operowaniem i przeliczaniem jednostek miar, pełnym wykorzystaniem graficznego środowiska systemów Windows. Obszar roboczy Mathcad używa standardowego interfejsu Windows (zob. rysunek powyżej), dlatego w niniejszym kursie pominiemy oczywiste elementy klikologii i klawiszologii stosowanej, a skupimy się na charakterystycznych dla Mathcada operacjach edycyjnych. 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). Opracował: Tomasz Sokół, OMK, styczeń 001
MATHCAD 000 ściąga do ćwiczeń z podstaw informatyki /8 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, o których dowiemy się z przykładów).. Uwagi dotyczące ćwiczeń w pracowniach OMK Wszystkie przykłady prezentowane na ćwiczeniach oraz materiały pomocnicze są dostępne w postaci elektronicznej jako pliki Mathcada (*.mcd) w katalogu K:\bufor\mathcad. Dodatkowe materiały pomocnicze (przygotowane przez Piotra Knyziaka) znajdują się w podkatalogu...\pk. Proszę pamiętać aby nie otwierać plików bezpośrednio z dysku K:, gdyż może to zablokować dostęp innym użytkownikom. Przed otwarciem danego pliku proszę zrobić jego kopię na dysku I: lub w C:\Temp i ewentualnie utworzyć odpowiedni skrót na pulpicie. (Jeżeli mamy dużo miejsca na dysku I: to najwygodniej skopiować tam cały katalog...\mathcad). 3. Informacje podstawowe przegląd Punkt niniejszy stanowi przegląd operatorów, klawiszy funkcyjnych i narzędzi stosowanych w Mathcadzie. Pomyślany został jako mała ściąga pomocna przy realizacji przykładów prezentowanych na ćwiczeniach. Zanim zadasz pytanie prowadzącemu zajęcia zajrzyj tutaj i spróbuj samodzielnie znaleźć odpowiedź. Pamiętaj, że podane tu informacje są wybiórcze, gdyż mają jedynie ułatwić początki pracy z Mathcadem. Szczegółowe i pełniejsze informacje należy szukać w systemie pomocy Resource Center. Zamiast żmudnego czytania tego punktu zacznij po prostu pracę z Mathcadem i naucz się efektywnie posługiwać wbudowanym systemem pomocy. 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).
MATHCAD 000 ściąga do ćwiczeń z podstaw informatyki 3/8 Wybrane funkcje wbudowane System Mathcad dysponuje ogromną liczbą wbudowanych funkcji matematycznych, takich jak: funkcje trygonometryczne, sin, cos, tan, cot wykładnicze exp, log, ln wektorowe, max, min, matrix, diag, rows, cols 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 podajemy tylko dwa przykłady: lsolve(a, v) rozwiązywanie układu równań liniowych, find(x1, x,...) poszukiwanie rozwiązania równań nieliniowych. Predefiniowane zmienne globalne π = 3.14159... e =.7188... ORIGIN = 0 definiuje początkowy indeks pierwszego elementu wektorów i macierzy TOL = 10-3 dopuszczalny błąd względny przy obliczaniu całek, rozwiązywaniu równań, itp. 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+.)
MATHCAD 000 ściąga do ćwiczeń z podstaw informatyki 4/8 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 + b i, lub a + b j. 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, x.. x3 (zamiast dwóch kropek.. używamy średnika ;) gdzie x jest nazwą definiowanej zmiennej, x1 i x3 oznaczają początek i koniec zakresu, a x (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. wygodnie jest zdefiniować następującą zmienną zakresową: x := 1, 1... 5. Po wpisaniu formuły f(x) = Mathcad poda wszystkie wyniki (dla kolejnych x) w postaci tablicy. Wektory i macierze Wiele zagadnień matematycznych zapisać można w zwartej notacji macierzowej. Mathcad umożliwia definiowanie wektorów i macierzy na wiele różnych sposobów. Typowe operacje algebraiczne jak dodawanie czy mnożenie macierzy zapisujemy w naturalny sposób, korzystając ze standardowych operatorów +, -, *, itd. Jednak istnieje wiele specyficznych operatorów mających zastosowanie jedynie dla zmiennych wektorowych lub macierzowych. Najważniejsze z nich zostały przedstawione w załączniku 1, w sekcji operacje macierzowe. Szczegółowe informacje dotyczące problematyki notacji macierzowej w Mathcadzie zostaną pokazane w przykładach. Uwaga: Domyślnie, początkowy indeks wektorów i macierzy w Mathcadzie zaczyna się od 0 a nie od 1, można go zmienić poprzez przedefiniowanie wbudowanej zmiennej globalnej ORIGIN. Aby początkowe indeksy wektorów i macierzy zaczynały się od 1 należy na początku dokumentu wpisać następującą definicję: ORIGIN := 1 lub zmienić wartość tej zmiennej w menu Math/Options.
MATHCAD 000 ściąga do ćwiczeń z podstaw informatyki 5/8 Wykresy funkcji 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. obok). 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. 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. Tematy pominięte w niniejszym opracowaniu W niniejszym przeglądzie nie ma miejsca na prezentację innych funkcji Mathcada. Pominięte zostały takie tematy jak osadzanie obiektów i dynamiczna wymiana danych czy współpraca z pakietami pomocniczymi AxumLE i SmartSketch. Zainteresowanych odsyłamy jak zwykle do Resource Center. 4 tan( x) sin( x) cos( x) 4 π π 4 0 4 x π π 4. 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 ( )
MATHCAD 000 ściąga do ćwiczeń z podstaw informatyki 6/8 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 odpowiednie nawiasy (zob. opis klawiszy we wzorze drugim). 1 + 3 = 7 1, +,, *, 3, = ( 1 + ) 3 = 9 1, +,, spacja, *, 3, = 1 1 1 + + = 0.5 6 4 1 1, /, 6, spacja, +, 1, /, 4, spacja, +, 1, /, 1, = 1 1 1 1 + + 6 4 1 1, /, 6, spacja, +, 1, /, 4, spacja, +, 1, /, 1, Ctrl+. sin π 6 1 Definiowanie zmiennych i funkcji, proste obliczenia sin(, Ctrl+Shift+P, /, 6, ), Ctrl+. Kolejne znaki oddzielono przecinkami ich nie wpisujemy!!! a := 1 b := 5 c := 6 a, : dwukropek, 1 (itd)) a+ b = 4 a, +, b, = a+ b c = 9 fx ():= ax + bx + c a, +, b, *, c, = f(x), : dwukropek, a, *, x, ^,, spacja, +, b, *, x, +, c f1 ( ) = f0 ( ) = 6 f(1)= Rozwiązanie równania kwadratowego f(x) = 0 := b 4a c = 1 D, Ctrl+G, :, b^, spacja, -4a*c x1 := b a x1 = x1, :, -, b, -, \, D, Ctrl+G, spacja, spacja, /, a, x1, = x := b + a x = 3 jak wyżej 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: fx () 0solve, x 3 f(x), Ctrl+=, 0, Ctrl+Shift+., solve, przecinek, x, Enter
MATHCAD 000 ściąga do ćwiczeń z podstaw informatyki 7/8 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. wykres fx () 1 1 3 4 1 x opis czynności 1. z klawiatury Shift+@ lub myszką menu Insert/Graph/X-Y Plot. w pole opisu funkcji wpisać f(x) 3. w pole argumentu wpisać x 4. w polach zakresu argumentu podać 1 i 4 5. sformatować wykres przez podwójne kliknięcie i wybranie odpowiednich opcji np.: X-Y Axes / Axes Style / Crossed Jednostki miar stosowanie miar 1km + 0m + 34cm = 100.34 m 1, km, +, 0, m, +, 34, cm, = 1ft = 30.48 cm 1, ft, =, cm (w polu jednostki wyniku) przykład:na ciało o pewnej masie działa siła F = 0kN. Oblicz jego masę jeżeli wiadomo, że przyspieszenie wynosi a = 10m/s. kn F := 1000N definicja własnej jadnostki miar := 0kN a := 10 m s m := F m = 000 kg a Zmienne zakresowe (przykład tablicowania funkcji) fx ():= ( x ) ( x 3) f(x), :, (x-), (x-3) x := 1, 1.5.. 4 x, :, 1, przecinek, 1.5, ;średnik, 4 fx () 0.75 0-0.5 0 0.75 = f(x), =, (plus myszka wyrównanie - Center) Inne przykłady Przykłady omówione powyżej znajdują się w pliku mcad_1.mcd. Pozostałe przykłady (dotyczące operacji macierzowych, rozwiązywania równań i przekształceń symbolicznych) należy szukać w kolejnych plikach ćwiczeniowych od mcad_.mcd do mcad_5.mcd.
MATHCAD 000 ściąga do ćwiczeń z podstaw informatyki 8/8 Załącznik 1: Definicja i obliczanie Operatory arytmetyczne Operatory logiczne Pochodne, całki, granice Operatory macierzowe Litery greckie, klaw. edycyjne Podstawowe operatory Mathcada Klawisz Operacja : dwukropek := definicja zmiennej lub funkcji lokalnej ~ tylda definicja globalna = numeryczne obliczenie wyrażenia Ctrl+. kropka symboliczne obliczenie wyrażenia Ctrl+Shift+. symboliczne obliczanie z kluczem + dodawanie - odejmowanie lub negacja * mnożenie / dzielenie Ctrl+/ dzielenie w wierszu Ctrl+Enter dodawanie z przeniesieniem do następnego wiersza ^ potęgowanie (, ), apostrof nawiasy: (lewy, )prawy, dwustronny-automatyczny \ pierwiastek kwadratowy Ctrl+\ pierwiastek dowolnego stopnia wartość bezwzględna lub wyznacznik macierzy " liczba sprzężona zespolona! silnia (n!) < mniejszy > większy Ctrl+9 mniejszy lub równy Ctrl+0 większy lub równy Ctrl+= równy Ctrl+3 nie równy? pochodna pierwszego rzędu Ctrl+? pochodna dowolnego rzędu & całka oznaczona Ctrl+I całka nieoznaczona Ctrl+L granica dwustronna Ctrl+A granica prawostronna Ctrl+B granica lewostronna $ suma po zmiennej iteracyjnej Ctrl+4 suma elementów wektora Ctrl+Shift+4 suma od..do # iloczyn po zmiennej iteracyjnej Ctrl+Shift+3 iloczyn od..do, przecinek oddzielanie argumentów funkcji lub elementów wektora ; średnik definicja zakresu (zmiennej iteracyjnej). kropka separator liczb dziesiętnych lub indeks dolny ozdobny (zwykły) [ indeks elementu wektora Ctrl+8 iloczyn wektorowy Ctrl+1 transpozycja wektora lub macierzy Ctrl+6 kolumna macierzy ^-1 macierz odwrotna Ctrl+- minus operator wektoryzacji obliczeń Znak + Ctrl+G litery greckie (alfa, beta,...) Ctrl+Shift+P liczba pi Ctrl+Shift+Z znak nieskończoności Insert przełączenie punktu wstawiania (początek-koniec) Spacja poszerzenie aktywnego wyrażenia Tab, Shift+Tab aktywacja kolejnego lub poprzedniego pola Ctrl+D usunięcie aktywnego regionu