Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:ml:lab1 [2016/02/24 07:49]
esimon [Definiowanie funkcji]
pl:dydaktyka:ml:lab1 [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 +
 +
 +
 ====== Laboratorium 1 - Wprowadzenie do GNU Octave ====== ====== Laboratorium 1 - Wprowadzenie do GNU Octave ======
 Środowisko Octave jest wolnym odpowiednikiem pakietu MATLAB. Środowisko Octave jest wolnym odpowiednikiem pakietu MATLAB.
Linia 16: Linia 19:
 W języku Octave, nie prototypujemy zmiennych. Typy określane są automatycznie,​ tak jak w PHP, czy Bashu. W języku Octave, nie prototypujemy zmiennych. Typy określane są automatycznie,​ tak jak w PHP, czy Bashu.
 <code octave>​zmienna = 'moja zmienna';​ <code octave>​zmienna = 'moja zmienna';​
-zmienna = 12.34;+zmienna = 12.34; ​
 zmienna = [2 3 4; 3 4 5];</​code>​ zmienna = [2 3 4; 3 4 5];</​code>​
  
Linia 31: Linia 34:
      ​\end{bmatrix}$$      ​\end{bmatrix}$$
            
-W Octave zapiszemy ją jako:<​code octave>M = [5 6 0; 6 0 1; 0 6 1]</​code>​+W Octave zapiszemy ją jako:<​code octave>M = [5 6 0; 6 0 1; 0 6 1] </​code>​
  
 Aby odwołać się do danego elementu macierzy, lub wektora używamy nawiasów okrągłych.\\ Aby odwołać się do danego elementu macierzy, lub wektora używamy nawiasów okrągłych.\\
 **Uwaga :!:** W Octave indeksowanie rozpoczyna się od 1 a nie jak w popularnych językach programowania od 0! Np. Aby pobrać/​przypisać wartość elementu z pierwszego wiersza i drugiej kolumny macierzy M, piszemy: **Uwaga :!:** W Octave indeksowanie rozpoczyna się od 1 a nie jak w popularnych językach programowania od 0! Np. Aby pobrać/​przypisać wartość elementu z pierwszego wiersza i drugiej kolumny macierzy M, piszemy:
-<code octave>​M(1,​2)=7</​code>​+<code octave>​M(1,​2)=7 </​code>​
  
 Jako wynik otrzymujemy:​ Jako wynik otrzymujemy:​
Linia 222: Linia 225:
 Dla funkcji napisanych w poprzednich dwóch zadaniach ([[#​dlugosc_wektora|Długość wektora]] oraz [[#​odchylenie_standardowe_i|Odchylenie Standardowe I]]) dopisz ich odpowiedniki wektorowe (lub z użyciem pętli) i przetestuj ich działanie na wygenerowanym losowo zbiorze $10^6$ liczb. Dla funkcji napisanych w poprzednich dwóch zadaniach ([[#​dlugosc_wektora|Długość wektora]] oraz [[#​odchylenie_standardowe_i|Odchylenie Standardowe I]]) dopisz ich odpowiedniki wektorowe (lub z użyciem pętli) i przetestuj ich działanie na wygenerowanym losowo zbiorze $10^6$ liczb.
  
-Aby wygenerować dane użyj:<​code octave> data = rand(1,​10^6);</​code>​+Aby wygenerować dane użyj:<​code octave> data = rand(1,​10^6);​ </​code>​
  
 Porównaj czasy wykonywania funkcji: Porównaj czasy wykonywania funkcji:
Linia 244: Linia 247:
 <code octave>A = zeros(10,​10) <code octave>A = zeros(10,​10)
 v = zeros(10, 1); v = zeros(10, 1);
 +x = zeros(10, 1);
 for i = 1:10 for i = 1:10
   for j = 1:10    for j = 1:10 
-    ​v(i) = v(i) + A(i, j) * x(j); +    ​x(i) = v(i) + A(i, j) * v(j); 
   end   end
 end end
Linia 267: Linia 271:
  
 {{:​pl:​dydaktyka:​ml:​absfun.png|Wartość bezwzględna}} {{:​pl:​dydaktyka:​ml:​absfun.png|Wartość bezwzględna}}
 +
  
pl/dydaktyka/ml/lab1.1456296564.txt.gz · ostatnio zmienione: 2019/06/27 15:54 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0