W przypadku przeznaczenia dwóch laboratoriów scenariusz każdych zajęć polega na rozwiązaniu możliwie dużej ilości kolejnych zadań z tego rozdziału.
W przypadku jednych zajęć należy dokonać wyboru rozwiązując tylko kilkanajważniejszych pozycji z listy zadań.
Zadania w tym rozdziale ilustrują podstawowe operacje, struktury i własności octave'a.
Przedstawimy w zadaniach octave jako kalkulator naukowy. Omówimy też
operator dwukropek służący np. tworzeniu indeksów. Przetestujemy, jak tworzyć macierze, wektory; jak
zapisywać zmienne do plików (czytać z plików) w formatach: tekstowym i binarnym. Sprawdzimy
tworzenie macierzy z podmacierzy, wycinanie podmacierzy i inne podstawowe operacje na macierzach - mnożenie, dodawanie, transponowanie, funkcje matematyczne od macierzy, normy wektorów/macierzy.
Zadania obejmują również tworzenie wykresów funkcji matematycznych przy pomocy funkcji octave'a plot()
. Sprawdzimy też tworzenie i używanie skryptów i funkcji (m-pliki) w octavie, oraz podstawowe
instrukcje warunkowe i pętle:
-
if else endif
; -
switch case endswitch
-
while( ) do endwhile;
-
do .. until( );
-
for .. endfor
.
Zadania obejmą też wskaźniki do funkcji (function handle) i operator @
- zwracający wskaźnik do funkcji.
- Octave jako kalkulator. Otwórz sesję octave'a. Zapoznaj się z pomocą do funkcji
sqrt()
orazsin()
. Policz w octave'ie, ile wynosi pierwiastek zoraz policz wartość funkcji
na tym pierwiastku.
- Operacje macierzowe. Operator dwukropek.
- Utwórz wektor z liczbami od
do
oraz wektor ze wszystkimi liczbami parzystymi od
do
.
- Utwórz dowolne macierze 3x4 A i 3x5 B, a następnie macierz 3x8 C, której pierwsze 3 kolumny to A, a kolejne to B.
- Z macierzy C 'wytnij' podmacierz D składającą się z 1 głównego minora tzn. 3x3 od C(1,1) do C(3,3).
- Zamień kolejność kolumn D.
- Zamień kolejność wierszy D.
- Wytnij dolnotrójkątną, a potem górnotrójkątną część macierzy D
- Wstaw D z powrotem do C jako główny minor.
- Policz
od D.
- Zapisz D do pliku (binarnego i ASCII) - zamień element D(1,1) na -100 i wczytaj nową macierz do octave'a.
- Funkcje matematyczne od macierzy. Normy macierzy i wektorów
Policz dyskretną normę maksimum od
na
(wektorowo- czyli bez użycia pętli).
- Wykresy funkcji matematycznych.
- Narysuj wykres funkcji
na odcinku
.
- Narysuj wykres funkcji
na odcinku
- wykres powinien być podpisany, narysowany za pomocą gwiazdek w kolorze czerwonym.
- Narysuj w jednym oknie podpisane wykresy funkcji
i
na odcinkupodpisane odpowiednio.
- Znajdź przybliżone maksimum i minimum funkcji
na odcinku
bez użycia pętli,
oraz przybliżenia punktów ekstremalnych.Powtórz to zadanie dla
jakiegoś wielomianu stopnia dwa i trzy np..
- Funkcje w octave'ie, m-pliki, czyli tzw. pliki funkcyjne.
Utwórz funkcję w m-pliku obliczającą dla zadanego
wartość funkcji
- Zmienne globalne
Utwórz m-plik z funkcją octave'a obliczającą wartość funkcji matematycznej z parametrem:
- parametr przekaż jako zmienną globalną.
- Implementacja wektorowa funkcji w octave'ie.
Utwórz m-plik z funkcją obliczający wartość funkcji
dla argumentu będącego macierzą, tzn. jeśli
macierz wymiaru
, to funkcja powinna zwrócić
macierz wymiaru
taką, że
Narysuj wykres
na odcinku
z wykorzystaniem tylko jednego wywołania tak zaimplementowanej funkcji octave'a.
- Funkcje anonimowe.
Utwórz funkcję uchwyt do funkcji anonimowej, która dla danego argumentu
zwraca wartość równą
.
- Pętle, instrukcje warunkowe, instrukcja
printf()
.
- Zapoznaj się z pomocą octave'a do pętli
while
, pętlifor
, instrukcji warunkowejif
oraz funkcji drukującej napisy na ekranieprintf()
. -
Przy pomocy pętli
for(k=...)
endfor
while(warunek stopu)
endwhile
oblicz sumę
dla
.
- Użyj instrukcji warunkowej
if()endif
by sprawdzić, czy otrzymane
zostało obliczone poprawnie, tzn. czy otrzymaliśmy
- wyprowadź na ekran komunikat używając
printf()