Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




MATLAB - prezentare, instalare, lansare in executie, ferestre

Matematica


ALTE DOCUMENTE

Fisa de lucru Inmultirea cand unul dintre factori este 3
Relatii metrice in triunghi
Elemente de geometrie analitica
Functii derivabile
Siruri
Simion Stoilow (1887-1961)
Teza cu subiect unic la matematica Clasa a VII-a, semestrul al II- lea
Model de teza unica clasa a VII-a semestrul II varianta 1
Rezolvarea matricilor decizionale cu punct de echilibru
Dualitatea problemelor de optimizare

MATLAB - prezentare, instalare, lansare în executie, ferestre

MATLAB este un pachet de programe dedicat calculului numeric si reprezentarii grafice în domeniul ingineriei.

Elementul de baza cu care opereaza MATLAB este matricea.

MATLAB este un interpretor cu un limbaj asemanator limbajului algoritmic. Poate fi dezvoltat cu usurinta prin asa numitele toolbox-uri - colectii extinse de functii (fisiere M).



Versiunea 6.1 a mediulu 858g63i i MATLAB se livreaza pe suport optic - 2 CD-uri - si se instaleaza printr-o procedura automata, implicit în partitia activa, directorul Matlab6p1, cu un subdirector de lucru Work.

Lansarea în executie se poate face cu ajutorul pictogramei de pe Desktop, prin butonul StartProgramsMatlab6.1Matlab6.1 sau din calea \Matlab6p1\bin\win32 - fisierul matlab.exe.

Fereastra de comenzi deschisa automat la pornirea mediului contine urmatoarele elemente:

bara de nume;

bara de meniuri cu meniurile: File, Edit, View, Web, Window, Help;

bara de unelte si adrese;

fereastra propriu-zisa cu prompt-ul MATLAB " >>"

Meniul File, grupul New, contine comenzi pentru deschiderea ferestrelor:

M-file

Figure

Model

GUI

Meniul View contine comenzi-comutatori pentru validarea prezentei ferestrelor:

Command Window

Command History

Current Directory

Workspace

LaunchPad

Help

Functii MATLAB generale

Functii de iesire din mediu

exit (quit) - parasirea sesiunii de lucru.

Functii de control general

help - afiseaza lista functiilor MATLAB;

help functie - afiseaza informatii despre functia precizata;

what - listeaza fisierele .m, .mat, .mex din directorul curent;

type fisier - listeaza continutul fisierului mentionat ca argument;

which - întoarce calea în care se afla fisierul mentionat ca argument;

path - returneaza caile cu care lucreaza MATLAB;

who - listeaza numele variabilelor curente;

whos - listeaza numele variabilelor curente, dimensiunile si tipurile lor.

Functii de control directoare, fisiere si sistem de operare

cd - returneaza sau schimba directorul curent;

dir - listeaza continutul directorului curent;

delete - sterge fisierul specificat ca argument;

- executa comanda DOS precizata ca argument.

Functii asociate ferestrei de comenzi

clc - sterge continutul ferestrei de comenzi.

Functii de control al variabilelor din memorie

disp(arg) - afiseaza o matrice sau un text specificate ca argument;

ex: >> for i=1:4

y=[i,5*i^2,2^i];

disp(y);

end

1 5 2

2 20 4

3 45 8

4 80 16

>> disp('Constructii')

Constructii

>>

clear - sterge toate variabilele si functiile declarate în sesiunea în curs;

clear a b - sterge toate variabilele a si b;

size(arg) - returneaza dimensiunea unei matrice specificata ca argument;

ex: >> a=[1 2;3 4;5 6];

>> b=size(a)

b=

3 2

length(arg) - returneaza lungimea maxima a matricei specificata ca argument sau lungimea vectorului specificat;

ex: >> x=length(a);

x=

3

>> y= length(b)

y=

2

Variabile speciale si constante MATLAB

ans - variabila creata automat când lipseste membrul stâng al instructiunii de atribuire;

pi - variabila permanenta continând valoarea 3.1416;

Importul si exportul fisierelor de date

load - încarca variabilele dintr-un fisier de date specificat;

save - salveaza variabilele curente în fisierul specificat;

sintaxa: load/save fisier[.ext][-format];

ex: >> clear;

>> a=[1 2;3 4];

>> b=[5 6;7 8];

>> save mat_ab.dat -ascii;

>> load mat_ab.dat;

>> ab=mat_ab

ab =

1 2

3 4

5 6

7 8

Introducere în programarea MATLAB

Matrice, vectori, scalari

Matricea este singurul obiect cu care lucreaza MATLAB. Vectorul este matricea cu o singura dimensiune (nx1 sau 1xn). Scalarul este matricea cu o linie si o coloana (1x1).

Exemple (notatii matematica):

(2x2) (3x4) (3x1)

(1x4) (1x1)

Notatia MATLAB pentru o matrice este de forma a(i,j), iar referirea la un element al matricei se face prin notatia x=a(2,2), ceea ce înseamna x=4.

Definirea matricelor simple

Se poate face prin:

a)      Introducerea explicita a listei elementelor într-unul din formatele:

a=[1 2;3 4] sau a=[1,2;3,4] sau a=[1 2Enter3,4];

separatorul dintre coloane (dintre elementele unei linii) este spatiul sau (,)

separatorul dintre linii (dintre elementele unei coloane) este (;) sau Enter;

ex: >> x=[1,2,3,4]

x=

1 2 3 4

>> y=[1;2;3;4]

y=

1

2

3

4

b)      Generarea prin instructiuni si functii

ex: >> clear;

>> k=3;b(k)=5

b=

0 0 5

>> t=1:2:7

t =

1 3 5 7

>> r=randn(2,3)*17

r =

-7.3536 2.1306 -19.4900

-28.3149 4.8905 20.2456

c)      Încarcarea dintr-un fisier de date (vezi exemplul de la §4).

Elementele matricelor

Pot fi numere reale sau complexe si orice expresie MATLAB.

ex: >> clear;

>> a=[-1.3 sqrt(3) (1*2*3)/5

a =

-1.3000 1.7321 1.2000

>> b=a(2)

b =

1.7321

Matricea sau vectorul poate fi extins prin introducerea unui element si completarea cu zero a elementelor nedefinite.

ex: >> a(5)=abs(a(1))

a =

-1.3000 1.7321 1.2000 0 1.3000

>> c=[1 2;3 4];

>> c(2,4)=6

c =

1 2 0 0

3 4 0 6

O matrice mare poate fi construita din matrice mici folosite ca elemente.

ex: >> clear;

>> a1=[1 2;3 4]; a2=[5 6;7 8];

>> b=[a1;a2]

b =

1 2

3 4

5 6

7 8

>> c=[a1 a2]

c =

1 2 5 6

3 4 7 8

O matrice poate fi extrasa dintr-o matrice mai mare folosind semnul (:) într-o expresie de forma:

>> d=c(:,2:4)

d =

2 5 6

4 7 8

adica matricea d se formeaza din c extragând toate liniile si coloanele 2 la 4.

Declaratii si variabile - elemente de sintaxa

Instructiunea de atribuire joaca si rolul de declaratie. Are doua forme:

a)      variabila=expresie sau

b)      expresie.

În cazul al doilea valoarea expresiei este atribuita variabilei speciale ans.

ex: >> 3/4

ans =

0.7500

O expresie se compune din operanzi, operatori si functii. În urma evaluarii expresiei se obtine o matrice, care se atribuie unei variabile.

Orice instructiune se termina cu:

a)      Enter sau

b)      ;Enter

În primul caz instructiunea se executa cu tiparirea rezultatului, iar în al doilea fara tiparire.

ex: >> a=[1 2;3 4] Enter cazul a)

a =

1 2

3 4

>> b=[5 6;7 8]; Enter cazul b)

>>

Tastarea numelui unei variabile urmat de Enter afiseaza valoarea acesteia.

Daca expresia are o lungime foarte mare se foloseste combinatia: spatiu ... Enter pentru continuare pe linia urmatoare.

Spatiile dintre operanzi si operatori sunt optionale.

Numele de variabila sau functie este format din litere, cifre si underline; primul caracter este litera, iar lungimea maxima este de 19 caractere.

MATLAB este case sensitive în mod implicit si poate comuta în modul nesenzitiv cu comanda:

>> casesen off cu revenire la:

>> casesen on

Numere si expresii aritmetice

Reprezentarea numerelor se poate face în virgula fixa:

-123 = -123 1.02437 = 1.0244 -.0345 = -0.0345

sau în virgula mobila:

1.23456e+2 = 123.4560 234.567e-3 = 0.2346

Ordinul de marime este 10308 pentru valori supraunitare si 10-308 pentru valori subunitare.

Operatorii aritmetici utilizati sunt urmatorii:

+ adunare, - scadere, * înmultire, / împartire la dreapta si \ împartire la stânga.

Tipuri de programe MATLAB

a)      programe introduse linie cu linie în modul linie de comanda;

b)      programe memorate în fisiere script (fisiere salvate cu extensia .m);

c)      programe memorate în fisiere function (fisiere script care contin în prima linie cuvântul cheie function ).

Prin apelarea numelui fisierului script continutul acestuia este încarcat si lansat în executie. Script-urile propriu-zise nu pot fi integrate în programe ca subrutine.

Fisierele function au prima linie de forma:

function [parametri_iesire]=nume_functie(parametri_intrare)

în care:

function - cuvânt cheie care declara fisierul ca atare;

parametri_iesire - lista parametrilor de iesire; daca lipsesc, parantezele drepte si semnul = nu mai au sens;

nume_functie - numele cu care a fost salvat fisierul;

parametri_intrare - lista parametrilor de intrare; daca lipsesc, parantezele rotunde nu mai au sens.

Fisierele functie pot fi adaugate ca functii noi în structura MATLAB.

Exemplu de creare si utilizare a unui fisier function :

Se deschide o ferastra de editare: File, New, M-file.

Se editeaza secventa de program:

function m=medie(x)

n=length(x);

m=sum(x)/n;

y=['Media numerelor este: ',num2str(m)];

disp(y)

Se salveaza secventa într-un fisier cu numele medie.m: File, Save as... .

În fereastra de comenzi poate fi introdusa secventa:

>> a=[12,14,16,18,20];

>> medie(a)

Media numerelor este:16

Daca este omisa prima linie a fisierului medie.m, acesta devine script si nu mai poate fi folosit ca subprogram.

Functia num2str converteste continutul variabilei m în sir de caractere.

Variabila y este un vector cu elementele: y(1)=M, y(2)=e, y(3)=d, ... , y(22)=1, y(23)=6.

Instructiuni de control logic

Instructiunea conditionala if

Forma 1: Forma 2:

if expresie_logica if expresie_logica

secventa_instructiuni; secventa_instructiuni_1;

end else

secventa_instructiuni_2;

end;

Expresia logica contine operanzi si operatori aritmetici, relationali si logici.

Operatorii relationali sunt urmatorii:

< mai mic, <= mai mic sau egal, > mai mare, >= mai mare sau egal, = = egal, ~= diferit.

Operatorii relationali compara doua matrice cu dimensiuni egale, element cu element si returneaza o matrice de aceeasi dimensiune cu matricele comparate, având elementele 1 când relatia este adevarata si 0 când relatia este falsa.

În cazul numerelor complexe primii patru operatori ignora partea imaginara.

Forma generala de utilizare a operatorilor relationali este:

rezultat = expresie_1 operator_relational expresie_2

ex: >> a=[1 -i 0;2-i 0 1+i];

>> b=[1 -i i;2-i 2 1-5*i];

>> c=a>=b

c =

1 1 1

1 0 1

>> d=a= =b

d =

1 1 0

1 0 0

Operatorii logici sunt urmatorii:

~ nu prioritate 1

&  si prioritate 2

sau prioritate 3

Operatorii logici & si | compara scalari sau doua matrice de dimensiuni egale (element cu element) si returneaza 1 pentru orice valoare diferita de zero.

În MATLAB orice valoare diferita de zero este considerata adevarata logic, adica 1

Operatorii logici au prioritate mai mica decât operatorii relationali si aritmetici.

ex: >> a=1&0+3

a =

1

>> b=3>4&1

b =

0

Rezolvarea ecuatiei de gradul II se poate face prin apelarea unei functii salvata în fisierul ecgr2.m având urmatorul continut:

function[x,x1,x2]=ecgr2(a,b,c)

if a= =0

x=-c/b

else

d=b^2-4*a*c

if d<0

disp('Ec.nu are rad.R')

else

x1=(-b-sqrt(d))/(2*a)

x2=(-b+sqrt(d))/(2*a)

end

end

Secventa de apelare este:

>> a=1;b=-3;c=2;

>> ecgr2(a,b,c)

d =

1

x1 =

1

x2 =

2

Instructiunea repetitiva for

Forma:

for index=initial:pas:final

secventa_instructiuni

end

Pasul implicit este 1. Secventa de instructiuni este executata de N ori:

Exemplu:

Fie script-ul niv_trig.m cu urmatorul continut:

% Nivelment trigonometric

clear;

ui = [312.25,288.45,304.63,314.75,306.15,104.55,86.32,114.54,123.56];

di = [123.52,98.45,101.32,88.95,114.24,78.50,141.25,94.25,106.25];

cc = 640;

dc = 0;

for i=1:9

ui(i) = (abs(ui(i)-200)-100)*pi/200;

do(i) = di(i)*cos(ui(i))^2;

dn(i) = do(i)*tan(ui(i));

dc = dc+do(i);

cc = cc+dn(i);

end;

dist=['Distanta cumulata:',num2str(dc)];

cota=['Cota cumulata :',num2str(cc)];

disp(dist);

disp(cota);

Script-ul poate fi apelat de pe linia de comanda:

>> niv_trig

Distanta cumulata:907.1657

Cota cumulata :651.1255

>>

Instructiunea repetitiva while

Forma:

while expresie

secventa_instructiuni

end

Secventa de instructiuni se executa cât timp expresie are toate elementele nenule. Expresia are forma:

expresie_1 operator_relational expresie_2

Exemplu:

Fie script-ul dim_int.m cu urmatorul continut:

% Dimensionare la intindere axiala;

clear;

n=10000;r=1200;p=.5;

a=n/r;

k=1;b(k)=p;

while b(k)<=a

h(k)=a/b(k);

k=k+1;

b(k)=b(k-1)+p;

end;

for i=1:k-1

bh=['b=',num2str(b(i)),' h=',num2str(h(i))];

disp(bh);

end;

Script-ul poate fi apelat de pe linia de comanda:

>> dim_int

b=0.5 h=16.6667

b=1 h=8.3333

b=1.5 h=5.5556

b=2 h=4.1667

b=2.5 h=3.3333

b=3 h=2.7778

b=3.5 h=2.381

b=4 h=2.0833

b=4.5 h=1.8519

b=5 h=1.6667

b=5.5 h=1.5152

b=6 h=1.3889

b=6.5 h=1.2821

b=7 h=1.1905

b=7.5 h=1.1111

b=8 h=1.0417

>>

Lucrul cu siruri de caractere

sirul de caractere este o constanta reprezentata pe un sir de octeti, fiecare continând codul ASCII al unui caracter. Pe linia de program sirul este constituit din unul sau mai multe caractere delimitate de apostrofuri.

Functii generale

abs(arg) - converteste sirul de caractere specificat ca argument în valori numerice ale codului ASCII

ex: >> y=abs('ABCDabcd0123')

y =

65 66 67 68 97 98 99 100 48 49 50 51

>>

setstr(arg) - converteste valori numerice ale codului ASCII în sir de caractere

ex: >> cif=[48:57];

>> cifre=setstr(cif)

cifre =

0123456789

>> lima=[65:90];

>> literemari=setstr(lima)

literemari =

ABCDEFGHIJKLMNOPQRSTUVWXYZ

>> limi=[97:122];

>> literemici=setstr(limi)

literemici =

abcdefghijklmnopqrstuvwxyz

>>

Conversia sir-numar si numar-sir

num2str(arg) - converteste un numar reprezentat intern într-un sir de caractere

ex: >> npi=['Valoarea lui Pi este:',num2str(pi)]

npi =

Valoarea lui Pi este:3.1416

>>

str2 num(arg) - converteste un sir de caractere în numar

ex: >> n123='123';

>> x=5+str2num(n123)

x =

128

>>

Generarea vectorilor si matricelor

Functii generale

zeros(arg) - genereaza matricea nula

ex: >> a=zeros(2,3)

a =

0 0 0

0 0 0

>>

ones(arg) - genereaza matricea unitate

ex: >> b=ones(2,3)

b =

1 1 1

1 1 1

>>

rand(arg) - genereaza numere aleatoare din intervalul (0;1) cu distributie uniforma

ex: >> x=rand(1,5)

x =

0.2311 0.6068 0.4860 0.8913 0.7621

>> y=rand(2,3)

y =

0.4565 0.8214 0.6154

0.0185 0.4447 0.7919

>>

randn(arg) - genereaza numere aleatoare cu distributie normala

ex: >> z=randn(1,5)

z =

-0.4326 -1.6656 0.1253 0.2877 -1.1465

>>

linspace(arg) - genereaza vector cu pas liniar, argumentul fiind de forma:

amin:amax:N

unde

amin = elementul minim

amax = elementul maxim

numarul

ex: >> x=linspace(1,7,4)

x =

1 3 5 7

>> x=linspace(1,11,4)

x =

1.0000 4.3333 7.6667 11.0000

>>

Mentinerea pasului constant se poate obtine fara functia linspace utilizând forma:

amin:pas:amax

ex: >> y=1:2:7

y =

1 3 5 7

>> z=1:2:11

z =

1 3 5 7 9 11

>>


Document Info


Accesari: 5413
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )