Zestawy zadań

Zawartość:

Ocenianie

Zestaw 1

MATERIAŁY DODATKOWE

Tworzenie skryptu, metoda 1 (prostsza):

Tworzenie skryptu, metoda 2 (linux ale bardziej uniwersalna w tym systemie):

Kilka przykładowych skryptów:

Kilka chaotycznych notebooków z zajęć (polecam zaglądnąć najpierw do materiałów profesora Jacka Golaka):

A
(1 punkt)

Proszę zainstalować i uruchomić program Mathematica.

B
(2 punkty)

Korzystająć z notebooka proszę zaimplementować ciąg liczb Fibonacciego \(0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21, \ldots\).

C
(2 punkty)

Korzystając z implementacji z zadania B proszę stworzyć uruchamialny skrypt. Skrypt powinien z linii poleceń pobierać pojedyńczy argument, liczbe wyrazów w ciągu Fibonacciego. Państwa program powinien następnie wypisywać na ekranie odpowiednią liczbę początkowych wyrazów tego ciągu.

Zestaw 2

MATERIAŁY DODATKOWE

W razie kłopotów:

Ostatnie twierdzenie Fermata:

Szablony, wzrce: Help - Wolfram Documentation i w okienku:

Chaotyczny notebook z zadań (lepiej przyjrzeć się wykładowi profesora):

Zadanie A:

FullSimplify

Liczenie objetości bąbelków (proszę zajrzeć równiez do drugiego wykładu profesora):

Notebooki z zajęć 13 X, aby uruchomić wszystkie komórki wystarczy w menu wybrać Evaluate - Evaluate Notebook:

A
(2 punkt)

Proszę, z wykorzystaniem funkcji

FullSimplify

sprawdzić czy istnieją liczby całkowite \(x\) , \(y\) , \(z\) oraz \(n\), które spełniają:

B
(1 punkt)

Proszę skonstruować krótki dowód wyniku z zadania A. Zeskanowane wyprowadzienie można mi wysłać pocztą elektroniczną.

C
(2 punkt)

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
D
(2 punkt)

Korzystając z funkcji:

Integrate

proszę policzyć pole pierścienia z zadania C. Wskazówka: Całka \(f(x , y)\) po \(x\) oraz \(y\) w zakresie od \(-1\) do \(1\) zwróci pole koła. Dlaczego?

E
(2 punkt)

Ciało o masie \(1\) kg porusza się po trajektorii \(r(t)\) zaimplementowanej jako:

(*t - czas w sekundach*)
(*{x , y} - zwracana pozycja w metrach*)
r[t_] := {Cos[t] , Sin[t]};

Proszę policzyć jaka siła musi działać na to ciało jeżeli założymy, że porusza się ono zgodnie z zasadami Newtona. Można w tym celu wykrozystać funkcję:

D

Proszę skonstruować funkcję, która dla zadanego czasu będzie zwracała graficzną reprezentację ciała oraz działającej na niego siły.

F
(2 punkt)

Korzystając z funkcji:

Import

oraz

Cases

Proszę napisać program który:

G
(2 punkt)

Korzystająć z definicji pochodnej oraz funkcji:

Limit

Proszę policzyc pochodne \(f'(x)\) następujacych funkcji:

H
(2 punkt)

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:

Zestaw 3

METRIAŁY DODATKOWE
A
(2 punkt)

Korzystająć z:

NSolve

proszę znaleźć wartści \(x\) dla których zachodzi:

B
(2 punkt)

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:

C
(2 punkt)

Proszę wprowadzić definicje dwóch macierzy w postaci zagnieżdżonych list:

\[ A = \left( \begin{array}{cc} 1 & 0 \\ 0 & 1 \\ \end{array} \right) \]

\[ B = \left( \begin{array}{cc} 0 & -1 \\ 1 & 0 \\ \end{array} \right) \]

oraz sprawdzić z wykorzystaniem funkcji

Dot

ile wynoszą iloczyny macierzy:

gdzie \(a_{1}\), \(b_{1}\), \(a_{2}\), \(b_{2}\) są liczbami rzeczywistymi. Czy można te wyniki wykorzystać do reprezentacji liczb zespolonych? Dlaczego?

D
(1 punkt)

Proszę powtórzyć rachunki z zadania C dla macierzy:

\[ A = \left( \begin{array}{cc} 1 & 0 \\ -1 & 1 \\ \end{array} \right) \]

\[ B = \left( \begin{array}{cc} 1 & 1 \\ 1 & 0 \\ \end{array} \right) \]

E
(2 punkt)

Liczenie eksponenty liczby \(x\): \[ e^{x} \] można uogólnić do macierzy z wykorzystaniem rozwinięcia \[ e^{x} = \sum_{k = 0}^{\infty} \frac{x^{k}}{k!} = 1 + x + \frac{1}{2} x^{2} + \frac{1}{6} x^{3} + \ldots \] oraz zastępując mnożenie, mnożeniem macierzowym. W Mathematice eksponentę z macierzy można policzyć wykorzystując:

MatrixExp

Proszę:

Jak ten wynik ma się do liczb zespolonych?

F
(3 punkt)

Proszę wykorzystać wzorzec:

f[c_][z_] := ...

aby zaimplementować funkcję \[ f_{c}(z) = z^{2} + c \]

Następnie, korzystając z wzorca:

k[n_][c_] := ...

funkcji:

Nest

oraz implementacji funkcji \(f\) proszę zaimplementować funkcję \(k_{n}(c)\) która dla danej liczby zespolonej \(c\) oraz początkowej liczby zespolonej \(z_{0} = 0\) wielokrotnie aplikuje funkcję \(f\):

\[k_{1}(c) = f_{c}(z_{0})\] \[k_{2}(c) = f_{c}(f_{c}(z_{0}))\] \[k_{3}(c) = f_{c}(f_{c}(f_{c}(z_{0})))\] \[\ldots\]

Wykorzystując

RegionPlot
Abs

proszę narysować funkcję \(1 / |k_{5}(x + i y)|\) gdzie \(-2 < x < 1\) oraz \(-1.5 < y < 1.5\). Co otrzymujemy? Czy można \(1/||\) zastąpić inną funkcją?

G
(2 punkt)

Wykorzystując

Limit

proszę policzyć granice (WSKAZÓWKA: proszę zajrzeć do dokumentacji ;-) :

oraz narysować wykres funkcji \(\frac{|x|}{\sin x}\).

H
(2 punkt)

Proszę wykonać zadanie A biorąc pochodną funkcji \(f(x)\), \(f'(x)\), zamiast \(f(x)\).

I
(2 punkt)

Wykorzystując

DiscretePlot
DiscreteLimit

proszę narysować wykres funkcji: \[ f(k) = \sin(k \pi / 16) / k \] , gdzie \(k\) jest liczbą całkowitą, oraz znaleźć jej granicę przy \(k \rightarrow \infty\).

Zestaw 4

MATERIAŁY DODATKOWE
A
(2 punkty)
B
(2 punkty)

Proszę uogólnić zadanie E z zestawu trzeciego i z wykorzystaniem

MatrixExp

policzyć \(e^{x A + y B}\) gdzie \(x, y\) są liczbami rzeczywistymi. Jak ten wynik ma się do liczb zespolonych?

C
(3 punkty)

Korzystając z równań Cauchiego-Riemana (bez paniki, objaśnię na zajęciach i podam przykład) oraz

DSolve

proszę policzyć funkcję \[ sin(x + i y) \] gdzie \(x , y\) są liczbami rzeczywistymi przy założeniu, że jest ona analityczna (z założenia tego wynika, między innymi, że posiada ona pochodne) i znamy jej wartości dla \(sin(x + i 0) = sin(x)\).

Wynik proszę porównać z rozwinięciem \(sin(x + i y)\) za pomocą

ComplexExpand

dla kilku wartości \(x\) oraz \(y\). Dodatkowo z wykorzystaniem

ContourPlot

proszę narysować wykres części rzeczywistej oraz urojonej \(sin(x + i y)\).

D
(4 punkty)

Zajmiemy się obiektami typu

cn[x , y]

gdzie \(x , y\) są liczbami rzeczywistymi. Dla wyrażeń tego typu zdefiniowane są operacje

plus[cn[x1_ , y1_]][cn[x2_ , y2_]] := cn[x1 + x2 , y1 + y2]
times[cn[x1_ , y1_]][cn[x2_ , y2_]] := cn[x1 x2 - y1 y2 , x1 y2 + y1 x2]
re[cn[x_ , y_]] := x

oraz

im[cn[x_ , y_]] := y

które nazywamy dodawaniem, mnożeniem, braniem części rzeczywistej oraz braniem części urojonej.

Łatwo się domyślić, że obiekty tego typu mogą reprezentować liczby zespolone. Proszę to sprawdzić i zdefiniować funkcję

power

która dla liczby całkowitej \(n\) oraz obiektu typu jak wyżej \(z\)

power[n][z]

zwraca potęgę \(z^{n}\). Wskazówka: można skorzystać z funkcji

Nest

ale przypadek podnoszenia do potęgi \(0\) trzeba rozważać osobno.

Wiedząc, że \[ Re(e^{i \phi}) = cos(\phi) \] oraz \[ Im(e^{i \phi}) = sin(\phi) \] proszę policzyć \(cos(1)\) oraz \(sin(1)\) z wykorzystaniem rozwinięcia eksponenty w szereg \[ e^{z} = exp(z) = \sum_{k = 0}^{\infty} \frac{z^{n}}{n!} \] Proszę szereg obciąć po \(100\) wyrazach i skorzystać z własnej implementacji podnoszenia do potęgi. Wynik proszę porównać z

N[Cos[1]]

oraz

N[Sin[1]]
E
(2 punkty)

Korzystając z funkcji

Solve

proszę znaleźć współrzędne \((x , y)\) punktów na płaszczyźnie, które leżą na przecięciu

Dodatkowo proszę tą sytuację narysować (w Mathematica).

F
(2 punkty)

Proszę znaleźć wszystkie pierwiastki równania:

\[ z^{4} + z^{2} + 1 == 0 \]

oraz nanieść rozwiązania na płaszczyznę zespoloną (w Mathematice).

G
(3 punkty)

Proszę przygotować pakiet który dla danej funkcji \(f\) jednego argumentu rzeczywistego \(x\):

Zestaw 5

MATERIAŁY DODATKOWE
A
(3 punkty)

Proszę policzyć potencjał elektryczny \(U\) we wszystkich punktach \((i = 1 \ldots N , j = 1 \ldots N)\) kratownicy:

zakładająć:

Można do tego podejść na wiele sposobów, ale chciałbym aby Państwo popracowali z macierzami dlatego proszę ułożyć odpowiedni układ równań macierzowych i rozwiązać go z wykorzystaniem:

LinearSolve

Wyniki proszę zwizualizować z wykorzystaniem

MatrixPlot
B
(2 punkty)

Korzystając z wyników zadania A proszę wyznaczyć wartość zastępczą oporności takiego układu i zbadać jak zmienia się ona z \(N\).

C
(3 punkty)

Proszę rozwiązać problem Hanoi. Wszystkie kroki rozwiązania powinny być przedstawione w postaci animacji z wykorzystaniem:

Graphics

oraz:

ListAnimate
D
(2 punkty)

Macierz:

\[ \left( \begin{array}{ccc} \frac{1}{3} & \frac{1}{3} \left(-1-\sqrt{3}\right) & \frac{1}{3} \left(1-\sqrt{3}\right) \\ \frac{1}{3} \left(\sqrt{3}-1\right) & \frac{1}{3} & \frac{1}{3} \left(-1-\sqrt{3}\right) \\ \frac{1}{3} \left(1+\sqrt{3}\right) & \frac{1}{3} \left(\sqrt{3}-1\right) & \frac{1}{3} \\ \end{array} \right) \]

obraca wektorem wokół pewnej osi. Proszę znaleźć tą oś.

E
(3 punkty)

Dana jest macierz \(N \times N\) \(A\), której elementy \(A_{i , j}\) przyjmują wartości równe \(0\) wszędzie oprócz:

Przy czym

Proszę policzyć wartości oraz wektory własne dla tej macierzy. Wektory własne dla wartości własnych o najmniejszej wartości bezwzględnej proszę narysować z wykorzystaniem

ListPlot

i zastanowić się jakie równanie reprezentuje ta macierz i co tak naprawdę zostało policzone.

Zestaw 6

MATERIAŁY DODATKOWE
A
(2 punkty)

Korzystając z funkcji:

Import[(*URL*) , "Data"]

proszę ściągnąć z sieci (URL to adres) dane dotyczące wybranego procesu fizycznego. Następnie proszę te dane zwizualizować.

Opcja “Data” pozwala na importowanie ze stron internetowych tabel z danymi. Wynik działania funkcji trzeba będzie najprawdopodobniej przeszukać. Mogą być w tym pomocne:

Position
Part (*[[]]*)
B
(2 punkty)

Proszę przygotować dwie funkcje liczące zbiór Mandelbrota. Jedna z wersji powinna korzystać z funkcji:

Compile

Proszę zmierzyć czas wykonywania programów z wykorzystaniem

Timing
C
(2 punkty)

Proszę zaimplementować własną wersję funkcji liczącej pochodną. W rachunkach proszę stosować symbole rozpoczynające się z małej litery (na przykład “sin” zamiast “Sin”) aby uniknąć konfliktu z wbudowanymi w Mathematicę definicjami.

Zestaw 7

MATERIAŁY DODATKOWE
A
(2 punkty)

Proszę zdefiniować typ danych opisujący płaszczyznę w przestrzeni trój wymiarowej

Mając ten typ danych proszę zaimplementować funkcję, która rysyje tą płaszczyznę. Wskazówka, proszę zajrzeć do dokumentacji:

InfinitePlane

oraz

Graphics2D
B
(2 punkty)

Korzystając z typu danych zdefiniowanego w zadaniu A proszę napisać funkcję zwracającą wektor normalny do płaszczyzny. Dodatkowo proszę narysować kilka płaszczyzn oraz wykorzystująć:

Arrow

kilka odpowiednich wektorów normalnych mających początek zaczeopiony w tych płaszczyznach.

Proszę zwrócić uwagę, że kolejnośc punktów w typie danych z A ma znaczenie.

C
(3 punkty)

Proszę zaimplementować funkcję, która biorąc jako argument typ danych z zadania A zwróci funkcję, która:

Wzkazówka. Korzystając z funkcji

Orthogonalize

oraz

Normalize

proszę wprowadzić dwu wymiarowy układ współrzędnych na tej płaszczyźnie.

D
(3 punkty)

Proszę zaimplementować funkcję, która korzystając z typu danych w zadaniu A:

Throw
E
(2 punkty)

Proszę policzyć równanie ruchu dla paciorka o masie \(1\) nanizanego na poziomy pręt. Paciorek porusza się bez tarcia po pręcie i jest dodatkowo połączony ze ścianą sprężynką o stałej sprężystości \(1\). Rachunek proszę przeprowadzić korzystając z formalizmu Lagrangea w Mathematice. Następnie proszę rozwiązać otrzymane równanie ruchu korzystając z

NDSolve

zakładając, że na początku ciało było w pozycji równowagi i miało prędkość początkową \(0.5\). Jednostki masy oraz odległości są dowolne.

Zestaw 8

MATERIAŁY DODATKOWE

Na te zajęcia nie ma nowych zadań. Będziemy mieli więcej czasu na indywidualne konsultacje oraz aby porozmawiac o projektach.

Zestaw 9

MATERIAŁY DODATKOWE
A
(3 punkty)

Kolejne zastosowania macierzy…

Proszę napisać funkcję, która tworzy macierz wymiarowości. Funkcja powinna pobierać:

Proszę sprawdzić działanie tej funkcji dla problemów:

oraz porównać z wikipedią.

B
(3 punkty)

Korzystając z wyników zadania A oraz funkcji NullSpace proszę sprawdzić z jakich bezwymiarowych wielkości można skonstruować prawa fizyczne rządzące obydwoma problemami:

C
(1 punkt)

Proszę rozwiązać ponownie zadanie B ale tym razem z wykorzystaniem wbudowanej w Mathemaitcę funkcji DimensionalCombinations.

D
(3 punkty)

Rozważamy bryły sztywne na płaszczyźnie. Zakładamy, że płaskie bryły znajdują się w płaszczyźnie \(x\) - \(y\) oraz:

Proszę zaimplementować trzy funkcje zwracające:

Argumentem wszystkich tych trzech funkcji powinna być funkcja biorąca współrzędne na płaszczyźnie i zwracająca gęstość (powierzchniową) bryły.

Wyniki proszę porównać z wartościami tablicowymi

Wskazówka: można skorzystać z funkcji NIntegrate.

E
(2 punkty)

Proszę wykorzystać zadanie D oraz funkcję DensityPlot do narysowania kilku figur oraz zaznaczenia ich środków masy. W opisie wykresu powinna znaleźć się masa bryły oraz jej moment bezwładności względem środka masy.

Zestaw 10

MATERIAŁY DODATKOWE
A
(2 punkty)

Korzystając z zadania D z zestawu 9 proszę przetestować twierdzenie Steinera. Aby to zrobić należy zdefiniować dwie identyczne bryły sztywne. Pierwsza jest umieszczona tak aby jej środek masy pokrywał się z początkiem układu współrzędnych. Druga jest przesunięta, powiedzmy w kierunku osi x, o \(\Delta\). Następnie można policzyć oraz porównać ich momenty bezwładności.

UWAGA: obydwie bryły powinny się mieścić w okienku zdefiniowanym w zadaniu D czyli \(-1 \lt x \lt 1\) oraz \(-1 \lt y \lt 1\).

B
(3 punkty)

Rozważamy sztywno względem siebie ułożone masy punktowe w trzech wymiarach:

Każdy punkt o numerze \(i\) ma wapółrzędne \(r_{i}\), masę \(m_{i} = 1\) (dowolna jednostka masy), każde ramię krzyża ma długość \(2\) (dowolna jednosta odległości) a punkty są rozmieszczone co \(0.2\) (dowolna jednostka odległości).

Proszę w mathematice skonstruować taki system, narysować go oraz policzyc momenty mezwładności:

\[I_{xx} = \sum_{1 = 1}^{N} m_{i} (y_{i}^{2} + z_{i}^{2})\] \[I_{yy} = \sum_{1 = 1}^{N} m_{i} (x_{i}^{2} + z_{i}^{2})\] \[I_{zz} = \sum_{1 = 1}^{N} m_{i} (x_{i}^{2} + y_{i}^{2})\]

\[I_{xy} = \sum_{1 = 1}^{N} m_{i} (x_{i} y_{i})\] \[I_{xz} = \sum_{1 = 1}^{N} m_{i} (x_{i} z_{i})\] \[I_{yz} = \sum_{1 = 1}^{N} m_{i} (y_{i} z_{i})\]

Wskazówka: Można skorzystać z Riffle , Partition , Map , Union , Join oraz Table.

C
(4 punkty)

Proszę policzyć macierz momentów bezwładności dla systemu z zadania B:

\[ I_{CM} = \left( \begin{array}{ccc} I_{xx} & -I_{xy} & -I_{xz} \\ -I_{xy} & I_{yy} & -I_{yz} \\ -I_{xz} & -I_{yz} & I_{zz} \\ \end{array} \right) \]

Tym razem proszę skorzystać z zależności:

\[ I_{CM} = \sum_{i = 1}^{N} -m_{i} \left[\widetilde{r_{i}}\right].\left[\widetilde{r_{i}}\right] \]

gdzie \(\left[\widetilde{x}\right]\) jest macierzą reprezentującą operator liczenia iloczynu skalarnego z \(x\). Proszę ten wynik porównać z zadaniem B.

D
(3 punkty)

Proszę przesunąć wszystkie punkty systemu z zadania B o \(1\) w kierunku \(x\). Następnie proszę policzyć, metodą z zadania C, macierz momentów bezwładności i porównać ją z macierzą liczoną z twierdzenia Steinera.