100 likes | 297 Views
NOTIUNI DE PROGRAMARE IN MATLAB. APLICATIA 1 Se considera functia:. Sa se scrie un program in MATLAB care sa calculeze valoarea functiei pentru x = 5, pentru x = 50, pentru x = 500 si pentru x = 5000. >> x=5; >> if x<10 y=2*x; elseif x<100 y=100-x; elseif x<1000 y=1000-x/2; else
E N D
NOTIUNI DE PROGRAMARE IN MATLAB APLICATIA 1 Se considera functia: Sa se scrie un program in MATLAB care sa calculeze valoarea functiei pentru x = 5, pentru x = 50, pentru x = 500 si pentru x = 5000. >> x=5; >> if x<10 y=2*x; elseif x<100 y=100-x; elseif x<1000 y=1000-x/2; else y=sqrt(x); end >> y Raspuns: y = 10; y = 50; y = 750; y = 70.7107
APLICATIA 2 O sticla cu bere este tinuta afara la o temperatura de 30oC. Exista un frigider care în interior are temperatura de 10o C. Punem bineînteles sticla în frigider. Dupa câte minute berea ajunge la temperatura de 14oC ca sa o putem bea? Se cunoaste coeficientul de conductie al caldurii K = 0.05 Notam cu Tf = temperatura din frigider. Daca la momentul t1 temperatura berii este T1, atunci la momentul ti+1 temperatura va fi Ti+1. Pentru simplificarea formulei vom considera unitatea de masura a timpului minutul si masuratorile se vor face din minut în minut. Deci ti+1 – ti = 1. >> k=0.05; >> Tbf=14; >> Tbi=30; >> t=1; >> Tf=10; >> while Tbi > Tbf Tbn=Tbi+k*(Tbf-Tbi); Tbi=Tbn; t=t+1; end >> t in care Tbf = 14oC, Tbi = 30oC, Tf = 10oC Raspuns: t = 33 Deci dupa 33 minute putem scoate berea de la frigider la temperatura de 14oC.
APLICATIA 3 În variabila “lungime” se afla valoarea numerica a unei masurari de lungime. Unitatea de lungime cu care s-a facut msurarea poate fi: ’ft’ pentru picior, ’in’ pentru inch, ’m’ pentru metru si ’mm’ pentru milimetru, memorat în variabila unitate. Sa se creeze o secventa switch-case care pune în lungime_metri valoarea în metri ai masuratorii (ex: 4.25 ft). >> lungime = 4.25; >> unitate='ft'; >> switch unitate case 'in' lungime_metri=lungime*0.0254; case 'ft' lungime_metri=lungime*0.3048; case 'm' lungime_metri=lungime; case 'mm' lungime_metri=lungime/1000; otherwise lungime_metri=NaN; end >> lungime_metri Raspuns: lungime_metri: 1.2954 1 inch = 0.0254 m 1 foot = 0.3048 m 1 mm = 0.001 m
APLICATIA 4 În figura alaturata este prezentat un transportor – încarcator. Greutatea acestei masini este G1=4500N, iar greutatea încarcaturii este G2=2500N. Care sunt fortele de reactiune pe axul din fata al masinii (Nf) si pe axul din spate (Ns) al masinii?
Problema este corect formulata. Pentru rezolvare vom observa ca în condiiile în care transportorul sta pe loc singura miscare ce poate avea loc este o rotatie (de exemplu greutatea ridicata este prea mare si atunci botul masinii coboara si spatele masinii se ridica). Aceasta miscare este data de momentele ce sunt create de fortele ce actioneaza. Deci trebuie sa precizam care sunt ecuatiile de echilibru ale momentelor. Sunt doua puncte în care aceste momente actioneaza asupra mainii, punctele A si B. Întrucât masina este în echilibru suma momentelor în cele doua puncte este zero. Pentru punctul A avem ecuatia: Nf 2.5a -G1 1.5a -G2 4a = 0 Pentru punctul B obtinem ecuatia: G1 a - Ns 2.5a –G2 4a= 0 Scriptul “ridic” rezolva numeric modelul: % date initiale g1= 4500; g2= 2500; % calculul reactiunilor nf=(g1*1.5+g2*4)/2.5; ns=(g1-g2*1.5)/2.5; >>ridic >>nf >>ns Raspuns: nf = 6700 ns = 300
APLICATIA 5 În figura alaturata este prezentat un rezervor de gaz lichefiat ce trebuie proiectat. Volumul rezervorului umplut trebuie sa fie egal cu 500000 litri. Costul constructiei cupolei este de 500 Euro/m2 iar al partii cilindrice este de 300 Euro/m2. Baza este din beton armat si are suprafata în forma de cerc a carui raza este cu 1m mai mare decât al cercului de baza al cilindrului si cost 25 Euro/m2. Etansarea dintre cilindru si baza costa 50 Euro/m. Câteva presupuneri si limitari sunt necesare: - datorita suprafetei disponibile raza cilindrului nu poate depasi 8 m; - limitari tehnice conduc la limita inferioara pentru raza, de 2 m; - nu sunt permise goluri de aer în rezervor. In aceste conditii se cere proiectarea unui rezervor cu cost minim de constructie.
Deci volumul rezervorului este de 500 m3. Dar volumul rezervorului este: Din aceasta formula permitandu-se exprimarea înaltimii h în functie de raza r: Costul constructiei va fi suma a patru costuri: cel al cilindrului, cel al emisferei, cel al suprafetei de beton si cel al lungimii îmbinarii beton-cilindru: cost = 300 × 2rh + 500 × 2 r2 + 25 × (r +1)2 + 50 × 2 r O prima varianta de rezolvare ar fi sa consideram raza variind din milimetru în milimetru între limitele admise de 2 pâna la 8 m. Corespunztor se afla si h din formula de mai sus. Înlocuind obtinem un vector de cost pentru care calculam minimumul. Scriptul p143v1 în MATLAB este:
% se definesc vectorii r si h >>r=2:0.001:8; >>h=(1500-2*pi*r.^3)/3/pi./r.^2; % se calculeaza vectorul cost >>cost=300*2*pi*r.*h+1000*pi*r.^2+25*pi*(r+1).^2+100*pi*r; % se deseneaza graficul costului in functie de raza >>plot(r,cost) >>title(’Functia cost’) >>xlabel(’raza [m]’) >>ylabel(’costul [euro]’) % se calculeaza costul minim, raza si inaltimea corespunzatoare >>[costmin,indmin]=min(cost); >>disp(’Costul minim in euro este: ’) >>disp(costmin) >>disp(’Raza minima in metri este: ’) >>disp(r(indmin)) >>disp(’Inaltimea minima in metri este: ’) >>disp(h(indmin)) Raspuns: Costul minim in Euro este: >> disp (costmin) 1.0812e+005 Raza minima in metri este: >> disp(r(indmin)) 4.2040 Inaltimea minima in metri este: >> disp (h(indmin)) 6.2026
1.0812 4.2040
APLICATIA 6 Înaltimea si viteza unui proiectil lansat cu viteza initial v0 si cu un unghi sunt descrise de ecuatia: Proiectilul va atinge solul când h(t)=0, ceea ce conduce la timpul de revenire t r: (se egaleaza cu 0 prima ecuatie). Pentru = 40o, v0=20 m/s, si g=9.81 m/s2 , determinati timpul când înaltimea h nu este mai mica de 6m, iar viteza este simultan cel mult 16 m/s. >> v0=20; g=9.81; alfa=40*pi/180; >> tr=2*v0*sin(alfa)/g >> t=0:0.01:tr; >> v=sqrt(v0^2-2*v0*g*sin(alfa)*t+g^2*t.^2); >> h=v0*t*sin(alfa)-0.5*g*t.^2; >> u=find (h>6 & v<16) >> t1=t(u(1)) >> t2=t(u(end)) Raspuns: [0.85,1.78] (Timpii apartin unui interval dat de primul rang si ultimul rang din u. Se determina capetele acestui interval.)