CATEGORII DOCUMENTE |
MEDIUL DE LUCRU MATLAB
MATLAB este, dupa cum s-a afirmat deja, atat un limbaj cat si un mediu de programare. Ca mediu de lucru, MATLAB include facilitati pentru manipularea variabilelor in spatiul de lucru, pentru importul si exportul datelor, precum si instrumente pentru dezvoltarea si manipularea fisierelor (M-files) si a aplicatiilor MATLAB.
Mediul de programare este utilizat in mod diferit in functie de platforma pe care ruleaza MATLAB-ul (este vorba de sistemul de operare care poate fi de tip Windows sau Unix).
Startul si terminarea sesiunilor de lucru
Pe platformele de tip Windows, programul de instalare creeaza un "shortcut" la programul executabil, shortcut care poate fi plasat pe desktop (pe display-ul de lucru al calculatorului). Prin efectuarea unui dublu click pe icon-ul care reprezinta acest shortcut se starteaza MATLAB-ul.
Pentru startarea MATLAB-ului pe un sistem UNIX trebuie tastat matlab la prompterul sistemului de operare.
Fisiere de pornire (Startup Files)
La pornire, MATLAB-ul executa automat fisierul master matlabrc.m si, daca exista, fisierul startup.m.
Fisierul matlabrc.m este rezervat pentru administratorul de sistem (retea), in timp ce fisierul startup.m este destinat utilizatorilor. De aici se pot seta caile de acces, se pot defini setarile implicite pentru instrumentele Handle Graphics si se pot predefini variabile in spatiul de lucru.
De exemplu, daca in startup.m se introduce linia
addpath /home/me/mytools
se adauga un director de instrumente proprii pentru calea implicita de cautare.
Pe platformele Windows, fisierul startup.m se plaseaza in directorul local din directorul toolbox.
Optiuni de pornire
Se pot specifica optiuni de pornire, aceste optiuni fiind adaugate pe calea shortcut-ului MATLAB.
In continuare sunt prezentate cateva posibile optiuni.
Optiunea de Startup |
Descriere |
Automation |
Starteaza MATLAB-ul ca un server automat, minimizat, fara "splash screen". |
Logfile logfilename |
Scrie in mod automat iesirile din MATLAB intr-un "log file" specificat. |
Minimize |
Starteaza MATLAB-ul minimizat si fara "splash screen"-ul MATLAB. |
Nosplash |
Starteaza MATLAB-ul fara afisarea "splash screen"-ului MATLAB. |
r M_file |
|
Regserver |
Modifica registrii Windows cu intrari adecvate tip ActiveX pentru MATLAB. |
Unregserver |
Modifica registrii Windows pentru stergerea intrarilor ActiveX pentru MATLAB. Se utilizeaza pentru resetarea registrilor. |
De exemplu, pentru a porni MATALB-ul si a rula imediat in mod automat un fisier cum ar fi de exemplu rezultate.m, se poate utiliza urmatoarea cale pentru shortcut:
D:binntmatlab.exe /r rezultate
Terminarea unei sesiuni de lucru
Pentru a parasi mediul MATLAB, se tasteaza quit la prompterul MATLAB.
In cazul platformelor Windows, se poate termina sesiunea prin selectarea optiunii exit din meniul File sau se poate utiliza butonul close vizibil in coltul din dreapta sus al ferestrei de comanda MATLAB.
Comanda quit ruleaza fisierul finish.m, daca acesta exista in caile de cautare ale MATLAB-ului. Se pot include comenzi de tipul save in acest fisier, pentru a salva automat variabilele din spatiul de lucru la incheierea sesiunii. O alta optiune este de a cere afisarea unei casete de dialog pentru confirmarea terminarii sesiunii. Aceste doua tipuri de optiuni se pot gasi in directorul /toolbox/local:
finishsav.m: permite salvarea variabilelor curente
finishdlg.m: afiseaza o caseta de dialog pentru confirmarea opririi
Fereastra de comanda este fereastra principala prin intermediul careia se poate comunica cu MATLAB-ul.
Pe platformele Windows, MATLAB-ul furnizeaza o fereastra speciala, cu facilitati de tip Windows.
Pe sistemele UNIX, fereastra de comanda este fereastra terminal din care este lansat MATLAB-ul.
Interpreterul MATLAB afiseaza un prompter
(>>
) indicand faptul ca
este gata sa accepte comenzile utilizatorului. De exemplu, pentru
introducerea unei matrici 3 x 3 se poate tasta:
A = [1 2 3; 4 5 6; 7 8 10]
si la apasarea tastelor Enter sau Return, MATLAB-ul raspunde cu:
A =
1 2 3
4 5 6
7 8 10
Tastele de tip sageata si tasta Ctrl permit apelarea, editarea si eventual reutilizarea comenzilor editate anterior. De exemplu:
rho = (1+ sqt(5))/2
Undefined function or variable 'sqt'.
Pentru eliminarea greselii de editare a numelui functiei radical (sqrt) nu se mai editeaza din nou toata linia, ci se foloseste tasta , apare din nou linia de comanda gresita si apoi cu tasta se deplaseaza cursorul pe linie si se repara greseala.
Lista completa a sagetilor si tastelor care permit controlul asupra operatiunilor cu linia de comanda este prezentata in tabelul urmator:
Arrow Key |
Control Key |
Operation |
|
Ctrl-p |
Recall previous line. |
|
Ctrl-n |
Recall next line. |
|
Ctrl-b |
Move back one character. |
|
Ctrl-f |
Move forward one character. |
ctrl- |
Ctrl-r |
Move right one word. |
ctrl- |
Ctrl-l |
Move left one word. |
home |
Ctrl-a |
Move to beginning of line. |
end |
Ctrl-e |
Move to end of line. |
esc |
Ctrl-u |
Clear line. |
|
Ctrl-d |
Delete character at cursor. |
backspace |
Ctrl-h |
Delete character before cursor. |
|
Ctrl-k |
Delete (kill) to end of line. |
Pentru stergerea continutului
(afisajul) ferestrei principale se poate folosi comanda clc
, care insa nu are ca
efect stergerea variabilelor curente din spatiul de lucru.
Pentru a controla afisarea paginilor in
fereastra de comanda se utilizeaza comanda more. Setarea implicita este more off
. Atunci cand setam more on
, o pagina ecran este afisata. Apoi
se poate utiliza:
Return |
To advance to the next line |
Space Bar |
To advance to the next page |
q |
To stop displaying the output |
Se poate intrerupe un program care ruleaza prin apasarea pe tastele Ctrl-c.
Pe sistemele Windows se va astepta terminarea executiei functiilor de tip built-in sau a fisierelor de tip MEX-file.
Pe sistemele UNIX, executia programului se va incheia imediat.
Comanda format controleaza formatul numeric al valorilor afisate pe ecran si a fost deja discutata intr-un paragraf anterior. Comanda are efect asupra afisarii numerelor, si nu asupra modului intern de reprezentare a acestora.
Pe sistemele Windows, se poate schimba setarea implicita a formatului prin selectarea meniului Preferences din meniul File si selectarea formatului dorit din General.
Deoarece la apasarea tastelor Return sau Enter MATLAB-ul afiseaza automat rezultatele pe ecran, daca incheiem linia de comanda cu punct si virgula, va fi realizat calculul, dar nu va mai fi afisat. Aceasta facilitate este importanta atunci cand avem de lucrat cu matrici mari sau cu multe date. Exemplu:
A = magic(100);
Daca o declaratie nu incape intr-o linie de comanda, se pot utiliza trei puncte urmate de Return sau Enter pentru a indica faptul ca expresia continua pe linia urmatoare. Exemplu:
s = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7
- 1/8 + 1/9 - 1/10 + 1/11 - 1/12;
Spatiile albe din jurul
semnelor =
, +
, -
sunt optionale si
pot imbunatati citirea liniilor. Maximul numarului de
caractere pe o singura linie este de 4096.
Fereastra de comanda permite rularea comenzilor MATLAB, lansarea unor instrumente cum ar fi Editor/Debugger si permite startarea toolbox-urilor.
Toolbar-ul din fereastra de comanda permite accesul la operatii simple:
Meniurile fereastrei de comanda furnizeaza accesul la operatii care nu sunt accesibile din toolbar.
Sunt utilizate pentru controlarea operatiilor si a modului de prezentare din fereastra de comanda. Pentru aceasta se selecteaza Preferences din meniul File, iar dupa aparitia casetei de dialog Preferences se pot seta preferintele pentru General, Command Window Font si Copying Options.
General Preferences:
Numeric Format - Specifica formatul numeric implicit.
Editor Preference - Permite folosirea editorului MATLAB sau specificarea altui editor.
Help Directory - Specifica directorul in care se afla fisierele de tip help.
Echo On - Seteaza facilitatea de afisare a liniilor program in timp ce un program MATLAB este rulat.
Show Toolbar - Arata sau ascunde toolbar-ul.
Enable Graphical Debugging - Permite depanarea (Debugger) in mod automat la fiecare breakpoint.
Command Window Font:
Specifica caracteristicile fontului pentru textul afisat in fereastra de comanda.
Copying Options:
Specifica optiunile utilizate la copierea unor obiecte din MATLAB in clipboard pentru rescrierea in alte aplicatii.
Spatiul de lucru contine un set de variabie (numite tablouri sau matrice) care pot fi manevrate din linia de comanda. Se pot folosi comenzile who si whos (deja prezentate) pentru a vedea care sunt variabilele curente din workspace. Pentru stergerea variabilelor din workspace se utilizeaza comanda clear.
Comenzile save si load descrise intr-un subcapitol anterior au rolul de a salva variabilele din spatiul de lucru si respectiv de a le reincarca intr-o sesiune ulterioara. Aceste comenzi se pot folosi si pentru a importa si exporta date.
Pe platformele
Windows, operatiile save, load
sunt disponibile si prin selectarea optiunilor Save
Workspace As, respectiv Load Workspace din meniul File.
Citirea sau scrierea unor fisiere .mat din programe externe in C sau Fortran se poate face cu Interfata de Aplicatii Program (API).
Formatul in care comanda save
stocheaza datele poate
fi controlat prin adaugarea unor flag-uri in lista de nume de fisiere
sau variabile:
|
Utilizeaza formatul binar tip .MAT (implicit). |
|
Utilizeaza formatul ASCII pe 8 digiti. |
|
Utilizeaza formatul ASCII pe 16 digiti. |
|
Delimiteaza elementele tablourilor cu tab-uri. |
|
Salveaza intr-un format pe care versiunea 4 MATLAB il poate deschide. |
|
Adauga datele intr-un fisier .MAT existent. |
Observatie: atunci cand se salveaza continutul spatiului de lucru in format ASCII trebuie salvata cate o variabila pentru a permite reconstituirea ulterioara a acesteia.
Comanda load
permite importul de fisiere de date ASCII.
Exemplu:
load diverse.dat
creeaza
o variabila cu numele diverse
in workspace. Daca datele ASCII au m
linii cu n
valori pe fiecare linie,
rezultatul va fi o matrice numerica m x n.
Daca numele fisierelor sau variabilelor cu
care se lucreaza sunt stocate in variabile de tip sir de caractere,
se poate folosi dualitatea comanda/functie pentru a apela load
si save
ca functii. De exemplu
save('myfile','VAR1','VAR2')
A = 'myfile';
load(A)
au acelasi efect ca
save myfile VAR1 VAR2
load myfile
Pentru incarcarea sau salvarea mai multor fisiere cu acelasi prefix si cu sufixe numere intregi succesive se poate utiliza o bucla. Exemplu:
file = 'data';
for i = 1:10
j = i.^2;
save([file int2str(i)],'j');
end
Comenzile load
si save permit specificarea unui caracter special de
tip wildcard
(*
). Exemplu:
save rundata x*
salveaza
toate variabilele din workspace care incep cu x
in fisierul rundata.mat
.
Browser-ul Workspace permite vizualizarea continutului spatiului de lucru curent (este de fapt varianta grafica a comenzii whos). Pentru a deschide acest instrument, se selecteaza Show Workspace din meniul File si apoi se face click din mouse pe tasta Workspace Browser din toolbar.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2242
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved