MATHCAD 2000 – ćwiczenia z podstaw informatyki
Transkrypt
MATHCAD 2000 – ćwiczenia z podstaw informatyki
MATHCAD 2000 – ściąga do ćwiczeń z podstaw informatyki 1. Wprowadzenie Mathcad 2000 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ń 2001 MATHCAD 2000 – ściąga do ćwiczeń z podstaw informatyki 2/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). 2. 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 2000 – ś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, x2, ...) – poszukiwanie rozwiązania równań nieliniowych. Predefiniowane zmienne globalne π = 3.14159... e = 2.71828... 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 2000 – ś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, 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. 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 2000 – ściąga do ćwiczeń z podstaw informatyki 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. 5/8 4 4 −π 2 π 2 2 tan( x) sin( x) 2 0 2 cos( x) 2 −4 4 −π x π 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. 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. 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 2000 – ś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). wzór klawiatura 1 + 2 ⋅3 = 7 1, +, 2, *, 3, = ( 1 + 2) ⋅3 = 9 1, +, 2, spacja, *, 3, = 1 1 1 + + = 0.5 6 4 12 1 1 1 1 + + → 6 4 12 2 Kolejne znaki oddzielono przecinkami – ich nie wpisujemy !!! 1, /, 6, spacja, +, 1, /, 4, spacja, +, 1, /, 12, = 1, /, 6, spacja, +, 1, /, 4, spacja, +, 1, /, 12, Ctrl+. π 1 → 6 2 sin sin(, Ctrl+Shift+P, /, 6, ), Ctrl+. Definiowanie zmiennych i funkcji, proste obliczenia wzór klawiatura a := 1 b := −5 c := 6 a, : dwukropek, 1 a + b = −4 a, +, b, = a + b ⋅c = −29 a, +, b, *, c, = 2 (itd)) f ( x) := a ⋅x + b ⋅x + c f(x), : dwukropek, a, *, x, ^, 2, spacja, +, b, *, x, +, c f ( 1) = 2 f(1)= f ( 0) = 6 Rozwiązanie równania kwadratowego f(x) = 0 wzór klawiatura 2 ∆ := b − 4a ⋅c ∆ =1 D, Ctrl+G, :, b^2, spacja, -4a*c x1 := −b − ∆ 2a x1 = 2 x1, :, -, b, -, \, D, Ctrl+G, spacja, spacja, /, 2a, x1, = x2 := −b + ∆ 2a x2 = 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: wzór f ( x) klawiatura 2 0 solve, x → 3 f(x), Ctrl+=, 0, Ctrl+Shift+., solve, przecinek, x, Enter MATHCAD 2000 – ś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 opis czynności 1. z klawiaturyShift+@ lub myszką menu Insert/Graph/X-Y Plot 2. 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 2 1 f ( x) 1 2 3 4 1 x Jednostki miar stosowanie miar klawiatura 1km + 20m + 34cm = 1020.34 m 1, km, +, 20, 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 = 20kN. Oblicz jego masę jeżeli wiadomo, że przyspieszenie wynosi a = 10m/s2. definicja własnej jadnostki miar kN := 1000N F := 20kN m := a := 10 F a Zmienne zakresowe m 2 s m = 2000 kg (przykład tablicowania funkcji) wzór klawiatura f ( x) := ( x − 2) ( x − 3) x := 1 , 1.5 .. 4 f(x), :, (x-2), (x-3) 2 0.75 0 f ( x) = -0.25 x, :, 1, przecinek, 1.5, ;średnik, 4 f(x), =, (plus myszka wyrównanie - Center) 0 0.75 2 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_2.mcd do mcad_5.mcd. MATHCAD 2000 – ściąga do ćwiczeń z podstaw informatyki Litery greckie, klaw. edycyjne Operatory macierzowe Pochodne, całki, granice Operatory logiczne Operatory arytmetyczne Definicja i obliczanie Załącznik 1: Podstawowe operatory Mathcada Klawisz Operacja : dwukropek ~ tylda = Ctrl+. kropka Ctrl+Shift+. + * / Ctrl+/ Ctrl+Enter ^ (, ), ’apostrof \ Ctrl+\ | " ! < > Ctrl+9 Ctrl+0 Ctrl+= Ctrl+3 ? Ctrl+? & Ctrl+I Ctrl+L Ctrl+A Ctrl+B $ Ctrl+4 Ctrl+Shift+4 # Ctrl+Shift+3 , przecinek ; średnik . kropka [ Ctrl+8 Ctrl+1 Ctrl+6 ^-1 Ctrl+- minus Znak + Ctrl+G Ctrl+Shift+P Ctrl+Shift+Z Insert Spacja Tab, Shift+Tab Ctrl+D := definicja zmiennej lub funkcji lokalnej definicja globalna numeryczne obliczenie wyrażenia symboliczne obliczenie wyrażenia symboliczne obliczanie z kluczem dodawanie odejmowanie lub negacja mnożenie dzielenie dzielenie w wierszu dodawanie z przeniesieniem do następnego wiersza potęgowanie nawiasy: (lewy, )prawy, ‘dwustronny-automatyczny pierwiastek kwadratowy pierwiastek dowolnego stopnia wartość bezwzględna lub wyznacznik macierzy liczba sprzężona zespolona silnia (n!) mniejszy większy mniejszy lub równy większy lub równy równy nie równy pochodna pierwszego rzędu pochodna dowolnego rzędu całka oznaczona całka nieoznaczona granica dwustronna granica prawostronna granica lewostronna suma po zmiennej iteracyjnej suma elementów wektora suma od..do iloczyn po zmiennej iteracyjnej iloczyn od..do oddzielanie argumentów funkcji lub elementów wektora definicja zakresu (zmiennej iteracyjnej) separator liczb dziesiętnych lub indeks dolny ozdobny (zwykły) indeks elementu wektora iloczyn wektorowy transpozycja wektora lub macierzy kolumna macierzy macierz odwrotna operator wektoryzacji obliczeń litery greckie (alfa, beta, ...) liczba pi znak nieskończoności przełączenie punktu wstawiania (początek-koniec) poszerzenie aktywnego wyrażenia aktywacja kolejnego lub poprzedniego pola usunięcie aktywnego regionu 8/8