x - Instytut

Transkrypt

x - Instytut
KOMPUTEROWE WSPOMAGANIE
OBLICZEŃ
Wykład 2.
18.03.2007.
Wykresy i obliczenia numeryczne w Excelu
dr inż. Paweł Surdacki
Instytut Podstaw Elektrotechniki i Elektrotechnologii
1
Politechniki Lubelskiej
LITERATURA
1. B. V. Liengme – Microsoft Excel w nauce i technice,
Wydawnictwo RM, Warszawa 2002.
2. D. M. Bourg -Excel w nauce i technice. Receptury,
Wyd. Helion, Gliwice 2006.
2
WYKRESY - tworzenie i edycja
4 kroki
1) Typ wykresu
2) Dane źródłowe
3) Opcje wykresu
4) Położenie
3
1) Typ wykresu
4
1) Typ wykresu
5
2) Dane
źródłowe
6
2) Dane źródłowe
7
2) Dane
źródłowe
8
3) Opcje wykresu
9
10
11
12
13
14
15
16
17
18
Obszar wykresu
Obszar kreślenia
19
EDYCJA WYKRESU
20
Formatowanie osi
- desenie
21
Formatowanie osi
- skala
22
Formatowanie tytułu wykresu
23
24
Wykres liniowy a wykres XY
Excel domyślnie dzieli dane w zaznaczonym zakresie na kategorie i serie,
zakłada też, że kategorii jest więcej niż serii.
Wykres liniowy ma poziomą oś kategorii i pionową oś wartości,
zaś wykres XY - dwie osie wartości.
Wykres liniowy: zaznaczyć zakres B2:B4,
wywołać Kreatora wykresów- Typ liniowy,
w oknie dialogowym Dane źródłowe na karcie Zakres danych pozostawić
parametry domyślne,
a na karcie Serie wypełnić pole Etykiety osi kategorii X zakresem A2:A4.
Wykres XY: zaznaczyc zakres A2:B4,
wywołać Kreatora wykresów – typ XY(punktowy).
25
Prawidłowym wykresem funkcji y = x jest wykres typu XY.
Na wykresach typu XY na obu osiach (pionowej i poziomej) odmierzane sa
odcinki proporcjonalnie odpowiadające wartościom liczb (np. odległość od zera do
do punktu odpowiadajacego liczbie 7 jest 7-krotnie większa niż punktu
odpowiadającego liczbie 1.
Na wykresach liniowych oś pozioma jest osią kategorii (więc nie ma żadnego
proporcjo-nalnego odmierzania). Są 3 kategorie: 0, 1 i 7 (są to nazwy tekstowe).
Wszystkie kategorie sa równouprawnione (odcinki o jednakowej długości).
Wykresy z osiami kategorii w zasadzie nie nadają się do przedstawiania funkcji
matematycznych.
Użycie wykresów z osią kategorii do przedstawiania funkcji matematycznych jest
dopuszczalne w szczególnym przypadku, gdy nazwami kategorii będą liczby
26
stanowiące ciąg arytmetyczny (różnica między kolejnymi liczbami jest stała).
OBLICZENIA NUMERYCZNE W ARKUSZU EXCEL
1. Rozwiązywanie równania nieliniowego metodą bisekcji
2. Znajdowanie pierwiastków równania
narzędziem SZUKAJ WYNIKU
- równanie kwadratowe, - trzeciego stopnia, - przestępne
3. Narzędzie SOLVER
- Różnice pomiędzy narzędziami SOLVER i SZUKAJ WYNIKU
- Znajdowanie pierwiastków równania 3 stopnia
- Stosowanie ograniczeń w narzędziu SOLVER
- Rozwiązywanie układu równań liniowych
- Układ równań nieliniowych
5. Algebra macierzy
- Operacje macierzowe
- Rozwiązywanie układów równań liniowych z wykorzystaniem funkcji
macierzowych
27
Rozwiązywanie równania nieliniowego metodą bisekcji
a
b
m
28
A4: 3;
B4: 4
C4: =(A4+B4)/2;
D4: =EXP(-A4)-SIN(A4)
E4: =EXP(-B4)-SIN(B4)
F4: =EXP(-C4)-SIN(C4)
A5: =JEŻELI(ZNAK.LI
CZBY(F4)<>ZNAK.LICZ
BY(E4);C4;A4)
B5:
=JEŻELI(A5=A4;C4;B4)
A6: =(A5+B5)/2
29
Znajdowanie pierwiastków równania
narzędziem SZUKAJ WYNIKU
Równanie kwadratowe
2 x − 5 x − 12 = 0
2
B3:
=2*A3*A3-5*A3-12
Szukaj wyniku:
1) Ustaw komórkę,
2) Wartość,
3) Zmieniając komórkę
30
Szukaj
wyniku:
1) Ustaw
komórkę,
2) Wartość,
3) Zmieniając
komórkę
31
Równanie trzeciego stopnia (sześcienne)
a x3 + b x2 + c x + d = 0
narzędzie SZUKAJ WYNIKU
D4:
=a*C4^3+b*C4^2+c*C4+d
Wartości początkowe:
-13,
0,
12.
32
Otrzymane rozwiązania: -12, 1,5 i 10.
Sprawdzenie poprawności rozwiązań: Æ
33
Równania przestępne
1) e − x − sin ( x ) = 0
tg ( x )
x
2) cos −
=0
2
C3:
C4:
=EXP(-B3)-SIN(B3)
=COS(B4)-TAN(B4)/2
Narzędzie SZUKAJ WYNIKU
34
Rozwiązanie otrzymane (obliczone)
Rozwiązanie założone (przybliżone)
Otrzymane rozwiązania:
Równanie
1) Æ x = 0,59;
2) Æ x = 0,9;
3,1;
2,25;
6,3
7,2.
35
Znajdowanie pierwiastków równania narzędziem SOLVER
Różnice narzędzia SOLVER
w stosunku do narzędzia SZUKAJ WYNIKU
1. Po pierwszym uruchomieniu SOLVERA w arkuszu
zachowuje on swoje ustawienia przy następnym
wykorzystaniu (w tym arkuszu).
2. Można zapisać jeden lub więcej „modeli”.
3. SZUKAJ WYNIKU pozwala modyfikować wartość jednej
komórki, natomiast SOLVER umożliwia modyfikowanie
wielu komórek.
4. SOLVER pozwala stosować ograniczenia, np. można
wymagać, aby zmieniana komórka miała zawsze dodatnią
wartość.
5. SOLVER może być wykorzystany do znajdowania wartości
zmiennych, dla których formuła przyjmuje wartość
maksymalną, minimalną lub określoną.
6. Można wpływać na sposób szukania wyników przez36
SOLVER, np. określać wymaganą dokładność.
Znajdowanie pierwiastków równania 3 stopnia przy pomocy SOLVERA
Nadawanie nazwy komórkom: 1) Zaznaczyć zakres komórek z nazwami i nazywanych; 2)
Wstaw Æ Nazwa Æ Utwórz; 3) Określ, gdzie znajdują się nazwy, np. w lewej kolumnie.
Wybierz polecenie:
Narzędzia Æ SOLVER
Komórka celu: D$4$;
Pole wyboru Równa:
(Maks, Min) Wartość: 0;
Komórki zmieniane: C4;
Przycisk Rozwiąż
37
38
Solver - okno dialogowe Opcje
Okno to pozwala:
1) sterować metodami
poszukiwania rozwiązań,
2) ładować i zapisywać
definicje
zadań,
3) definiować parametry
zadań liniowych i
nieliniowych.
Każdej opcji odpowiada
ustawienie domyślne, które
jest poprawne w większości
przypadków.
39
Maksymalny czas
Ogranicza czas poszukiwania rozwiązania. W polu tym można podawać wartości
do 32767, ale wartość domyślna 100 sekund jest zupełnie wystarczająca w
większości przypadków.
Liczba iteracji
Ogranicza czas poszukiwania rozwiązania, nakładając limit na liczbę pośrednich kroków.
Maksymalna liczba iteracji wynosi 32767, ale wartość domyślna 100 jest w większości
przypadków zupełnie wystarczająca.
Dokładność
Określa dokładność rozwiązania sprawdzając czy wartość komórki wiązów przyjmuje wartość
docelową, albo górną lub dolną granicę. Dokładność musi być określona przez liczbę
ułamkową z zakresu od 0 (zero) do 1. Dokładność jest tym większa, im więcej miejsc
dziesiętnych zawiera podana liczba - na przykład, 0,0001 określa większą dokładność niż 0,01.
Większa dokładność oznacza dłuższy czas poszukiwania rozwiązania.
Tolerancja
Wartość procentowa informująca na ile wartość w komórce celu rozwiązania zadania z
więzami całkowitymi może odbiegać od wartości optymalnej, aby można ją uznać za możliwą
do zaakceptowania. Parametr ten ma zastosowanie tylko w przypadku zadań z więzami
całkowitymi. Większa wartość tolerancji skraca czas poszukiwania rozwiązania.
40
Zbieżność
Kiedy względna zmiana wartości w komórce celu dla pięciu ostatnich iteracji jest mniejsza niż
liczba podana w polu Zbieżność, przerywane jest poszukiwanie rozwiązania. Zbieżność odnosi
się tylko do zadań nieliniowych i musi być określona przez liczbę ułamkową z przedziału
pomiędzy 0 (zero) i 1. Mniejszej zbieżności odpowiada liczba, która ma więcej miejsc
dziesiętnych - na przykład, 0,0001 określa mniejszą względną zmianę niż 0,01. Im mniejsza
jest wartość zbieżności, tym więcej czasu potrzeba na znalezienie rozwiązania.
Przyjmij model liniowy
Zaznacz to pole, aby przyspieszyć poszukiwanie rozwiązania w przypadku, kiedy wszystkie
zależności w modelu są liniowe i chcesz rozwiązać zagadnienie liniowej optymalizacji albo
zastosować liniowe przybliżenie zagadnienia nieliniowego.
Pokaż wyniki iteracji
Zaznacz, aby przerywać poszukiwanie rozwiązania i wyświetlać wyniki po każdej iteracji.
Automatyczne skalowanie
Zaznacz, aby zastosować automatyczne skalowanie, kiedy pomiędzy danymi i wynikami
występuje duża różnica wielkości - na przykład, kiedy optymalizujesz procentowy dochód
wynikający z milionowych inwestycji.
41
Przyjmij wartości nieujemne
Sprawia, że dla wszystkich komórek zmienianych, dla których w polu Warunki ograniczające w
oknie dialogowym Dodaj warunek ograniczający, nie określono ograniczeń, przyjmuje się dolną
granicę wartości równą 0 (zero).
Estymaty
Określa sposób uzyskania początkowych wartości estymat podstawowych zmiennych w każdym
jednowymiarowym procesie poszukiwania.
Styczna
Wykorzystuje ekstrapolację liniową na podstawie wektora stycznego.
Kwadratowa
Wykorzystuje ekstrapolację kwadratową. Daje lepsze wyniki w przypadku zadań wyraŸnie
nieliniowych.
Pochodne
Określa sposób różniczkowania przy wyznaczaniu pochodnej cząstkowej dla funkcji celu i
funkcji ograniczeń.
W przód
Właściwa w przypadku większości zadań, w których wartości ograniczeń zmieniają się
stosunkowo wolno.
42
Centralne
Należy stosować w zadaniach, w których wartości ograniczeń zmieniają się szybko,
szczególnie w pobliżu granic. Opcja ta wydłuża obliczenia, ale może być skuteczna, kiedy
pojawia się komunikat, że nie można poprawić rozwiązania.
Szukaj
Określa algorytm używany w iteracji do wyznaczenia kierunku poszukiwania.
Newton
Wykorzystuje metodę Newtona, która zwykle wymaga większego obszaru pamięci, ale
mniejszej liczby iteracji niż metoda gradientu sprzężonego.
Gradient sprzężony
Wymaga mniejszego obszaru pamięci, ale większej liczby iteracji niż metoda Newtona dla zapewnienia
tej samej dokładności. Z metody tej należy korzystać w przypadku rozbudowanych zadań i małego
obszaru dostępnej pamięci, a także, kiedy kolejne iteracje wykazują niewielki postęp.
Załaduj model
Powoduje wyświetlenie okna dialogowego Załaduj model, w którym możesz określić adres
modelu, który chcesz załadować.
Zapisz model
Powoduje wyświetlenie okna dialogowego Zapisz model, w którym możesz określić, gdzie należy
zapisać model. Przycisk ten kliknij tylko wtedy, kiedy w arkuszu chcesz zapisać więcej niż jeden43
model - pierwszy model jest zapisywany automatycznie.
Stosowanie ograniczeń
Równanie 3 stopnia
p x3 + q x 2 + r x + s = 0
Poszukujemy rozwiązania x
z ograniczeniem x > 1.
Komórka celu: E4;
Równa Wartość: 0;
Komórki zmieniane: D4;
Pole Warunki
ograniczające -> przycisk
Dodaj
44
Dodaj warunek ograniczający:
Adres komórki: D4;
Operator: >=;
Wartość warunku
ograniczającego: 1.
Przycisk OK.
Przycisk Rozwiąż
Otrzymane rozwiązanie:
x = 1,94.
45
Znajdowanie pozostałego
pierwiastka
Oprócz pierwiastka
x = 1,94
(ograniczenie x ≥ 1)
szukamy pierwiastka w
przedziale np. x ≤ 1.
Znalezione II rozwiązanie:
x = -0,007.
46
Rozwiązywanie układów równań
Prosty układ równań
⎧2 x + 3 y − 3 = 0
⎨
⎩3 x + 2 y − 5 = 0
C4:
=2*x+3*y-3
C5:
=3*x+2*y-5
D4:
=MODUŁ.LICZBY(C4)
D5:
=MODUŁ.LICZBY(C5)
D6:
=SUMA(D4:D5)
Solver:
Komórka celu: D6,
Komórki zmieniane:
B4:B5
47
Domyślna dokładność:
10-5.
Ponownie wywołujemy Solvera: nie może
znaleźć zadowalającego rozwiązania.
Wywołanie po raz trzeci: znaleziono
rozwiązanie: wartość mieści się w ustalonej
dokładności.
Znalezione rozwiązanie: x = 1,8, y = -0,2.
Można przywrócić wartosci 0 w komórkach
B4 i B5 i uruchomic Solveram z większymi
wartościami
maksymalnego czasu i liczby iteracji
48
Ulepszona metoda rozwiązywania układu równań liniowych
z trzema niewiadomymi
⎧a1 x + b1 y + c1 z − d1 = 0
⎪
⎨a2 x + b2 y + c2 z − d 2 = 0
⎪a x + b y + c z − d = 0
3
2
3
⎩ 3
3 nazwy komórek przeznaczonych na zmienne x, y, i z
oraz 12 nazwanych komórek przeznaczonych na
współczynniki.
W arkuszu – widoczne nazwy a1, a2 itd.,
ale rzeczywistymi nazwami będą a1_, a2_, a3_, itd.
Formuły w języku naturalnym - Nadawanie nazw komórkom:
Zaznaczyć zakres komórek ->Wstaw->Nazwa->Utwórz
K4:
K5:
K6:
=a1_*x+b1_*y+c1_*z+d1_
=a2_*x+b2_*y+c2_*z+d2_
=a3_*x+b3_*y+c3_*z+d3_
K7:
=SUMA.KWADRATÓW(K4:K6)
49
50
51
Układ równań nieliniowych
⎧⎪ x 2 + 2 y 2 − 22 = 0
⎨
⎪⎩− 2 x 2 + x y − 3 y + 11 = 0
D3:
D4:
D5:
=x^2+2*y^2-22
=-2*x^2+x*y-3*y+11
=SUMA.KWADRATÓW(D3:D4)
Wartości poczatkowe: x = , y = 1
Rozwiązanie: x = 2, y = 3.
Solver: Komórka celu: D5
Komórki zmieniane: B3:B4.
Możliwych jest wiele rozwiązań, np. dla wart. pocz. (x=0, y=0) mamy: x=-0,28, y=3,31.
Raporty wyników:
52
ALGEBRA MACIERZY
Funkcje macierzowe Excela:
=WYZNACZNIK.MACIERZY( ) – podaje wartośc wyznacznika macierzy tablicy
=MACIERZ.ODW( ) – wynikiem jest macierz odwrotna do macierzy przechowywanej
w
tablicy;
=MACIERZ.ILOCZYN( ) – wynikiem jest iloczyn macierzowy dwóch tablic;
=TRANSPONUJ( ) – zwraca tablicę transponowaną do wejściowej. Pierwszy wiersz tabl.
wejściowej będzie pierwszą kolumną nowej tabl., itd.
Uwagi:
1) W przyp. wszystkich funkcji z wyjątkiem TRANSPONUJ( ), wszystkie komórki tablicy
muszą zawierać wartości liczbowe, w przeciwnym razie wystąpi
błąd #ARG!.
2) Błąd #ARG! wystąpi również przy próbie wykonania niedozwolonej operacji macierzowej.
3) Ponieważ w dwóch pierwszych funkcjach stosowana jest dokładnośc do 16 cyfr, mogą
występować pewne małe błędy numeryczne. Np. dla macierzy jednostkowej można otrzymac
wynik różniący się do zera do 1E-16.
4.
Z wyjątkiem funkcji WYZNACZNIK.MACIERZY( ), są to funkcje tablicowe i muszą być
zatwierdzane kombinacją klawiszy Ctrl-Shift-Enter.
Jeśli funkacja macierzowa zwraca jedną wartośc w sytuacji, gdy oczekujemy tablicy wartości
– oznacza to, że formuła nie została zatwierdzona klawiszami Ctrl-Shift-Enter.
53
Jeżeli macierz A jest stopnia m x n, a macierz B stopnia n x p (liczba kolumn
macierzy A jest równa liczbie wierszy macierzy B), wtedy iloczyn macierzy A i B
jest macierzą stopnia m x p.
n
Jeśli A·B = C, to
c i j = ∑ a i k bk j
k =1
Mnożenie macierzy nie jest przemienne: A·B ≠ B·A.
Nie jest zdefiniowana operacja dzielenia macierzy.
Macierz jednostkowa I – macierz kwadratowa, w której wszystkie elementy leżące
na głównej przekątnej mają wartość 1, a pozostałe przyjmują wartość zero.
Macierz odwrotną A-1 do danej macierzy kwadratowej A jest taka macierz, która
A·A-1 = I.
pomnożona przez A daje macierz jednostkową.
Jeśli macierz B jest macierzą odwrotną macierzy A, wtedy A jest macierzą
odwrotną macierzy B:
B·A = I = A·B
Macierz, która nie posiada macierzy odwrotnej nosi nazwę macierzy osobliwej.
54
Operacje macierzowe
Suma macierzy: =SUMA(A4;D4) (wykorz. klawisz Ctrl i wskazywanie komórek).
Macierz odwrotna: zaznaczyć zakres D8:E9,
wpisać formułę =MACIERZ.ODW(A8:B9) (z argumentem A8:B9),
zatwierdzić klawiszami Ctrl-Shift-Enter.
Wykazać, że D·D-1 = I : zaznaczyć zakres G8:H9, wpisać formułę
=MACIERZ.ILOCZYN(A8:B9;D8:E9),
zatwierdzić klawiszami Ctrl-Shift-Enter
(nie można skorzystać z przycisku OK. !!!).
Obliczanie wyznacznika macierzy D
=WYZNACZNIK.MACIERZY(A8:B9)
B12:
=JEŻELI(A12=0;"Mac. osobliwa";"Mac. nieosobliwa")
55
Rozwiązywanie układów równań liniowych z wykorzystaniem funkcji macierzowych
⎡1 − 2⎤ ⎡ x ⎤ ⎡− 1⎤
x
−
2
y
=
−
1
⎧
=⎢ ⎥
Układ r. lin.
=> r. mac. ⎢
=> A·X = C
⎥
⎢
⎥
⎨
3
4
y
17
⎣
⎦⎣ ⎦ ⎣ ⎦
⎩3 x + 4 y = 17
⎡ x − 2 y ⎤ ⎡− 1⎤
po pomożeniu macierzy otrzymujemy ⎢
=⎢ ⎥
⎥
⎣3 x + 4 y ⎦ ⎣17 ⎦
(czyli układ równań).
Mnożymy równanie macierzowe przez macierz odwrotną:
A-1·A·X = A-1·C
Ponieważ A-1·A·= I, więc I·X
= A-1·C
Ponieważ I·X = X , więc X = A-1·C.
.
⎡ x ⎤ ⎡ 0,4 0,2⎤ ⎡− 1⎤
⎢ y ⎥ = ⎢− 0,3 0,1⎥ ⎢17 ⎥
⎦⎣ ⎦
⎣ ⎦ ⎣
Po wymnożeniu macierzy
⎡ x ⎤ ⎡ 3⎤
⎢ y ⎥ = ⎢2⎥ , czyli x = 3, y = 2.
⎣ ⎦ ⎣ ⎦
56
Układ 3 równań liniowych z 3 niewiadomymi
⎡2 3 − 2⎤ ⎡ x ⎤ ⎡ 15 ⎤
⎧2 x + 3 y − 2 z = 15
⎢ 3 − 2 2 ⎥ ⎢ y ⎥ = ⎢ − 2⎥
⎪
⎢
⎥⎢ ⎥ ⎢ ⎥
⎨3 x − 2 y + 2 z = −2
⎢⎣4 − 1 3 ⎥⎦ ⎢⎣ z ⎥⎦ ⎢⎣ 2 ⎥⎦
⎪4 x − y + 3 z = 2
⎩
=> X = A-1·C.
Obliczenie macierzy odwrotnej A-1 ;
Ù
A·X = C
Obliczenie iloczynu macierzy X = A-1·C.
Nadanie nazw x, y, z komórkom z zakresu D10:D12.
A15:
=A5*x
B15:
=B5*y
C15:
=C5*z
D15:
=SUMA(A15:C15)
Wartosci w kom. D15:D17 zgadzają się z
wart. kom. D5:D7.
Arkusz można wykorzystać do dowolnego
układu równań z 3 niewiadomymi – przy zał., że równania te są niezależne i spójne
57
(macierz A musi być nieosobliwa).
58