Sunteți pe pagina 1din 13

Exemple

MATLAB
Scripturi

Scrieti urmatorul script :

a) preda controlul utilizatorului sa introduca un numar intreg n


b) genereaza vectorul de dimensiune n a permutarilor aleatoare
c) inlocuieste valorile elementelor de pe pozitiile (indexul) par cu
valoarea lor multiplicata cu 2.
d) afiseaza suma elementelor de pe pozitiile(indexul) impar

Sa se rezolve in doua moduri punctele c) si d) cu instructiuni for, if


si mod si cu operatorul :
Scripturi

n=input('Introduceti un numar intreg n=')


v=randperm(n)

suma=0;
for i=1: lenght(v)
if mod(n,2)==0
v(i)=2*v(i); v(2:2:end-1)=2*v(2:2:end-1)
else
suma=suma+v(i); s=sum(v(1:2:end))
end
end
disp(suma)
Scripturi

Scrieti scriptul:
a) se preda controlul utilizatorului sa introduca o matrice patratica

b) sa se modifice fiecare element de pe diagonla secundara a


matricei cu suma elementelor din coloana respectiva
Scripturi

A = [ 1 3 5 7 8; 2 4 6 1 2; 5 7 2 3 6; 8 9 3 4 0; 1 7 3 5 2];
n = length(A);
S= zeros(n, 1);
A
for j = 1:n
for i = 1:n
S(j) = S(j) + A(i,j); v=sum(A)
end
end
for i = 1:n
A(i,n-i+1) = S(i); A(i, n-i+1)= v(i)
end
disp(A)
Instructiuni de control

Folosind functiile fopen si fprintf. sa se scrie o functie care


primeste un vectorul x si scrie intr-un fisier elementele
urmatorului vector y: y(i)=x(i+1)+10*x(i)
Instructiuni de control

function w=myex(x)
fid = fopen('exemplevalori.txt','w');
for i=1:length(x)-1
y(i)=x(i+1)+10*x(i);
fprintf(fid,' %6.2f \n ', y(i));
end
fclose(fid);
Instructiuni de control

Utilizand instructiunile if si while sa se scrie o functie care


calculeaza produsele partiale ale elementelor vectorului
x=[5 20 9 10 -1 19 -10] pana cand intalneste un numar negativ si
afiseaza ultimul produs calculat.

Care este rezultatul afişat, dacă se inlocuieste vectorul x cu


vectorul y=[-15 -2 30 10 -1 19 10]?
Instructiuni de control
function p=myprod(x)
L=length(x);
p=1;
i=1;
if(L==1)
p='vectorul de intrare rebuie sa aiba cel putin 2 elemente';
return;
end
if x(1)<0 | x(2)<0
p='produsul nu se poate calcula';
return;
end
while i<L & x(i)>0
p(i)=x(i)*x(i+1);
i=i+1;
end
disp(p(i-1));
end
Grafic polar

Scrieti scriptul care permite ultilizatorului sa intoduca valorile a si b,


setati valorile lui theta si apoi rezprezentati grafic ecuatia
ρ=a+bϴ in coordinate polare.

Adaugati titlul – Spirala lui Arhimede


Grafic poloar

fisierul grafic_polar.m

theta = 0:.01:6*pi;
a = input(‘Introduceti coeficientul a =’)
b = input(’Introduceti coeficientul b =’)
rho = a+b*theta;
figure(’Name’,’O curba in coordonate polare’)
polar(theta,rho)
title(’Spirala lui Arhimede’)
Grafic

Stiind ca r - raza arterelor variaza intre 0.7 si 3mm sa se


reprezinte presiunea in functie de raza p=T/r , la diversele valori
ale tensiunii T din peretii vaselor 0.3 , 0.9 , 5 si 10.
Graficele sa fie reprezentare pe verticala, unele sub altele.
Etichetati axele cu denumirea si unitatea de masura
corespunzatoare si adaugati legenda.
Grafic

fs = ['r-';'b.';'go';'m*']; %Cream un vector ptr stilurile de linie


x=1; %Initializam variabila x
r=0.7:0.1:3;
for T=[0.3 0.9 5 10 ]
p=T./r;
plot(p,r, fs(x,1:end)); %stilul linei indexat de x
hold on
x=x+1; % incrementam x cu unu
end
xlabel(' r[mm]');
ylabel(' p[N/mm2])');
legend('T=0.3',T=0.9','T=5','T=10', ‘Location’, ‘northeast’);

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