KOMPUTEROWE WSPOMAGANIE OBLICZEŃ Wykład 2. 18.03.2007. Wykresy i obliczenia numeryczne w Excelu dr inż. Paweł Surdacki Instytut Podstaw Elektrotechniki i Elektrotechnologii Politechniki Lubelskiej 1
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 m b 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
Równanie kwadratowe 2 x 2 5 x 12 = Znajdowanie pierwiastków równania narzędziem SZUKAJ WYNIKU 0 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) narzędzie SZUKAJ WYNIKU a x 3 2 + b x + c x + d = 0 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) 2) e x cos sin x ( x) ( x) tg 2 C3: =EXP(-B3)-SIN(B3) C4: =COS(B4)-TAN(B4)/2 Narzędzie SZUKAJ WYNIKU = = 0 0 34
Rozwiązanie założone (przybliżone) Rozwiązanie otrzymane (obliczone) Otrzymane rozwiązania: Równanie 1) x = 0,59; 3,1; 6,3 2) x = 0,9; 2,25; 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 przez 36 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ż jeden model - pierwszy model jest zapisywany automatycznie. 43
Równanie 3 stopnia Stosowanie ograniczeń p x 3 2 + q x + 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
Prosty układ równań 2 x + 3 3 x + 2 y y 3 = 0 5 = 0 Rozwiązywanie układów równań C4: =2*x+3*y-3 C5: =3*x+2*y-5 D4: =MODUŁ.LICZBY(C4) D5: =MODUŁ.LICZBY(C5) Solver: Komórka celu: D6, Komórki zmieniane: B4:B5 D6: =SUMA(D4:D5) 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
a a a Ulepszona metoda rozwiązywania układu równań liniowych z trzema niewiadomymi 1 2 3 x + b 1 x + b x + b 3 y + c 2 1 y + c y + c z d 2 2 1 z d z d 3 = 0 = 0 = 0 2 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: =a1_*x+b1_*y+c1_*z+d1_ K5: =a2_*x+b2_*y+c2_*z+d2_ K6: =a3_*x+b3_*y+c3_*z+d3_ K7: =SUMA.KWADRATÓW(K4:K6) 49
50
51
2 + 2y 22 = 0 2 2x + x y 3y + 11 = 0 Układ równań nieliniowych 2 x D3: =x^2+2*y^2-22 D4: =-2*x^2+x*y-3*y+11 D5: =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 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 w
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. Jeśli A B = C, to 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 pomnożona przez A daje macierz jednostkową. A A -1 = I. Jeśli macierz B jest macierzą odwrotną macierzy A, wtedy A jest macierzą odwrotną macierzy B: B A = I = A B k = 1 Macierz, która nie posiada macierzy odwrotnej nosi nazwę macierzy osobliwej. c i j = n a i k b k j 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
56 Rozwiązywanie układów równań liniowych z wykorzystaniem funkcji macierzowych Układ r. lin. => r. mac. => A X = C po pomożeniu macierzy otrzymujemy (czyli układ równań). Mnożymy równanie macierzowe przez macierz odwrotną: A -1 A X = A -1 C = + = 17 4 3 1 2 y x y x = 17 1 4 3 2 1 y x = + 17 1 4 3 2 y x y x Ponieważ A -1 A = I, więc I X = A -1 C Ponieważ I X = X, więc X = A -1 C.. Po wymnożeniu macierzy, czyli x = 3, y = 2. = 17 1 0,1 0,3 0,2 0,4 y x = 2 3 y x
57 Układ 3 równań liniowych z 3 niewiadomymi A X = C Obliczenie macierzy odwrotnej A -1 ; 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 (macierz A musi być nieosobliwa). = + = + = + 2 3 4 2 2 2 3 15 2 3 2 z y x z y x z y x = 2 2 15 3 1 4 2 2 3 2 3 2 z y x => X = A -1 C.
58