Typy danych



Pobieranie 221,65 Kb.
Strona1/2
Data03.07.2018
Rozmiar221,65 Kb.
  1   2

Matlab – materiały str.

autor: Mariola Kędra



Podstawową strukturą danych w MATLABie jest tablica (array).

Zmienna jest tablicą 1 x 1 czyli skalarem.



Tablica może być jednowymiarowa (wektor): wierszowa (1 x n) lub kolumnowa (n x 1) bądź wielowymiarowa: A(wiersz, kolumna, strona, książka, tom)
Nazwa (zmiennej, tablicy, funkcji) – ciąg alfanumeryczny bez polskich znaków, długość maks. 63 znaki, zaczyna się od litery, mogą wystąpić litery, cyfry i znaki podkreślenia, ale nie może być spacji ; dłuższe nazwy są ucinane do 63 znaków; duże i małe litery są rozróżniane; nazwa i Nazwa to dwie różne nazwy .
Typy danych:

  1. double – liczby podwójnej precyzji (double array); typ podstawowy (defaultowy) dla zmiennych i tablic; zakres wartości (–2.22507e–308; 1.79769e+308)

  2. char – znaki i łańcuchy znaków definiowane za pomocą apostrofów np. 'łańcuch'; jest to tablica znakowa (wektor wierszowy) o długości równej ilości znaków w łańcuchu, przy czym na każdy znak przeznaczone są 2 bajty); przechowuje w pamięci liczby całkowite reprezentujące kody ASCII poszczególnych znaków łańcucha

  3. sparse – dwuwymiarowa macierz rzadka (double array sparse); zapamiętywane są tylko elementy niezerowe danej macierzy np. A = [-10 0 0; 0 0 7.5], S = sparse(A); wtedy S = (1,1) –10

(2,3) 7.5

  1. cell – tablica złożona z komórek, które mogą zawierać tablice; tworzenie pustej tablicy komórkowej:

C = cell(ilość wierszy, ilość kolumn);

  1. struct – typ strukturalny; tablice strukturalne odwołują się do nazw pól, które mogą zawierać inne tablice




  1. userobject – typ definiowany przez użytkownika.


WSZYSTKIE OBLICZENIA W MATLAB-ie DLA ZMIENNYCH NUMERYCZNYCH I ŁAŃCUCHOWYCH SĄ PROWADZONE W TRYBIE PODWÓJNEJ PRECYZJI (double).
Możliwe konwersje typu double na typ:

  1. single – liczba rzeczywista pojedynczej precyzji; przyjmuje wartości z zakresu (‑3.40282e038; 3.4283e+038), przykładowe użycie: xs = single(x)

  2. int8 – liczba całkowita 8-bitowa ze znakiem; przyjmuje wartości z zakresu (-128; 127)

  3. int16 – liczba całkowita 16-bitowa ze znakiem; przyjmuje wartości z zakresu (-32768; 32767)

  4. int32 – liczba całkowita 32-bitowa ze znakiem; przyjmuje wartości z zakresu (‑2 147 483 648 to 2 147 483 647)

  5. int64 – liczba całkowita 64-bitowa ze znakiem; przyjmuje wartości z zakresu (‑9 223 372 036 854 775 808; 9 223 372 036 854 775 807)

  6. uint8 – liczba całkowita 8-bitowa bez znaku; przyjmuje wartości z zakresu (0; 255)

  7. uint16 – liczba całkowita 16-bitowa ze znakiem; przyjmuje wartości z zakresu (0; 65535)

  8. uint32 – liczba całkowita 32-bitowa bez znaku; przyjmuje wartości z zakresu (0; 4 294 967 295)

  9. uint64 – liczba całkowita 64-bitowa bez znaku; przyjmuje wartości z zakresu (0; 18 446 744 073 709 551 615)


Uwaga! Operacje matematyczne można wykonać w MATLABie tylko dla typu double; ale nie dla powyższych (po konwersji).

Operatory arytmetyczne:

Opis

Operator

macierzowy



Operator tablicowy

(notacja kropkowa)



Przykład

macierzowy



Przykład tablicowy


dodawanie

+

+

A+B

A+B

odejmowanie

-

-

A-B

A-B

mnożenie

*

.*

A*B

A.*B

cij = aij*bij

dzielenie (prawostronne)

/

./

A/B

= A* B-1

A../B

cij = aij/bij

potęgowanie

^

.^

A^p = A*A*...*A

A^(-p) = (A-1)^p



A..^2

= A..*A

transponowanie



.’

A’

A.’


Operatory relacyjne:


Opis

Operator

Przykład

Sprawdzenie, czy

większy

>

x>0

x jest dodatni

mniejszy

<

x<-5

x jest mniejszy niż -5

większy bądź równy

>=

x>=4

x jest większy bądź równy 4

mniejszy bądź równy

<=

a<=b

a jest mniejsze bądź równe b

równy

= =

c==d

c jest równe d

nierówny (różny)

~=

x~=0

x nie jest równe 0


Operatory logiczne:


Opis

Operator

Przykład

Sprawdzenie, czy

AND (koniunkcja)

&

(x

x

OR (alternatywa)

|

(x>5)|(x<0)

x>5 lub x<0

NOT (negacja)

~

~(x=0)

nie jest prawdą, że x =0



Znaki specjalne:

= znak przypisania (np. x = 23.5; a = 23; tekst = ‘jakiś dowolny tekst objęty parą apostrofów’)

% rozpoczyna komentarz w linii (obowiązuje do końca linii)

. kropka dziesiętna (separator części całkowitej i ułamkowej w liczbie rzeczywistej)

... kontynuacja polecenia w następnej linii

, separator poleceń, argumentów funkcji, indeksów tablicy, elementów tablicy

; kończy wiersz macierzy; blokuje wypisywanie wyniku na ekranie

: tworzenie ciągów wartości liczbowych z przedziału [a; b] z krokiem krok a:krok:b ; podawanie zakresu w wyrażeniach indeksowych np.:1:2:10 – ciąg liczbowy, pierwszy el. = 1, następne z krokiem 2, aż do10

' początek lub koniec łańcucha znaków; operator transpozycji; operator sprzężenia zespolonego

() nawiasy określające kolejność działań; używane również do podawania argumentów wejściowych funkcji i podawania indeksów tablic;

[] tworzenie tablic ( A = [elementy tablicy]), argumenty wyjściowe funkcji

( function [wy1, wy2, ..., wyn] = nazwa_funkcji (we1, we2, …, wek))

łączenie tablic w jedną większą (C = [A, B])

{} indeksy struktur (struct) i tablic komórkowych (cell)


Funkcje elementarne:

sin (x) sinus dla arg. x podanego w radianach

sind (x) sinus dla arg. x podanego w stopniach

sinh (x) sinus hiperboliczny dla arg. x podanego w radianach

asin(x) arcus sin, wynik w radianach

asind(x) arcus sin, wynik w stopniach
cos (x) cosinus dla arg. x podanego w radianach

cosd (x) cosinus dla arg. x podanego w stopniach



cosh (x) cosinus hiperboliczny dla arg. x podanego w radianach

acos(x) arcus cosin, wynik w radianach

acosd(x) arcus cosin, wynik w stopniach
tan (x) tangens dla arg. x podanego w radianach

tand (x) tangens dla arg. x podanego w stopniach



tanh (x) tangens hiperboliczny dla arg. x podanego w radianach

atan(x) arcus tan, wynik w radianach

atand(x) arcus tan, wynik w stopniach
cot (x) cotangens dla arg. x podanego w radianach

cotd (x) cotangens dla arg. x podanego w stopniach



coth (x) cotangens hiperboliczny dla arg. x podanego w radianach

acot(x) arcus cotangens, wynik w radianach

acotd(x) arcus cotangens, wynik w stopniach
exp(x) ex

abs(x) wartość bezwzględna z x

log(x) ln x

log10(x) log10 x

log2(x) log2 x

floor(x) zaokrągla w dół do liczby całkowitej (floor(0.88) = 0; floor(0.5) = 0)

round(x) zaokrągla do najbliższej liczby całkowitej (round(0.88) daje w wyniku 1; round(0.5) daje w wyniku 1; round(0.45) daje w wyniku 0)

sqrt(x) pierwiastek kwadratowy

sign(x) znak liczby x; 1 – jeśli x > 0, 0 – jeśli x = 0, -1 – jeśli x < 0
Zmienne specjalne:
pi – liczba niewymierna π

realmin – najmniejsza możliwa w danym systemie op. liczba rzeczywista, np. x = realmin

realmax – najmniejsza możliwa w danym systemie op. liczba rzeczywista, np. y = realmax

nargin – liczba argumentów wejściowych funkcji (skrót: number of arguments input)



nargout – liczba argumentów wyjściowych funkcji (skrót: number of arguments output)

Inf – reprezentacja arytmetyczna symbolu +, wynik matematycznie niezdefiniowanych operacji takich jak dzielenie przez zero: 1.0/0.0 albo przy overflow – przekroczeniu zakresu na reprezentację liczby np. exp(999)

NaN – reprezentacja arytmetyczna Not a Number, wynik matematycznie niezdefinio-wanych operacji takich jak: 0.0/0.0, Inf/Inf



Przykładowy wygląd aplikacji MATLAB:

W oknie poleceń Command Window (środek aplikacji MATLAB) po znaku zachęty

>>

wydawane są polecenia (komendy).


Klawisze umożliwiające sterowanie linią poleceń:


Ctrl+p lub – wybranie poprzedniego polecenia

Ctrl+n lub – wybranie następnego polecenia

BackSpace – kasowanie znaku na lewo od kursora

Del – kasowanie znaku na prawo od kursora

Esc, Ctrl+ukasowanie bieżącej linii

Ctrl+k – kasowanie tekstu do końca linii
Po prawej stronie widoczne są dwa okna:

  • górne pokazuje zawartość przestrzeni roboczej (Workspace)

  • dolne (Command History) pokazuje historię (listę) użytych poleceń.

Po lewej stronie widoczne są dwa okna:

  • górne pokazuje zawartość folderu (katalogu) aktualnie wybranego (Current Folder);

  • dolne pokazuje szczegóły zaznaczonego pliku z folderu roboczego

ans – zmienna robocza tworzona automatycznie w sytuacji gdy obliczane wyrażenie nie jest nigdzie przypisane, wtedy zostanie ono przypisane tej właśnie zmiennej.

Polecenia:
help – wyświetlenie listy głównych tematów pomocy Help

help nazwa – wyświetlenie informacji pomocniczej dotyczącej funkcji lub skryptu nazwa

dir – wyświetlenie zawartości aktualnego katalogu (folderu)

who – wyświetlenie listy zmiennych istniejących w przestrzeni roboczej MATLABa

clear – usunięcie (wyczyszczenie) wszystkich zmiennych z przestrzeni roboczej

clear nazwa – usunięcie (wyczyszczenie) zmiennej nazwa z przestrzeni roboczej


save – zapisanie zmiennych z przestrzeni roboczej w pliku w aktualnie wybranym folderze: save Nazwa_pliku – plik będzie binarny i jeśli nie ma rozszerzenia (.---) to otrzyma rozszerzenie .mat

save Nazwa_pliku ... -ASCII – plik będzie tekstowy (8-bitowe kody ASCII) niezależnie od rozszerzenia

save Nazwa_pliku ... -ASCII -Double – plik będzie tekstowy (16-bitowe kody ASCII) niezależnie od rozszerzenia

save Nazwa_pliku ... -MAT – plik będzie binarny niezależnie od rozszerzenia

save Nazwa_pliku x – zapisanie w pliku jedynie zmiennej x

save Nazwa_pliku x y z – zapisanie w pliku zmiennych x, y, z


load – załadowanie do przestrzeni roboczej zmiennych zapisanych w pliku

load Nazwa_pliku – jeśli plik nie ma rozszerzenia (.---) to jest traktowany jak binarny (z rozszerzeniem .mat); jeśli ma rozszerzenie inne niż .mat to jest traktowany jak tekstowy (ASCII)

load Nazwa_pliku x – załadowanie z pliku Nazwa_pliku jedynie zmiennej x (dla pliku binarnego)

load Nazwa_pliku x y z – załadowanie z pliku Nazwa_pliku zmiennych x, y, z (dla pliku binarnego)

load Nazwa_pliku x – załadowanie z pliku Nazwa_pliku danych do tablicy identycznej jak Nazwa_pliku bez uwzględniania rozszerzenia (dla pliku tekstowego)
Format – wyprowadzenie (wypisanie) wartości liczbowych w konkretnej postaci; formatem domyślnym jest format short, który wyprowadza (wypisuje) tylko 4 cyfry po kropce dziesiętnej (w reprezentacji stałoprzecinkowej).
Dostępne formaty:
format short – 4 cyfry po kropce dziesiętnej w reprezentacji stałoprzecinkowej

format long – 14-15 cyfr po kropce dziesiętnej w reprezentacji stałoprzecinkowej

dla typu double; 7 cyfr po kropce dziesiętnej dla typu single

format short e – 4 cyfry po kropce dziesiętnej w reprezentacji zmiennoprzecinkowej

format long e – 14-15 cyfr po kropce dziesiętnej w reprezentacji zmiennoprzecinko-

wej dla typu double; 7 cyfr po kropce dziesiętnej dla typu single

format rat – liczba w postaci ułamka

format – format domyślny (to samo co format short)





  1   2


©operacji.org 2017
wyślij wiadomość

    Strona główna