E-learn.ro
Panou utilizatori
Utilizator Parola
Creeaza cont nou    Recupereaza parola
Login
Newsletter
Introdu adresa ta de email
Inscrie-te
Inchide panoul de utilizatori
Add to Google

Tutoriale Matlab

Descarca toolbar

Toolbar E-learn.ro Facebook Twitter

APLICATII DEDICATE  /  Matlab  /  Diverse (9)

Mai multe despre matrice si tabele

23.08.2008
Mai multe despre matrice si tabele

Total vizualizari: 14008 14008 afisari   |   Comentarii  1   |   Rating   |   (4 voturi)   |   Timp necesar: 15 min 15 min   |   Nivel de cunostiinte necesar: Mediu  Mediu

Sursa:  Mathworks.com  
Autor:  Mathworks.com
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
« 12 3
comenteaza printeaza

Expansiunea scalara

Matricele si scalarii se pot combina in diverse moduri. De exemplu, un scalar este scazut dintr-o matrice prin scaderea sa din fiecare element. Valoarea medie a elementelor din patratul nostru magic este 8.5, formand astfel

B = A - 8.5

O matrice ale carei sume pe coloane sunt egale cu 0:

B =
7.5 -5.5 -6.5 4.5
-3.5 1.5 2.5 -0.5
0.5 -2.5 -1.5 3.5
-4.5 6.5 5.5 -7.5
sum(B)
ans =
0 0 0 0

In cazul expansiunii scalare, MATLAB asigneaza un scalar specificat tuturor indicilor dintr-un interval. De exemplu,

B(1:2,2:3) = 0

Inlocuieste cu 0 o parte din B:

B =
7.5 0 0 4.5
-3.5 0 0 -0.5
0.5 -2.5 -1.5 3.5
-4.5 6.5 5.5 -7.5

Indexarea logica

Vectorii logici, creati prin operatii logice si relationale pot fi folositi pentru a adresa sub-tabele. Sa presupunem ca X este o matrice obisnuita, iar L este o matrice cu aceeasi dimensiune, care reprezinta rezultatul unei operatii logice. Apoi, X(L) va specifica acele elemente ale lui X unde elementele lui L sunt diferite de zero.

Acest tip de indexare poate fi facuta intr-un singur pas, specificand operatia logica ca expresie de indexare. Sa presupunem ca ai urmatorul set de date:

x = [2.1 1.7 1.6 1.5 NaN 1.9 1.8 1.5 5.1 1.8 1.4 2.2 1.6 1.8];

NaN este un marcator pentru o observatie lipsa, cum ar fi esecul de a raspunde unui punct al chestionarului. Pentru a indeparta datele lipsa cu indecsii logici, foloseste isfinite(x), care returneaza adevarat pentru toate valorile numerice si fals in cazul NaN si Inf:

x = x(isfinite(x))
x =
2.1 1.7 1.6 1.5 1.9 1.8 1.5 5.1 1.8 1.4 2.2 1.6 1.8

Acum este o observatie, 5.1, care pare a fi foarte diferita de celelalte. Este un outlier (o selectie cu valori exceptionale). Urmatoarea instructiune inlatura selectiile cu valori exceptionale, in cazul de fata, acele elemente care difera de medie cu mai mult de trei abateri standard:

x = x(abs(x-mean(x)) <= 3*std(x))
x =
2.1 1.7 1.6 1.5 1.9 1.8 1.5 1.8 1.4 2.2 1.6 1.8

Pentru a lua un alt exemplu, evidentierea numerelor prime din patratul magic al lui Dürer folosind indexarea logica si expansiunea scalara in scopul de a seta numerele neprime pe 0. (Vezi "Functia magica" la pagina 2-9.)

A(~isprime(A)) = 0
A =
0 3 2 13
5 0 11 0
0 0 7 0
0 0 0 0

Functia find

Functia find determina indicii acelor elemente ale tabelului care intrunesc o anumita conditie logica. In forma sa cea mai simpla, find returneaza un vector coloana de indici.

Transpune respectivul vector pentru a obtine un vector-rand de indici. De exemplu, incepe din nou cu patratul magic al lui Dürer's. (Vezi "Functia magica" la pagina 2-9.)

k = find(isprime(A))'

depisteaza locatiile, folosind o indexare uni-dimensionala, a numerelor prime din patratul magic:

k =
2 5 9 10 11 13

Afiseaza acele numere prime care, sub forma de vector rand in ordinea determinata de catre k, cu

A(k)
ans =
5 3 2 11 7 13

Cand folosesti un index in partea stanga, intr-o instructiune de atribuire, structura matricii va fi pastrata:

A(k) = NaN
A =
16 NaN NaN NaN
NaN 10 NaN 8
9 6 NaN 12
4 15 14 1
Pagina:
« 12 3
comenteaza printeaza
Alte tutoriale Matlab:
Noteaza acest tutorial
Rating tutorial
 
(4 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
COMENTARII (1) spune-ti parerea
adrian_tom , Miercuri, 17 Noiembrie 2010, ora 16:24
#1

as vrea sa ma ajute si pe mine cineva cu un link de unde pot downloada matlab fara plata,,, cu serial number . pe google nu am gasit nimic ajutator,,,nici pe isohunt sau celalalt site...
sau daca nu link,,,ajutati-ma in alt mod , am nev de matlab urgent!
:(

Raporteaza acest comentariu ca injurios!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
Tutoriale scrise de claibornelara
claibornelara Rang utilizator claibornelara - Incepator
4160
Tutoriale scrise de kheops
kheops Rang utilizator kheops - Mediu
4084
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
4070
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
4045
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
3865
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
Java Bridge Fotografie Fireworks XHTML StyleSheet PHP MySQL RoR Outlook Gimp COREL DRAW Swift 3D XML Powerpoint Dreamweaver Verilog Action Script Javascript PSD Python Ruby on Rails Word Illustrator Sony Vegas HTML SEO JSON Flash Photoshop SWF CSS Excel Vista Lightroom AJAX
Promovare:
Daca faci parte din comunitatea E-learn.ro si doresti promovarea acesteia, poti accesa pagina de promovare.
Arhiva newsletter:
Daca ai ratat un numar mai vechi, sau vrei sa revezi care au fost noutatile E-learn.ro la un moment dat, poti accesa arhiva de newslettere.
  Copyright © 2008-2013 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software