Arkusze są wyposażone w narzędzie nazywające się Szukaj wyniku
, potrafiące rozwiązać dowolne równanie z jedną niewiadomą.
Równania $e^{x^2} - 1 = \cos x$ nie potrafimy rozwiązać, a z wykresu widać, że to równanie ma dwa rozwiązania.
Szukaj wyniku
jest to, że nie wymaga od nas znajomości wzoru na pierwiastki równania.
=exp(potęga(C3;2))-cos(C3)-1
Szukaj wyniku
:
Narzędzia ⇒ Szukaj wyniku
Dane ⇒ Analiza warunkowa ⇒ Szukaj wyniku
Równanie $e^{x^2} - 1 - \cos x = 0$ ma dwa – różniące się znakiem – pierwiastki. Narzędzie Szukaj wyniku
znajduje jeden z nich, ten dodatni. W przypadku tego równania
możemy łatwo ustalić wartość drugiego pierwiastka. Taka sytuacja nie jest typowa, jesteśmy zazwyczaj „skazani” na jeden pierwiastek, niekoniecznie ten, który nas interesuje.
Rozważmy równanie $\sin(x) = \frac{1}{2}x$
NarzędzieSzukaj wyniku
znajdzie oczywiste rozwiązanie $x=0$. Co zrobić jeżeli interesuje nas najmniejszy pierwiastek dodatni? Rozpatrzmy nową funkcję,
nazwijmy ją sinus
, której wykres częściowo (dla $x\ge 0,5$) pokrywa się z wykresem funkcji $\sin$.
Pierwiatek równania $sinus(x)-\frac{1}{2}x=0$ jest szukanym najmniejszym pierwiastkiem równania $\sin(x) = \frac{1}{2}x$
Nadal zakładamy, że program ma wpisać rozwiązanie do komórki C3.
Do komórki z formułą (np. C4) wpisujemy:
=JEŻELI(C3<=0,5;0,5;sin(C3))-C3/2
Szukaj wyniku
, program znajduje rozwiązanie, liczbę $1,89549313523737$.
Inny sposób zdefiniowania funkcji sinus
, to napisanie makra. Oznacza to „nauczenie” arkusza nowej funkcji.
Aby napisać makro, musimy otworzyć okno edytora makr:
Narzędzia ⇒ Makra ⇒ Zarządzaj makrami ⇒ Basic ⇒ Edycja
Deweloper ⇒ Makra
Deweloper
nie ma na wstążce. Trzeba ją dodać:
Plik ⇒ Opcje ⇒ Dostosowywanie wstążki
W oknie edytora wpisujemy kod funkcji:
Function sinus(x As Double) As Double If x <= 0.5 Then sinus = 0.5 Else sinus = sin(x) End If End Function
Nadal zakładamy, że program ma wpisać rozwiązanie do komórki
C3.
Do komórki z formułą (np. C4) wpisujemy
=sinus(C3)-C3/2
Uruchamiamy narzędzie Szukaj wyniku
, program znajduje rozwiązanie, liczbę $1,89549413529882$.
Filtr to zestaw warunków, które musi spełniać zawartość komórek by wiersz został wyświetlony.
Do testowania filtrów można wykorzystać plik Państwa.
Przykładowy zestaw warunków: państwa leżące w Afryce lub w Europie, których powierzchnia przekracza 1000 km2.
Oba programy (Excel i Calc) mają trzy narzędzia filtrujące różniące się dopuszczalną budową warunków:
Warunek dotyczący kolumny ma postać:
(zawartość komórki = wartość)$\vee\dots\vee$(zawartość komórki = wartość).
Warunek końcowy jest koniunkcją warunków dotyczących kolumn.
Np. państwa leżące w Afryce, w których językiem urzędowym jest angielski, arabski lub francuski.
(w Afryce)$\wedge$((język=angielski)$\vee$(język=arabski)$\vee$(język=francuski))
Filtr standardowy – warunek dotyczący kolumny ma postać:
Np. państwa leżące w Europie, w których jednym z języków urzędowych jest angielski lub liczba ludności ≥ 10 mln.
(w Europie)$\wedge$((język zawiera angielski)$\vee$(ludność ≥ 10 mln.))
Niestety, tworząc filtr standardowy nie mamy możliwości wpisania nawiasów. Powstanie zatem taki (beznawiasowy) warunek:
(w Europie)$\wedge$(język zawiera angielski)$\vee$(ludność ≥ 10 mln.)
Zgodnie z priorytetami operatorów logicznych (wpierw koniunkcja, potem alternatywa) będzie on interpretowany (niezgodnie z intencją) tak:
((w Europie)$\wedge$(język zawiera angielski))$\vee$(ludność ≥ 10 mln.)
Filtr zaawansowany opisujemy gdzieś w dokumencie (skoroszycie), który chcemy filtrować. Można wykorzystać fragment filtrowanego arkusza, można wykorzystać inny arkusz.
Równoważnie i trochę krócej:
(w Europie)$\wedge$((język = angielski)$\vee$(ludność ≥ 10))
Kłopoty sprawia zapisanie innego niż równość, warunku dotyczącego komórek z tekstem. Jak zapisać np. warunki, że język zawiera angielski lub, że angielski jest ostatnim wymienionym językiem? Rozwiązaniem są tzw. wyrażenia regularne. Są one potężnym narzędziem do składniowej analizy tekstu. Ważny przykład wyrażenia regularnego: .*, oznacza ono dowolny (również pusty!) ciąg znaków. W konsekwencji:
Pytania dotyczą pliku Państwa.
Narzędzie Solver ma kilka zastosowań:
W programie Calc
narzędzie Solver
jest zawsze dostępne (Narzędzia ⇒ Solver
).
W programie Excel
może być konieczne zainstalowanie dodatku Solver
oraz dołączenie go do Excela: Plik ⇒ Opcje
.
Po dołączeniu, narzędzie Solver
jest dostępne na karcie Dane
.
Wyznaczymy wartość największą funkcji $y=sin(\frac{1}{3}x)$ dla $30^\circ\le x \le 300^\circ$.
Do dowolnej komórki arkusza (np. B14) wpisujemy formułę z powyższego wzoru.
W programach Excel
i Calc
funkcje trygonometryczne oczekują argumentów w radianach. Jeżeli chcemy posługiwać się stopniami, to musimy
skorzystać z funkcji radiany()
przeliczającej stopnie na radiany.
Uruchamiamy narzędzie Solver
:
Informujemy program, w której komórce jest formuła (B14), w której jest zmienna (A14), jakie są ograniczenia na zmienną i czym jesteśmy zainteresowani (maksimum). Zatwierdzamy i w komórkach A14 oraz B14 pojawia się rozwiązanie.
Na odcinku $\overline{AB},\, A = (-1,1),\, B = (3,2)$ wyznaczymy punkty leżące najdalej i najbliżej od początku układu. Najpierw, korzystając z kartki, napiszemy równanie prostej przechodzącej przez punkty $A,B$, ma ono postać $4y-x-5=0$. By znaleźć punkt najbliższy i najdalszy, znajdziemy punkty, w których funkcja $f(x,y)=x^2+y^2$ osiąga wartość największą i najmniejszą. Zmiennym $x,y$ przydzielimy komórki A9 i B9. Do komórki C9 wpiszemy formułę opisującą badaną funkcję, a do komórki D9 formułę opisującą równanie prostej.
Uruchamiamy narzędzie Solver
:
Zatwierdzamy i w komórkach A9:B9 pojawia się rozwiązanie.
Analogicznie możemy wyznaczyć punkt najdalszy.
Znalezione rozwiązanie pokazuje, że Solver
korzysta z algorytmów przybliżonych. Pozwala to rozwiązać znacznie więcej zagadnień, ale w prostych przypadkach
może może dawać gorsze rozwiązania. W opisywanym zagadnieniu wystarczy naszkicować rysunek, by zobaczyć, że punktem najdalszym jest punkt $(3,2)$.
Rozwiążemy układ równań$\begin{cases} x\cdot y\cdot z=1 \\x+y+z=0 \\x+2\cdot y+3\cdot z=0\end{cases}$
Każde równanie w układzie musi być postaci $f(x_1,\dots,x_n)=c$.
Niewiadomym z równania ($x,y,z$) przydzielamy komórki w arkuszu (np. A18, B18, C18). Formuły opisujące lewe strony równań wpisujemy do
dowolnych komórek arkusza (np. D18, E18, F18).
Uruchamiamy narzędzie Solver
:
W polu Komórka docelowa
wpisujemy adres jednej z komórek z formułą – nie ma znaczenia której. Zatwierdzamy i w komórkach A18:C18 pojawia się
rozwiązanie.
Solver
, znaleźć jeden z punktów leżących najdalej od początku układu.
Dlaczego wyznaczenie maksimum funkcji $f(x,y)=x^2+y^2$ przy ograniczeniach $\begin{cases}0\le x\le 4\\0\le y\le 1\\x^2-4x+4y^2=0\,\,\,\,(2)\end{cases}$ da nam rozwiązanie?
Solver
, chcemy wyznaczyć współrzędne zaznaczonego punktu przecięcia
krzywych $y=\frac{x}{2}+1\,\,\,\,y=2\cos(x)$
Solver
.
p1
, koszt produkcji 10 zł., czas produkcji 5 minutp2
, koszt produkcji 5 zł., czas produkcji 8 minutUruchamiamy narzędzie Solver
.