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