Professional Documents
Culture Documents
Program numeryczny
MATHCAD
Część 1 – operacje podstawowe
Wprowadzenie
Program Mathcad służy do przeprowadzania przede wszystkim obliczeń numerycznych tzn.
takich, których wynikami są liczby, a nie wzory np. całka oznaczona z granicami liczbowymi
lub rozwiązanie równania z konkretnymi wartościami parametrów. Jest produktem firmy
MathSoft.
Program Mathcad jest dostępny w wersjach dla systemów: DOS, Windows (Win16 i
Win32). W sprzedaży znajduje się obecnie (styczeń roku 2000) dziewiąta wersja Mathcad
oznaczona nazwą handlową Mathcad 2000.
Program Mathcad w wersji dla systemu MS Windows ma szereg zalet w porównaniu
do wersji dla systemu DOS. Po pierwsze: prezentacja danych jeszcze bardziej jest zbliżona do
tradycyjnej notacji matematycznej. Po drugie: komunikacja użytkownika z programem jest
dostosowana do powszechnie znanych standardów systemu MS Windows i dzięki temu
skrócony jest okres niezbędny do nauczenia się programu w zakresie podstawowym. Dużą
zaletą programu jest nieomal pełna zgodność ze skrótami klawiszowymi stosowanymi w
wersjach wcześniejszych, także dla systemu DOS. Jest to nieoceniona pomoc dla
zaawansowanych użytkowników programu, którzy są zmuszeni przejść do wersji 2000 z
wersji wcześniejszych. Najpoważniejszą jednak zaletą jest możliwość komunikacji z danymi
zapisanymi w formatach innych programów m.in. Matlab i Excel.
Klawisze specjalne
Podstawowe wiadomości
1. Wyrażenia mogą być wpisywane w dowolnym miejscu ekranu, ale ich wartościowanie jest
wykonywane w układzie z góry na dół.
2. W przypadku dokonania jakiejkolwiek zmiany w postaci wyrażeń i definicji należy albo –
przy pomocy klawiszy kursorów (strzałek) lub myszy – przesunąć znak kursora poza
zmieniane wyrażenie, albo nacisnąć klawisz ENTER. Dopiero wówczas program dokona
automatycznego przeliczenia wartości wyrażeń, jeżeli znajduje się w trybie
automatycznego (automatic) obliczania wyrażeń. Jeżeli natomiast jest ustawiony w trybie
ręcznego wymuszania obliczeń (manual), wówczas należy nacisnąć klawisz F9. Program
po uruchomieniu znajduje się w trybie automatycznego obliczania wyrażeń. Włączenia
ręcznego lub automatycznego trybu obliczeń dokonuje się przy pomocy poleceń menu:
Math→Automatic. Jeżeli w menu opcja jest zaznaczona, aktywny jest tryb automatyczny –
w przeciwnym razie tryb ręczny obliczeń. Tryb automatyczny, dość wygodny w przypadku
niedużych obliczeń skalarnych, może być uciążliwy, jeżeli rozmiar obliczeń jest duży,
pojawiają się w nich macierze oraz wektory, albo występują wykresy. Pamiętać należy
bowiem, że naniesienie jakiejkolwiek poprawki powoduje przeliczenie całego zestawu
obliczeń. Może to trwać dość długo, blokować pracę z programem, a co gorsza w
przypadku nanoszenia dużego zestawu poprawek (np. wprowadzania nowych danych
wejściowych) takie nieustanne odświeżanie obliczeń może być pozbawione sensu.
3. Mathcad ma bardzo bogate menu, składające się z kilkudziesięciu pozycji. W codziennej,
typowej pracy stosowanie ich wszystkich nie jest potrzebne. Poniżej przedstawiona jest
charakterystyka głownych grup poleceń:
File – tworzenie, odczyt, zapis i zamykanie arkuszy roboczych, wysyłanie ich pocztą
elektroniczną (email), polecenia związane z drukowaniem arkusza i definiowaniem
formatu strony wydruku
Edit – operacje na schowku (wycinanie, kopiowanie, wklejanie), wyszukiwanie i
zastępowanie, sprawdzanie pisowni (angielskiej), edycja obiektów osadzonych i łączy
do obiektów
Mathcad dla Windows cz.1. 3/4
Ćwiczenia
π
1. Obliczyć wartość wyrażenia sin( ) .
4
Wskazówka: wpisać sin (Ctrl-Shift–p / 4 ) =
Program numeryczny
MATHCAD
Część 2 – algebra wektorowa i macierzowa
Streszczenie matematyczne
Definicja 1.
Uporządkowany zbiór n liczb rzeczywistych ai zapisanych w postaci wierszowej [ a1 , a2 , K , an ] lub w postaci Komentarz [JP1]:
nazywamy wektorem n-wymiarowym. Liczby ai nazywamy składowymi (współrzędnymi) wektora. Komentarz [JP4]:
Definicja 2.
Wektor ei, którego i-ta składowa jest równa jeden, pozostałe zaś składowe są zerami nazywamy i-tym wektorem
jednostkowym.
Definicja 3.
Iloczynem liczby α przez n-wymiarowy wektor a = [a1, a2, …, an] jest wektor postaci αa = [αa1, αa2, …, αan].
Definicja 4.
Sumą dwóch wektorów n-wymiarowych a oraz b jest wektor c = [c1, c2, …, cn] o współrzędnych określonych
wzorem
ci = ai + bi
Definicja 5.
Różnicą dwóch wektorów n-wymiarowych a oraz b jest wektor c = [c1, c2, …, cn] o współrzędnych określonych
wzorem
ci = ai − bi
Definicja 6.
Iloczynem skalarnym dwóch wektorów n-wymiarowych a oraz b jest liczba określona wzorem
ab = a1 b1 + a2 b2 + K + an bn
Definicja 7.
Iloczynem macierzy i wektora nazywamy wynik mnożenia, które wykonujemy poprzez potraktowanie wektora
jako macierzy jednowierszowej (wektor wierszowy) lub macierzy jednokolumnowej (wektor kolumnowy).
Definicja 8.
Iloczynem wektorowym dwóch wektorów trójwymiarowych a oraz b jest wektor c = [c1, c2, c3] o współrzędnych
określonych wzorem
⎡ e1 e2 e3 ⎤
a × b = ⎢⎢ a1 a2 a3 ⎥⎥
⎢⎣ b1 b2 b3 ⎥⎦
Mathcad dla Windows cz.2. 2/5
Definicja 9.
Macierzą skończoną (prostokątną) o wymiarach n x m nazywamy funkcję A, która każdej uporządkowanej
parze zmiennych naturalnych (i,k), spełniających nierówność 1 ≤ i ≤ m, oraz 1 ≤ k ≤ n, przyporządkowuje liczbę
rzeczywistą, którą będziemy oznaczali symbolem aik:
A: (i,k) → aik, gdzie 1 ≤ i ≤ m, oraz 1 ≤ k ≤ n.
Macierz zapisujemy często w postaci tablicy prostokątnej mającej n wierszy i m kolumn:
⎡ a11 a12 a1m ⎤
⎢ ⎥
A = ⎢ a21 a22 a2 m ⎥
⎢a an 2 anm ⎥
⎣ n1 ⎦
lub krótko:
A = ⎡⎣ aik ⎤⎦ n×m
Definicja 10.
Jeżeli dla danej macierzy liczba wierszy m jest równa liczbie kolumn n, to macierz nazywamy macierzą
kwadratową, a liczbę m - stopniem tej macierzy.
Definicja 11.
Określamy macierz jednostkową I o elementach eij stopnia n za pomocą następującego wzoru:
⎧1 dla i = j
eij = ⎨
⎩0 dla i ≠ j
Definicja 12.
Macierz prostokątną, której wszystkie elementy są równe zeru, nazywamy macierzą zerową i oznaczamy O.
Definicja 13.
Działania na macierzach są określone poprzez odpowiednie działania na elementach tych macierzy.
– dodawanie macierzy [ A + B ]ij = [ A ]ij + [B]ij
– odejmowanie macierzy [ A − B]ij = [ A ]ij − [B]ij
– mnożenie macierzy przez liczbę [ a ⋅ A ]ij = a ⋅ [ A ]ij
n
– mnożenie dwóch macierzy [ AB ]ij = ∑ [ A ]ik [B]kj
k =1
UWAGA! Mnożenie macierzy jest zazwyczaj nieprzemienne tzn. AB ≠ BA. Jeżeli natomiast w szczególnym
przypadku zachodzi przemienność, to taką parę macierzy nazywa się macierzami przemiennymi.
UWAGA! Jeżeli iloczyn dwóch macierzy jest macierzą zerową tzn. AB = O, to z tego NIE WYNIKA, że
macierz A lub macierz B muszą być macierzami zerowymi.
Definicja 14.
Przekątną główną (lub krótko przekątną) macierzy kwadratowej A stopnia n nazywamy ciąg (a11 , a22 , …, ann ).
Macierzą przekątniową albo diagonalną nazywamy macierz kwadratową, której wszystkie elementy nie
znajdujące się na przekątnej głównej są równe zeru.
Definicja 15.
Śladem Tr(A) macierzy kwadratowej A nazywamy sumę arytmetyczną elementów znajdujących się
na przekątnej macierzy A.
Definicja 16.
Macierzą transponowaną macierzy A = [aij]nxm jest macierz AT = [aji]mxn.
Definicja 17.
Jeżeli macierz A = [aij] jest nieosobliwą macierzą kwadratową stopnia m, to istnieje jedna i tylko jedna macierz
B taka, że
AB = BA = I
Macierz B nazywamy macierzą odwrotną do macierzy A i oznaczamy symbolem A-1.
Mathcad dla Windows cz.2. 3/5
Definicja 18.
Równaniem charakterystycznym macierzy kwadratowej A = [aij]nxn nazywamy równanie następującej postaci
(zadane w postaci wyznacznika):
Operatory
Większość operatorów tutaj wymienionych można uzyskać na dwa sposoby: albo posługując się klawiaturą
(skróty klawiszowe), albo przy pomocy myszy i palety narzędziowej Matrix.
dodawanie wektorowe + v := x + y
odejmowanie wektorowe – v := x – y
mnożenie przez liczbę * v := 2.5 x x
iloczyn skalarny * x x y = 25
iloczyn wektorowy Ctrl-8 v := x × y
długość wektora (norma wektora) | | x | = 4
element wektora (indeksowanie) [ v2 = 1.35
dodawanie macierzy + M := A + B
odejmowanie macierzy – M := A – B
mnożenie przez liczbę * M := 2.5 x A
iloczyn macierzy * M := B x A
transpozycja macierzy Ctrl-1 A := BT
wyznacznik macierzy | | M | = 4.25
odwracanie macierzy ^-1 A := B-1
element macierzy (indeksowanie) [‘ A(1,1) = 2.34
kolumna macierzy (ekstrakcja) Ctrl-6 K := M<1>
elementy ekstremalne wektora lub min min(A) = 3
macierzy max
macierz jednostkowa identity A := identity(3)
Mathcad dla Windows cz.2. 4/5
Ćwiczenia
1. Dodać wektory (2, 3, 4) oraz (0, -1, 1). Obliczyć wynik.
⎡2 5 17 ⎤
2. Wprowadzić macierz ⎢ ⎥ a następnie przemnożyć przez wektor (0, -1, 1). Podać wynik.
⎣3.5 3.9 −12.5⎦
3. Zdefiniować wektor v o składowych (2, 3, 4). Przemnożyć go następnie przez 2 i dodać do wektora (0,-1,1).
Podać wynik.
4. Zdefiniować wektor v o składowych (4, 2, 8) oraz wektor y o składowych (3, 2, -6). Obliczyć iloczyn
wektorowy tych dwóch wektorów, a następnie podać wartość trzeciej (ostatniej) składowej wyniku.
Mathcad dla Windows cz.2. 5/5
⎡1 2 3⎤
a) ⎢4 5 6⎥
⎢ ⎥
⎢⎣7 8 9 ⎥⎦
⎡1 4 7 ⎤
b) ⎢2 5 8⎥
⎢ ⎥
⎢⎣ 3 6 9 ⎥⎦
Porównać oba wyniki. Przeanalizować różnice pomiędzy wynikami. Zwrócić uwagę na błędy numeryczne.
6. Rozwiązać układ równań M⋅x = v. Składowe macierzy M oraz wektora prawych stron v wynoszą
odpowiednio:
⎡0 1 2⎤ ⎡13 ⎤
M = ⎢⎢ 3 0 2 ⎥⎥ v = ⎢⎢ −3⎥⎥
⎢⎣5 3 1 ⎥⎦ ⎢⎣ 50 ⎥⎦
7. Wyznaczyć wektor jednostkowy prostopadły do wektorów (1, 0.5, 0.3) oraz (0.25, -0.3, 2).
8. Wyznaczyć kosinusy kierunkowe wektora (4, -5, 13) oraz sprawdzić, jakiej ulegną zmianie gdy trzecia
składowa wektora zwiększy się do 15.
⎡1 2 ⎤ ⎡ cos(α ) sin(α ) ⎤
9. Znając macierze A = ⎢
3 4 ⎥ oraz B = ⎢ − sin(α ) cos(α ) ⎥ a także kąt α = π/4, obliczyć wyrażenie
⎣ ⎦ ⎣ ⎦
transformujące BT⋅A⋅B.
Program numeryczny
MATHCAD
Część 3 – wykresy płaskie i przestrzenne
Wprowadzenie
Program Mathcad 2000 oprócz dużych możliwości obliczeniowych, daje również użytkownikowi możliwość
przedstawienia danych i rozwiązań w postaci wykresów. Postać graficzna wykresów jest bardzo zróżnicowana
i może być dobrana w zależności od potrzeb. Do dyspozycji jest m.in. kilka rodzajów wykresów płaskich (2D –
dwuwymiarowych) oraz wykresy przestrzenne (3D) a także wykresy warstwicowe. Każdy z wykonanych
wykresów może być łatwo, przy pomocy schowka systemowego, wstawiany jako ilustracja do innych
programów, w szczególności edytorów tekstu.
Tworzenie wykresów jest podzielone na dwie czynności: przygotowanie danych liczbowych oraz ich
wizualizację. Pierwsza czynność polega na przygotowaniu zbioru wartości wielkości niezależnych (argumentów)
oraz albo zbioru wartości wielkości zależnej, albo wzoru funkcyjnego, na podstawie którego wartości te zostaną
obliczone. Konkretna postać tych danych zależy od typu wykonywanego wykresu – mogą to być wektory lub
macierze liczbowe. Drugi etap wykonywania wykresu polega na wywołaniu wzorca danego typu wykresu,
a następnie wypełnieniu pustych pól wykresu nazwami odpowiednich zmiennych zawierających wartości
wielkości niezależnych i zależnych.
Elementem programu znacznie, który znacznie ułatwia tworzenie wykresów jest paleta narzędziowa Graph
wywoływana poleceniem menu View→Toolbars→Graph.
Polecenia i typy wykresów dostępne za pośrednictwem tej palety to odpowiednio: wykres X-Y (X-Y plot), lupa
(Zoom), trasowanie (Trace), wykres biegunowy (Polar), wykres przestrzenny powierzchniowy (Surface), wykres
warstwicowy (Contour), wykres słupkowy (Bar), przestrzenny wykres punktowy (Scatter), pole wektorowe
(Vector).
Wszystkie wymienione polecenia mogą być uzyskane za pośrednictwem menu Insert→Graph, a niektóre
z wykresów mogą także być uzyskane za pośrednictwem klawiatury: odpowiednie skróty klawiszowe są opisane
w tabeli Operatory.
Operatory
Opis Klawisz
wykres płaski X-Y (2D) Shift–2
wykres biegunowy Ctrl-7
wykres przestrzenny powierzchniowy Ctrl-2
wykres warstwicowy Ctrl-5
• zdefiniować wzór funkcji, której wartości mają zostać przedstawione na wykresie płaskim,
• opcjonalnie stworzyć tablicę wartości funkcji, które będą pełnić rolę zmiennej zależnej.
Poniżej przedstawiono przykład wykonania wykresu zależności funkcyjnej. Przykład został zaczerpnięty z ory-
ginalnej instrukcji programu Mathcad.
6
1 .10
−7
8.625 ×10
. 7
f ( x) 5 10
−7
1.159 ×10 0
0 5 10
0 x 10
50
23.5
y( i) 0
− 28.5 50
40 20 0 20 40
− 26 x( i) 31
90
120 60 3
3
150 2 30
1
r( t) 0
180 0 0
210 330
240 300
270
t
Po pojawieniu się na ekranie wzorca wykresu należy do jedynego pola wykresu wpisać nazwę funkcji
z pominięciem listy argumentów – w rozważanym przypadku jest to nazwa f , a nie f(x,y). Wynikiem
przytoczonych tu działań jest następujący wykres:
5. Wykresy warstwicowe
Mathcad tworzy przestrzenne wykresy warstwicowe na dwa sposoby: poprzez wykreślenie warstwic
powierzchni zadanej wzorem funkcyjnym albo macierzą liczbową. W celu stworzenia wykresu warstwicowego
zadanego wzorem funkcyjnym należy zdefiniować wzór funkcji dwóch zmiennych niezależnych, które
odpowiadają osiom wykresu. Zakresy zmiennych niezależnych posiadają wartości domniemane, ale – w razie
konieczności – można je modyfikować ręcznie. W razie potrzeby wykreślone warstwice mogą być
pokolorowane z uwzględnieniem ich wartości.
Poniżej przedstawiono przykład wykonania wykresu warstwicowego zależności funkcyjnej. Przykład
przedstawia warstwice powierzchni siodłowej.
Mathcad dla Windows cz.3. 5/9
Po pojawieniu się na ekranie wzorca wykresu należy do jedynego pola wykresu wpisać nazwę funkcji
z pominięciem listy argumentów – w rozważanym przypadku jest to nazwa f , a nie f(x,y). Wynikiem
przytoczonych tu działań jest następujący wykres:
Wzorzec przestrzennego wykresu punktowego należy wybrać z palety narzędziowej Graph. Po pojawieniu się
na ekranie wzorca wykresu należy do jedynego pola wykresu wpisać nazwę funkcji z pominięciem listy
argumentów – w rozważanym przypadku jest to nazwa f , a nie f(x,y). Wynikiem przytoczonych tu działań jest
następujący wykres:
f
Mathcad dla Windows cz.3. 6/9
7. Wykresy słupkowy
Mathcad tworzy przestrzenne wykresy słupkowe na dwa sposoby: poprzez wykreślenie powierzchni zadanej
wzorem funkcyjnym albo macierzą liczbową. W celu stworzenia przestrzennego wykresu słupkowego zadanego
wzorem funkcyjnym należy zdefiniować wzór funkcji dwóch zmiennych niezależnych, które odpowiadają osiom
poziomym. Zakresy zmiennych niezależnych posiadają wartości domniemane, ale – w razie konieczności –
można je modyfikować ręcznie.
Poniżej przedstawiono przykład wykonania przestrzennego wykresu słupkowego zależności funkcyjnej.
Przykład przedstawia powierzchnię siodłową.
Wzorzec przestrzennego wykresu punktowego należy wybrać z palety narzędziowej Graph. Po pojawieniu się
na ekranie wzorca wykresu należy do jedynego pola wykresu wpisać nazwę funkcji z pominięciem listy
argumentów – w rozważanym przypadku jest to nazwa f , a nie f(x,y). Wynikiem przytoczonych tu działań jest
następujący wykres:
Należy zwrócić uwagę, że wykres ten niezbyt nadaje się do prezentacji powierzchni o wartościach ujemnych,
gdyż są one przesłaniane podstawą słupków. Można natomiast wykorzystać tą cechę do wizualizacji brył
zdefiniowanych funkcyjnie lub punktowo.
⎡ x5 ⎤
⎢ ⎥
( )
7
⎢ 6
x 6 + y 6 + 0.01 ⎥
g ( x, y ) : = ⎢ ⎥
⎢ y5 ⎥
⎢ ⎥
( )
7
⎢ 6
x + y + 0.01 ⎥
6 6
⎢⎣ ⎥⎦
Mając zdefiniowaną funkcję gradientową należy przystąpić do odwzorowania numerów wierszy i kolumn na
wartości współrzędnych (x,y). Odwzorowanie jest liniowe:
xmax − xmin
x := ⋅ i + xmin
cols (M ) − 1
y − ymin
y : = max ⋅ j + ymin
rows (M ) − 1
gdzie:
xmax, xmin - zakresy zmienności zmiennej niezależnej x,
ymax, ymin - zakresy zmienności zmiennej niezależnej y,
M - macierz, w której umieszczone będą wartości gradientu,
i - indeks kolumn macierzy,
j - indeks wierszy macierzy,
rows - funkcja zwracająca liczbę wierszy macierzy (wraz z wierszem zerowym!),
cols - funkcja zwracająca liczbę kolumn macierzy (wraz z kolumną zerową!).
Dla rozważanego tu przypadku wzory te przyjmują postać:
10
x(i ) : = ⋅i − 5
20
10
y( j) : = ⋅ j −5
20
Należy zwrócić uwagę, że wzory te nie są zamienne, gdyż występują w nich różne indeksy. Można teraz
przystąpić do generowania wartości macierzy:
M i , j : = g ( x(i ), y ( j ))0 + 1i ⋅ g ( x(i ), y ( j ))1
Należy szczególną uwagę zwrócić na właściwe wpisanie czynnika urojonego 1i.
Wbrew wyglądowi nie jest to indeks i przemnożony przez 1, ale ciągły zapis 1i bez
znaku mnożenia w środku.
Po wywołaniu wzorca wykresu pola wektorowego i wpisaniu nazwy macierzy (bez indeksów!) otrzymuje się
następujący wykres:
M
co odpowiada polu gradientowemu g(x,y) początkowej funkcji f(x,y):
Mathcad dla Windows cz.3. 8/9
f
Jak widać z wykresów pole wektorowe dobrze uwidacznia głęboki lej funkcji f(x,y).
Ćwiczenia
Niektóre przykłady zaczerpnięto z oryginalnej instrukcji programu MathCAD.
x = 10t / 50
⎛ ⎛ π ⎞ ⎞
y = 1.045t ⋅ ⎜ sin ⎜ t ⋅ ⎟ + 0.01⎟
⎝ ⎝ 50 ⎠ ⎠
gdzie parametr t zmienia się od 0 do 100, natomiast obie osie są skalowane logarytmicznie w zakresach
od 1 do 100, każda z dwoma odcinkami skalowania logarytmicznego.
4. Narysować wykres parametryczny wg następujących wzorów (figury Lissajous):
⎛ t ⎞
x = sin ⎜ 2π ⎟
⎝ 50 ⎠
⎛ t ⎞
y = cos⎜ 2kπ + ϕ⎟
⎝ 50 ⎠
gdzie parametr t zmienia się od 0 do 300. Zbadać wpływ wartości parametru k (1,2,3,4,5,6) oraz fazy ϕ
(0, π/6, π/4, π/3, π/2, π) na kształt wykresu. Wykres wyskalować liniowo, wprowadzić siatkę odniesienia
składającą się z 10 linii na każdą oś. Wielkość wykresu 15 wierszy x 30 kolumn.
5. Narysować wykres funkcji
f ( x , y ) = sin( x 2 + y 2 )
nad obszarem [-1.5 ; 1.5] x [-1.5 ; 1.5].
Mathcad dla Windows cz.3. 9/9
f ( x, y ) = − x ⋅ y
nad obszarem [–5 ; 5] x [–5 ; 5].
f ( x, y ) :=
1 ( 2
cos x + y
2 )
2 2
x +y +1
Następnie wykonać wykres wektorowy gradientu funkcji f. Funkcję gradientu obliczyć ręcznie.
Samodzielna Pracownia Tytuł:
Zastosowań Informatyki M-7
Mathcad dla Windows
Wydział Mechaniczny Przedmiot:
Politechnika Krakowska
Metody komputerowe dla inżynierów
Numer: Wersja: Data: Zastępuje:
04 01 20.03.2000 –
Program numeryczny
MATHCAD
Część 4 – równania i układy równań
Wprowadzenie
Rozwiązywanie równań algebraicznych jest zadaniem, które często staje przed inżynierem. Możliwe jest
dwojakie postępowanie: najbardziej pożądane, ale nie zawsze możliwe do zrealizowania poszukiwanie
rozwiązań ścisłych oraz poszukiwanie przybliżonych rozwiązań liczbowych. W pierwszym przypadku celowe
jest stosowanie programów symbolicznych, w drugim – programów numerycznych. Mathcad 2000 jest
programem, który znajduje się na pograniczu: jest przede wszystkim programem numerycznym, ale – poprzez
wbudowanie niewielkiej biblioteki symbolicznej – jest zdolny do wykonywania podzbioru operacji
symbolicznych. W niniejszym miniskrypcie rozwiązywanie symboliczne równań nie będzie omawiane.
Definiowanie układu równań wymaga wykonania pewnych dodatkowych czynności w stosunku do
pojedynczego równania z jedną niewiadomą. Z tego też powodu oraz z uwagi na złożoność zagadnienia, twórcy
programu rozdzielili rozwiązywanie równań z jedną niewiadomą od rozwiązywania układu równań.
Operatory i polecenia
Opis Klawisz Wygląd
Równanie ma postać:
ex − x2 = 0
Z uwagi na to, że nie ma żadnych przesłanek wskazujących przybliżone położenie pierwiastka zdecydowano
zainicjować poszukiwania w okolicach wartości 0. Dalsze postępowanie jest następujące:
Mathcad dla Windows cz.4. 2/6
1. z uwagi na wygodę i niezawodność wprowadzania wzoru lewą stronę równania, która ma być wyzerowana
definiuje się jako funkcję jednej zmiennej:
x 2
f ( x) := e − x
W przypadku, gdyby obie strony równania były niezerowe, należy przekształcić je do takiej postaci, w której
prawa strona jest równa 0.
2. niewiadomą inicjuje się wartością 0:
x := 0
3. wywołuje się funkcję root podając zdefiniowaną funkcję jako pierwszy parametr, a symbol niewiadomej jako
parametr drugi:
root ( f ( x) , x) = −0.704
W powyższym przypadku wynik jest podawany bezpośrednio i nie może być stosowany w dalszych
obliczeniach. Jeżeli natomiast znaleziony pierwiastek jest wynikiem pośrednim i musi być użyty w dalszych
obliczeniach, należy użyć nieco innej formy wyrażenia i zapamiętać wynik w zmiennej:
wynik := root ( f ( x) , x)
W tym przypadku można też uzyskać informację o wartości pierwiastka sprawdzając wartość zmiennej
wynik:
wynik = −0.704
Znaleziony wynik nie musi wyczerpywać wszystkich pierwiastków równania, jeżeli jest ich więcej niż jeden.
Jeżeli z postaci równania (np. wielomian wyższego stopnia) wynika, że mogą istnieć inne wartości pierwiastków
i ich znalezienie jest konieczne, sugeruje się zastosować wykres rozwiązywanego równania w celu określenie
przybliżonych wartości pierwiastków, które następnie można użyć do zainicjowania procedury root. Poniżej jest
zamieszczony przykład ilustrujący tą metodę.
Równanie ma postać:
ex ⎛3 ⎞
= sin ⎜ x ⎟
2 ⎝2 ⎠
Należy znaleźć wszystkie pierwiastki znajdujące się w przedziale [-5, 0]. Dalsze postępowanie jest następujące:
1. równanie przekształca się do takiej postaci, aby prawa strona była równa zeru i z uwagi na wygodę
wprowadzania wzoru lewą stronę równania, która ma być wyzerowana definiuje się jako funkcję jednej
zmiennej:
x
− sin ⎛⎜ x⎞
e 3
f ( x) :=
2 ⎝2 ⎠
2. definiuje się ciąg arytmetyczny, który równomiernie podzieli przeszukiwany przedział. Krok ciągu w tym
przypadku przyjęto 0.1 . W przypadku innych przedziałów krok ciągu powinien być kompromisem pomiędzy
dokładnością wykonania wykresu, a obciążeniem pamięci. Definicja ciągu była następująca:
przedzial := −5 , −4.9.. 0
3. Dysponując powyższym ciągiem wykonano wykres płaski (2D) zależności f(x) w przedziale [-5, 0]. Po
odpowiednim sformatowaniu wykresu - dołożono siatkę odniesienia - można było odczytać przybliżoną
wartość pierwiastka.
2
1.181
f ( przedzial)
0
− 0.976 1
6 5 4 3 2 1 0
−5 przedzial − 1.776 ×10− 14
Jak widać z powyższego wykresu przybliżone wartości pierwiastków mogą być oszacowane jako -4 oraz -2.
(Uwaga: zakresy osi na powyższym wykresie są określone automatycznie przez program).
Mathcad dla Windows cz.4. 3/6
wynik2 = −2.134
Powstaje oczywiście pytanie, na ile dokładne są uzyskane rozwiązania. Stosowana w programie Mathcad 2000
procedura siecznych posługuje się kryterium resztowym (residualnym) do stwierdzenia, czy uzyskana
dokładność znalezionego pierwiastka jest wystarczająca. Polega to na sprawdzeniu, czy dla równania L(x) = 0
zachodzi:
L( pierwiastek ) ≤ TOL
gdzie TOL jest specjalną zmienną, określającą residualną dokładność rozwiązania. Standardowo wartość
zmiennej TOL wynosi
−3
TOL = 1 × 10
Można ją zmieniać poprzez podstawienie nowej wartości np.
TOL := 0.0001
W zamieszczonej poniżej tabeli zamieszczono różne wartości TOL oraz odpowiadające im wartości pierwszego
pierwiastka i residuum funkcji. W celu precyzyjniejszego uwidocznienia różnic zwiększono dokładność wyświe-
tlania wyniku poprzez ustawienie w menu Format→Result→Number format→Number of decimal places
wartości 5. Uzyskano w ten sposób wyświetlanie wyników z dokładnością do 5 cyfr po znaku dziesiętnym.
Jak z powyższego widać, w niektórych przypadkach zmniejszenie wartości TOL może – paradoksalnie –
prowadzić do pogorszenia wyników. Należy jednak zawsze pamiętać, że wartość parametru TOL określa zawsze
dokładność zerowania równania (czyli tzw. residuum, resztę równania), a nie dokładność znalezionego
pierwiastka!
Podobnie, jak w przypadku bardziej skomplikowanych równań z jedną niewiadomą, tak i tutaj warto wykonać
wykres, który ułatwi znalezienie właściwych wartości inicjujących zmienne. Pierwsze równanie łatwo można
sprowadzić do postaci funkcyjnej (jawnej):
y = cos( x) + x
W przypadku drugiego równania (okrąg o promieniu 2) występuje postać uwikłana, której nie można sprowadzić
do postaci funkcyjnej. Pozostaje więc jedynie zapis parametryczny:
⎧ x(t ) = 2 cos(t )
⎨ t ∈ [ 0, 2π )
⎩ y (t ) = 2sin(t )
Dla takich dwóch przebiegów można wykonać wykres płaski (2D):
2
1.999
f ( x)
1
y1( t)
− 2.416 4
2 1 0 1 2
−2 x , x1( t) 2
Z powyższego wykresu można ustalić, że przybliżone (inicjujące) pary rozwiązań to: (x = –1.5, y = –1.5) oraz
(x = 1, y = 1.5). Po zainicjowaniu zmiennych należy zdefiniować blok równań, który rozpoczyna się słowem
kluczowym Given, a kończy – po ostatnim równaniu lub niewiadomej – poleceniem znalezienia wyniku: Find
lub Minerr. W całości, dla obu zestawów inicjujących, rozwiązanie zadania wygląda następująco:
Zestaw 1 Zestaw 2
x := −1.5 x := 1
y := −1.5 y := 1.5
Given Given
cos ( x) + x − y 0 cos ( x) + x − y 0
2 2 2 2
x +y −4 0 x +y −4 0
Find( x, y ) = ⎜
⎛ −1.466 ⎞ ⎛ 1.245 ⎞
Find( x, y ) = ⎜
⎝ −1.361 ⎠ ⎝ 1.565 ⎠
Należy zwrócić uwagę, że znalezione pierwiastki są umieszczane w wektorze rozwiązań w takiej kolejności,
w jakiej występują na liście argumentów funkcji Find.
Podobnie, jak w przypadku równań z jedną niewiadomą kryterium oceny znalezionego rozwiązania nie jest
dokładność wyznaczenia pierwiastków, ale wartości reszt poszczególnych równań. Syntetycznym kryterium,
które służy do całościowej oceny jakości rozwiązania jest zmienna systemowa ERR, która zawiera sumę
poszczególnych kwadratów reszt. Zmienna ta jest bezpośrednią realizacją funkcjonału najmniejszych
kwadratów. Dla rozpatrywanego tu przykładu wartości ERR były następujące:
• zestaw 1: 4.762 10–7
• zestaw 2: 5.814 10–8
Mathcad dla Windows cz.4. 5/6
Nie należy zapominać, że z faktu, iż suma kwadratów reszt zestawu 2 jest mniejsza niż w przypadku zestawu 1
wcale nie wypływa wniosek, że rozwiązanie 2 jest dokładniejsze. Wręcz przeciwnie, w niektórych przypadkach
może być na odwrót!
Ćwiczenia
1. Obliczyć wszystkie pierwiastki równania
x2 + 6 x − 4 = 0
2. Obliczyć wszystkie pierwiastki równania
x 4 − x3 − 7 x 2 + x + 6 = 0
3. Rozwiązać układ równań
(1 + i )
n
−1
p (1 + i )
n
+r − f =0
i
gdzie:
p - wartość początkowa,
f - wartość końcowa,
i - stopa procentowa w przyjętej jednostce czasu,
r - rata,
n - liczba przyjętych jednostek czasu.
W rozpatrywanym przypadku: p = –46.000 (ujemne, gdyż zaciągnięto kredyt), f = 0 (zero, gdyż nie ma
żadnych umorzeń kredytu), i = 0.28/12 (dzielone przez 12, gdyż ze stopy rocznej należy przejść na
miesięczną), n = 60 (liczba miesięcy). Należy rozwiązać równanie bankierów względem raty r.
8. Dysponujemy oszczędnościami w wysokości 10.000 zł. Mamy dwie możliwości. Pierwsza polega na
złożeniu pieniędzy w banku, który oferuje oprocentowanie lokat w wysokości 16% w skali roku. Druga
Mathcad dla Windows cz.4. 6/6
możliwość to udzielenie sąsiadowi, który otwiera warsztat, pożyczki na 11 miesięcy. Sąsiad deklaruje dwa
warianty spłaty pożyczki: w równych ratach po 1.000 zł lub w całości po 11 miesiącach w wysokości 12.200
zł. Który z trzech wariantów inwestycyjnych jest najbardziej opłacalny?
Wskazówka: z równania bankierów wyliczyć oprocentowanie obu wariantów pożyczki dla sąsiada i poró-
wnać z oprocentowaniem w banku.
9. Dom wymaga ogrzewania w zimie. Niezbędna ilość energii cieplnej wynosi 180 GJ w sezonie. Rozważane
są trzy warianty ogrzewania: prądem (licznik dwutaryfowy), lekkim olejem opałowym oraz węglem.
Parametry ekonomiczne są następujące:
cena energii elektrycznej (II taryfa) 0,1340 zł/kWh
cena niezbędnego pieca akumulacyjnego 10.000 zł
sprawność grzejnika akumulacyjnego 100%
cena oleju opałowego 1,6 zł/dm3
wartość opałowa oleju opałowego 40 MJ/dm3
cena kotłowni olejowej wraz z grzejnikami 25.000 zł
sprawność pieca olejowego 92%
cena węgla 400 zł/tonę
wartość opałowa węgla 28 MJ/kg
cena kotłowni węglowej wraz z grzejnikami 16.000 zł
sprawność pieca węglowego 80%
Zakładając czas eksploatacji wybranego systemu przez 20 lat ustalić, który z powyższych systemów jest
najtańszy. Podać średni koszt sezonu wraz z amortyzacją urządzeń.
Wskazówka:
a) rozłożyć koszt zakupu kotłowni lub pieca akumulacyjnego na raty w okresie 20 lat przyjmując stopę
oprocentowania lokat długoterminowych 18%.
b) przelicznik: 1 kWh = 3,6 MJ
10. Pracownik może przy swoich dochodach spłacać maksymalnie 200 zł miesięcznie rat kredytowych. Jaki
maksymalny kredyt na 60 miesięcy spłacany w ratach miesięcznych może zaciągnąć? Stopa roczna
oprocentowania kredytów wynosi 27%.
Samodzielna Pracownia Tytuł:
Zastosowań Informatyki M-7
Mathcad dla Windows
Wydział Mechaniczny Przedmiot:
Politechnika Krakowska
Metody komputerowe dla inżynierów
Numer: Wersja: Data: Zastępuje:
05 01 28.03.2000 –
Program numeryczny
MATHCAD
Część 5 – analiza matematyczna
Wprowadzenie
W trakcie obliczeń inżynierskich często staje się przed zadaniem obliczenia zarówno prostych pochodnych
i całek, jak i bardziej skomplikowanych operatorów, takich jak gradient, dywergencja, rotacja, laplasjan itd.
Z operatorów wbudowanych Mathcad 2000 posiada jedynie pochodną w punkcie oraz całkę oznaczoną.
Pozostałe operatory muszą być zdefiniowane przez użytkownika. Cecha ta jest jednocześnie słabą i silną stroną
programu. W sytuacjach typowych konieczność definiowania typowych operatorów jest uciążliwa i opóźnia
wykonanie obliczeń. W przypadkach nietypowych pozwala to zaś na zdefiniowanie dowolnych operatorów,
w takiej postaci, jaka jest w danej sytuacji potrzebna.
Przykłady typowych wektorowych operatorów analitycznych są podane w pliku vctrdiff.mcd, który
wraz z innymi przykładami jest dostarczany z programem.
Numeryczne realizacje operacji analitycznych obarczone są nieuniknionymi błędami. W przypadku procedur
całkowania błędy te nie są znaczne, natomiast w odniesieniu do procedur różniczkowania numerycznego błędy
te są duże. Płynie stąd wniosek, że za wszelką cenę należy unikać numerycznego rozwiązywania zagadnień
różniczkowych, lecz starać się przekształcić je w równoważne zagadnienia całkowe. Stabilność i dokładność
takich rozwiązań jest o wiele większa.
Definicja 1.
Gradientem funkcji f nazywamy wektor g o współrzędnych równych odpowiednio pochodnym cząstkowym
funkcji f, co zapisujemy:
⎡ ∂f ∂f ⎤
f : R2 → R grad f = ⎢ , ⎥
⎣ ∂x ∂y ⎦
⎡ ∂f ∂f ∂f ⎤
f : R3 → R grad f = ⎢ , , ⎥
⎣ ∂x ∂y ∂z ⎦
Gradient wyznacza kierunek największego przyrostu funkcji f pod warunkiem, że nie jest równy zeru.
Twierdzenie 2.
Gradient pola skalarnego f jest prostopadły do linii (powierzchni) ekwipotencjalnej tego pola.
Definicja 3.
Potencjałem skalarnym pola wektorowego a nazywamy taką funkcję skalarną ϕ, dla której zachodzi:
a = grad φ
Definicja 4.
Dywergencją (albo rozbieżnością) pola wektorowego a = [ax, ay, az] nazywamy pole skalarne div a określone
w układzie ortokartezjańskim następującym wzorem:
∂ ax ∂ a y ∂ az ∂a ∂a ∂a
div a = + + = i ⋅ + j⋅ + k ⋅
∂x ∂y ∂z ∂x ∂y ∂z
Pole wektorowe, którego dywergencja jest w każdym punkcie równa zeru, nazywamy polem bezźródłowym lub
solenoidalnym. Nazwa pola solenoidalnego pochodzi stąd, że pole elektryczne wytworzone w wyniku przepływu
stałego prądu przez solenoid (cewkę) ma właśnie rozbieżność równą zeru.
Mathcad dla Windows cz.5. 2/7
Twierdzenie 5.
Własności dywergencji:
1. Liniowość div(α a + β b) = α div a + β div b
gdzie:
a, b – różniczkowalne pola wektorowe,
ϕ – różniczkowalne pole skalarne,
α, β – stałe skalary.
Twierdzenie 6.
Dowolne pole wektorowe jest sumą pola potencjalnego i pola solenoidalnego.
Definicja 7.
Laplasjanem pola skalarnego ϕ nazywamy dywergencję pola wektorowego potencjalnego a = grad ϕ
o potencjale ϕ i oznaczamy
∆φ = div grad φ
Definicja 8.
Rotacją (albo wirowością) różniczkowalnego pola wektorowego a = [ax, ay, az] nazywamy pole wektorowe rot a
przyporządkowane danemu polu a i określone w układzie ortokartezjańskim wzorem:
⎛ ∂ a ∂ a y ⎞ ⎛ ∂ ax ∂ az ⎞ ⎛ ∂ a y ∂ ax ⎞
rot a = ⎜ z − ⎟i+⎜ − ⎟ j+⎜ − ⎟k
⎝ ∂y ∂z ⎠ ⎝ ∂z ∂x ⎠ ⎝ ∂x ∂y ⎠
Pole wektorowe, którego rotacja jest w każdym punkcie równa zeru, nazywamy polem wektorowym
bezwirowym.
Twierdzenie 9.
Pole wektorowe bezwirowe określone w obszarze powierzchniowo jednospójnym jest polem potencjalnym.
Twierdzenie 10.
Długość łuku dla krzywej opisanej zależnością funkcyjną y=f(x), w przedziale x∈<a,b>:
x1
∫ 1 + ( f ′( x) ) dx
2
L=
x0
Długość łuku dla krzywej opisanej zależnością parametryczną x=x(t), y=y(t), w przedziale t∈<t0,t1>:
t1
Twierdzenie 11.
Objętość bryły obrotowej, której tworząca opisana jest funkcją y=f(x), w przedziale x∈<a,b>:
b
V = π ∫ f 2 ( x)dx
a
Objętość bryły obrotowej, której tworząca opisana jest zależnością parametryczną x=x(t), y=y(t), w przedziale
t∈<t0,t1>:
t1
t0
Mathcad dla Windows cz.5. 3/7
Twierdzenie 12.
Pole powierzchni obrotowej, której tworząca opisana jest funkcją y=f(x), w przedziale x∈<a,b>:
b
S = 2π ∫ f ( x) 1 + ( f ′( x) ) dx
2
Pole powierzchni obrotowej, której tworząca opisana jest zależnością parametryczną x=x(t), y=y(t), w przedziale
t∈<t0,t1>:
t1
S = 2π ∫ y (t ) ( x′(t ) )2 + ( y′(t ) )2 dt
t0
Operatory i polecenia
Opis Klawisz Wygląd
d 3
operator pochodnej w punkcie ? x
dx
b
operator całki oznaczonej Shift-7
∫a xdx
1. Różniczkowanie numeryczne
Mathcad 2000 jako program numeryczny jest zdolny policzyć jedynie przybliżoną wartość pochodnej w danym
punkcie. Pamiętając o ograniczonej dokładności różniczkowania numerycznego należy podchodzić do tej
możliwości bardzo ostrożnie. W celu obliczenia wartości pochodnej w danym punkcie należy:
• zdefiniować wartości wszystkich zmiennych występujących w różniczkowanym wyrażeniu, o ile nie zostało
to wcześniej dokonane,
• zmiennej, względem której jest różniczkowane wyrażenie należy nadać wartość równą punktowi, w którym
pochodna ma zostać obliczona,
• należy wpisać polecenie różniczkowania, którym jest znak pytajnika ?; na ekranie pojawi się wówczas
symbol pochodnej z pustymi polami, do których należy wpisać różniczkowane wyrażenie oraz zmienną
względem, której wyrażenie jest różniczkowane. Jeżeli różniczkowane jest wyrażenie złożone należy
wówczas ująć je w nawiasy.
Poniżej przedstawiono przykład ilustrujący powyższy sposób:
x := 2
d 5 ( 4
x + x + 3 = 112 )
dx
Można też ewentualnie, zamiast liczyć wartość pochodnej w pojedynczym punkcie, zdefiniować funkcję
pochodną, którą można następnie stosować przy różnych wartościach zmiennej niezależnej. Dokonuje się tego
przy pomocy następującego wyrażenia:
f ( x) := (
d 5 4
x +x +3 )
dx
2. Całkowanie numeryczne
Mathcad 2000 jako program numeryczny może realizować wyłącznie całkowanie oznaczone tj. z podanymi
granicami całkowania. W celu wprowadzenie całki należy wpisać znak Shift-7 po czym na ekranie pojawi się
symbol całki oznaczonej z pustymi polami, do których należy wpisać granice oraz wyrażenie całkowane i
zmienną całkującą. Poniżej zamieszczono przykład ilustrujący użycie operatora całki oznaczonej:
π
⌠4
⎮ sin ( x) 2 dx = 0.143
⌡0
Mathcad 2000 do obliczania całek oznaczonych używa metody Simpsona. Do wyrażeń całkowych stosują się
następujące ograniczenia:
• granice całkowania muszą być liczbami rzeczywistymi (nie mogą być zespolone ani czysto urojone),
• za wyjątkiem zmiennej całkującej wszystkie inne zmienne występujące w całkowanym wyrażeniu muszą
mieć nadane wartości,
• wyrażenie całkujące musi być pojedynczą zmienną (nie można używać złożonych wyrażeń całkujących).
Należy pamiętać, że całkowanie numeryczne ma charakter przybliżony. Jeżeli w przedziale całkowania
występują osobliwości, nieciągłości lub bardzo szybkie zmiany (duże wartości pierwszej pochodnej) to wynik
całkowania może być niedokładny.
Stosując powyższy operator można zbudować funkcję, która – z dokładnością do stałej – zachowuje się
jak funkcja pierwotna, czyli wynik całki nieoznaczonej. Wzór oczywiście jest nieznany, ale uzyskiwane wartości
są identyczne z funkcją pierwotną. Poniżej przedstawiono sposób tworzenia funkcji pierwotnej:
x
⌠
f ( x) := ⎮ sin ( t) dt
⌡0
Dolna granica całkowania może być ustalona dowolnie. Dowolność ta odpowiada dowolności wyboru stałej
całkowania w przypadku całki nieoznaczonej. Funkcja pierwotna uzyskana metodami analitycznymi wynosi:
g ( x) := −cos ( x)
Porównując wynik ścisły z przybliżonym można sprawdzić, dla kilku wybranych wartości, że istotnie różnica
pomiędzy f(x) i g(x) jest stała:
f ( 0) − g ( 0) = 1
f ( 1) − g ( 1) = 1
f ( 2) − g ( 2) = 1
i := 1 .. 100
∑ (2⋅i) = 1.01 × 10
4
∏(1 + x ) − 1 = 0.267751841989
i
i
5. Błędy numeryczne
Mathcad 2000 posiada kilka wbudowanych algorytmów numerycznych pozwalających obliczyć całki oznaczo-
ne. Program stosuje tzw. autoselekcję algorytmów dobierając optymalny jego zdaniem dla danej całki.
Autoselekcję można jednak wyłączyć i samemu wybrać metodę. W tym celu należy kliknąć prawym
klawiszem myszy w symbol całki i w lokalnym menu, które się pojawi wyłączyć opcję AutoSelect, później
w tym samym menu można wybrać metodę całkowania.
Poniżej przedstawiono tę samą całkę obliczoną różnymi metodami, najpierw metodą Romberga, a następnie
metodą adaptacyjną:
⌠e
⎮ ln( x) dx = 0.999999999959
⌡1
⌠e
⎮ ln( x) dx = 1
⌡1
Ćwiczenia
1. Obliczyć całkę z funkcji
y = x sin( x)
exp( x)
y=
x2
w przedziale od 1 do 6 oraz pochodną w punkcie 1.58.
Mathcad dla Windows cz.5. 6/7
3. Zapora o kształcie trapezu (rysunek poniżej) jest obciążona parciem wody. Obliczyć wartość parcia.
y ( x) := k ⋅ x
Program numeryczny
MATHCAD
Część 6 – interpolacja, aproksymacja, statystyka
Wprowadzenie
W trakcie prac inżynierskich często występuje konieczność wykonania pomiarów wartości wielkości fizycznych
opisujących proces lub urządzenie techniczne. Z reguły nieznane są ścisłe wzory wiążące pomiędzy sobą mierzone
wielkości. Inżynier staje wówczas przed zadaniem określenia wzorów przybliżonych, których dokładność będzie
wystarczająca dla potrzeb wykonywanego zadania. Możliwe są dwa sposoby postępowania.
Pierwszy sposób jest stosowany wówczas, gdy wielkości mierzone są z dużą dokładnością, uzyskiwane wartości
są powtarzalne, niezaburzone i stosunkowo gęsto rozmieszczone nad dziedziną wielkości niezależnych. Stawia się
wówczas żądanie, aby przybliżone przebiegi dla punktów pomiarowych zwracały dokładne wartości zmierzone.
Taką technikę określania przebiegów przybliżonych nazywa się interpolacją.
Drugi sposób stosuje się wtedy, gdy wartości uzyskiwane w trakcie pomiarów są silnie zaburzone, a co za tym
idzie przeprowadzenie przybliżonego przebiegu przez wszystkie punkty pomiarowe nie jest możliwe. Zadowalające
jest wówczas uzyskanie przebiegu, który odda choć ogólny zarys trendu. Zamiast wymagania dokładnego przejścia
przez punkty pomiarowe stawia się osłabione żądanie: przebieg powinien minimalizować pewne kryterium błędu (a
niekoniecznie zerować to kryterium). Taką technikę określania przebiegów przybliżonych nazywa się aproksymacją.
Powyższe uwagi można sformalizować w następujący sposób. Punktem wyjściowym jest zbiór punktów
pomiarowych i wartości zmierzonych:
P= {( x 1/ j ,K , xi / j , z j )} j = 1K n
gdzie i jest liczbą wielkości niezależnych, natomiast n to liczba punktów pomiarowych (wartości zmierzonych).
Interpolacją nazywa się odwzorowanie f, które dla punktów pomiarowych zwraca dokładne wartości zmierzone:
(
f x1/ j ,K , xi / j = z j) j = 1K n
Oczywiście zachowanie się interpolacji f pomiędzy punktami pomiarowymi jest jedynie przybliżeniem i nie można
mieć gwarancji, iż oddaje to charakter badanego przebiegu.
Aproksymacją nazywa się odwzorowanie f, które nad punktami pomiarowymi minimalizuje pewne kryterium
błędu L:
L( x1 ,K , xi , z , f ) → min
Z powyższego żądania minimalizacji kryterium błędu określa się parametry konkretnego modelu aproksymacyjnego
f, który jest przyjmowany ad hoc.
Wyróżnia się pewne typowe postaci kryterium błędu L. Najczęściej spotykaną jest tzw. metoda najmniejszych
kwadratów:
( ))
n
(
2
L( x1 ,K , xi , z , f ) = ∑ z j − f x1/ j ,K , xi / j → min
j =1
Z uwagi na postać powyższe kryterium często określa się jako minimalizację globalną. Oznacza to, że w pojedyn-
czych punktach pomiarowych błędy aproksymacji mogą być stosunkowo duże! Interpretując to potocznie można
powiedzieć, że zazwyczaj błędy są nieduże, ale niekiedy mogą trafić się błędy katastrofalne. W zastosowaniach
bardzo odpowiedzialnych aproksymację metodą najmniejszych kwadratów należy stosować z dużą ostrożnością.
Mathcad dla Windows cz.6. 2 / 11
Specyficzna aproksymacja, w której metoda najmniejszych kwadratów jest skojarzona z modelem liniowym
i
f ( x1 ,K xi ) = b0 + ∑ bk xk
k =1
(
L( x1 ,K , xi , z , f ) = max z j − f x1/ j ,K , xi / j → min
j =1K n
)
Kryterium to jest ostrzejsze niż wcześniej wymieniona metoda najmniejszych kwadratów. Interpretując to potocznie
można powiedzieć, że zazwyczaj błędy są większe niż w metodzie najmniejszych kwadratów, ale nigdy nie trafią się
błędy katastrofalne! Metoda ta jest zalecana dla zastosowań odpowiedzialnych, w których występowanie dużych
błędów aproksymacyjnych nie jest dopuszczalne. Należy jednak pamiętać, że przeprowadzenie aproksymacji tą
metodą jest znacznie bardziej złożone obliczeniowo niż w przypadku metody najmniejszych kwadratów.
Definicja 1.
Średnia arytmetyczną z próby nazywamy statystykę postaci
1 n
X= ∑ Xi
n i=1
Definicja 2.
Wariancją z próby nazywamy statystykę postaci
∑( X )
n
1 2
S2 = i −X
n i =1
Mathcad dla Windows cz.6. 3 / 11
Definicja 3.
Odchyleniem standardowym z próby nazywamy statystykę postaci
1 n
( )
2
S= ∑ Xi − X
n i =1
Definicja 4.
Estymatorem (oszacowaniem) wariancji populacji na podstawie próby losowej jest statystyka postaci:
1 n
( )
2
S2 = ∑ Xi − X
n − 1 i =1
Definicja 5.
Estymatorem (oszacowaniem) odchylenia standardowego populacji na podstawie próby losowej jest statystyka
postaci:
1 n
( )
2
S= ∑ Xi − X
n − 1 i =1
Definicja 6.
Wariancją średniej arytmetycznej z próby nazywamy statystykę postaci:
∑( X )
n
1 2
S s2 = i −X
n(n − 1) i =1
Definicja 7.
Odchyleniem standardowym średniej arytmetycznej z próby nazywamy statystykę postaci:
∑( X )
n
1 2
Ss = i −X
n(n − 1) i =1
Definicja 8.
Przedziałem ufności nazywa się losowy przedział zawierający z prawdopodobieństwem (1-α) szacowany parametr.
Wielkość α nazywa się poziomem istotności, natomiast wartość (1-α) poziomem ufności. Zazwyczaj przyjmuje się
wartość poziomu istotności jako 0,01 ; 0,05 ; 0,10. Im większy poziom istotności, tym węższy otrzymuje się
przedział ufności, tzn. poprawia się precyzja estymacji przedziałowej.
Definicja 9.
Przedział ufności dla średniej m w populacji o rozkładzie normalnym ze znaną wariancją σ2 :
⎧ σ σ ⎫
P⎨ X − uα < m < X + uα ⎬ = 1− α
⎩ n n⎭
gdzie:
X – średnia z próby o liczebności n,
α – przyjęty poziom istotności,
uα – liczba odczytana z tablicy rozkładu normalnego standaryzowanego N(0,1) taka, aby F(uα) = 1–α/2.
Mathcad dla Windows cz.6. 4 / 11
Minimalną liczebność próby potrzebną do uzyskania ustalonej z góry dokładności przedziałowej estymacji określa
nierówność:
uα2 σ 2
n≥
d2
gdzie: σ2 – znana wariancja populacji, d – maksymalny dopuszczalny błąd szacunku (przyjęta z góry wartość połowy
długości przedziału ufności).
Definicja 10.
Przedział ufności dla średniej m w populacji o rozkładzie normalnym z nieznaną wariancją σ2:
{ }
P X − tα S s < m < X + tα S s = 1 − α
gdzie:
X – średnia z próby o liczebności n,
α – przyjęty poziom istotności,
Ss – odchylenie standardowe średniej arytmetycznej z próby (wg definicji 7),
tα – liczba odczytana z tablicy rozkładu t Studenta dla (n-1) stopni swobody.
Operatory i polecenia
Opis Funkcja Użycie
1 n
P( X = x k ) = n ∈N 1 ⎛1 n ⎞
2
∑ xk
n
Równomierny 1 Model losowego wyboru
k = 1, 2, K , n
n
n k =1 n
∑
k =1
x2
k− ⎜ ∑ xk ⎟
⎝ n k =1 ⎠
jednostki z populacji
⎛ n⎞ n ∈N np
Dwumianowy P( X = k ) = ⎜ ⎟ p k (1 − p) n− k n p (1 − p) Liczba wystąpień zdarzenia w
⎝ k⎠ p ∈ ( 0, 1)
czasie realizacji
doświadczenia
k = 0, 1, K , n
Jednostajny ⎧ 1
(prostokątny, dla x ∈ ( a, b) a<b a+b ( b − a) 2
⎪b − a
równomierny) ⎪ 2 12
⎨
⎪0 poza tym
⎪
⎩
Normalny 1 2
/ 2σ 2
σ >0 a+b ( b − a) 2
Najważniejszy rozkład w
e − ( x − m) zastosowaniach jako rozkład
(Gaussa) σ 2π 2 24 graniczny ciągów innych
rozkładów
1 2 2 σ >0 ⎛ σ⎞
2 Rozkład zmiennej losowej
Logarytmo- e − (ln x − m) / 2σ exp⎜ m + ⎟ exp( 2m + σ 2 ) exp(σ 2 − 1) Y = exp(X), gdy zmienna
normalny σx 2π ⎝ 2⎠
losowa X ma rozkład
normalny
⎛ n + 1⎞
Γ⎜ ⎟ ⎧nie istnieje n = 1 ⎧⎪nie istnieje dla n ≤ 2
⎝ 2 ⎠
t Studenta n ∈N ⎨ ⎨ n dla n > 2 n – liczba stopni swobody
⎛ n⎞ ⎛ x ⎞ 2 ( n +1)/ 2
⎩0 dla n ≥ 2 ⎪⎩ n − 2
2π Γ ⎜ ⎟ ⎜1 + ⎟
⎝ 2⎠ ⎝ n⎠
Mathcad dla Windows cz.6. 7 / 11
i := 0..(N-1)
Następnie tworzy się wektory X oraz Y opisujące węzły interpolacji:
wektorXi := wektorYi :=
1 0
2 5
3 0
4 -5
5 0
wpisując kolejne wartości oddzielane przecinkami, natomiast po ostatniej wpisanej wartości należy nacisnąć
klawisz ENTER. Dysponując oboma wektorami X i Y można przystąpić do obliczenia wartości
interpolowanych:
linterp(wektorX,wektorY,1.3) = 1.5
linterp(wektorX,wektorY,2.3) = 3.5
linterp(wektorX,wektorY,3.3) = -1.5
linterp(wektorX,wektorY,4.3) = -3.5
UWAGA! Stosowanie interpolacji odcinkowo liniowej poza zakresem określonym przez węzły interpolacji –
czyli tzw. ekstrapolacja – prowadzi z reguły do otrzymania nonsensownych wyników.
Zamiast wielokrotnie stosować dość długi w zapisie wzór linterp(...) wygodniej jest zdefiniować nową funkcję
interpolującą i używać jej jako skrótowego zapisu:
funkcja(x) := linterp(wektorX,wektorY,x)
Wykres funkcji interpolującej wygląda następująco:
5
5
4
3
2
1
linterp( wektorX , wektorY, x) 0
1
2
3
4
−5 5
1 1.67 2.33 3 3.67 4.33 5
1 x 5
Mathcad dla Windows cz.6. 8 / 11
wsp := lspline(wektorX,wektorY)
interp(wsp,wektorX,wektorY,1.3) = 2.183
interp(wsp,wektorX,wektorY,2.3) = 4.393
interp(wsp,wektorX,wektorY,3.3) = -2.182
interp(wsp,wektorX,wektorY,4.3) = -4.393
UWAGA! Stosowanie interpolacji funkcją sklejaną poza zakresem określonym przez węzły interpolacji – czyli
tzw. ekstrapolacja – prowadzi z reguły do otrzymania nonsensownych wyników.
Zamiast wielokrotnie stosować dość długi w zapisie wzór interp(...) wygodniej jest zdefiniować nową
funkcję aproksymującą i używać jej jako skrótowego zapisu:
funkcja(x) := interp(wsp,wektorX,wektorY,x)
Na poniższym wykresie porównawczo przedstawiono dwa przebiegi: interpolację odcinkowo liniową oraz
interpolację funkcją sklejaną (cspline).
6
5.002
5
1
liniowa ( x )
0
spline ( x )
1
5
− 5.093 6
1 2 3 4 5
1 x 5
Mathcad dla Windows cz.6. 9 / 11
3. Regresja liniowa
Program MathCAD oblicza współczynniki regresji liniowej według metody najmniejszych kwadratów. Służą do
tego dwie funkcje slope oraz intercept obliczające odpowiednio współczynnik przy zmiennej niezależnej oraz
składnik wolny aproksymującej funkcji liniowej. Poniżej zamieszczono przykład użycia regresji liniowej do
znalezienia wartości nieznanej funkcji. Przyjęte dane liczbowe są takie same jak w przykładach poprzednich.
N := 5
i := 0..(N-1)
wektorXi := wektorYi :=
1 0
2 5
3 0
4 -5
5 0
a := slope(wektorX,wektorY)
b := intercept(wektorX,wektorY)
a ⋅ 1.3 + b = 1.7
a ⋅ 2.3 + b = 0.7
a ⋅ 3.3 + b = -0.3
a ⋅ 4.3 + b = -1.3
Dodatkowo, można obliczyć współczynnik korelacji Pearsona pomiędzy wartościami zmiennej niezależnej
i wartościami węzłowymi nieznanej funkcji. Współczynnik ten jest wykorzystywany jako miara związku
pomiędzy wartościami tych dwóch wektorów. Dla wektorów z powyższego przykładu:
corr(x,y) = -0.447
Zamiast wielokrotnie stosować dość długi w zapisie wzór złożony z funkcji slope i intercept wygodniej jest
zdefiniować nową funkcję aproksymującą i używać jej jako skrótowego zapisu:
funkcja(x) := slope(wektorX,wektorY) ⋅ x + intercept(wektorX,wektorY)
Na poniższym wykresie przedstawiono porównawczo dwa przebiegi: interpolację odcinkowo liniową oraz
regresję liniową. Można zauważyć, że regresja liniowa wyraża trend liniowy mierzonego przebiegu.
5
5
4
1
liniowa( x)
0
regresja( x)
1
4
−5 5
1 2 3 4 5
1 x 5
4. Parametry statystyczne
Dostępne są funkcje mean, var oraz stdev służące do obliczania wartości średniej z próbki oraz wariancji i
odchylenia standardowego z próbki. Nie są dostępne wzory do obliczania estymatorów populacyjnych na
podstawie próbki.
Wartość średnia próbki dana jest poniższym wzorem:
1 n
X = ∑ Xi
n i=1
Mathcad dla Windows cz.6. 10 / 11
∑( X )
n
1 2
S2 = i −X
n i =1
W przypadku, gdy niezbędne jest obliczenie estymatora wariancji populacji na podstawie próbki należy
zastosować poniższy wzór przekształcający:
n
s2 = ⋅ S2
n −1
Odchylenie standardowe próbki dane jest poniższym wzorem:
1 n
( )
2
S= ∑ Xi − X
n i =1
W przypadku, gdy niezbędne jest obliczenie estymatora odchylenia standardowego populacji na podstawie
próbki należy zastosować poniższy wzór przekształcający:
n
s= ⋅S
n −1
Dostępna jest funkcja cnorm służąca do obliczania wartości dystrybuanty rozkładu normalnego dla zadanych
wartości zmiennej losowej standaryzowanej. Poniżej zamieszczono przykład obliczenia parametrów
statystycznych z następującej próbki: 4.95 ; 5.01 ; 4.99 ; 5.13 ; 5.15 ; 4.87 .
i := 0..5
xi :=
4.95
5.01
4.99
5.13
5.15
4.87
mean(x) = 5.017
var(x) = 0.01
stdev(x) = 0.098
Następny przykład dotyczy korzystania z funkcji cnorm przy obliczaniu przedziałów ufności dla dużych próbek
(powyżej 30 wartości):
srednia := 50
odchylenie := 10
alfa := 0.05
wsp := 1
given
cnorm(wsp) ≈ 1 - alfa / 2
wsp := Find(wsp)
wsp = 1.96
minimum := srednia - wsp ⋅ odchylenie
maksimum := srednia + wsp ⋅ odchylenie
minimum = 30.4
maksimum = 69.6
Mathcad dla Windows cz.6. 11 / 11
Ćwiczenia
1. Dla samochodu Fiat 126p przeprowadzono pomiary zużycia paliwa w zależności od średniej prędkości
jazdy. Uzyskano następujące wyniki:
v [km/h] 40 50 60 70 80
3
p [dm /100km] 6,0 5,3 4,8 5,7 7,1
Obliczyć – poprzez interpolację funkcją sklejaną – wartości zużycia paliwa dla następujących prędkości:
45 ; 53 ; 58 ; 67 ; 73 ; 78
Interpolację przeprowadzić stosując po kolei wszystkie warianty warunków brzegowych. Porównać
otrzymane wyniki.
2. Przeprowadzono pomiary czasu wystąpienia awarii (TMF - time to failure) wiertła w zależności od siły
nacisku. Dla czterech różnych sił nacisku wykonano po sześć pomiarów. Wyniki pomiarów zestawiono
w poniższej tabelce: