An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

13
7/28/2019 An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1 http://slidepdf.com/reader/full/an2-derivatro-teoria-transmisiunii-informatiei-lab1 1/13  CUPRINS 1 Introducere in Matlab ...........................................................................................................................  1 1.1  Getting  started  ..............................................................................................................................  1  1.1.1 Spatiul de lucru Workspace ...............................................................................................  3 1.1.2 Structura programelor MATLAB............................................................................................  5 1.1.3 Operatorul “:” .......................................................................................................................  6 1.1.4 Operatori aritmetici ..............................................................................................................  6 1.1.5 Introducerea explicita a matricilor ........................................................................................  7 1.1.6 Generarea matricilor .............................................................................................................  9 1.1.7  Concatenarea  ........................................................................................................................  9  1.1.8 Stergerea liniilor si coloanelor ..............................................................................................  9 1.2 Instructiuni de baza .....................................................................................................................  10 1.2.1 Instructiunea conditionala if  ...............................................................................................  10 1.2.2 Instructiunea repetitiva for .................................................................................................  11 1.2.3 Instructiunea repetitiva while .............................................................................................  12 1.2.4 Vectorizarea calculului ........................................................................................................  12 1 Introducere in Matlab 1.1 Getting started Matlab este un pachet de programe de inalta performanta dedicate calculului numeric si reprezentarilor  grafice in stiinta si inginerie.  Integreaza analiza numerica, calcul matriceal, procesarea semnalului  si reprezentari grafice intrun mediu prietenos unde probleme si solutiile acestora sunt exprimate cu ajutorul unor notatii matematice familiare.  Matlab este un sistem interactiv al carui element  de date basic este matricea. Acest lucru permite formularea unor solutii la probleme tehnice de calcul in special la acele care se pot reprezenta prin calcul matriceal intrun timp  scurt. Numele provine de la Matrix Laboratory. Avantajul principal al Matlabului  este usurinta cu care poate fi extins. Orice utilizator isi poate adauga propriile programe scrise in Matlab la fisierele originale,  dezvoltand aplicatii  specific domeniului  sau. 

Transcript of An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

Page 1: An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

7/28/2019 An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

http://slidepdf.com/reader/full/an2-derivatro-teoria-transmisiunii-informatiei-lab1 1/13

 

CUPRINS 

1  Introducere in Matlab ...........................................................................................................................  1 

1.1 

Getting started

 ..............................................................................................................................

 1 

1.1.1  Spatiul de lucru ‐ Workspace ...............................................................................................  3 

1.1.2  Structura programelor MATLAB............................................................................................  5 

1.1.3  Operatorul “:” .......................................................................................................................  6 

1.1.4  Operatori aritmetici ..............................................................................................................  6 

1.1.5  Introducerea explicita a matricilor ........................................................................................  7 

1.1.6  Generarea matricilor .............................................................................................................  9 

1.1.7 

Concatenarea 

........................................................................................................................ 

1.1.8  Stergerea liniilor si coloanelor ..............................................................................................  9 

1.2  Instructiuni de baza .....................................................................................................................  10 

1.2.1  Instructiunea conditionala if  ...............................................................................................  10 

1.2.2  Instructiunea repetitiva for .................................................................................................  11 

1.2.3  Instructiunea repetitiva while .............................................................................................  12 

1.2.4  Vectorizarea calculului ........................................................................................................  12 

1  Introducere in Matlab 

1.1  Getting started 

Matlab  este  un  pachet  de  programe  de  inalta  performanta  dedicate  calculului  numeric  si 

reprezentarilor grafice  in stiinta si  inginerie.  Integreaza  analiza numerica, calcul matriceal, procesarea 

semnalului  si  reprezentari  grafice  intr‐un mediu  prietenos  unde  probleme  si  solutiile  acestora  sunt 

exprimate cu ajutorul unor notatii matematice familiare. 

Matlab  este  un  sistem  interactiv  al  carui  element  de  date  basic  este matricea.  Acest  lucru  permite 

formularea unor  solutii  la probleme  tehnice  de  calcul  in  special  la acele  care  se pot  reprezenta prin 

calcul matriceal intr‐un timp f  scurt. Numele provine de la Matrix Laboratory. 

Avantajul principal al Matlabului este usurinta cu care poate  fi extins. Orice utilizator  isi poate adauga 

propriile programe  scrise  in Matlab  la  fisierele originale, dezvoltand  aplicatii  specific domeniului  sau. 

Page 2: An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

7/28/2019 An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

http://slidepdf.com/reader/full/an2-derivatro-teoria-transmisiunii-informatiei-lab1 2/13

Matlabul  include  asa  numitele  TOOLBOX  uri,  colectii  extinse  de  functii  (fisiere  .m)  specific  unor 

domenii  variate:  statistica,  procesarea  semnalului,  procesarea  imaginii,  retele  neural,  etc.  Structural 

Matlabul  este  realizat  sub  forma  unui  nucleu  de  baza,  cu  interpretor  propriu,  in   jurul  caruia  sunt 

construite toolboxurile. 

Desktopul Matalb

 este

 fereastra

 principala

 a aplicatiei.

 Asa

 cum

 este

 prezentat

 in

 Fig.

 1,

 Desktopul

 

contine 5 subferestre: 

•  Command Window (Fereastra de lucru in care ruleaza functiile.) •  Workspace Browser (Spatiul de lucru unde sunt salvate variabilele cu valorile lor) •  Current Directory Window (Directorul curent) •  Command History Window (Istoricul de comenzi) 

plus, una sau mai multe Figure Window care sunt afisate doar cand utilizatorul comanda afisarea lor. 

Fig. 1 Desktopul Matlab si principalele componente

In cele ce urmeaza va fi prezentata o scurta introducere a comenzilor esentiale ale Matlab‐ului. 

Comenzile sunt afisate cu urmatoarul font:  Cour i er New

Linia de prompt pentru inputul utizatorului este indicata  de sageata dubla: 

>>

Page 3: An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

7/28/2019 An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

http://slidepdf.com/reader/full/an2-derivatro-teoria-transmisiunii-informatiei-lab1 3/13

Tastati  hel p pi  in linia de prompt si veti obtine: 

>> hel p pi

PI 3. 1415926535897. . . .

PI = 4*at an( 1) = i mag( l og( - 1) ) = 3. 1415926535897. . . .

Un alt exemplu: 

>> hel p exp

EXP Exponent i al .

EXP( X) i s t he exponent i al of t he el ement s of X, e to the X.

For compl ex Z=X+i *Y, EXP( Z) = EXP( X) *( COS( Y)+i *SI N( Y) ) .

In 

cazul 

in 

care 

nu 

este 

cunoscuta 

comanda 

care 

executa 

anumita 

operatie 

tastati 

hel p: 

>>hel p

Iar Matlab va returna o lisa de comenzi disponibile. Daca nu stiti exact comanda pentru functia pe care o 

cautati  o  alta  comanda  utila  este  l ookf or   ce  functioneaza  ca  un  index.  Exemplu:  daca  nu  stiati 

comanda pentru functia exp ati fi putut tasta: 

>> l ookf or exponent i al

EXP Exponent i al .

EXPI NT Exponent i al i nt egr al f unct i on.

EXPM Mat r i x exponent i al .

1.1.1  Spatiul de lucru - Workspace 

Introduceti in spatiul de lucru urmatoarele varibile: 

x=[ 2 4 6 8 10 12]

y=x'

Variabilele aflate in mod curent in spatial de lucru se pot vizualiza tastand : 

>> who

 Your var i abl es ar e:

x y

Page 4: An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

7/28/2019 An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

http://slidepdf.com/reader/full/an2-derivatro-teoria-transmisiunii-informatiei-lab1 4/13

Mai multe detalii despre dimensiunea matricilor se pot obtine tiparind 

>> whosName Si ze Byt es Cl ass

x 1x6 48 doubl e ar r ay

y 6x1 48 doubl e ar r ay

Se poate afla dimensiunea  vectorului/matricii tastand: 

>>[ m, n] =si ze( x)

m=1

n=6

M este numarul de linii iar n numarul de coloane.  Daca nu utilizam argumente pentru numarul liniilor si 

al coloanelor

 este

 suficent

 sa

 tastam:

 

>>si ze( x)

1 6

Deoarece in cazul de fata x este vector se poate utilize in acelasi mod comanda length: 

>>l ength( x)

6

De retinut!

 

Matlab 

este 

case 

sensitive 

in 

cazul 

variabilelor: 

matrice 

poate 

coexista 

cu 

alta 

matrice 

x.  Nu acelasi lucru se intampla in cazul functiilor “built‐in” . Apeland functia LENGTH obtinem acelasi 

rezultat ce cel de mai sus. 

De multe ori este de dorit, pentru a evita confuziile si incarcarea memoriei stergerea tuturor variabilelor 

din spatial de lucru: 

>>cl ear

In cazul mult mai frecvent in care  eliminarea unei singure variabile este necesara: 

>>cl ear x

Inainte de inchide sesiunea de lucru variabilele se pot salva  pentru a nu fi nevoiti sa le reintroducem sau 

recalculam  in urmatoara sesiune. Pentru a salva toate variabilele: 

>>save f i l e_name

Sau doar anumite variabile 

Page 5: An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

7/28/2019 An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

http://slidepdf.com/reader/full/an2-derivatro-teoria-transmisiunii-informatiei-lab1 5/13

>> save f i l e_name x z

Pentru a reincarca variabilele salvate: 

>> l oad f i l e_name

1.1.2  Structura programelor

 MATLAB

 

Matlabul lucreaza fie in modul linie de comanda, situatie in care fiecare linie este prelucrata imediat si 

rezultatele sunt afisate, fie cu programe continute in fisiere. 

Fisierele ce contin instructiuni se numes Mfiles( deoarece au extensia .m) si sunt programe Matlab. Un 

fisier M consta dintr‐o succesiune de instructiuni, cu posibiliatatea apelarii altor fisiere M precum  si a 

apelarii recursive. 

Un program Matlab poate fi scris sub forma fisierelor “script” sau a fisierele “function”.  Un fisier “script” 

este un

 fisier

 extern

 care

 contine

 o secventa

 de

 comenzi.

 Prin

 apelarea

 numelui

 fisierului

 se

 executa

 

secventa de comenzi continuta de acesta. Dupa executia complete a unui fisier script variabilele cu care 

aceasta a operat ramans salvate  in zona de memorie a aplicatiei. Aceste fisiere nu permit  integrarea  in 

programe mai mari  realizate pe principiul modularizarii  iar scopul  lor este  folosirea pentru  rezolvarea 

unor problem care cer comenzi successive atat de lungi incat ar putea deveni greoaie pentru modul de 

lucru in linie de comanda. 

Daca prima linie a fisierului contine cuvantul “function” fisierul respectiv e declarat tip functie. Diferenta 

fata de un  fisier de  tip  script  este  ca poate  lucre  cu  argumente. Variabilele definite  si manipulate  in 

interiorul  fisierului  functie sunt  localizate  la nivelul acesteia. Prin urmare,  la terminarea executiei unei 

functii in

 memoria

 calculatorului

 nu

 raman

 decat

 variabilele

 de

 iesire

 ale

 acesteia.

 Forma

 generala

 a 

primei linii a unui fisier de tip functie este: 

function [param_iesire]=nume_functie(param_intrare)

Exemplu: f unct i on[ m] =medi e(x) ;l =l engt h( x) ;m=sum( x) / l ;y=[ ' Medi a numerel or est e: ' , num2st r ( m) ] ;di sp( y)

Page 6: An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

7/28/2019 An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

http://slidepdf.com/reader/full/an2-derivatro-teoria-transmisiunii-informatiei-lab1 6/13

1.1.3  Operatorul “:” 

Este  unul  dintre  cei mai  importanti  operatori  din Matlab.  Poate  aparea  in  diverse  forme  .  Expresia 

“1: 10”   este un vector linie care contine  elemente intregi de la 1 la 10. 

1 2 3 4 5 6 7 8 9 10

Se poate specifica o incrementare, expresia “100: - 7: 50” este : 

100 93 86 79 72 65 58 51

iar  “0: pi / 4: pi ”  este  0 0. 7854 1. 5708 2. 3562 3. 1416 

Expresiile de tip indice ce implica operatorul “:” se refera la parti ale unei matrici: 

A(1:k,j)  reprezinta  primele  k  elemente  ale  coloanei  j  din matricea  A.  Astfel  sum(A(1:4,4))  calculeaza suma

 primelor

 4 elemente

 din

 coloana

 4.

 Exista

 insa

 si

 o cale

 mai

 usoara.

 Operatorul

 insusi

 se

 refera

 la

 

toate elementele dintr‐o  linie sau o coloana ale unei matrici  iar cuvantul “end” se refera  la ultima  linie 

sau coloana. Astfel sum (A(:,end))  calculeaza suma elementelor din ultima coloana din A. 

1.1.4  Operatori aritmetici 

Expresiile folosesc operatori aritmetici cunoscuti  si regula prioritatii: 

+  Adunarea 

‐Scadere 

Multiplicare 

/  Impartire la dreapta 

\  Impartire la stanga 

^  Ridicarea la putere 

[]  Concatenarea matricilor 

‘  Transpusa 

(r,c) Indexarea matricilor 

Exista  doua  simboluri  pentru  impartire  utilizate  in mod  special  pentru  operatiile  cu matrici.  Pentru 

expresiile scalare 1/4 sau 4\1 se obtine acelasi rezultat. Intr‐o expresie parantele sunt folosite pentru a 

preciza ordinea

 executarii

 operatiilor.

 

Page 7: An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

7/28/2019 An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

http://slidepdf.com/reader/full/an2-derivatro-teoria-transmisiunii-informatiei-lab1 7/13

  Exercitii: 

Scrieti cel mai scurt cod Matlab pentru fiecare problema evitand detalii  ce nu sunt necesare  si 

afisati rezultatul obtinut: 

1.  Fie x=20, y=25. Calculati cos(x), sqrt(y), tan(x+y) si suma tuturor rezultatelor de mai sus. Asa cum a fost mentionat anterior Matlabul este un pachet de programe ce lucreaza numai cu un singur 

tip de obiecte  – matrici numerice  rectangular,  ce  contin elemente  reale  sau  complexe.  In  acest  sens 

scalarii sunt asimiliati matricilor de tip (1x1)  iar vectorii sunt asimilati matricilor cu o  linie (1 x n) sau o 

coloana (n x 1). Definirea matricilor se face prin una din urmatoarele metode: 

‐  Introducere explicita a listei de elemente; 

‐  Generarea prin instructiuni si functii; 

‐  Creerea de fisiere .m; 

‐  Incarcarea din fisiere de date externe. 

1.1.5  Introducerea explicita a matricilor 

Metoda  cea  mai  simpla  de  definire  a  matricilor  mici  consta  in  utilizarea  unei  liste  explicite.  La 

introducerea unei asemenea liste trebuie respectate cateva reguli de baza: 

‐  Elementele unei linii trebuie separate prin spatii sau virgule; 

‐  Liniile se separa prin semnul  punct si virgule “;”; 

‐  Elementele matricii sunt cuprinse intre paranteze drepte []. 

Astfel pentru

 a introduce

 matricea

 A

 se

 tasteaza

 simplu

 in

 Command

 Windows:

 

>> A=[ 16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]A =

16 3 2 135 10 11 89 6 7 124 15 14 1

Odata ce a fost introdusa este memorata automat in spatial de lucru, referirea la ea facandu‐se 

cat se poate de simplu: A. Se poate utilize mai departe in calcul  sau salva pentru o folosire ulterioara. 

Introducand: 

>> x=[ 1 3 5 7 9 11] sau>> x=[ 1, 3, 5, 7, 9, 11]Obtinem un vector linie: 

x= 1 3 5 7 9 11

Page 8: An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

7/28/2019 An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

http://slidepdf.com/reader/full/an2-derivatro-teoria-transmisiunii-informatiei-lab1 8/13

Exista un mod rapid de a introduce matrici sau vectori de tip liniar. De exemplu urmatoarea comanda 

creeaza vectorul  de mai sus: 

>> x=1: 2: 11

Transpunerea unui vector linie coduce la un vector coloana (comanda pentru transpunere este  ’). 

>> y=x’y =

13579

11Sa presupunem ca se doreste creeare unui vecto z care contine elemente de la 5 la 30 din 5 in 5. 

>>z=5: 5: 30

Z=5 10 15 20 25 30Daca nu dorim sa afisam rezultatul linia de comanda se va termina cu “;”. 

>>z=5: 5: 30;

Pentru a identifica valoarea celui de-al treilea elemente din z tastam:

>>z( 3)ans=15Pentru  a  accesa  blocuri  de  elemente,  ca  de  exemplul  primele  trei  elemente  din  vectorul  y  folosim 

operatorul : 

>>y( 2: 4)ans =

357

Pentru a selecta un singur element al matricii folosim: 

>>A(2, 3)ans =

11Operatorul ":"  este folosit in indexarea matricilor pentru a selecta un bloc bidimensional de elemente 

din matrice. 

>>C2=A( : , 2) % col oana 2A =

258

sau

>> R3=A( 3, : ) % r andul 3

Page 9: An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

7/28/2019 An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

http://slidepdf.com/reader/full/an2-derivatro-teoria-transmisiunii-informatiei-lab1 9/13

R3 =7 8 9

1.1.6  Generarea matricilor 

Matlab ofera

 functii

 ce

 genereaza

 matricile

 basic

 date

 mai

  jos:

 

•  matricea zero (o matrice cu toate elementele zero) ce poate fi generata cu functia zer os  

apelabila cu una din sintaxele O=zer os( n) ; O=zer os( m, n) ; O=zer os( si ze( A) ) ; 

•  matricea identitate ( o matrice cu toate elementele de pe diagonala principala egale cu 1, iar 

toate celelalte egale cu zero) ce se poate genera cu functia eye, apelabila cu sintaxele descrise 

mai sus; 

•  matricea unitate (toate elementele egale cu 1) ce poate fi generata cu functia ones 

•  matricea aleatoare (are elemente uniform distribuite), generata cu functia r and. 

1.1.7  Concatenarea 

Concatenarea  este  procesul  alipirii  matricilor  mici  pentru  a  creea  matrici  mai  mari.  Perechea  de 

paranteze patrate [] este operatorul de concatenare. 

Exercitii: 

Plecand de exemplu de la matricea 

A=1 6 3 2 1 35 1 0 1 1 89 6 7 124 1 5 1 4 1  formati matricea B=[A A+2;A+40 A+16];Rezultatul va fi o matrice 8 x 8 obtinuta 

prin reuniunea celor 4 matrici. 

1.1.8  Stergerea liniilor si coloanelor 

Se pot sterge linii si coloane dintr‐o matrice folosind simplu o pereche de paranteze patrate. 

Considerand 

X=A; 

pentru 

sterge 

doua 

coloana 

din 

folosim 

X( : , 2) =[ ] ; Incercarea 

de 

sterge 

un singur element cu expresia X( 1, 2) =[ ] ;  va rezulta intr‐o eroare insa folosind un singur subscript 

se poate sterge un element sau o secventa de elemente  si remodela elementele ramase intr‐un vector. 

Astfel 

>> X( 2: 2: 10) =[ ] rezulta in: 

X=16 9 2 7 13 12 1

Page 10: An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

7/28/2019 An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

http://slidepdf.com/reader/full/an2-derivatro-teoria-transmisiunii-informatiei-lab1 10/13

 Exemplu: 

Fie matricea A=

1 3 95 7 2.  Sa se genereze o matrice unitate de aceeasi dimensiune cu matricea A. 

>> A=[ 1 3 9; 5 7 2] ;U=ones( si ze( A) ) ;U=1 1 11 1 1Calculati suma elementelor de pe prima linie a matricei A+U. 

Matricile  si  scalarii  se pot  combina  in  cateva moduri diferite. De  exemplu un  scalar  se poate  scadea 

dintr‐o matrice,  facandu‐se diferenta  intre  fiecare  element  al matricii  si  scalar. De  asemenea Matlab 

poate atribui o valoare anume tuturor sau anumitor indici dintr‐o matrice. 

>> A( 1, 2: 3) =0

Adunarea si scaderea matricilor se defineste la fel ca pentru vectori, element cu element, necesitand ca 

ambele matrici sa aiba aceeasi dimensiune sau una dintre ele sa fie scalar. 

Un vector linie si un vector coloana se pot multiplica in orice ordine. Rezultatul este fie un scalar , fie o 

matrice. 

>>u=[ 3; 1; 4] ;>>v=[ 2 0 - 1]>> x=v*u

x=2>>X=u*v>> X= 6 0 - 3

2 0 - 18 0 - 4

1.2  Instructiuni de baza 

1.2.1  Instructiunea conditionala if  

Poate fi

 implementata

 ca

 instructiune

 simpla

 sau

 poate

 include

 clauzele

 el se

 si

 el sei f . Forma

 

generala a unei instructiuni if  simple este 

i f  expresie logica grup de instructiuni 

endDaca expresia logica este adevarata se executa grupul de instructiuni, daca expresie logica este false se 

trece la prima linie dupa end. 

Page 11: An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

7/28/2019 An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

http://slidepdf.com/reader/full/an2-derivatro-teoria-transmisiunii-informatiei-lab1 11/13

Clauza else este utilizata pentru a executa un set de instructiuni daca expresia logica este adevarat si alt 

set daca este falsa. 

i f  expresie logica grup de instructiuni 1 

el segrup de instructiuni 2 

endPentru a evidentia grupul de instructiuni care se executa se pocedeaza la identarea acestora. 

Exemplu: 

Pentru urmatoarea functie 

  2 8, 23 , 2descrierea Matlab este 

i f x<=2f =2*x+8

el sef =3*x 2̂

end

Daca functia de calculat are mai multe nivele de instructiuni if  else iar determinarea expresiei logice 

adevarate devine

 dificila

 se

 utilizeaza

 clauze

 el sei f  .

 

1.2.2  Instructiunea repetitiva for 

Instructiuna for permite repetarea unui grup de instructiuni din corpul buclei, de un anumit numar de 

ori si are urmatoarea structura generala: 

f or  index=expresie 

grup de instructiuni 

endunde  index  este  numele  contorului,  expresie  este  o  matrice  un  vector  sau  un  scalar  iar  grup  de 

instructiuni este orice expresie Matlab. In aplicatie expresie este de cele mai multe ori de forma: 

k=i ni t i al : pas: f i nal , initial fiind prima valoare a lui k, pasul daca este omis fiind considerat 1 iar 

final cea mai mare valoare pe care o poate lua k. 

Page 12: An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

7/28/2019 An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

http://slidepdf.com/reader/full/an2-derivatro-teoria-transmisiunii-informatiei-lab1 12/13

 Exemplu: 

Sa se calculeze functia 

  2 3, 10,22 1, 2,20 

pentru toate valorile intregi pe domeniul de definitie si sa se reprezinte grafic. 

Secventa Matlab corespunzatoare este: 

x=- 10: 20f or k=1: l enght ( x)

i f x( k) <=2f ( k) =2*x( k) +1

el sef ( k) =2*x( k) 2̂- 1

endendpl ot ( x, f )

1.2.3  Instructiunea repetitiva while 

Este o  structura  care  se utilizeaza pentru  repetarea unui  set de  instructiuni atata  timp  cat o conditie 

specificata este adevarata. Formatul acesteia este: 

whi l e expresie 

grup 

de 

instructiuni 

end

1.2.4  Vectorizarea calculului 

Deoarece operatiile cu vectori si matrice sunt executate in Matlab mai repede decat operatiile 

compilate/interpretate se obtine o viteza de lucru mai buna daca se folosesc algoritmi vectorizati. 

Oriunde este posibil ciclurile for si while trebuie convertite in operatii cu vectori sau matrice. 

Exemplu: 

Programul care calculeaza sinusul in 1000 de puncte, de la 1 la 10 cu pasul 0.1 utilizand bucla for are 

urmatoarea structura: 

t =0: 0. 1: 10;N=l engt h( t ) ;

Page 13: An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

7/28/2019 An2 Derivat.ro Teoria-transmisiunii-Informatiei Lab1

http://slidepdf.com/reader/full/an2-derivatro-teoria-transmisiunii-informatiei-lab1 13/13

f or i =1: Ny( i ) =si n( t ( i ) ) ;

endpl ot ( t , Y)iar versiunea sa vectorizata este: t =0: 0. 1: 10

 Y=si n( t )pl ot ( t , Y)In cazul in care nu se poate vectoriza o parte din program se procedeaza la prealocarea unor vectori in 

care vor fi retinute rezultatele. 

1.2.5  Exercitii 

Exercitii: 

1) Calculati rangul, determinatul si matricea inversa pentru fiecare din urmatoarele matrici: 

  1 2 1 1 2 12 4 2 ;  1 2 1 1 4 12 4 2 ;  1 2 1 1 4 12 4 5 

2) Calculati   si     pentru X=[1 2 3 4].Comentati rezultatul.