Do tej pory za każdym razem po wpisaniu polecenia pojawiała się informacja o interpretacji programu. Możemy tego uniknąć dopisując na koniec polecenia średnik ;. Polecenie zostanie wykonane, ale program nie wypisze interpretacji w następnych linijkach. W ten sposób łatwiej dbać o czytelność historii operacji:
Innym przydatnym znakiem okazuje się procent %. Można go dopisać w dowolnym miejscu w poleceniu. Wszystko co jest zapisane po nim jest traktowane jako komentarz. Ze względu na to jeśli chcemy użyć średnika na koniec polecenia to musimy to zrobić wpisując średnik przed % - średnik po % jest traktowany jako część komentarza:
W przypadku wpisywania kilku poleceń nie musimy wpisywać każdego oddzielnie. Wszystkie polecenia można wpisać w tej samej linijce. Należy pamiętać, aby każde kolejne rozdzielić przecinkiem. W ten sposób interpretator będzie wiedział, że linijka zawiera kilka poleceń:
Należy pamiętać, że wyciszenie interpretacji polega na postawieniu średnika na końcu polecenia, dlatego w przypadku wpisywania kilku poleceń w linijce średnik należy wstawić po każdym poleceniu. Prawidłowe "wyciszenie" wszystkich intepretacji poprzedniego kodu wygląda tak:
Z kolei postawienie średnika tylko na końcu linijki spowodowałoby tylko wyłączenie intepretacji ostatniego polecenia. Rezultat wyglądałby tak:
Macierz to układ liczb, symboli lub wyrażeń zapisanych w postaci prostokątnej tablicy. Zasada tworzenia jest podobna do tworzenia wektorów: dane w wierszu zapisujemy rozdzielając spacją lub przecinkiem. Każdy kolejny wiersz oddzielamy średnikiem. Wszystkie dane muszą znaleźć się w nawiasach kwadratowych. Przykładowo wpiszmy do programu następującą macierz:
Jeśli wpisywane wartości tworzą ciąg o stałej różnicy to można tutaj użyć pseudopętli for. Wtedy kod znacząco się upraszcza w zapisie, ale jest trudniejszy w interpretacji:
Przypuśćmy, że mamy dwie macierze A i B o takich samych wymiarach:
,
które wprowadzimy do programu następująco:
Teraz możemy wykonać operacje dodawania i odejmowania macierzy tj. operacja jest wykonana dla każdej pary elementów i, j:
Na potrzeby tej części zadeklarujemy dwie macierze A, B oraz C, które będą wyglądać tak:
Jeśli chcemy pomnożyć dwie macierze to wystarczy użyć operatora mnożenia - gwiazdki*:
Jednak mnożenie macierzy nie zawsze jest możliwe. W przypadku, gdy będziemy chcieli wykonać nieprawidłową operację mnożenia kompilator powiadomi nas o błędzie. Treść błędu pojawi się nawet jeśli wyciszymy interpretację używając średnika:
Operator mnożenie w błędzie jest podkreślony - jest to link, który umożliwia bezpośrednie przejście do pomocy w programie. W ten sposób możemy uzyskać pomoc, dlaczego polecenie nie mogło zostać wykonane.
Jeśli chcemy pomnożyć macierz przez skalar to możemy wpisać:
Istnieje również możliwość, aby każdy element pomnożyć przez inną liczbę. Należy wtedy użyć dodatkowe operatora - kropki . przed znakiem operatora mnożenia *. Spowoduje to, że każdy element na pozycji i, j zostanie pomnożony przez element o współrzędnych z drugiej macierzy. Jeśli wymiary się nie zgadzają to zostanie zwrócony błąd:
Błąd ten jest spowodowany różnymi rozmiarami macierzy. Przypuśćmy, że chcemy aby w macierzy A niezerowe były tylko wyrazy o obu współrzędnych nieparzystych. W tym celu przypiszemy macierzy C nową macierz, a następnie pomnożymy każdy element przez każdy:
Wszystkie powyższe informacje dotyczące mnożenia odnoszą się również do operacji dzielenia. Należy jednak pamiętać, że znak operacji dzielenia to /. Wtedy chcąc podzielić dwie macierze wystarczy wpisać:
Jeśli chcemy wybrać element z macierzy nalezy wpisać nazwę macierzy, otwórzyć nawias okrągły podać współrzędne rozdzielone przecinkiem i zamknąć nawias. Przykładowo wybierzmy pierwszy element z drugiego wiersza macierzy A:
Jeśli jednak chcemy wybrać całą kolumnę lub wiersz to liczbę zastępujemy średnikiem:
Używając operacji wybierania możemy zastępować całe wiersze i kolumny. W tym celu należy wybrać fragment macierzy, a następnie przypisać nową wartość. Przykładowo zastąpmy trzecia kolumnę wektorem , wtedy:
Jednak co jeśli wybierzemy wiersz lub kolumnę, która nie istnieje ? Wtedy zostanie zwrócony błąd:
Należy jednak ostrożnie zamieniać całe wiersze i kolumny w macierzy. Przypuśćmy, że chcemy zmodyfikować trzeci wiersz, który nie istnieje. Program nei zwróci błędu. Dane zostaną dopisane do macierzy w odpowiednich miejscach. Wszystkie pola nowej macierzy, które nie zostały ustawione zostaną wyzerowane. W ten sposób możemy rozszerzać macierze. Dopiszmy do macierzy wektor wierszowy [3 4 5]:
Z macierzy A możemy wybrać podmacierz. W tym celu należy wskazać lewe górne pole i prawe dolne w nawiasach okrągłych (zamiast współrzędnych). Przypuśćmy, że chcemy z A wyodrębnić macierz bez pierwszych dwóch wierszy i pierwszej kolumny. Wtedy:
Jednak jeśli chcielibyśmy tylko usunąć pierwszy wiersz i pierwszą kolumnę to wystarczy wpisać:
Macierze możemy razem łączyć. W tym celu należy utworzyć macierz i zamiast podawać wartości to wstawić nazwę zmiennych. Przykładowo możemy dołączyć macierz B do macierzy A na dwa sposoby - kolumny z B dołączamy jako kolumny A lub dołączamy do wiersze macierzy A wiersze macierzy B:
Macierz kwadratową możemy odwrócić na dwa sposoby:
Do wyliczania wyznacznika macierzy możemy posłużyć się funkcję det (ang. determinant):
Program umożliwia wylosowanie macierzy. Służ do tego polecenie rand. W nawiasach okrągłych podajemy wymiary macierzy. Każde pole macierzy będzie zawierać wartość z zakresu
Wykonaj poniższe polecenia:
Zalecam wykonanie poleceń bez zaglądania do artykułu. Wskazówka: Każdy podpunkt odpowiada dokładnie jednemu poleceniu!