Sunteți pe pagina 1din 10

Introducere in MATLAB (pentru MN):

Exista doua variante in care se poate lucra: cu MATLAB instalat pe laptop (sectiunea A
din aceasta prezentare) sau cu MATLAB Online (sectiunea B). Fiecare student poate sa
citeasca despre ambele variante si sa utilizeze varianta pe care o doreste.

A. Daca se foloseste MATLAB instalat in laptop:


Dati dublu click pe iconita MATLAB: In functie de versiunea existenta si de setarile
facute se deschid mai multe ferestre, dintre care cea care ne intereseaza este Matlab
Command Window, care contine si un prompter MATLAB >> (simbolul dublu “mai
mare”). Celelalte ferestre pot fi inchise, exceptand fereastra Current Folder, acolo unde
apare ca o fereastra separata.

Aici, in Command Window, se dau toate comenzile si aici se obtin toate raspunsurile.
Aici sunt afisate si rezultatele.

Presupunem ca avem de rulat un program numit test care se afla in folderul MN_lab
situat pe discul D.

Trebuie sa setam Current Folder-ul MATLAB-ului ca fiint acest folder, MN_Lab,


folosind optiunea Browse (buton cu 3 puncte care apare imediat in dreapta sau folder
cu sageata verde in stanga ferestrei, depinzand de versiunea MATLAB, Fig.1. sau
Fig.2.): vom selecta cu mouse-ul acest folder care va trebui sa apara afisat in Current
Folder. Continutul Current Folder va fi afisat daca este bifat in Desktop sau in selectorul
(butonul) Layout, depinde de varianta.

Fig.1. MATLAB, versiunea R2009b


Fig.2. MATLAB, versiunea R2016a

B. Pentru a avea acces la MATLAB Online, dati Search pe Google pentru MATLAB
Online. Va creati cont cu user-ul si parola de la tuiasi (email de forma
...@student.tuiasi.ro) si alegeti MATLAB si SIMULINK drept varianta pe care doriti sa o
accesati. Puteti opta pentru varianta de lucru din browser sau puteti instala pe laptop
varianta aleasa. Daca lucrati direct din browser vi se deschide o fereastra din care am
reprezentat o portiune in Fig.3.

Spre deosebire de situatia prezentata la sectiunea A, aici Current Folder-ul este


MATLAB Drive iar un anumit program va putea fi rulat numai daca se va afla aici, in
acest Current Folder.

Fig.3. MATLAB, versiunea Online


Pentru inceput sa parcurgem cateva exemple elementare de calcul, utilizand MATLAB:

 Calcule matematice. In fereastra Command Window apare prompter-ul


MATLAB “ >> “, ca o sageata dubla. Aici puteti da de lucru MATLAB-ului:

>>3*5+6*4 (enter, vedeti rezultatul)

>>sqrt(2)

>>10^3 (10 la puterea a 3-a)

>>1.2e3 (in MATLAB virgula este reprezentata prin punct; explicati rezultatul)

Valoarea 1.2e3 reprezinta 1.2* 10^3 (e3 inseamna 10 la puterea a 3-a). Formatul
este cu exponent. Vedeti mai jos.

>>3^(1/3) (radical de ordin 3 din 3. De ce?)

 Care este valoarea lui π ? Toti stim ca e 3.14. Sa vedem cum se foloseste
aceasta valoare; vom tasta in MATLAB pi si dam enter:

>>pi

Raspunsul va fi (dat de answer):

>>ans

pi=3.1416

Valoarea va fi limitata la aceste 4 zecimale deoarece, la pornire si in modul implicit


MATLAB-ul va afisa rezultatele cu 4 zecimale.

 Pentru a afisa valoarea lui pi cu mai multe zecimale va trebui sa vedem mai intai
ce tipuri de formate de reprezentare a numerelor exista in MATLAB. Pentru
aceasta vom da comanda:

>>help format

Se afiseaza raspunsul care contine mai multe formate care vor fi studiate de catre
student. Daca dorim sa afisam valoarea lui pi cu mai multe zecimale exacte vom
alege:

>>format long (apasati apoi enter)

Dupa care vom da din nou >>pi.

Vom vedea acum valoarea lui pi afisata cu mai multe zecimale.


Daca se doreste revenirea la formatul initial, se da comanda:

>>format

 Sa consideram comanda:

>>a=3; (apoi enter)

Dupa apasarea tastei enter observam ca nu se intampla nimic. Asta deoarece dupa
comanda data am pus punct si virgula (;). Calculatorul stie ca variabilei a i s-a
atribuit valoarea 3 dar nu o afiseaza suplimentar. Daca se da comanda simpla

>>a

va fi afisata, drept raspuns, valoarea a=3.

Deci, daca nu se doreste afisarea unui rezultat se pune “;” la sfarsitul liniei de
comanda. Este util acest lucru atunci cand nu se doreste afisarea rezultatelor la
unele calcule intermediare din cadrul unui algoritm de calcul.

 Daca se doreste introducerea unei matrice:

>>A=[1 2;3 4] (apoi enter)

Este afisata valoarea matricii A.

Daca se doreste calculul inversei sau a determinantului acesteia comenzile sunt:

>>inv(A)

>>det(A)

Pentru matricea B, transpusa matricii A, avem comanda:

>>B=A’

 Introduceti o matrice D, de dimensiune 5x5, si determinati pentru aceasta cele


prezentate mai sus.
 Daca se doreste afisarea numai a liniei 1 a matricii D, comanda este:

>>D(1,:)

Adica dorim sa afisam linia 1 (pana la virgula) si toate coloanele.

Pentru a extrage din D o matrice 2x2 formata la intersectia liniilor 2 si 3 cu coloanele


3 si 4, comanda este:
>>D(2:3,3:4)

Incercati si alte variante.

 Functia exponentiala, 𝑒 𝑥 : in MATLAB este exp(x).

Dati comanda

>>help exp

Care este valoarea lui e, baza logaritmului natural? Daca nu stiti, puteti obtine
aceasta valoare tastand:

>>format long

>>exp(1)

Deoarece e la puterea 1 este chiar e.

 Functia logaritmica in MATLAB. Exista 3 tipuri de logaritmi:


 Logaritmul natural, (ln de la matematica), este log(x). Dati comanda:

>>help log

 Logaritmul zecimal, (lg de la matematica), este log10(x). Dati comanda:

>>help log10

 Logaritmul in baza 2, log2(x). Dati comanda:

>>help log2

Calculati cativa logaritmi cunoscuti, in fiecare din aceste baze.

 Functiile trigonometrice sin(x), cos(x) si tan(x). Unghiurile sunt in radiani (cercul


are 2*pi radiani si 360 deg). Dati help la fiecare (>>help sin …) si apoi calculati
aceste functii trigonometrice in cateva unghiuri cunoscute (>>sin(0), >>sin(pi/6),
…)
 Inversele acestor functii trigonometrice sunt: asin(x), acos(x) si atan(x). Valorile
returnate sunt in radiani (cercul are 2*pi radiani). Dati help la fiecare si cititi
prezentarea functiilor. Dati apoi comenzile urmatoare:

>>atan(1)

>>atan(1)*180/pi

Explicati rezultatele.
 Consideram ca avem folderul MN_Lab pe discul D si ca am setat acest folder ca
fiind Current Folder. Este momentul sa vedem cum se scrie un prim program in
MATLAB, program care sa contina mai multe linii de cod (mai multe comenzi) si
cum il putem rula. Sa presupunem ca avem de adunat a=5 cu b=10 si rezultatul
sa fie salvat sub numele c.

Pentru aceasta vom lua o fila noua (deschidem editorul in acest fel) din zona: File-
>New->Script. (sau New-M file, depinde de versiunea instalata cum deschidem
aceasta fila noua).

Daca lucram cu MATLAB Online, vom lua o fila noua din butonul New Script + (add
New Script) si in acest fel se deschide editorul.

Odata editorul deschis, tastam liniile ce cod:

a=5;

b=10;

c=a+b (aceasta comanda este fara ; deoarece se doreste afisarea rezultatului).

Apoi salvam acest mic program cu un nume, dam File->Save as. Aici trebuie sa
ne asiguram ca programul va fi salvat in fisierul MN_Lab. De aceea trebuie sa fim
atenti unde va fi salvat. Sa presupunem ca numele fisierului va fi test_AM (aici
“test_” va pune toata lumea iar cele doua initiale care urmeaza vor fi cele ale
numelui studentului: Anghel Mihai, in exemplul meu, ar putea fi). Voi veti putea salva
cu orice nume numai ca trebuie sa nu incepeti cu cifre si numele sa fie un singur
cuvant (pot fi si doua cuvinte dar sa fie unite prin “_” ca sa rezulte un nume
monobloc.

Daca suntem pe varianta MATLAB Online, odata ce am scris programul, avem


disponibila optiune Save (buton tip disketa) si vom salva programul cu numele dorit.
Acesta va aparea imediat in Current Folder, exact asa cum se vede programul
L1_bisectie.m in Fig.3.

Programele pe care le aveti deja scrise si salvate in laptop (cum sunt cele de la
MN, pe care le veti primi la fiecare sedinta de laborator) vor putea ajunge aici, in
Current Folder (adica in MATLAB Drive) apasand butonul Upload si selectand
fisierul ce urmeaza a fi incarcat.

Veti constata ca programul se va gasi in foderul MN_Lab cu numele test_AM.m.


Extensia .m este pusa automat de catre MATLAB oricarui fisier de acest tip.
Cu editorul deschis puteti rula acest program: aveti un buton pe care scrie RUN
(daca nu scrie, are o sageata de tip play, de culoare verde sau altfel de sageata.
Mergeti cu mouse-ul pe butoane si vedeti pe care scrie RUN). Dupa ce ati dat RUN
mergeti in Command window si vedeti rezultatul.

Acum puteti inchide editorul (din coltul din dreapta sus, x)

Pentru a ne asigura ca am setat corect Current Folder-ul vom da comanda dir.


Aceasta este o comanda specifica sistemului de operare DOS dar este compatibila
cu MATLAB-ul. Aceasta comanda va afisa continutul folderului MN_Lab (daca a fost
setat corect) printre care va trebui sa gasim si fisierul test_AM.m, care este un fisier
de tip script, specific MATLAB-ului.

Programul mai poate fi rulat si direct din Command window tastandu-i numele:

>>test_AM (fara .m, dati apoi enter)

Vedeti rezultatul.

Daca in editor exista vreo greseala (de sintaxa), aceasta va fi imediat semnalata
in Command window, cu o linie scrisa cu rosu, explicand unde este greseala. Dar nu
spune si cum ar trebui ca sa fie corect. Daca are greseli de sintaxa programul nu
poate fi rulat.

Aceste comenzi pot fi executate ca fiind comenzi dintr-o singura linie de


comanda si pot fi lansate direct din Matlab Command Window. Pentru a descoperi
cat mai multe comenzi Matlab, care sa deschida o reala perspective asupra
capabilitatilor acestui soft, puteti rula programe demo tastand comanda:

>>demo

si alegand de acolo zona de interes.


 Vom face acum un program cu ceva mai multe linii. Pentru aceasta luati fila noua
si introduceti urmatoarele linii de cod (fara bulinele care apar in fata). Nu luati cu
copy/paste, tastati singuri linie cu linie.

 t=0:0.01:2;
 y1=sin(pi*t);
 y2=cos(pi*t);
 clf
 plot(t,y1,'r*',t,y2,'bo')
 %plot(t,y1,t,y2)
 grid;
 pause
 gtext('sin(\pi*t)')
 gtext('cos(\pi*t)')
 xlabel('timp, t[s]')
 ylabel('sin(\pi*t),cos(\pi*t)')
 legend('sin(\pi*t)','cos(\pi*t)')
 axis( [0 2 -1.2 1.2])

Salvati cu un nume (plot_sin_cos, de exemplu). Numele sub care este salvat un


program trebuie sa sugereze ce contine programul respectiv. Verificati daca e in
MN_Lab (sau in MATLAB Drive) si apoi rulati programul din Command window.
Daca e scris corect, se va deschide o fereastra grafica, numita Figure 1 in care se
gasesc afisate doua grafice: sin(pi*t) si cos(pi*t), pentru valori ale lui t intre 0 si 2.
Perioada acestor functii este T=2 s (de ce?). Explicatia liniilor de cod este data mai
jos:

 Linia 1: Pentru valorile lui t luate intre 0 si 2 cu pas de 0.01 (in total 201 valori, fiti
atenti cum este scrisa aceasta linie de comanda) se calculeaza sin(pi*t) si
cos(pi*t) in liniile 2 si 3.
 Linia 4: clf sterge fereastra grafica. Daca in aceasta fereastra ar exista ceva de
la un program anterior, ne asiguram ca va fi sters totul.
 Liniile 5 si 6: plot (dati >>help plot) sunt comenzile de reprezentare grafica,
punct cu punct, a valorilor considerate in linia 1 si determinate in liniile 2 si 3. Una
din comenzi are in fata simbolul % si este scrisa cu verde. Acest simbol in fata
unei linii transforma linia in “comment” deci nu va fi executata. Puteti da:

>>help plot
pentru a intelege cum se da corect si ce inseamna parametrii din paranteza. Puteti
muta apoi simbolul% de la un plot la celalalt sa vedeti ce se intampla.

 Liniile 7 si 8: comanda grid ne traseaza pe grafic un caroiaj orizontal si vertical


care ne ajuta la reprezentarea grafica. Comanda pause opreste derularea
programului in acest punct. Programul va trece de aceasta comanda numai dupa
ce se apasa o tasta (enter, space, nu conteaza).
 Liniile 9 si 10: comanda gtext (dati >>help gtext) permite plasarea textului dintre
cele doua apostrofuri intr-un punct de pe grafic. Apare o “mira”, ca la pusca cu
luneta. Veti plasa punctul de tinta undeva langa graficul functiei sinus (cel cu
stelute rosii) si veti da click cu mouse-ul. Apoi la cosinus.
 Liniile 11 si 12: xlabel si ylabel (dati >>help xlabel…) permit inscriptionarea
axelor x si y cu etichete (ce reprezinta fiecare axa). Simbolul “ \pi” din paranteze
permite afisarea literei grecesti “ pi “ asa cum arata ea in alfabetul grecesc.
 Linia 13: comanda legend (>>help legend) permite inserarea unei ferestre in
care sa fie descrise cele doua grafice care apar. Incercati sa vedeti ce se
intampla daca schimbati ordinea textelor in paranteza. Explicate de ce.
 Linia 14: comanda axis (>>help axis) . Daca punem inca o linie de cod cu
comanda “pause” in fata acestei comenzi vom constata ce face aceasta
comanda. Initial graficul este lipit de marginile de sus si de jos ale ferestrei
grafice iar prin comanda axis putem departa, dupa dorinta, aceste grafice de
marginile ferestrei.

Dupa ce ati obtinut acest grafic, apasati din butoanele de deasupra graficului butonul
EDIT PLOT (o sageata orientata spre stanga sus). Acest buton ramane apasat, se
vede pozitia mai apasata a acestuia. Graficul va capata 8 marcheri (la colturi si pe
mijloc) si veti putea insera diverse puncte, sageti, texte pe grafic, puteti schimba
culori, tipuri de linii, grosimi, etc. folosind tab-ul insert. Dupa ce ati terminat de
“cosmetizat” graficul, apasati din nou pe EDIT PLOT si graficul ramane cu
modificarile efectuate si poate fi folosit intr-un document de tip .doc sau .docx.
Deschideti un document, mergeti pe fereastra grafica, dati Edit->Copy Figure,
graficul este copiat si poate fi inserat in document cu comanda “paste”. Aici poate fi
marit/micsorat dupa dorinta. Incercati!

Pentru a descoperi mai multe dati comanda:

>>demo (urmata de enter)

si veti putea alege o multitudine de exemple de utilizare a programului MATLAB.


Graficul pe care va trebui sa-l obtineti este dat mai jos, in Fig.4. La editare, am
inserat o sageata cu text (Insert->Text Arrow) marcand pe grafic cu litera A punctul
corespunzator trecerii prin zero a functiei sinus in valoarea t=1 (deoarece sin(pi)=0).

Schimbati tipul de plot (mutati acel % de la un plot la celalalt in liniile 5 si 6) si apoi


faceti diverse modificari/inserari pe graficul obtinut.

Structurile de control din MATLAB sunt de tipul:

if(expresie) for i=start:pas:stop while(expresie)


… … …
elseif(expresie) end end

else

end

Aceste structuri se vor regasi in programele dedicate diverselor metode de calcul.


De acolo vor trebui invatate modalitatile de folosire.

Fig.4. Graficul rezultat prin rularea programului

Pentru a pune in practica cele prezentate mai sus, incercati sa reprezentati grafic pe
intervalul [-1, 2] functia 𝑓 𝑥 = 𝑥 − 𝑒 −𝑥 . Cautati un interval de lungime o unitate care
contine radacina 𝑥𝑅 a ecuatiei 𝑓 𝑥 = 0.

S-ar putea să vă placă și