You are on page 1of 6
Laborator 2. Definirea tablourilor sia functiilor (in linia de comanda) in Matlab 7.0 Bibliografie 1 Jatan - “Indrumator de laborator in Matlab 7.0”, Ed. Conspress, Bucuresti, 2009. in Matlab 7.0 definirea tablourilor se poate face prin una din urmatoarele modalitii: 1. introducerea listei de elemente componente, 2. generarea lor cu ajutorul unor instrucfiuni si functii, 3. crearea de figiere cu extensia m, 4, incarcarea lor din figiere de date externe. in cazul primei metode, cea mai utilizaté dintre toate, elementele unei linii dintr-un tablou sunt separate prin spatii sau virgule iar linile se separ& prin punct-virgula. Elementele tabloului sunt cuprinse fntre paranteze drepte si pot fi atat numere reale sau complexe cat si orice expresie din Matlab 7.0. Elementele + unui vector x pot fi identificate prin notatia xj), semnificind componenta a i-a din vectorul x, i=1,n,n fiind numérul total de componente ; © unei matrice 4 pot fi identificate prin notafia A(i, /), semnificénd elementul aflat in A, la intersecfia dintre linia i sicoloana j, i=Im, j=in, m find numérul de linii iar n numéirul de coloane ale matricei A. Matlab 7.0 utilizeaza urmatorii operatori aritmetici intre dou matrici Nume operator Forma algebrica Forma Matlab 7.0 Adunarea X4¥ X4¥ Sotderea X-Y Xx-¥ inmultirea Xny XaY impartirea la dreapta xeyt XY impanjirea la stnga xcley a Ridicarea la putere X?, p scalar ane, Observatic. Produsul a dows matrici este posibil daci si numai dact numérul coloanelor matricei X este egal cu numarul liniilor matricei Y ‘Transpunerea unui tablou se realizeaza folosind operatorul apostrof. Dintre funcfiile folosite pentru generarea tablourilor mention&m: eye(n) _—-Genereaz o matrice unitate cum linii si n coloane eye(m.n) — Genereaz o matrice unitate cum linii si n coloane ones(n) _ Genereaz o matrice de unu-ricu n linii si n coloane ones(m.n) Genereaza 0 matrice de unu-ri cu m linii si n coloane rand(m,n) Genereazi 0 matrice ale cirei elemente sunt numere aleatoare, cu distribuitie uniforma in intervalul (0,1) randn(m,n) Genereaz o matrice ale cirei elemente sunt numere aleatoare, cu distribuitie normal, de medie 0 gi varianfa 1 zeros(n) _ Genereaz o matrice nula cu n linii si n coloane zeros(m,n) Genereaz o matrice nul& cu m linii si n coloane Observatie. Transformarea numerelor r distribuite uniform pe intervalul (0,1) in numerele x distribuite uniform pe intervalul (a,b) se realizeazA prin intermediul relafiei x=(b-ayta. ‘Vom prezenta cAteva funcyii din Matlab 7.0 utilizate in calcule cu tablouri Funefia Semnificatie cross(x,y) Calculeazi produsul vectorial al vectorilor x si y dot(xy) Calculeaza produsul scalar al vectorilor x si y usfind(x—=a) Returneaza in w indicii elementelor din vectorul x, care au valoarea egal cu a [uv}=findX==a) Returneazd indicele liniei(vectorul 1) sial coloanei (vectorul v) matricei argument 2, care contin elemente ce au valoarea egala cua sort(x) Sorteazé in ordine crescitoare elementele vectorului x L[y.IIF sort(x) Returneazi in vectorul y elementele sortate in ordine cresedtoare ale vectorului x iar in J indicii elementelor sortate sort(x,’descend’) Sorteaza in ordine descrescatoare elementele vectorului x Observatii. Specific pentru Matlab 7.0 este optiunea descend a fanctiei sort; pentru versiunile precedente de Matlab, sortarea poate fi realizati numai in ordine crescatoare, neeexistnd aceasta optiune. Ca orice mediu de programare, Matlab 7.0 lucreaza fie in modul linie de comands, fie cu programe continute in figiere, O functie poate fi definit in Matlab 7.0 atat in modul clasic (intAlnit si in versiunile precedente), adic& intr-un fisier function cét si tn linia de comands, facilitate care nu este posibilt la variantele precedente lui Matlab 7.0. Sintaxa de definitie a unei funcfii in linia de comands, in Matlab 7.0 este nume_functie~@(varl,....varn) expresic_functie Aplicatii 1) SA se sorteze in ordine —descrescatoareelementele_—_vectorului x=(-0.76 -1 20 8 ~7),cuprecizarea indicelui fiecdrui element. -0,76 -1 208-7} >> [yl esort(x, descend”): 2) Sa& se determine indicii elementelor din vectorul x -6 8 -l)a c&ror valoare este egal cu —1 >> x=f-0.76 -1 -6 8-1}; ty: u=tind 1-1 fi 3) 8a se formeze matricea a=|2 -2| pe baza vectorilor u =| 2| si 3-3) 6 ae[u v}: 1-7 99 3 47 0 09 -7 57 4 5 78) -78 12 -74 3 4) Se considers matricea A= Se cere: 1) Transformaji matricea 4 intr-un vector coloand 8 ; A=[-799 34.70 0.9 -7:5.7 45 78-78 12-743]: baat b) Sa se extragé submatricea D de dimensiune 3x2, ce consti din elementele situate pe ultimele trei lini gi primele doud coloane ale matricei 4. D=AQ4.1:2): 5) Sa se calouleze produsul scalar si cosinusul unghiului dintre vectorii 1 ee Tt 2i+j-k sit=La. 4 5-E si B= 5 » sadattass ues (nomm(a*norm(x)): sunt coliniari Rezulti ca <(, 6) in spagiu se dau punctele 4(3,2.1), B(4,4,0), C(5,5,5), D(-1,5,—1). Sa se verifice daci A,B,C,D sunt coplanare. Pasul 1. Scriem Matlab in vectorii 4, B, C, D coordonatele punctelor 4(3,2,1), B(4,4,0), CG,5,5), DELS,-1). Pasul 2. Determinam expresiile analitice ale vectorilor AB, AC, AD . asB-A; boCeAr > o=DeA: Pasul 3. Calculim produsul mixt al vectorilor AB, AC, AD. >> M=[azb:c]: > vadet(M). Pasul 4. Calculém volumul tetraedrului ABCD >> veabs(v V6: Deoarece Vagcp #0 rezulté A, B,C, D necoplanare, 7) Calculati produsul vectorial al vectorilor w= 31-2] +k, v=—j+4k 21); >> ve[0-1 4]: >> eross(u.vi, Deci: uxv = -Ti-12j-3k 8) Definitn Inia de comands functia_f(s)=sin2s-+ 2sin’Sx si poi calulai (x) sin(24N}+245in( 39/2) UX) sin(2*x)*+2*sin(3"x/2) >> (pi) ans = -2,0000 Tema 1, Sse genereze: a) o matrice identitate 7x7; b) o matricea nulé 10x10; ©) 0 matrice aleatoare 10x11 cu elemente distribuite uniform si normal. 2. Si se sorteze in ordine _crescitoare elementele —_vectorului (0.76 -1 20 8 7), cuprecizarea indicelui fieckrui element, x 3. Se considera matricea Caleulati: C3 -2C? -C +1413. 4, Se considera matricele: 10 0 1|,d=@ 2 -7), 1 0 1 3 Verificati care dintre urmatoarele produse au sens gi in acest caz efectuafi-le: Ba, ad, da, dB, Bd,CB, BC, dC, Cd, aC, Ca, C*, dBC, dCB, adC, adBC, adCa, 2 : 13 5. Sa se determine indicii elementelor din matricea x(t ) a c&ror valoare 3 este mai mare sau egal cu 3 TEES acta ‘Sa tr din i 6. Fie matricea a-( submatrices B={ > *), = 0.76 23, 7. Calculati f(-1,2.5) cu ajutorul unei funcjii Matlab 7.0, definita in linia de comands, pentra_f(x,y)= yx? + y? 8, Sse calculeze produsul mixt al vectorilor E, b=35+2] +k, 6

You might also like