Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Tipuri de date si operatori

Matlab



+ Font mai mare | - Font mai mic



Tipuri de date si operatori

Tipuri de date

MATLAB-ul are sase tipuri fundamentale de date (sau clase), fiecare putand fi considerata ca tablou multidimensional. Cele sase clase sunt: double, char, sparse, storage, cell si struct. Versiunile bi-dimensionale ale acestor tablouri sunt numite matrici si de aici provine si numele de MATLAB.




In tabelul urmator sunt prezentate detaliat tipurile de date:

Clasa

Exemple

Descriere

Array

Tip de date virtual.

Cell

Tablou tip celula. Elementele celulei contin alte tablouri.

Char

'Hello'

Tablou de tip caracter (sau sir de caractere-string); fiecare caracter are 16 biti lungime.

Double

[1 2;3 4]

5+6I

Tablou numeric in dubla precizie (cel mai obisnuit tip de variabila MATLAB).

Numeric

Tip de date virtual.

sparse

Speye(5)

Matrice de tip "sparse" in dubla precizie (doar 2-D). Tablourile de tip "sparse" stocheaza matrici cu doar cateva elemente nenule intr-o fractiune din spatiul necesar unei matrici normale echivalente.

storage

Tip de date virtual.

struct

a.day = 12;

a.color = 'Red';

a.mat = magic(3);

Tablou tip structura, care contine nume de campuri, campuri care contin alte tablouri.

uint8

Uint8(magic(3))

Tablou de numere intregi fara semn pe 8 biti.

User 

Object

Inline('sin(x)')

Tip de date definit de utilizator.

Operatori

Operatorii MATLAB pot fi clasificati in trei categorii:

Operatori aritmetici

Operatori relationali care compara operanzii cantitativ

Operatori logici

Operatori aritmetici

+

Adunare

:

Operatorul doua puncte

-

Scadere

.^

Putere

.*

Inmultire

.'

Transpusa

./

Impartire la dreapta

'

Transpusa complex conjugata

.

Impartire la stanga

*

Inmultire de matrici

+

Plus unar

/

Impartire matriceala la dreapta

-

Minus unar

Impartire matriceala la stanga

^

Putere de matrice

Cu exceptia unor operatori matriceali, operatorii aritmetici lucreaza cu elementele corespondente ale unor tablouri de dimensiuni egale. Pentru vectori si tablouri dreptunghiulare ambii operanzi trebuie sa aiba aceeasi dimensiune, cu exceptia situatiei in care unul dintre ei este scalar. In acest caz MATLAB-ul aplica scalarul fiecarui element al celuilalt operand (proprietatea de expansiune scalara).

Operatori relationali

<

Mai mic

<=

Mai mic sau egal

>

Mai mare

>=

Mai mare sau egal

==

Egal cu

~=

Diferit de

Operatorii relationali compara elementele corespondente ale unor tablouri de dimensiune egala.

Operatorii relationali lucreaza totdeauna element cu element. Exemplu:

 A = [2 7 6;9 0 5;3 0.5 6];
 B = [8 7 0;3 2 5;4 -1 7];
 A == B
ans =
 0 1 0
 0 0 1
 0 0 0

Operatori logici

&

AND (SI)

|

OR (SAU)

~

NOT (NU)

O expresie care utilizeaza operatorul & este adevarata daca ambii operanzi sunt adevarati. In termeni numerici, expresia este adevarata daca ambii operanzi sunt nenuli. Exemplu:

 u = [1 0 2 3 0 5];
 v = [5 6 1 0 0 7];
 u & v
ans =
 1 0 1 0 0 1

O expresie care utilizeaza operatorul | este adevarata daca unul dintre operanzi este logic adevarat sau daca ambii operanzi sunt adevarati. In termeni numerici, expresia este falsa daca ambii operanzi sunt nuli. Exemplu:

 u | v
ans =
 1 1 1 1 0 1

O expresie care utilizeaza operatorul NOT, ~, neaga operandul. In termeni numerici, orice operand nenul devine nul si orice operand nul devine unu. Exemplu:

 ~u
ans =
 0 1 0 0 1 0

Operatorii logici lucreaza cu elementele corespondente ale unor tablouri de dimensiuni egale. Pentru vectori si tablouri dreptunghiulare ambii operanzi trebuie sa aiba aceeasi dimensiune, cu exceptia situatiei in care unul dintre ei este scalar. In acest caz, ca si la operatorii aritmetici, MATLAB-ul aplica scalarul fiecarui element al celuilalt operand.

Functii logice

In plus fata de operatorii logici MATLAB-ul furnizeaza si functii logice:

Functie

Descriere

Exemple

xor

Realizeaza sau exclusiv. Returneaza logic adevarat daca unul din operanzi este adevarat si celalalt fals. In termeni numerici, returneaza 1 daca un operand este nenul si celalalt este zero.

 a = 1;
 b = 1;
 xor(a,b)
ans =
 0

all

Returneaza 1 daca toate elementele unui vector sunt adevarate sau nenule. Opereaza si cu matrici (pe coloane).

 u = [0 1 2 0];
 all(u)
ans =
 0
 A = [0 1 2;3 5 0];
 all(A)
ans =
 0 1 0

any

Returneaza 1 daca oricare din elementele argumentului sunt adevarate sau nenule; in caz contrar returneaza 0.

 v = [5 0 8];
 any(v)
ans =
 1

Alte functii: isnan, isinf, find (a se folosi help pentru detalii).

Prioritatea operatorilor

Deoarece se pot construi expresii cu diverse tipuri de operatori, nivelurile de prioritate determina ordinea in care sunt evaluate expresiile. In cadrul fiecarui nivel, operatorii au prioritate egala si sunt evaluati de la stanga la dreapta.

Regulile de prioritate sunt prezentate in continuare, de la nivelul de prioritate cel mai mare spre cel mai mic.

Operator

Nivel de prioritate

()

Prioritate maxima

~ (negare)

.'    .^    '    ^    + (plus unar)   - (minus unar)

.*    ./    .    *    /    

+ (adunare)    - (scadere)

:    <    <=    >    >=    ==    ~=

&    |

Prioritate minima



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 3343
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved