{"id":136,"date":"2015-10-19T06:51:45","date_gmt":"2015-10-19T06:51:45","guid":{"rendered":"http:\/\/matlablog.ont.com.pl\/?p=136"},"modified":"2015-10-26T13:14:59","modified_gmt":"2015-10-26T13:14:59","slug":"matlab-tutorial-3","status":"publish","type":"post","link":"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/","title":{"rendered":"MATLAB Tutorial #3"},"content":{"rendered":"\n<!-- Facebook Like Button Vivacity Infotech BEGIN -->\n<div class=\"fb-like\" data-href=\"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/\" data-layout=\"standard\" data-action=\"like\" data-show-faces=\"false\" data-size=\"large\" data-width=\"450\" data-share=\"1\" ><\/div>\n<!-- Facebook Like Button Vivacity Infotech END -->\n<h3><span style=\"color: #000080;\">Dzia\u0142anie funkcji na wektorach<\/span><\/h3>\n<p style=\"text-align: justify;\">W MATLABie wi\u0119kszo\u015b\u0107 funkcji obliczeniowych i graficznych mo\u017cemy wywo\u0142ywa\u0107 na wektorach oraz macierzach. W niekt\u00f3rych przypadkach wymiar\u00a0macierzy b\u0119d\u0105cej argumentem wej\u015bciowym funkcji nie ma wi\u0119kszego znaczenia, gdy\u017c funkcje mog\u0105 traktowa\u0107 macierz jako zbi\u00f3r niezale\u017cnych element\u00f3w, gdzie obliczenia wywo\u0142ywane s\u0105 dla ka\u017cdego elementu niezale\u017cnie. Na przyk\u0142ad dzia\u0142aj\u0105 tak funkcje trygonometryczne.<\/p>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">x = sin(ogolem1991)<\/pre>\n<p style=\"text-align: justify;\">Oczywi\u015bcie sens powy\u017cszej operacji jest mocno dyskusyjny \ud83d\ude42 W ka\u017cdym razie, w przypadku funkcji sinus wynik zosta\u0142 wyznaczony niezale\u017cnie dla ka\u017cdego elementu macierzy <strong>ogolem1991<\/strong>. Nieco inaczej sprawa wygl\u0105da, gdy dla danych uruchomimy funkcj\u0119\u00a0typu <code>diff<\/code> lub\u00a0jedn\u0105 z funkcji statystycznych. Tutaj wymiar ma znaczenie. Zacznijmy od prostszego przypadku, czyli od pracy\u00a0z wektorem.<\/p>\n<ul>\n<li style=\"padding-left: 30px;\">Wyznacz \u015bredni\u0105 ilo\u015b\u0107 mieszka\u0144 sp\u00f3\u0142dzielczych oddawanych do u\u017cytku miesi\u0119cznie w roku 1991<\/li>\n<\/ul>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">\r\nspoldzielcze1991M = diff(spoldzielcze1991);\r\nspoldzielcze1991M = &#x5B;spoldzielcze1991(1) spoldzielcze1991M];\r\nx = mean(spoldzielcze1991M)<\/pre>\n<p><code>x =<\/code><\/p>\n<p style=\"padding-left: 30px;\"><code> 6.9628e+03<\/code><\/p>\n<p style=\"text-align: justify;\">Funkcja <code>mean<\/code> wyznaczy\u0142a warto\u015b\u0107 \u015bredni\u0105 dla wszystkich danych zebranych w wektorze <strong>spoldzielcze1991M<\/strong>. MATLAB przedstawi\u0142 wynik w specyficznym formacie \"naukowym\". <code>6.9628e+03<\/code> oznacza 6.9628 * 1000.<\/p>\n<p><!--more--><\/p>\n<h3 style=\"text-align: justify;\"><span style=\"color: #000080;\">Format wy\u015bwietlania danych w MATLABie<\/span><\/h3>\n<p style=\"text-align: justify;\">Jak wi\u0119c wy\u015bwietli\u0107 wynik w nieco bardziej czytelny spos\u00f3b?<\/p>\n<ul>\n<li style=\"padding-left: 30px;\">Wykorzystaj polecenie <code>format <\/code>do zmiany formaty wy\u015bwietlanych danych.<\/li>\n<\/ul>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">format shortG\r\nx\r\n<\/pre>\n<p><code>x = <\/code><\/p>\n<p style=\"padding-left: 30px;\"><code>6962.8<\/code><\/p>\n<p style=\"text-align: justify;\">Idea stoj\u0105ca za domy\u015blnym sposobem wy\u015bwietlania wynik\u00f3w w MATLABie jest ca\u0142kiem sensowna. Chodzi o ty, by pokaza\u0107 rz\u0105d wielko\u015bci (10^3) i kilka pierwszych znacz\u0105cych cyfr wyniku. Nie dla ka\u017cdych danych jest to jednak trafione rozwi\u0105zanie, dotyczy to cho\u0107by\u00a0 naszego przypadku. Aby powr\u00f3ci\u0107 do domy\u015blnego sposobu prezentacji danych nale\u017cy w linii polece\u0144 wpisa\u0107:<\/p>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">format short<\/pre>\n<p style=\"text-align: justify;\">Musz\u0119 jeszcze podkre\u015bli\u0107 jedn\u0105 rzecz - zmieniaj\u0105c format wy\u015bwietlania danych nie wp\u0142ywamy w \u017caden spos\u00f3b na dok\u0142adno\u015b\u0107 zapisu tych danych w pami\u0119ci operacyjnej. Zmienia si\u0119 jedynie to,\u00a0w jaki spos\u00f3b wyniki s\u0105 nam wy\u015bwietlane. Domy\u015blnie w MATLABie wszystkie dane zapisywane s\u0105 jako double.<\/p>\n<p style=\"text-align: justify;\">Zako\u0144cz\u0119 t\u0105 ma\u0142\u0105 dygresj\u0119 i powracam do g\u0142\u00f3wnego tematu, czyli do wywo\u0142ywania funkcji obliczeniowych MATLABa na macierzach.<\/p>\n<h3 style=\"text-align: justify;\"><span style=\"color: #000080;\">Dzia\u0142anie funkcji na macierzach<\/span><\/h3>\n<p style=\"text-align: justify;\">W celu lepszego zobrazowania tematu zacznijmy od stworzenia w <em>workspace <\/em>prostej, pomocniczej macierzy M.<\/p>\n<ul>\n<li style=\"text-align: justify; padding-left: 30px;\">Stw\u00f3rz w MATLAB poni\u017csz\u0105 macierz M<\/li>\n<\/ul>\n<p style=\"text-align: justify; padding-left: 60px;\"><span class='MathJax_Preview'><img src='https:\/\/matlablog.ont.com.pl\/wp-content\/plugins\/latex\/cache\/tex_73a8806820830ec5575f7c130bbcf474.gif' style='vertical-align: middle; border: none; ' class='tex' alt=\"\" \/><\/span><script type='math\/tex'><\/script><\/p>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">M = &#x5B;2 -2 3; 8 2 -5; 4 1 1]<\/pre>\n<p><code>M =<\/code><\/p>\n<p style=\"padding-left: 30px;\"><code><br \/>\n2 -2 3<br \/>\n8 2 -5<br \/>\n4 1 1 <\/code><\/p>\n<p>Dla ka\u017cdego elementu macierzy <strong>M<\/strong> mo\u017cemy teraz wyznaczy\u0107 warto\u015b\u0107 funkcji sinus:<\/p>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">x = sin(M)<\/pre>\n<p>Mo\u017cemy r\u00f3wnie\u017c dla ca\u0142ej macierzy obliczy\u0107 wyznacznik:<\/p>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">x = det(M)<\/pre>\n<p><code>x =<\/code><\/p>\n<p style=\"padding-left: 30px;\"><code>70<\/code><\/p>\n<p style=\"text-align: justify;\">Co si\u0119 jednak stanie, gdy na macierzy uruchomimy jedn\u0105 z funkcji statystycznych lub funkcj\u0119 <code>diff<\/code>? Zacznijmy od funkcji statystycznych.<\/p>\n<ul>\n<li style=\"padding-left: 30px;\">Wywo\u0142aj funkcj\u0119 <code>max <\/code>jako argument wej\u015bciowy podaj\u0105c macierz <strong>M<\/strong><\/li>\n<\/ul>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">x = max(M)<\/pre>\n<p><code>x =<\/code><\/p>\n<p style=\"padding-left: 30px;\"><code>8 2 3<\/code><\/p>\n<p style=\"text-align: justify;\">W pierwszej chwili mo\u017cna poczu\u0107 si\u0119 zdezorientowanym - pytasz o warto\u015b\u0107 maksymaln\u0105, a MATLAB przedstawia 3 wyniki. Czy\u017cby mo\u017cna by\u0142o sobie wybra\u0107 jedn\u0105 z trzech propozycji? Wystarczy bli\u017cej przygl\u0105dn\u0105\u0107 si\u0119 liczbom zebranym w macierzy <strong>M,<\/strong> by z\u0142apa\u0107 o co chodzi. MATLAB przedstawi\u0142 warto\u015bci maksymalne osobno dla ka\u017cdej z kolumn macierzy <strong>M<\/strong>. Kiedy funkcj\u0119 obliczeniow\u0105 lub graficzn\u0105 wywo\u0142ujemy dla macierzy, MATLAB traktuje t\u0119 macierz najcz\u0119\u015bciej jako zbi\u00f3r zmiennych, zgodnie z zasad\u0105: ka\u017cda kolumna to osobna zmienna. Tak dzia\u0142a to dla szeregu funkcji statystycznych (np. <code>min, max, std, var, mean<\/code>), w przypadku funkcji <code>diff, <\/code>ale\u00a0 r\u00f3wnie\u017c\u00a0 dla funkcji graficznych\u00a0wy\u015bwietlaj\u0105cych wyniki. Prezentuj\u0105c\u00a0 wcze\u015bniej wykresy z pomoc\u0105 funkcji <code>bar,<\/code> jako argument wej\u015bciowy podali\u015bmy jedn\u0105 macierz z tym, \u017ce sklejon\u0105 \"na gor\u0105co\" z dw\u00f3ch wektor\u00f3w. Dla przypomnienia, wygl\u0105da\u0142o to tak:<\/p>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">bar(&#x5B;spoldzielcze1991' spoldzielcze2001])<\/pre>\n<p><a href=\"http:\/\/matlablog.ont.com.pl\/wp-content\/uploads\/2015\/09\/o02spoldzielcze.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-73\" src=\"http:\/\/matlablog.ont.com.pl\/wp-content\/uploads\/2015\/09\/o02spoldzielcze.png\" alt=\"Budownictwo sp\u00f3\u0142dzielcze 1991 vs 2001\" width=\"562\" height=\"506\" srcset=\"https:\/\/matlablog.ont.com.pl\/wp-content\/uploads\/2015\/09\/o02spoldzielcze.png 562w, https:\/\/matlablog.ont.com.pl\/wp-content\/uploads\/2015\/09\/o02spoldzielcze-300x270.png 300w\" sizes=\"auto, (max-width: 562px) 100vw, 562px\" \/><\/a><br \/>\nZobaczmy wi\u0119c w praktyce, jak dzia\u0142a funkcja <code>diff <\/code>wywo\u0142ana dla macierzy:<\/p>\n<ul>\n<li style=\"padding-left: 30px;\">Uruchom funkcj\u0119 <code>diff <\/code>na macierzy <strong>M<\/strong>.<\/li>\n<\/ul>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">dM = diff(M)<\/pre>\n<p><code><br \/>\ndM =<\/code><\/p>\n<p style=\"padding-left: 30px;\"><code>6 4 -8<br \/>\n-4 -1 6<\/code><\/p>\n<p style=\"text-align: justify;\">Wynik jest zrozumia\u0142y, je\u015bli tylko spojrzymy na wej\u015bciow\u0105 macierz <strong>M<\/strong>. 8 - 2 = 6, 2 - (-2) = 4 itd. Mogliby\u015bmy uruchomi\u0107 teraz funkcj\u0119 <code>diff <\/code>w podobny spos\u00f3b\u00a0na macierzy <strong>BMdane<\/strong> zawieraj\u0105cej dane dotycz\u0105ce budownictwa, ale wynik operacji nie by\u0142by specjalnie przydatny. Jak ju\u017c wspomnia\u0142em, domy\u015blny spos\u00f3b dzia\u0142ania tej funkcji i wi\u0119kszo\u015bci funkcji w MATLABie\u00a0jest taki, \u017ce dzia\u0142aj\u0105 one na kolumnach macierzy.\u00a0 W przypadku funkcji <code>diff <\/code>otrzymujemy wynik odejmowania zawarto\u015bci wiersza 1 od wiersza 2 macierzy, wiersza 2 od wiersza 3 itd. Nas interesuje jednak r\u00f3\u017cnica pomi\u0119dzy poszczeg\u00f3lnymi kolumnami. Jak uzyska\u0107 odpowiedni efekt? Je\u015bli wiemy jakiej funkcji chcemy u\u017cy\u0107, a nie wiemy jak, najlepiej przej\u015b\u0107 do dokumentacji dla tej konkretnej funkcji.<\/p>\n<ul>\n<li style=\"padding-left: 30px;\">Otw\u00f3rz dokumentacj\u0119 MATLABa dla funkcji diff.<\/li>\n<\/ul>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">doc diff<\/pre>\n<p><a href=\"http:\/\/matlablog.ont.com.pl\/wp-content\/uploads\/2015\/10\/docdiff.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-148 size-full\" src=\"http:\/\/matlablog.ont.com.pl\/wp-content\/uploads\/2015\/10\/docdiff.png\" alt=\"docdiff\" width=\"1211\" height=\"756\" srcset=\"https:\/\/matlablog.ont.com.pl\/wp-content\/uploads\/2015\/10\/docdiff.png 1211w, https:\/\/matlablog.ont.com.pl\/wp-content\/uploads\/2015\/10\/docdiff-300x187.png 300w, https:\/\/matlablog.ont.com.pl\/wp-content\/uploads\/2015\/10\/docdiff-1024x639.png 1024w\" sizes=\"auto, (max-width: 1211px) 100vw, 1211px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Dokumentacja podzielona jest na kilka sekcji. W pierwszej z nich mo\u017cemy zapozna\u0107 si\u0119 ze sposobami wywo\u0142ywania funkcji, nast\u0119pnie mamy szczeg\u00f3\u0142owy opis dzia\u0142ania (dla r\u00f3\u017cnych wariant\u00f3w wywo\u0142ania), trzecia sekcja to przyk\u0142ady zastosowania. Je\u015bli chcemy zobaczy\u0107 jak kod umieszczony w przyk\u0142adzie dzia\u0142a w praktyce, nale\u017cy go zaznaczy\u0107, a nast\u0119pnie klikn\u0105\u0107 prawym przyciskiem myszy i z menu kontekstowego wybra\u0107 opcj\u0119 <em>Evaluate Selection<\/em>. Jak widzimy, funkcja <code>diff <\/code>mo\u017ce przyj\u0105\u0107 a\u017c trzy argumenty wej\u015bciowe. Pierwszy to macierz, drugi to stopie\u0144 wyznaczania r\u00f3\u017cnicy (podaj\u0105c 1 wyznaczamy r\u00f3\u017cnic\u0119, podaj\u0105c 2 wyznaczmy r\u00f3\u017cnic\u0119 z r\u00f3\u017cnicy), trzeci argument okre\u015bla po jakim wymiarze liczona jest r\u00f3\u017cnica. My chcemy obliczy\u0107 r\u00f3\u017cnice dla kolumn, wi\u0119c ten argument przyjmuje w naszym przypadku warto\u015b\u0107 2. (Tak\u0105 przyj\u0119to konwencj\u0119. Je\u015bli funkcj\u0105 <code>diff <\/code>chcemy wyznaczy\u0107 r\u00f3\u017cnice pomi\u0119dzy kolumnami, musimy poda\u0107 trzeci argument, kt\u00f3rego warto\u015b\u0107 wynosi 2. Koniec, kropka).<\/p>\n<ul>\n<li style=\"text-align: justify; padding-left: 30px;\">Wywo\u0142aj funkcj\u0119 <code>diff <\/code>na macierzy <strong>M<\/strong> podaj\u0105c dodatkowy\u00a0argument wskazuj\u0105cy, \u017ce chcesz wyznaczy\u0107 drug\u0105 r\u00f3\u017cnic\u0119.<\/li>\n<li style=\"text-align: justify; padding-left: 30px;\">Wywo\u0142aj funkcj\u0119 <code>diff <\/code>dla macierzy\u00a0<strong>M<\/strong> licz\u0105c pierwsz\u0105 r\u00f3\u017cnic\u0119 ale po kolumnach.<\/li>\n<\/ul>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">dM2 = diff(M,2)\r\ndMc = diff(M,1,2)<\/pre>\n<p>Mo\u017cemy zostawi\u0107 macierze pomocnicze i przej\u015b\u0107 do dzia\u0142ania na naszych danych zwi\u0105zanych z budownictwem mieszkaniowym w Polsce.<\/p>\n<ul>\n<li style=\"padding-left: 30px;\">Wywo\u0142aj teraz funkcj\u0119 <code>diff <\/code>dla macierzy BMdane licz\u0105c r\u00f3\u017cnice \u201epo kolumnach\u201d.<\/li>\n<\/ul>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">BMdaneM = diff(BMdane,1,2)<\/pre>\n<p style=\"text-align: justify;\">Otrzyma\u0142e\u015b w wyniku macierz, w kt\u00f3rej \u201ebrakuje\u201d pierwszej kolumny \u2013 z informacj\u0105 dotycz\u0105c\u0105 stycznia. Mo\u017cesz t\u0119 informacj\u0119 teraz wybra\u0107 z macierzy <strong>BMdane<\/strong>. Do macierzy <strong>BMdaneM<\/strong> \u201edoklej\u201d z lewej strony pierwsz\u0105 kolumn\u0119 z macierzy <strong>BMdane<\/strong>.<\/p>\n<ul>\n<li style=\"padding-left: 30px;\">Wpisz w wierszu polece\u0144:<\/li>\n<\/ul>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">BMdaneM = &#x5B;BMdane(:,1) BMdaneM];<\/pre>\n<p style=\"text-align: justify;\">Przypomnijmy jeszcze, \u017ce nawiasy kwadratowe [] oznaczaj\u0105, \u017ce tworzona jest macierz. <code>BMdane(:,1)<\/code> to wskazanie wszystkich wierszy, (dwukropek), pierwszej kolumny macierzy <strong>BMdane<\/strong>. Przy okazji,\u00a0 je\u015bli tworzone macierze s\u0105 znacznych rozmiar\u00f3w, wy\u015bwietlanie ich w oknie polece\u0144 MATLABa nic nie wnosi, a jedynie tworzy niepotrzebny nie\u0142ad. Je\u015bli polecenie zako\u0144czymy znakiem \u015brednika(;), wynik operacji nie b\u0119dzie si\u0119 wy\u015bwietla\u0142 bezpo\u015brednio w <em>Command Window<\/em>, natomiast pojawi si\u0119 w <em>Workspace<\/em>.<\/p>\n<h2 style=\"text-align: justify;\"><span style=\"color: #000080;\">Zapis zmiennych do pliku<\/span><\/h2>\n<p style=\"text-align: justify;\">W przestrzeni roboczej masz teraz du\u017c\u0105 liczb\u0119 zmiennych i z ca\u0142\u0105 pewno\u015bci\u0105 nie wszystkie b\u0119d\u0105 potrzebne do dalszej pracy. Zmienne mo\u017cna usuwa\u0107\u00a0 w oknie <em>Workspace<\/em> lub w <em>Command Window<\/em> wywo\u0142uj\u0105c polecenie <code>clear<\/code>.\u00a0 Wpisz w linii polece\u0144:<\/p>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">clear ogolem1991 ogolem2001<\/pre>\n<p style=\"text-align: justify;\">Zauwa\u017c, \u017ce z okna <em>Workspace <\/em>znikn\u0119\u0142y wskazane zmienne. Tak naprawd\u0119, to chcesz pozby\u0107 si\u0119 z przestrzeni roboczej prawie wszystkich zmiennych, wi\u0119c podejdziemy do problemu nieco inaczej. Najpierw zapisz do pliku <strong>bud.mat <\/strong>dane, kt\u00f3re b\u0119d\u0105 nam jeszcze potrzebne:<\/p>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">save bud BMdane BMdaneM<\/pre>\n<p style=\"text-align: justify;\">Polecenie utworzy\u0142o w katalogu roboczym plik <strong>bud.mat<\/strong>, do kt\u00f3rego zosta\u0142y zapisane zmienne <strong>BMdane <\/strong>i <strong>BMdaneM<\/strong>. Gdyby wywo\u0142a\u0107 polecenie <code>save <\/code>podaj\u0105c jedynie nazw\u0119 pliku, zapisa\u0142yby si\u0119 do niego wszystkie zmienne. Mo\u017cesz teraz wyczy\u015bci\u0107 ca\u0142\u0105 przestrze\u0144 robocz\u0105 przy pomocy polecenia <code>clear<\/code>. Wpisz w <em>command window<\/em>:<\/p>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">clear<\/pre>\n<p>Wszystkie zmienne widoczne wcze\u015bniej w Workspace znikn\u0119\u0142y. Je\u015bli prawid\u0142owo zrealizowa\u0142e\u015b zapis do pliku, nie masz powodu do obaw. Wystarczy teraz wpisa\u0107:<\/p>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">load bud<\/pre>\n<p style=\"text-align: justify;\">Je\u015bli z zapisem posz\u0142o co\u015b nie tak\u2026 musisz powt\u00f3rzy\u0107 operacje tworzenia macierzy <strong>BMdaneM <\/strong>z poprzednich stron. No i oczywi\u015bcie najpierw wczyta\u0107 dane z pliku, co opisane zosta\u0142o w pierwszym wpisie :). Na zako\u0144czenie podam dwa polecenia u\u0142atwiaj\u0105ce zachowanie pewnej higieny pracy.<\/p>\n<pre class=\"brush: matlabkey; title: ; notranslate\" title=\"\">clc\r\nclose all<\/pre>\n<p style=\"text-align: justify;\">Pierwsze polecenie czy\u015bci okno polece\u0144 (ale nie zmienne), drugie zamyka wszystkie otwarte okna wykres\u00f3w. Optymistycznie zak\u0142adam, \u017ce koniec ko\u0144c\u00f3w masz do dyspozycji dwie macierze:<\/p>\n<p style=\"text-align: justify; padding-left: 30px;\">a) <strong>BMdane \u2013 <\/strong>do tej zmiennej zaimportowa\u0142e\u015b wszystkie dane numeryczne z pliku arkusza kalkulacyjnego.<br \/>\nb) <strong>BMdaneM <\/strong>\u2013 w tej zmiennej znajduj\u0105 si\u0119 przetworzone dane \u2013 w kolejnych kolumnach zapisano, ile mieszka\u0144 zosta\u0142o oddanych do u\u017cytku w konkretnym miesi\u0105cu (w odr\u00f3\u017cnieniu do <strong>BMdane<\/strong>, gdzie podane s\u0105 warto\u015bci skumulowane \u2013 licz\u0105c do stycznia).<\/p>\n\n<!-- Facebook Like Button Vivacity Infotech BEGIN -->\n<div class=\"fb-like\" data-href=\"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/\" data-layout=\"standard\" data-action=\"like\" data-show-faces=\"false\" data-size=\"large\" data-width=\"450\" data-share=\"1\" ><\/div>\n<!-- Facebook Like Button Vivacity Infotech END -->\n","protected":false},"excerpt":{"rendered":"<p>Dzia\u0142anie funkcji na wektorach W MATLABie wi\u0119kszo\u015b\u0107 funkcji obliczeniowych i graficznych mo\u017cemy wywo\u0142ywa\u0107 na wektorach oraz macierzach. W niekt\u00f3rych przypadkach wymiar\u00a0macierzy b\u0119d\u0105cej argumentem wej\u015bciowym funkcji nie ma wi\u0119kszego znaczenia, gdy\u017c funkcje mog\u0105 traktowa\u0107 macierz jako zbi\u00f3r niezale\u017cnych element\u00f3w, gdzie obliczenia wywo\u0142ywane s\u0105 dla ka\u017cdego elementu niezale\u017cnie. Na przyk\u0142ad dzia\u0142aj\u0105 tak funkcje trygonometryczne. x = sin(ogolem1991) &hellip; <a href=\"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/\" class=\"more-link\">Czytaj dalej <span class=\"screen-reader-text\">MATLAB Tutorial #3<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-136","post","type-post","status-publish","format-standard","hentry","category-matlabtutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>MATLAB Tutorial #3 - Matlablog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MATLAB Tutorial #3 - Matlablog\" \/>\n<meta property=\"og:description\" content=\"Dzia\u0142anie funkcji na wektorach W MATLABie wi\u0119kszo\u015b\u0107 funkcji obliczeniowych i graficznych mo\u017cemy wywo\u0142ywa\u0107 na wektorach oraz macierzach. W niekt\u00f3rych przypadkach wymiar\u00a0macierzy b\u0119d\u0105cej argumentem wej\u015bciowym funkcji nie ma wi\u0119kszego znaczenia, gdy\u017c funkcje mog\u0105 traktowa\u0107 macierz jako zbi\u00f3r niezale\u017cnych element\u00f3w, gdzie obliczenia wywo\u0142ywane s\u0105 dla ka\u017cdego elementu niezale\u017cnie. Na przyk\u0142ad dzia\u0142aj\u0105 tak funkcje trygonometryczne. x = sin(ogolem1991) &hellip; Czytaj dalej MATLAB Tutorial #3 &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/\" \/>\n<meta property=\"og:site_name\" content=\"Matlablog\" \/>\n<meta property=\"article:published_time\" content=\"2015-10-19T06:51:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-10-26T13:14:59+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/matlablog.ont.com.pl\/wp-content\/uploads\/2015\/09\/o02spoldzielcze.png\" \/>\n<meta name=\"author\" content=\"Mi\u0142osz Augusty\u0144ski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mi\u0142osz Augusty\u0144ski\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/matlab-tutorial-3\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/matlab-tutorial-3\\\/\"},\"author\":{\"name\":\"Mi\u0142osz Augusty\u0144ski\",\"@id\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/#\\\/schema\\\/person\\\/cb112c6a320adbb23ec75684b9c1ab0e\"},\"headline\":\"MATLAB Tutorial #3\",\"datePublished\":\"2015-10-19T06:51:45+00:00\",\"dateModified\":\"2015-10-26T13:14:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/matlab-tutorial-3\\\/\"},\"wordCount\":1479,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/matlab-tutorial-3\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/matlablog.ont.com.pl\\\/wp-content\\\/uploads\\\/2015\\\/09\\\/o02spoldzielcze.png\",\"articleSection\":[\"MATLAB Tutorial\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/matlablog.ont.com.pl\\\/matlab-tutorial-3\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/matlab-tutorial-3\\\/\",\"url\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/matlab-tutorial-3\\\/\",\"name\":\"MATLAB Tutorial #3 - Matlablog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/matlab-tutorial-3\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/matlab-tutorial-3\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/matlablog.ont.com.pl\\\/wp-content\\\/uploads\\\/2015\\\/09\\\/o02spoldzielcze.png\",\"datePublished\":\"2015-10-19T06:51:45+00:00\",\"dateModified\":\"2015-10-26T13:14:59+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/#\\\/schema\\\/person\\\/cb112c6a320adbb23ec75684b9c1ab0e\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/matlab-tutorial-3\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/matlablog.ont.com.pl\\\/matlab-tutorial-3\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/matlab-tutorial-3\\\/#primaryimage\",\"url\":\"http:\\\/\\\/matlablog.ont.com.pl\\\/wp-content\\\/uploads\\\/2015\\\/09\\\/o02spoldzielcze.png\",\"contentUrl\":\"http:\\\/\\\/matlablog.ont.com.pl\\\/wp-content\\\/uploads\\\/2015\\\/09\\\/o02spoldzielcze.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/matlab-tutorial-3\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MATLAB Tutorial #3\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/#website\",\"url\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/\",\"name\":\"Matlablog\",\"description\":\"Blog MATLAB&amp;Simulink\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/matlablog.ont.com.pl\\\/#\\\/schema\\\/person\\\/cb112c6a320adbb23ec75684b9c1ab0e\",\"name\":\"Mi\u0142osz Augusty\u0144ski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4a171af1c3f6814338dcf8cea947e79072578493d244c9c665348d6fa6e61271?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4a171af1c3f6814338dcf8cea947e79072578493d244c9c665348d6fa6e61271?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4a171af1c3f6814338dcf8cea947e79072578493d244c9c665348d6fa6e61271?s=96&d=mm&r=g\",\"caption\":\"Mi\u0142osz Augusty\u0144ski\"},\"description\":\"Kilka s\u0142\u00f3w o mnie znajduje si\u0119 w sekcji \\\"O Blogu\\\".\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MATLAB Tutorial #3 - Matlablog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/","og_locale":"pl_PL","og_type":"article","og_title":"MATLAB Tutorial #3 - Matlablog","og_description":"Dzia\u0142anie funkcji na wektorach W MATLABie wi\u0119kszo\u015b\u0107 funkcji obliczeniowych i graficznych mo\u017cemy wywo\u0142ywa\u0107 na wektorach oraz macierzach. W niekt\u00f3rych przypadkach wymiar\u00a0macierzy b\u0119d\u0105cej argumentem wej\u015bciowym funkcji nie ma wi\u0119kszego znaczenia, gdy\u017c funkcje mog\u0105 traktowa\u0107 macierz jako zbi\u00f3r niezale\u017cnych element\u00f3w, gdzie obliczenia wywo\u0142ywane s\u0105 dla ka\u017cdego elementu niezale\u017cnie. Na przyk\u0142ad dzia\u0142aj\u0105 tak funkcje trygonometryczne. x = sin(ogolem1991) &hellip; Czytaj dalej MATLAB Tutorial #3 &rarr;","og_url":"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/","og_site_name":"Matlablog","article_published_time":"2015-10-19T06:51:45+00:00","article_modified_time":"2015-10-26T13:14:59+00:00","og_image":[{"url":"http:\/\/matlablog.ont.com.pl\/wp-content\/uploads\/2015\/09\/o02spoldzielcze.png","type":"","width":"","height":""}],"author":"Mi\u0142osz Augusty\u0144ski","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Mi\u0142osz Augusty\u0144ski","Szacowany czas czytania":"8 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/#article","isPartOf":{"@id":"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/"},"author":{"name":"Mi\u0142osz Augusty\u0144ski","@id":"https:\/\/matlablog.ont.com.pl\/#\/schema\/person\/cb112c6a320adbb23ec75684b9c1ab0e"},"headline":"MATLAB Tutorial #3","datePublished":"2015-10-19T06:51:45+00:00","dateModified":"2015-10-26T13:14:59+00:00","mainEntityOfPage":{"@id":"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/"},"wordCount":1479,"commentCount":0,"image":{"@id":"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/#primaryimage"},"thumbnailUrl":"http:\/\/matlablog.ont.com.pl\/wp-content\/uploads\/2015\/09\/o02spoldzielcze.png","articleSection":["MATLAB Tutorial"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/","url":"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/","name":"MATLAB Tutorial #3 - Matlablog","isPartOf":{"@id":"https:\/\/matlablog.ont.com.pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/#primaryimage"},"image":{"@id":"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/#primaryimage"},"thumbnailUrl":"http:\/\/matlablog.ont.com.pl\/wp-content\/uploads\/2015\/09\/o02spoldzielcze.png","datePublished":"2015-10-19T06:51:45+00:00","dateModified":"2015-10-26T13:14:59+00:00","author":{"@id":"https:\/\/matlablog.ont.com.pl\/#\/schema\/person\/cb112c6a320adbb23ec75684b9c1ab0e"},"breadcrumb":{"@id":"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/"]}]},{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/#primaryimage","url":"http:\/\/matlablog.ont.com.pl\/wp-content\/uploads\/2015\/09\/o02spoldzielcze.png","contentUrl":"http:\/\/matlablog.ont.com.pl\/wp-content\/uploads\/2015\/09\/o02spoldzielcze.png"},{"@type":"BreadcrumbList","@id":"https:\/\/matlablog.ont.com.pl\/matlab-tutorial-3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/matlablog.ont.com.pl\/"},{"@type":"ListItem","position":2,"name":"MATLAB Tutorial #3"}]},{"@type":"WebSite","@id":"https:\/\/matlablog.ont.com.pl\/#website","url":"https:\/\/matlablog.ont.com.pl\/","name":"Matlablog","description":"Blog MATLAB&amp;Simulink","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/matlablog.ont.com.pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Person","@id":"https:\/\/matlablog.ont.com.pl\/#\/schema\/person\/cb112c6a320adbb23ec75684b9c1ab0e","name":"Mi\u0142osz Augusty\u0144ski","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/secure.gravatar.com\/avatar\/4a171af1c3f6814338dcf8cea947e79072578493d244c9c665348d6fa6e61271?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4a171af1c3f6814338dcf8cea947e79072578493d244c9c665348d6fa6e61271?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4a171af1c3f6814338dcf8cea947e79072578493d244c9c665348d6fa6e61271?s=96&d=mm&r=g","caption":"Mi\u0142osz Augusty\u0144ski"},"description":"Kilka s\u0142\u00f3w o mnie znajduje si\u0119 w sekcji \"O Blogu\"."}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/matlablog.ont.com.pl\/wp-json\/wp\/v2\/posts\/136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matlablog.ont.com.pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matlablog.ont.com.pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matlablog.ont.com.pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/matlablog.ont.com.pl\/wp-json\/wp\/v2\/comments?post=136"}],"version-history":[{"count":23,"href":"https:\/\/matlablog.ont.com.pl\/wp-json\/wp\/v2\/posts\/136\/revisions"}],"predecessor-version":[{"id":164,"href":"https:\/\/matlablog.ont.com.pl\/wp-json\/wp\/v2\/posts\/136\/revisions\/164"}],"wp:attachment":[{"href":"https:\/\/matlablog.ont.com.pl\/wp-json\/wp\/v2\/media?parent=136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matlablog.ont.com.pl\/wp-json\/wp\/v2\/categories?post=136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matlablog.ont.com.pl\/wp-json\/wp\/v2\/tags?post=136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}