W przypadku macierzy o dużej liczbie zer (macierze diagonalne, macierze rzadkie etc.) oszczędzamy pamięć oraz uzyskujemy skrócenie czasu obliczeń. struct – struktura. Tak jak w każdym języku programowania struktura jest typem danych zawierającym w swoich polach dane różnych typów. cell – macierz komórkowa (blokowa) – pojedynczymi elementami takiej macierzy mogą być nie tylko liczby ale i dowolne dane z powyższych typów. W macierzy komórkowej możemy przechować kilka macierzy o różnym wymiarze, tekst i strukturę jednocześnie. uint8 – 8-bitowy typ całkowity (zakres 0–255) przeznaczony do zapisywania w pamięci obrazów graficznych. Na tym typie danych nie można wykonywać żadnych operacji arytmetycznych.
Charakterystyczne dla języka programowania Matlaba jest automatyczne rozpoznawanie typów zmiennych – nie występuje deklaracja typu (przykładowo w języku C przed użyciem zmiennej abc konieczna jest linia – „double abc;”). MATLAB rozpoznaje typ zmiennej przy jej pierwszym użyciu, należy tylko odpowiednio ją wywołać.
TypWywołaniedoublea=1 (a=)chara='napis'sparsea=sparse(1)structa.składnik=1cella={1}