Zestawy zadań
Zawartość:
Zestaw 1
Proszę zainstalować i uruchomić program Mathematica.
Korzystająć z notebooka proszę zaimplementować ciąg liczb Fibonacciego \(0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21, \ldots\).
Zestaw 2
W razie kłopotów:
- Evaluation - Quit Kernel - Local resetuje jądro mathematici. Wszystkie definicje zmiennych, funkcji, … zostaną usunięte.
- Evaluation - Abort Evaluation przerywa aktualnie wykonywane zadanie
Ostatnie twierdzenie Fermata:
Szablony, wzrce: Help - Wolfram Documentation i w okienku:
- guide/Patterns
- tutorial/Patterns
Zadanie A:
- proszę dokładnie :-) przyjrzeć się wszystkim rozdziałom
dokumentacji
FullSimplify
Notebook z zajęć 11 X, aby uruchomić wszystkie komórki wystarczy w menu wybrać Evaluate - Evaluate Notebook:
Notebook z zajęć 18 X, aby uruchomić wszystkie komórki wystarczy w menu wybrać Evaluate - Evaluate Notebook:
Proszę, z wykorzystaniem funkcji
FullSimplify
sprawdzić czy istnieją liczby całkowite \(x\) , \(y\) , \(z\) oraz \(n\), które spełniają:
- \(x^n + y^n = z^n\)
- \(n > 2\)
- \(x y z \ne 0\) (żadna z tych liczb nie jest równa 0)
Proszę skonstruować krótki dowód wyniku z zadania A. Zeskanowane wyprowadzienie można mi wysłać pocztą elektroniczną.
Proszę z wykorzystaniem funkcji
If
zaimplementować funkcję \(f(x , y)\), która przyjmuje wartość \(1\) gdy punkt \((x , y)\) wpada w dwu-wymiarowy pierścień o zewnętrznym promieniu \(1\) oraz wewnętrznym promieniu \(\frac{1}{2}\) ze środkiem w środku układu współrzędnych. W przeciwnym wypadku funkcja przyjmuje wartość \(0\). Proszę tą funkcję narysować z wykorzystaniem
RegionPlot
Korzystając z funkcji:
Import
oraz
Cases
Proszę napisać program który:
- pobierze ze strony
plik CSV zawierający dane dotyczące liczby potwierdzonych przypadków
- można skopiować link https://github.com/CSSEGISandData/COVID-19/raw/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv
- wykorzystać go w funkcji
Import - zwróci wykres nowych przypadków dla Polski z ostatnich czterech tygodni
Korzystając z
Manipulate
proszę napisać program, który będzie manipulował wykresem funkcji \(f(x) = exp(x) sin(4 x)\). Implementacja powinna pozwalać na wykonanie operacji:
- przesunięcia wykresu funkcji w górę lub dół
- przesunięcia wykresu funkcji w lewo lub prawo
- odbicie funkcji względem osi pionowej
- odbicie funkcji względem osi posiomej
Zestaw 3
Naszym celem będzie stworzenie animacji ilustrującej rosnące nasiona, np słonecznika:
Pierwszy krok to skonstruowanie funkcji rysującej pojedyncze nasionko. Załóżmy, że nasiono ma trzy atrybuty:
- współrzędną x
- współrzędną y
- rozmiar nasionka s
Taki obiekt można reprezentować trzy elementową listą:
{x , y , s}
Proszę zaimplementować funkcję:
draw[{x_ , y_ , s_}] := ...
zwracającą listę (ewentualnie zagnieżdżoną listę) wyrażeń
(Disk[...], Circle[...],
Gray[...], …) opisującydh rysunek nasiona (narazie nie
wrzucamy tej listy jeszcze do Graphics). Przykładowo
draw[{1.0 , 2.0 , 0.1}]
mogłoby zwracać:
Circle[{1.0 , 2.0} , 0.1]
Proszę zaimplementować funkcję:
grow[{x_ , y_ , s_}] := ...
zwracającą nową listę atrybutów nasiona. Rozmiar nasiona w nowej
liście powinien wynosić mul s, gdzie
mul = 1.01 dodatkowo zdefiniowaną zmienną.
Proszę zaimplementować funkcję:
expand[{x_ , y_ , s_}] := ...
zwracającą nową listę atrybutów nasiona. Tym razem przesuwamy
położenie środka nasionka. Nowe położenie powinno mieć współrzędne
mul x oraz mul y, gdzie \(mul\) jest zmienną zdefiniowaną w zadaniu
B.
Proszę zaimplementować funkcję:
rotate[{x_ , y_ , s_}] := ...
zwracającą nową listę atrybutów nasiona. Tym razem obracamy nasionko
względem środka układu współrzędnych. Kąt obrotu powininen wynosić \(\alpha = 2 \pi \frac{\sqrt{5} - 1}{2}\).
Można wykorzystać funkcję RotationTransform.
Proszę zaimplementować funkcję:
singleIteration[seeds_] := ...
gdzie seeds jest listą nasionek, np:
{ { 0.01 , 0.0 , 0.01 } , { 0.02 , 0.01 , 0.013 } }
a wartość zwracana zawiera dodatkowe nasionko. To dodatkowe nasionko
powstaje z pierwszego nasiona w seeds poprzez aplikację
wcześniej zdefiniowanych funkcji grow, expand,
rotate.
Korzystająć z funkcji Nest oraz Graphics
proszę stworyć obrazek z \(5\)
nasionkami. Można założyć, że pierwsze nasiono ma atrybuty:
{0.01 , 0.0 , 0.12 * 0.01}
Pod koniec zajęć spróbujemy to rozszerzyć i stworzyć animację.
Zestaw 4
Korzystając z funkcji Solve proszę znaleźć wszystkie trójki
pitagorejskie, których wartości są mniejsze lub równe \(200\). Trójki pitagorejskie to liczby
całkowite \(x\), \(y\), \(z\)
spełniające równanie pitagorasa \(x^{2} +
y^{2} = z^{2}\).
Korzystając z wyniku zadania A oraz funkcji
Histogram proszę narysować histogram wartości
“przyprostokątnych” (\(x\), \(y\)). Szerokość pojedynczego binu
histogramu niech wynosi \(10\).
Wysokości słupków niech oznacza prawdopodobieństwo trafienia w bin.
Dodatkowo proszę opisać rysunek oraz zmienić kolor słupków na inny niż
domyślny.
Wskazówka: mogą się przydać funkcje Flatten oraz
ReplaceAll (pisane w skrócie jako operator
/.). Dodatkowo proszę uważnie przeczytać dokumentację
funkcji Histogram.
Korzystająć z:
NSolve
proszę znaleźć wartści \(x\) dla których zachodzi:
- \(f(x) = 0\), gdzie \(f(x) = \frac{\sin{x^{2}}}{x^{2}}\)
- \(x < 2 \pi\)
- \(x > 0\)
Korzystając z funkcji
Plot
oraz opcjonalnych argumentów:
GridLines -> ... ,
PlotStyle -> ... ,
Frame -> ... ,
Axes -> ... ,
FrameLabel -> ...
Proszę narysować wykres funkcji \(f(x)\) z zadania A w przedziale o \(0\) do \(2 \pi\). Wykres powinien:
- być narysowany czerwoną linią
- zawierać pionowe linie w miejscach gdzie w A wyliczono \(f(x) = 0\)
- zamiast osi posiadać ramkę
- zawiera opis pionowej oraz poziomej osi na ramce
Korzstając z funkcji NIntegrate proszę policzyć
powierzchnię dwu wymiarowego pierścienia, którego mniejszy promień
wynosi \(0.5\) a większy promień \(1.0\). Proszę ten pierścień narysować
korzystając z funkcji DensityPlot.
Wskazówka: wystarczy policzyć dwu-wymiarową całkę z funkcji
isIn[x , y], która przybiera wartość \(1\) gdy \((x ,
y)\) wpada w pierścień oraz \(0\) gdy \((x ,
y)\) jest poza pierścieniem. Funkcję isIn można
również wykorzystać w funkcji DensityPlot.
Proszę przeprowadzić rachunek z zadania E
wykorzystując Integrate. Wynik proszę porównać z zadaniem
E oraz powierzchnią pierścienia policzoną analitycznie
(znamy wzór na powierzchnię koła).
Na kolejnych zajęciach poznamy podstawy pisania tekstów oraz prezentacji z wykorzystaniem systemu LaTeX i będziemy korzystać z Overleaf. Proszę spróbować założyć sobie darmowe konto na serwisie Overleaf.