You are on page 1of 42

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:
01 01 14.02.2000 –

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

Opis Klawisz Wygląd


odświeżenie ekranu Ctrl-R
usuwanie wyrażenia Ctrl-D
definiowanie wartoœci zmiennej : t := 10
lub funkcji
dodawanie skalarne + acc := 10 + t
odejmowanie skalarne - acc := t – 10.5
mnożenie skalarne * x := a x b
dzielenie skalarne / x := a / b
pierwiastek kwadratowy \
a : = x+ y
potęgowanie ^ a := 10 ^ 3.2
silnia ! x := 128 !
wartość bezwzględna | x := | a + b |
wartościowanie = x + 2 = 12.53
(wymuszenie obliczeń)
definiowanie zakresu ; x := 1 .. 10
(licznik pętli z krokiem 1)
pierwszy.. ostatni
definiowanie zakresu ; x := 1,1.5 .. 10
Mathcad dla Windows cz.1. 2/4

Opis Klawisz Wygląd


(licznik pętli z dowolnym krokiem)
pierwszy, drugi.. ostatni
Liczba π Ctrl-Shift–p sin( π / 4 ) = 0.707
Liczba e e e = 2.718
Symbol nieskończoności Ctrl-Shift-Z ∞
Procent (1/100) % % = 0.01
tekst opisowy (nieobliczeniowy) ” ”to nie jest obliczane”
operator logiczny „większy niż” > 2 > 1
operator logiczny „mniejszy niż” < 2 < 5
operator logiczny Ctrl-0 8 ≥ 3
„większy lub równy”
operator logiczny Ctrl-9 3 ≤ 8
„mniejszy lub równy”
operator logiczny „równy” Ctrl-= x = 5
operator logiczny „nierówny” Ctrl-3 x ≠ 15
funkcja warunkowa „jeżeli” if(warunek,prawda,fałsz) if(x>0, x^2, -x^2)

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

View – włączanie poszczególnych pasków narzędziowych (toolbars), włączanie paska


informacyjnego (status bar), włączanie linijki (ruler), tworzenie i wyświetlanie
animacji w arkuszu roboczym
Insert – definiowanie wykresów, definiowanie macierzy, wstawianie funkcji z biblioteki
standardowej programu, wstawianie jednostek miar, definiowanie ilustracji,
definiowanie obszarów rozwijalnych (szczególnie wygodne, gdy niezbędne są
obliczenia pomocnicze, które jednak mogłyby zaciemniać główną prezentację
wyników)
Format – formatowanie różnorodnych elementów arkusza m.in. równań, wykresów,
ustawianie tabulatorów, kolorów, definiowanie nagłówków i stopek itp.
Math – wymuszanie obliczeń w trybie ręcznym, włączanie trybu ręcznego lub
automatycznego,
Symbolics – polecenia służące do obliczeń symbolicznych wewnątrz arkusza Mathcada –
program uruchamia wówczas podprogram symboliczny będący w istocie pracującym
w tle fragmentem programu Maple
Window – polecenia służące do porządkowania okien i określania sposobu ich ułożenia
na ekranie
Help – polecenia wywołujące system pomocy oraz informacja o programie

Ćwiczenia
π
1. Obliczyć wartość wyrażenia sin( ) .
4
Wskazówka: wpisać sin (Ctrl-Shift–p / 4 ) =

2. Obliczyć wartość wyrażenia 2π + e


Wskazówka: wpisać \ ( 2 * Ctrl-Shift-p + e ) =
3. Obliczyć tablicę wartości funkcji x 2 + x dla kolejnych wartości argumentu x od 0 do 9
w odstępach 1.
Wskazówka:
wpisać x : 0 ; 9 nacisnąć ENTER
wpisać f ( x ) : x ^ 2 → + x nacisnąć ENTER
wpisać f ( x ) =
Uwaga: użycie w trakcie wpisywania strzałki w prawo jest konieczne, aby wyjść
z poziomu wykładnika (jest to zmiana w stosunku do wersji DOS)
1
4. Obliczyć wartości funkcji dla wartości argumentu x od 1 do 10 w odstępie 0,25.
x
Wskazówka:
wpisać arg : 1 , 1.25 ; 10 nacisnąć ENTER
wpisać f ( x ) : 1 / x nacisnąć ENTER
wpisać f ( arg ) =
Uwagi:
ƒ jeżeli krok przyrostu jest różny od 1 należy zastosować wariant definiowania ciągu
poprzez podanie elementu pierwszego, drugiego i ostatniego
ƒ aby zakończyć wpisywanie ułamka tzn. opuścić licznik lub mianownik i konty-
nuować wpisywanie wyrażenia poza ułamkiem należy nacisnąć klawisz spacji
5. Obliczyć wartość wyrażenia
2 ⎡9 x x ⎤
⎢ arcsin + 9 − x2 ⎥
3 ⎣2 3 2 ⎦
Mathcad dla Windows cz.1. 4/4

dla wartości x od 0 do 3 co 0,5.


Uwaga: w programie Mathcad funkcja arc sin jest oznaczana symbolem asin, podobnie
pozostałe funkcje cyklometryczne: arc cos oznaczany jest jako acos, arc tg jako atan.
Mathcad nie dysponuje oznaczeniem dla funkcji arc ctg.
6. Obliczyć wartość wyrażenia
1
(1 + cos x )
2

dla wartości x od 0 do π/2 co π/6.

7. Obliczyć wartości wyrażenia


cos 2x

dla wartości x od 0 do π/2 co π/12.


Uwaga: w programie Mathcad (inaczej niż w Derive) nie można opuszczać nawiasów
obejmujących argument funkcji.
8. Obliczyć wartość wyrażenia
2 + 3cos x
tg x cos x
dla wartości x=p/4.
9. Podać wartości współczynników rozwinięcia (1+x)10.
Uwaga: skorzystać z funkcji combin(n,k) realizującej kombinację k-elementową z n-
elementów
10. Obliczyć wartość wyrażenia
π2 ⎛ x⎞ x e
arc sin ⎜ ⎟ + 4 − x2 +
8 ⎝ 2⎠ 2 ln π
od 0 do π/2 co π/8.
11. Zbuduj funkcję realizującą ciąg zdefiniowany rekurencyjnie
⎧1 n=0

an = ⎨1 n =1
⎪a − a n >1
⎩ n −1 n − 2
Ujmując to językiem potocznym: dwa pierwsze elementy ciągu są równe 1, każdy
następny jest równy dwóm poprzednikom. Należy zbudować tablicę wartości ciągu dla
wartości n z zakresu od 10 do 20.
Uwaga: do zdefiniowania funkcji realizującej wartości ciągu należy zastosować operator
logiczny if.
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:
02 01 02.03.2000 –

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]:

kolumnowej Komentarz [JP2]:


⎡ a1 ⎤ Komentarz [JP3]:
⎢a ⎥
⎢ 2⎥
⎢ M⎥
⎢ ⎥
⎢⎣ an ⎥⎦

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):

⎡ a11 − λ a12 a1n ⎤


K
⎢ a a22 − λ K a2 n ⎥⎥
⎢ 21 =0
⎢ K K K K ⎥
⎢ ⎥
⎢⎣ an1 an 2 K ann − λ ⎥⎦
Równanie to, w którym λ jest niewiadomą, jest n-tego stopnia. Pierwiastki tego równania nazywamy
wartościami własnymi macierzy A.

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.

Opis Klawisz Wygląd


wprowadzenie macierzy lub wektora Ctrl-M

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

wartości własne eigenvals eigenvals(A)=


wektory własne eigenvecs eigenvecs(A)=
ślad macierzy tr tr(A) = 3.54

1. Wprowadzanie wektorów i macierzy


Należy nacisnąć sekwencję Ctrl-M. Na ekranie pojawi się okno dialogowe zawierające pytanie o liczbę
wierszy i liczbę kolumn. Jeżeli ma zostać wprowadzony wektor, należy odpowiednią liczbę elementów
wpisać jako liczbę wierszy, a jako liczbę kolumn podać wartość 1. Zostanie utworzony wektor kolumnowy.
Jeżeli natomiast ma zostać wprowadzona macierz, należy wpisać liczbę wierszy oraz liczbę kolumn.
Utworzony w ten sposób wzorzec wektora lub macierzy jest pusty, a miejsca przeznaczone na wpisanie
wartości są oznaczone prostokątnymi znakami. Przy pomocy klawiszy strzałek należy ustawić kursor na
pierwszym z nich, wpisać wartość a następnie klawiszem tabulatora TAB przesunąć kursor na następną
pozycję. W przypadku konieczności powrotu do poprzedniego pola należy użyć sekwencji klawiszy
Shift-TAB.
2. Indeksowanie wektora
Niekiedy, w trakcie obliczeń zachodzi konieczność użycia pojedynczego elementu składowego wektora.
Aby móc to zrobić konieczne jest użycie indeksacji. W tym celu należy wpisać nazwę wektora np. V,
następnie lewy nawias kwadratowy [ i do pojawiającego się pola dolnego indeksu wpisać numer
składowej, pamiętając o odpowiedniej numeracji (element pierwszy ma indeks o wartości 0).
3. Indeksowanie macierzy
Niekiedy, w trakcie obliczeń zachodzi konieczność użycia pojedynczego elementu składowego macierzy.
Aby móc to zrobić konieczne jest użycie indeksacji. W tym celu należy wpisać nazwę macierzy np. M,
następnie lewy nawias kwadratowy [ i zaraz za nim znak apostrofu ‘ . W pozycji dolnego indeksu pojawia
się wówczas pole ujęte w nawiasy okrągłe, do którego należy wpisać numer wiersza i numer kolumny
oddzielone przecinkiem, pamiętając o odpowiedniej numeracji (wiersz pierwszy ma indeks o wartości 0,
pierwsza kolumna podobnie).
4. Ekstrakcja kolumny macierzy (wektora kolumnowego)
W trakcie obliczeń macierzowych, szczególnie często podczas transformowania układu odniesienia,
zachodzi konieczność „wyjęcia” z macierzy poszczególnych kolumn jako samodzielnych wektorów
kolumnowych. W tym celu należy wpisać nazwę macierzy np. M a następnie wpisać sekwencję Ctrl-6.
W pozycji górnego indeksu pojawia się wówczas pole ujęte w nawiasy trójkątne, do którego należy wpisać
numer „wyjmowanej” kolumny, pamiętając o odpowiedniej numeracji (wiersz pierwszy ma indeks
o wartości 0, pierwsza kolumna podobnie).
5. Wektoryzacja
Jedną z bardzo dogodnych możliwości udostępnianych przez Mathcada jest polecenie tzw. wektoryzacji.
Jest to mianowicie możliwość zapisania w jednym, krótkim wyrażeniu polecenia, którego efektem będzie
zastosowania dowolnej funkcji do każdego elementu wektora lub macierzy z osobna. Wynikiem tego
polecenia jest wektor lub macierz identyczne, co do rozmiarów z pierwotnymi, natomiast każdy element
wynikowego wektora lub macierzy jest wynikiem uzyskanym z wprowadzonej funkcji. W tym celu należy
wpisać operator wektoryzacji przy pomocy sekwencji Ctrl-minus, a następnie poniżej uzyskanej strzałki
wprowadzić funkcję. Argumentem tej funkcji powinien być odpowiedni wektor lub macierz.

Ć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

5. Obliczyć wyznaczniki następujących macierzy oraz macierze odwrotne do nich:

⎡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 ⎥⎦

Wskazówka: skorzystać ze wzoru x = M-1⋅v

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.

10. Tor punktu jest opisany w układzie biegunowym równaniem


r (ϕ ) = sin 2 (2ϕ )
Obliczyć wektor sieczny łączący dwa punkty toru dla wartości φ1 = π/6 i φ2 = π/3. Obliczyć kosinusy
kierunkowe tego wektora w układzie kartezjańskim. Uwaga: przed obliczeniem wektorów wodzących
należy równanie trajektorii transformować do układu kartezjańskiego.
11. Płaszczyzna jest zadana trzema punktami: A(1,1,1), B(-1,1,1), C(0,1,0). Wyznaczyć normalny wektor
jednostkowy.
12. Wyznaczyć wartości własne macierzy
⎡1 2 3⎤
A = ⎢⎢ 4 5 6 ⎥⎥
⎣⎢7 8 9 ⎦⎥
Sprawdzić ortogonalność otrzymanej macierzy złożonej z wektorów własnych. Przeanalizować uzyskane
wyniki.
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:
03 01 13.03.2000 –

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

1. Wykresy płaskie funkcyjne


Mathcad tworzy wykresy płaskie jako wizualne przedstawienie powiązanych ze sobą wartości zawartych
w dwóch tablicach. Na jednym wykresie można przedstawić więcej niż jeden przebieg. W celu stworzenia
płaskiego wykresu zależności funkcyjnej należy:
• zdefiniować tablicę wartości rzeczywistych, które będą pełnić rolę zmiennej niezależnej,
Mathcad dla Windows cz.3. 2/9

• 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.

Opis Klawisz Wygląd


wielkość niezależnej – argument X x:0,0.5;10 i := 0, 0.5 .. 10
wzór funkcji f(x):0.55^x→*0.45^20-x f(x) := 0.55x * 0.4520-x
wzorzec wykresu płaskiego Shift-2

Po pojawieniu się na ekranie wzorca wykresu należy wypełnić odpowiednie pola:


• do środkowego pola osi poziomej należy wpisać nazwę wielkości niezależnej – w tym przypadku jest to
zmienna X,
• do środkowego pola osi pionowej należy wpisać nazwę funkcji wraz z argumentem – w tym przypadku jest
to f(x); warto zwrócić uwagę, że zrezygnowano z tworzenie osobnego wektora wartości wielkości zależnej,
• pozostałe pola, znajdujące się na końcach osi, należy zostawić puste – w ten sposób program zostaje
poinformowany, że powinien zastosować automatyczne skalowanie osi. Polega to na ustawieniu dla
poszczególnych osi zakresów tak, aby pokrywały się z wartościami minimalnymi i maksymalnymi
wielkości odpowiednio: niezależnej (oś pozioma) i zależnej (oś pionowa).
Wynikiem przytoczonych tu działań jest następujący wykres:

6
1 .10
−7
8.625 ×10

. 7
f ( x) 5 10

−7
1.159 ×10 0
0 5 10
0 x 10

2. Wykresy płaskie parametryczne


Mathcad tworzy wykresy płaskie jako wizualne przedstawienie powiązanych ze sobą wartości zawartych
w dwóch tablicach. Na jednym wykresie można przedstawić więcej niż jeden przebieg. W celu stworzenia
płaskiego wykresu zależności parametrycznej należy:
• zdefiniować wektor wartości rzeczywistych, które będą pełnić rolę zmiennej niezależnej (parametru),
• zdefiniować wzór funkcji, której wartości pełnią rolę pierwszej zmiennej zależnej,
• zdefiniować wzór funkcji, której wartości pełnią rolę drugiej zmiennej zależnej,
• 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. Przedstawia on spiralę Archimedesa, którą w układzie kartezjańskim
można podać wyłącznie w formie parametrycznej.

Opis Klawisz Wygląd


wektor wartości parametru i:0,0.5;30 i := 0, 0.5 .. 30
zmienna zakresowa i:0;M i := 0 .. M
funkcja zmiennej zależnej x(t) x(t):(1+t)*cos(t/5*Ctrl-Shift-p) x(t) := (1 + t) * cos(t / 5 * π)
funkcja zmiennej zależnej y(t) y(t):(1+i)*sin(t/5*Ctrl-Shift-p) y(t) := (1 + t) * sin(t / 5 * π)
Mathcad dla Windows cz.3. 3/9

wzorzec wykresu płaskiego Shift-2

Po pojawieniu się na ekranie wzorca wykresu należy wypełnić odpowiednie pola:


• do środkowego pola osi poziomej należy wpisać nazwę pierwszej wielkości zależnej – w tym przypadku
jest to funkcja x(i),
• do środkowego pola osi pionowej należy wpisać nazwę drugiej wielkości zależnej – w tym przypadku jest
to funkcja y(i),
• pozostałe pola, znajdujące się na końcach osi, należy zostawić puste – w ten sposób program zostaje
poinformowany, że powinien zastosować automatyczne skalowanie osi. Polega to na ustawieniu dla
poszczególnych osi zakresów tak, aby pokrywały się z wartościami minimalnymi i maksymalnymi
wielkości odpowiednio: pierwszej zależnej (oś pozioma) i drugiej (oś pionowa).
Wynikiem przytoczonych tu działań jest następujący wykres:

50
23.5

y( i) 0

− 28.5 50
40 20 0 20 40
− 26 x( i) 31

3. Wykresy płaskie biegunowe


Mathcad tworzy wykresy płaskie jako wizualne przedstawienie powiązanych ze sobą wartości zawartych
w dwóch tablicach. Na jednym wykresie można przedstawić więcej niż jeden przebieg. W celu stworzenia
płaskiego wykresu biegunowego należy:
• zdefiniować wektor wartości rzeczywistych, które będą pełnić rolę zmiennej niezależnej (kąta) – pamiętać
należy, że wartości kąta są określane w radianach,
• zdefiniować wzór funkcji, której wartości pełnią rolę zmiennej zależnej – wektora wodzącego,
• 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 przedstawia hiperbolę,
którą w układzie kartezjańskim można podać wyłącznie w formie parametrycznej lub uwikłanej.

Opis Klawisz Wygląd


wektor wartości parametru i:0,0.01;Ctrl-Shift-p i := 0, 0.01 .. π
funkcja zmiennej zależnej r(t) x(t):1/(1+1.5*cos(t)) 1
x(t ) : =
1 + 1.5 ⋅ cos(t )

wzorzec wykresu biegunowego Shift-7

Po pojawieniu się na ekranie wzorca wykresu należy wypełnić odpowiednie pola:


• do pola pod wykresem należy wpisać nazwę wielkości niezależnej – w tym przypadku jest to zmienna i,
• do pola po lewej stronie wykresu należy wpisać nazwę wielkości zależnej – w tym przypadku jest to
funkcja r(i),
• pozostałe pola, znajdujące się na końcach osi, należy zostawić puste – w ten sposób program zostaje
poinformowany, że powinien zastosować automatyczne skalowanie wykresu.
Wynikiem przytoczonych tu działań jest następujący wykres:
Mathcad dla Windows cz.3. 4/9

90
120 60 3
3

150 2 30
1
r( t) 0
180 0 0

210 330

240 300
270
t

4. Wykresy przestrzenne powierzchniowe


Mathcad tworzy przestrzenne wykresy powierzchniowe na dwa sposoby: poprzez wykreślenie powierzchni
zadanej wzorem funkcyjnym albo macierzą liczbową. W celu stworzenia przestrzennego wykresu
powierzchniowego 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. W razie potrzeby wykreślona
powierzchnia może mieć usunięte linie przesłaniane, a ponadto może być pokolorowana z uwzględnieniem
warstwic.
Poniżej przedstawiono przykład wykonania przestrzennego wykresu powierzchniowego zależności funkcyjnej.
Przykład przedstawia powierzchnię siodłową.

Opis Klawisz Wygląd


funkcja zmiennej zależnej r(t) f(x,y):x^2-y^2
f ( x, y ) : = x 2 − y 2

wzorzec wykresu przestrzennego Ctrl-2


powierzchniowego

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

Opis Klawisz Wygląd


funkcja zmiennej zależnej r(t) f(x,y):x^2-y^2
f ( x, y ) : = x 2 − y 2

wzorzec wykresu przestrzennego Ctrl-5


powierzchniowego

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:

6. Wykresy przestrzenne punktowy


Mathcad tworzy przestrzenne wykresy punktowe na dwa sposoby: poprzez wykreślenie powierzchni zadanej
wzorem funkcyjnym albo macierzą liczbową. W celu stworzenia przestrzennego wykresu punktowego 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 punktowego zależności funkcyjnej.
Przykład przedstawia powierzchnię siodłową.

Opis Klawisz Wygląd


funkcja zmiennej zależnej r(t) f(x,y):x^2-y^2
f ( x, y ) : = x 2 − y 2

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ą.

Opis Klawisz Wygląd


funkcja zmiennej zależnej r(t) f(x,y):x^2-y^2
f ( x, y ) : = x 2 − y 2

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.

8. Wykres pola wektorowego


Mathcad tworzy płaskie wykresy pola wektorowego dostarczając dane do wykresu na dwa sposoby: poprzez
zadanie macierzy wartości zespolonych, albo poprzez zadanie dwóch macierzy rzeczywistych. W pierwszym
przypadku składową poziomą wektora stanowi część rzeczywista liczby, składową pionową – część urojona.
W przypadku drugim składowe są dostarczane odpowiednio: pozioma – w macierzy pierwszej, pionowa –
w macierzy drugiej.
W trakcie przygotowywania danych do wykresu pamiętać należy o odpowiednim odwzorowaniu dziedziny
rzeczywistego zagadnienia na numery wierszy i kolumn macierzy, gdyż – w trakcie wykonywania wykresu –
one stanowią wartości współrzędnych poziomych. Poniżej jest to przedstawione na przykładzie.

Zadana jest funkcja postaci:


−1
f ( x, y ) : =
(x )
6
6
+ y 6 + 0.01
Należy przedstawić pola wektorowe jej gradientu w przedziale [-5 , 5] x [-5 , 5] stosując podział dziedziny na 20
wartości w każdym kierunku. W tym celu oblicza się gradient funkcji (szczegóły opisane są w miniskrypcie nr 5
„Analiza matematyczna”). Uzyskuje się funkcję wektorową:
Mathcad dla Windows cz.3. 7/9

⎡ 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.

1. Narysować wykres funkcji


y = x sin( x )
gdzie x zmienia się od –4π do 4π.

2. Narysować wykres funkcji


exp( x )
y=
x2
gdzie x zmienia się od 1 do 6.
3. Narysować wykres parametryczny wg następujących wzorów:

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

6. Narysować wykres funkcji

f ( x, y ) = − x ⋅ y
nad obszarem [–5 ; 5] x [–5 ; 5].

7. Narysować wykres funkcji y = log(x) w przedziale [0.5 , 100].


8. W przedziale zmienności [0 , 2π] wykonać wykres biegunowy funkcji r(φ) = cos2(φ). Dyskretyzację
zmienności φ przyjąć na tyle dużą, aby na wykresie nie występowały załamania.
9. W przedziale zmienności [0 , 2π] z dyskretyzacją 0.01 wykonać wykres biegunowy funkcji
r(φ, k) = cos2(kφ) dla wartości k = 2, 3, 4, 5. Porównać postać wykresów.
10. Wykonać wykres powierzchniowy, warstwicowy funkcji:

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

rozwiązanie równania z jedną niewiadomą root(wyrażenie,zmienna) root( x2-ex , x )

dokładność residuum TOL TOL := 10-5

całkowity kwadrat reszt błędów ERR ERR = 2.22 ⋅ 10-16

początek układu równań lub nierówności Given Given

funkcja rozwiązująca Find Find( x , y , z )

funkcjonał minimalizujący residua Minerr Minerr( x , y , z )


w poszczególnych równaniach lub nierównościach
relacja równości Ctrl-= ≈
relacja nierówności Ctrl-# ≠
relacja mniejszości < <

relacja mniejszości lub równości Ctrl-( ≤


relacja większości > >

relacja większości lub równości Ctrl-) ≥

1. Równania z jedną niewiadomą


Podstawową funkcją rozwiązującą równania z jedną niewiadomą jest dwuargumentowa funkcja root. Pierwszym
parametrem jest wyrażenie, którego wartość należy wyzerować, drugim - zmienna, która jest niewiadomą.
Funkcja jako zwraca wartość znalezionego pierwiastka. Przed wywołaniem funkcji należy zainicjować
niewiadomą zmienną przybliżoną wartością rozwiązania, gdyż jest to niezbędne z uwagi na sposób
poszukiwania pierwiastka: metodę siecznej. Poniżej przedstawiony jest przykład rozwiązania równania z jedną
niewiadomą.

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

4. niewiadomą inicjuje się znalezioną przybliżoną wartością pierwszego pierwiastka:


x1 := −4
5. poszukuje się dokładniejszej wartości tego pierwiastka:
wynik1 := root ( f ( x) , x)
6. niewiadomą inicjuje się znalezioną przybliżoną wartością drugiego pierwiastka:
x2 := −2
7. poszukuje się dokładniejszej wartości tego pierwiastka:
wynik2 := root ( f ( x2) , x2)
8. mając oba rozwiązania można sprawdzić znalezione wartości:
wynik1 = −4.184

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.

TOL wynik1 f(wynik1)


0.2000 -4.20243 0.02794
0.1000 -4.18387 2.36839 10–4
0.0100 -4.18729 5.34458 10–3
0.0010 -4.18364 -1.00016 10–4
0.0001 -4.18371 -3.50087 10–9

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!

2. Układy równań i nierówności


Układy równań i nierówności algebraicznych rozwiązywane są metodą przybliżoną. Podobnie, jak w przypadku
pojedynczego równania z jedną niewiadomą wymagane jest zainicjowanie przybliżonych wartości dla
wszystkich niewiadomych, które znajdują się w układzie. Następnie definiuje się blok równań i nierówności,
a na koniec, przy pomocy odpowiedniej funkcji uruchamia się procedurę wyszukiwania rozwiązania. Jeżeli
zostanie znaleziony wynik, to podawany jest w formie wektora rozwiązań. Poniżej zamieszczono przykład
prostego układu równań.

Układ równań ma postać:


⎧cos( x) + x − y = 0
⎨ 2
⎩x + y − 4 = 0
2
Mathcad dla Windows cz.4. 4/6

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ń

⎧sin(α ) + 0.5 ⋅ sin( β ) = 0.8



⎩cos(α ) + 0.5 ⋅ cos( β ) = 0.2
Wartości początkowe przyjąć według własnego uznania. Po otrzymaniu rozwiązania sprawdzić przez
podstawienie, czy układ równań jest spełniony.
4. Rozwiązać układ równań
⎛ t ⎞
x = sin ⎜ 2π ⎟
⎝ 50 ⎠
⎛ t ⎞
y = cos ⎜ 2π +ϕ ⎟
⎝ 50 ⎠
względem zmiennych t oraz φ przy warunkach x = 0.6 ; y = 0.3.
5. Znaleźć dodatnie pierwiastki równania
8x2 − 2
= sin( x)
4x2 + 1
6. Znaleźć co najmniej jeden punkt wspólny należący do sfery o środku (0,0,0) i promieniu r = 1 oraz do prostej
wyznaczonej przecięciem się płaszczyzn Π1 i Π2, każdej wyznaczonej przez trzy punkty:
Π1: (0, 0, 0), (1, 2, –3), (2, 1, –3)
Π2: (0, 0, –0.5) (1, 1, 1.5) (4, 5, 8.5)
Wskazówka: dla każdej płaszczyzny wyznaczyć przy pomocy znanych punktów wektory leżące wewnątrz
płaszczyzny, następnie z nich wyprowadzić wektor normalny do płaszczyzny, a później z niego i z warunku
zawierania w sobie podanych punktów wyznaczyć równanie każdej płaszczyzny; równania te wraz z równa-
niem sfery tworzą układ, którego rozwiązaniem są współrzędne poszukiwanego punktu wspólnego.
7. Samochód osobowy kupowany za gotówkę kosztuje 46.000 zł. Na zakup został wzięty kredyt na 60 miesięcy
oprocentowany w skali roku na 28%. Jaka jest przewidywana wielkość miesięcznej raty, którą należy spłacać
kredyt?
Wskazówka: wykorzystać tzw. równanie bankierów:

(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

2. div(φ a) = φ div a + (grad φ ) ⋅ a

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

L=∫ ( x′(t ))2 + ( y′(t ))2 dt


t0

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

V =π ∫ ( y(t )) x′(t )dt


2

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

sumowanie wg zakresu (szereg) Shift-4 ∑

mnożenie wg zakresu Shift-3 ∏

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

Wówczas wartość funkcji pochodnej w punkcie x = 2 wynosi:


f ( 2) = 112
Mathcad dla Windows cz.5. 4/7

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

3. Sumowanie według zakresu – szeregi


Sumowanie wg zakresu polega na dodaniu do siebie wartości wyrażenia sumowanego dla kolejnych wartości
indeksu sumy (zakresu). Odpowiada to pojęciu szeregu. Poniżej zamieszczono przykład polegający na
obliczeniu sumy pierwszych 100 liczb parzystych:

i := 1 .. 100

∑ (2⋅i) = 1.01 × 10
4

4. Mnożenie według zakresu – produkty


Mnożenie wg zakresu polega na wymnożeniu przez siebie wartości wprowadzonego wyrażenia dla kolejnych
wartości indeksu (zakresu). Poniżej zamieszczono przykład polegający na obliczeniu rocznej inflacji na
podstawie znanych wartości miesięcznych, które w każdym miesiącu mogą być różne, więc nie jest możliwe
zastosowanie prostego wzoru potęgowego.
Mathcad dla Windows cz.5. 5/7

Konstruuje się indeks (zmienną zakresową) opisujący miesiące roku:


i := 1..12
Następnie tworzy się wektor x zawierający miesięczne wskaźniki inflacji:
xi :=
0.03
0.02
0.03
0.02
0.02
0.02
0.00
0.01
0.02
0.02
0.03
0.02
wpisując kolejne wartości oddzielane przecinkami, natomiast po ostatniej wpisanej wartości należy nacisnąć
klawisz ENTER. Dysponując wektorem xi można przystąpić do obliczenia wartości rocznej inflacji wg wzoru:

∏(1 + x ) − 1 = 0.267751841989
i
i

Wypadkowa inflacja roczna wynosi więc ok. 26,7 %.

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)

w przedziale od –4π do 4π.

2. Obliczyć całkę z funkcji

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.

a) zapora w dolinie górskiej:


szerokość podstawy w1 = 50 m,
szerokość korony w2 = 90 m,
wysokość H = 20 m,
gęstość wody ρ = 1000 kg/m3,
przyspieszenie ziemskie g = 9.81 m/s2
odpowiedź prawidłowa: P = 1.243 ⋅ 108 N
b) zasuwa prostokątna w kanale odpływowym stawu:
szerokość podstawy w1 = 1 m,
szerokość korony w2 = 1 m,
wysokość H = 1,5 m,
gęstość wody ρ = 1000 kg/m3,
przyspieszenie ziemskie g = 9.81 m/s2
odpowiedź prawidłowa: P = 1.104 ⋅ 104 N
c) śluza kanałowa:
szerokość podstawy w1 = 10 m,
szerokość korony w2 = 10 m,
wysokość H = 4 m,
gęstość wody ρ = 1000 kg/m3,
przyspieszenie ziemskie g = 9.81 m/s2
odpowiedź prawidłowa: P = 7.848 ⋅ 105 N
4. Grzałka zanurzona jest w wodzie o objętości V. Zakładając moc grzałki P obliczyć czas nagrzania wody od
temperatury T1 do temperatury T2 zaniedbując rozpraszanie ciepła. Jaka powinna być moc grzałki, aby woda
została nagrzana do temperatury 100°C w czasie t? Ciepło właściwe wody cp = 4.185 kJ/kg⋅K.
a) czajnik kamionkowy z grzałką elektryczną
moc grzałki P = 1000 W
objętość wody V = 1,5 dm3
temperatura początkowa T1 = 20 °C
temperatura końcowa T2 = 100 °C
żądany czas gotowania t = 240 s
odpowiedź prawidłowa: czas nagrzewania przy danej mocy 502.2 s
szukana moc grzałki 2.093⋅103 W
b) grzałka dla sprzątaczki do nagrzewania wody w wiadrze
moc grzałki P = 1500 W
objętość wody V = 10 dm3
temperatura początkowa T1 = 15 °C
temperatura końcowa T2 = 45 °C
żądany czas nagrzewania t = 900 s
odpowiedź prawidłowa: czas nagrzewania przy danej mocy 837 s
Mathcad dla Windows cz.5. 7/7

szukana moc grzałki 1.395⋅103 W


c) bojler łazienkowy
moc grzałki P = 2000 W
objętość wody V = 150 dm3
temperatura początkowa T1 = 15 °C
temperatura końcowa T2 = 50 °C
żądany czas nagrzewania t=2h
odpowiedź prawidłowa: czas nagrzewania przy danej mocy 10990 s
szukana moc grzałki 3.052⋅103 W
5. Zaciągnięto kredyt na kwotę K przy rocznej stopie procentowej Pr i miesięcznej kapitalizacji odsetek. Spłata
realizowana będzie poprzez raty miesięczne w stałej wysokości R. Jaka będzie wysokość zadłużenia po N
miesiącach? Wykonać wykres ilustrujący zależność stanu zadłużenia od czasu.
a) kupno nowego „malucha” przy 40% wkładzie własnym
wysokość kredytu K = 6000 zł
roczna stopa procentowa Pr = 30 %
wysokość raty R = 190 zł
okres spłaty N = 60 m-cy
odpowiedź prawidłowa: zadłużenie końcowe 560,33 zł
b) kupno nowego Fiata Uno w całości z kredytu
wysokość kredytu K = 23000,- PZN
roczna stopa procentowa Pr = 30 %
wysokość raty R = 950,- PZN
okres spłaty N = 36 m-cy
odpowiedź prawidłowa: zadłużenie końcowe 1512,- zł
6. Krzywa jest zadana zależnością funkcyjną:
y(x) := sin(x)
Obliczyć długość sinusoidy pomiędzy kątami 0 i 2π.
Odpowiedź: L=7.64
7. Pewna spirala Archimedesa jest opisana układem parametrycznym
x(t) := (2+t)*cos(t)
y(t) := (2+t)*sin(t)
Obliczyć długość części spirali zawartej pomiędzy wartościami parametru 0 i 2π.
Odpowiedź: L=33.002
8. Tworząca bryły obrotowej zadana jest zależnością funkcyjną:
y(x) := sin(x)
Obliczyć objętość bryły dla x∈<0,π>.
9. Pewien torus opisany jest układem równań parametrycznych:
x(t) := r*cos(t)
y(t) := R+r*sin(t)
Gdzie R≥r i R=10, a r=5. Obliczyć objętość i pole powierzchni bryły dla parametru zawartego w przedziale
t∈<0, 2π>.
10. Tworząca powierzchni obrotowej zadana jest zależnością funkcyjną:

y ( x) := k ⋅ x

Obliczyć pole powierzchni obrotowej dla x∈<0,5> i k=4.


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:
06 01 03.04.2000 –

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

nosi nazwę regresji liniowej.


Innym ważnym kryterium błędu aproksymacyjnego jest tzw. aproksymacja jednostajna (minimalizacja
największego błędu):

(
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.

Streszczenie matematyczne statystyki


Teoria prawdopodobieństwa nazywana tradycyjnie rachunkiem prawdopodobieństwa zajmuje się modelami
matematycznymi zjawisk, których przebieg i wyniki zależą od przypadku, czyli mają charakter losowy.
Podstawowymi pojęciami teorii prawdopodobieństwa są pojęcia: przestrzeni probabilistycznej oraz odwzorowań z
przestrzeni probabilistycznej do innych przestrzeni. Odwzorowania te nazywają się odpowiednio: zmiennymi
losowymi, wektorami losowymi, ciągami losowymi, funkcjami losowymi, macierzami losowymi, procesami losowymi,
ogólnie – elementami losowymi.
Teoria prawdopodobieństwa bada powiązania między różnymi przestrzeniami probabilistycznymi oraz analizuje
własności zmiennych losowych itd.
Głównym obszarem zastosowań teorii prawdopodobieństwa jest statystyka matematyczna. Statystyka matematyczna
zajmuje się metodami opisu i analizy liczbowych prawidłowości występujących w różnych zbiorowościach, tzw.
populacjach statystycznych, lub krótko – populacjach. Badania statystyczne dzielą się na dwa zasadnicze typy:
badania pełne – obejmujące wszystkie elementy danej zbiorowości statystycznej, oraz badania częściowe
(wyrywkowe) – obejmujące jedynie pewną część populacji, zwanej próbą lub próbką. Potrzeba stosowania badań
statystycznych częściowych wynika zwykle z wielkości populacji oraz z dużego kosztu badania poszczególnych
elementów (niekiedy badanie takie jest wręcz niszczące – np. badanie wytrzymałości materiałów).
Statystyczne badania częściowe opiera się zwykle na próbie losowej, tj. takiej próbie, w której dobór poszczególnych
elementów populacji odbywa się losowo (przypadkowo), co pozwala, zgodnie z zasadami rachunku
prawdopodobieństwa, uogólniać wyniki badania próby na całą populację. Są to tzw. badania reprezentacyjne.
Podstawowymi pojęciami statystyki matematycznej są: populacja statystyczna, wylosowana z niej próba oraz
określane na próbie funkcje losowe zwane statystykami z próby służące zarówno do szacowania – tzw. estymacji
parametrów populacji, jak i do weryfikacji różnych hipotez statystycznych o populacji.

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

interpolacja odcinkowo liniowa linterp linterp(wektorX, wektorY, x)

szukanie współczynników funkcji sklejanej z zakończe- lspline wsp := lspline(wektorX, wektorY)


niem liniowym
szukanie współczynników funkcji sklejanej z zakończe- pspline wsp := lspline(wektorX, wektorY)
niem parabolicznym
szukanie współczynników funkcji sklejanej z zakończe- cspline wsp := lspline(wektorX, wektorY)
niem kubicznym
obliczanie wartości funkcji sklejanej (interpolacja interp interp(wsp,wektorX,wektorY,1) = 3
funkcją sklejaną)
regresja liniowa – obliczenie współczynnika przy slope a = slope(wektorX, wektorY)
zmiennej niezależnej
regresja liniowa – obliczenie składnika wolnego intercept b = intercept(wektorX, wektorY)
aproksymującej funkcji liniowej
współczynnik korelacji Pearsona pomiędzy wartościa- corr r := corr(wektorX, wektorY)
mi składowymi dwóch wektorów
średnia arytmetyczna z wartości składowych zawartych mean srednia := mean(wektorDanych)
w wektorze
wariancja próbki, której wartości zawarte są var wariancja := var(wektorDanych)
w wektorze
odchylenie standardowe próbki, której wartości zawarte stdev odchStand := stdev(wektorDanych)
są w wektorze
Rozkłady zmiennych losowych dyskretnych
Nazwa rozkładu Prawdopodobieństwo przyjmowania Ograniczenia dla Wartość oczekiwana EX Wariancja Uwagi
poszczególnych wartości parametrów
Tak zwana zmienna losowa
zdegenerowana. Służy jako
Jednopunktowy P( X = x 0 ) = 1 x0 ∈ R x0 0 model wielkości
(Diraca) zdeterminowanych.
W przypadku x0 = 0, x1 = 1
rozkład dwupunktowy staje
P( X = x 0 ) = p x 0 , x1 ∈ R
Dwupunktowy p x 0 + (1 − p ) x1 p (1 − p) ( x 0 − x1 ) 2 się rozkładem zero-
p ∈ ( 0, 1)
jedynkowym stosowanym jako
P( X = x1 ) = 1 − p model obiektów
dwustanowych (zmienna
losowa binarna).

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

λk Graniczny rozkład rozkładu


Poissona P( X = k ) = e−λ λ>0 λ – dwumianowego, gdy n zdąża
k! do nieskończoności, p zdąża
k = 0, 1, K do zera
Rozkłady zmiennych losowych absolutnie ciągłych
Nazwa rozkładu Prawdopodobieństwo przyjmowania Ograniczenia dla Wartość oczekiwana EX Wariancja Uwagi
poszczególnych wartości parametrów

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

1. Interpolacja odcinkowo liniowa


Interpolacja odcinkowo liniowa jest jedną z metod przewidywania wartości funkcji, której ścisły wzór pozostaje
nieznany, na podstawie pewnego znanego zbioru jej wartości dokładnych. Wartości zmiennej niezależnej, dla
których dokładne wartości funkcji są znane nazywa się węzłami interpolacji. Wartości funkcji pomiędzy
sąsiadującymi węzłami interpolacji są przybliżane przy pomocy funkcji liniowej pokrywającej się z nieznaną
funkcją w tych węzłach. Na wykresie interpolację odcinkowo liniową przedstawia się jako łamaną łączącą
sąsiednie węzły interpolacyjne. Poniżej zamieszczono przykład obrazujący zastosowanie interpolacji odcinkowo
liniowej.
Dla następujących wartości zmiennej X
1;2;3;4;5
znane są dokładne wartości
0 ; 5 ; 0 ; -5 ; 0
funkcji, której wzoru analitycznego nie podano. Przy pomocy interpolacji odcinkowo liniowej należy znaleźć
wartości funkcji w następujących punktach zmiennej X:
0,3 ; 1,3 ; 2,3 ; 3,3 ; 4,3
W tym celu tworzy się zmienną zakresową odpowiadającą liczbie węzłów interpolacji:
N := 5

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

2. Interpolacja funkcjami sklejanymi (spline’ami)


Interpolacja przy pomocy funkcji sklejanych polega na zastosowaniu pomiędzy poszczególnymi węzłami
interpolacji wielomianów trzeciego stopnia, przy czym narzuca się dodatkowe warunki ciągłości w węzłach.
Oznacza to, że dwa wielomiany dochodzące do tego samego węzła muszą mieć w samym węźle nie tylko takie
same wartości, ale dodatkowo jeszcze takie same wartości pierwszej i drugiej pochodnej.
Oprócz wspomnianych powyżej warunków ciągłości w węzłach interpolacyjnych, narzuca się także
odpowiednie warunki na pierwszą i drugą pochodną na brzegach zakresu interpolacji (tzw. warunki brzegowe).
W programie Mathcad wprowadzono trzy rodzaje warunków brzegowych:
• na końcach zakresu interpolacji funkcja sklejana jest dopasowana do prostej (zerowanie drugiej pochodnej) –
współczynniki takiej funkcji sklejanej oblicza funkcja lspline,
• na końcach zakresu interpolacji funkcja sklejana jest dopasowana do paraboli – współczynniki takiej funkcji
sklejanej oblicza funkcja pspline,
• współczynniki funkcji sklejanej bez nałożenia dodatkowych ograniczeń oblicza funkcja cspline.
Interpolację przy pomocy funkcji sklejanej prowadzi się według następującego schematu:
• tworzy się zmienną zakresową odpowiadającą liczbie węzłów interpolacji,
• tworzy się wektory opisujące węzły interpolacji,
• oblicza się współczynniki funkcji sklejanej przy pomocy jednej z trzech funkcji (w zależności od potrzeb)
lspline, pspline, cspline,
• oblicza się wartość interpolowaną przy pomocy funkcji interp, która korzysta z wcześniej obliczonych
współczynników funkcji sklejanej.
Poniżej zamieszczono przykład interpolacji przy pomocy funkcji sklejanej dla takich samych danych, jak
w przypadku interpolacji odcinkowo liniowej:
N := 5
i := 0..(N-1)
wektorXi := wektorYi :=
1 0
2 5
3 0
4 -5
5 0

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

Wariancja próbki dana jest poniższym wzorem:

∑( 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:

siła nacisku [N] 100 150 200 300


czas [h] 42 35 27 12
czas [h] 43 36 29 15
czas [h] 43 35 28 13
czas [h] 42 35 28 12
czas [h] 44 37 29 15
czas [h] 43 35 28 12
Wyznaczyć funkcję regresji liniowej czasu wystąpienia awarii w zależności od siły nacisku wiertła, okre-
ślić współczynnik korelacji pomiędzy naciskiem a czasem wystąpienia awarii oraz dokonać tabelaryzacji
oczekiwanego czasu wystąpienia awarii dla zakresu sił od 100 N do 300 N w odstępie 10 N.
3. Obliczyć średnią arytmetyczną i oszacować odchylenie standardowe populacji na podstawie następującej
próbki:
0,7 ; 1,1 ; 1,4 ; 0,9 ; 1,2 ; 1,3 ; 1,2 ; 1,0
Wskazówka: zastosować funkcje mean oraz stdev
4. Z pewnej populacji o rozkładzie normalnym z nieznaną wartością średnią i znanym odchyleniem
standardowym σ = 20 wylosowano próbę 36-elementową otrzymując z niej średnią arytmetyczną o
wartości 60. Jakie jest przedziałowe oszacowanie wartości średniej arytmetycznej, jeżeli założymy, że
oszacowanie pragniemy otrzymać przy 95% pewności?
Wskazówka:
– obliczyć poziom istotności α,
– znaleźć odpowiadającą temu poziomowi wartość argumentu dystrybuanty rozkładu normalnego tj. dla
jakiej wartości x funkcja cnorm(x) = 1–α/2
– przy pomocy definicji 9 obliczyć przedział ufności.
5. W fabryce śrub w trakcie procesu produkcyjnego odchylenie standardowe długości śrub wynosi 0,03 mm.
Zamawiający wymaga, aby w każdym dostarczanym mu transporcie dokładność określenie średniej
wartości długości była z 95% pewnością nie większa niż 0,005 mm. Ile śrub z każdego transportu należy
poddać pomiarom?
Wskazówka:
– określić minimalną liczebność próby posługując się wzorem z definicji 9,
– wymaganą we wzorze wartość uα określić przy pomocy funkcji cnorm.

You might also like