Documente Academic
Documente Profesional
Documente Cultură
Raport
La obiectul:
Varianta 9
Student: gr.ISEM-221
ȘAPTESATE Evelin
(numele prenumele studentului)
asist.universitar
Chişinău, 2023
Tema: Bazele programării in mediul MatLab
a=0.562;
b=1.317;
x=1:0.1:2;
y=nthroot(a.*x.*sin(2.*x)+exp(-2.*x).*(x+b),3);
subplot(121);
plot(x,y,'g');
grid;
title('Functia y');
xlabel('x');
ylabel('y');
z=a.*cos(a.*x.^2.*tan(b))/(a+b);
subplot(122);
plot(x,z,'r');
grid;
title('Functia z');
xlabel('x');
ylabel('z');
Figura numarul 1
function [s,p]= drept (a,b)
s = a*b;
p = 2*(a+b);
end
a=0.562;
b=1.317;
[s,p]=drept(a,b);
rez=[s p];
disp(rez);
function dyc=dyfx(xc);
% Programarea derivate functiei yc=f(xc)
dyc=12*xc.^3+12*xc.^2-24*xc;
function yc=yfx(xc);
% Programarea functiei yc=f(xc)
yc=3*xc.^4+4*xc.^3-12*xc.^2+1;
Raspuns:
function dyc=dyfx(xc);
% Programarea derivate functiei yc=f(xc)
dyc=12*xc.^3+12*xc.^2-24*xc;
function yc=yfx(xc);
% Programarea functiei yc=f(xc)
yc=3*xc.^4+4*xc.^3-12*xc.^2+1;
Raspuns:
47.0000 1.4010
Metoda injumatatirii
Pentru intervalul separat se compară semnele funcţiei la stânga f s şi mijloc fm . Dacă au
semne opuse, adica fs*fm < 0 , atunci rădăcină este situată in semiintervalul din stânga
din care cauza intervalul iniţial se micşorează de două ori prin eliminarea semiintervalului
din dreapta. Dacă au aceleaşi semne, adica fs*fm > 0 , atunci se elimină semiintervalului
din stânga. Procesul iterativ de calcul se întrerupe dacă este satisfăcută condiţia | fm |< Ɛ.
ltima valoare a argumentului la mijlocul intervalului xm reprezintă soluţia căutată a
rădăcinii în intervalul separat.
clc;
xs=input('Introdu marginea stanga xs=');
xd=input('Introdu marginea dreapta xd=');
fs=yfx(xs);
fm=1; %Valoarea preventiva |fm|>eps
eps=1e-2; %eroare prescrisa
k=0;
while abs(fm)>eps
k=k+1;
xm=(xs+xd)/2;
fm=yfx(xm);
if fs*fm>0
xs=xm;
fs=fm;
else
xd=xm;
end
end
rez=[k xm];
disp(rez);
function yc=yfx(xc);
% Programarea functiei yc=f(xc)
yc=3*xc.^4+4*xc.^3-12*xc.^2+1;
function dyc=dyfx(xc);
% Programarea derivate functiei yc=f(xc)
dyc=12*xc.^3+12*xc.^2-24*xc.;
Raspuns(1)
Raspuns(2)
b=[-1 2 3 0.5]'
x=[0 0 0 0]'
n=size(x,1);
normVal=Inf;
tol=1e-5; itr=0;
while normVal>tol
x_old=x;
for i=1:n
sigma=0;
for j=1:i-1
sigma=sigma+A(i,j)*x(j);
end
for j=i+1:n
sigma=sigma+A(i,j)*x_old(j);
end
x(i)=(1/A(i,i))*(b(i)-sigma);
end
itr=itr+1;
normVal=norm(x_old-x);
end
%%
Raspuns:
GaussSeidel
A=
5 -2 3 0
-3 9 1 -2
2 -1 -7 1
4 3 -5 7
b=
-1.0000
2.0000
3.0000
0.5000
x=
0
0
0
0
Metoda Jacobi
Aceasta metoda a fost alcatuita de catre matematicianul Carl Gustav
Jacob si are forma de un algoritm iterativ:
%% Jacobi Method
%% Solution of x in Ax=b using
Jacobi Method
normVal>tol
xold=x;
for i=1:n
sigma=0;
for j=1:n
if j~=i
sigma=sigma+A(i,j)*x(j);
end
end
x(i)=(1/A(i,i))*(b(i)-sigma);
end
itr=itr+1;
normVal=abs(xold-x);
end
Raspuns:
Jacobi
A=
5 -2 3 0
-3 9 1 -2
2 -1 -7 1
4 3 -5 7
b=
-1.0000
2.0000
3.0000
0.5000
x=
0
0
0
0
Concluzie:
In urma efectuarii lucrarilor de laborator, am analizat si efectuat calcule in MatLab,
folosind metoda grafica, metoda Gauss, metoda injumatatirii si metoda Newton. In urma
metodelor efectuate am putut observa ca aceste metode sunt foarte intrebate in electrotehnica,
intrucit sunt descries ce sisteme de ecuatii cresc in marime si care scad.