Sunteți pe pagina 1din 11

Metode numerice în ingineria electrică

Prelucrarea datelor experimentale prin modelare matematicǎ – Aplicaţii 1

Realizaţi următoarele aplicaţii în Matlab.


Aplicaţie laborator 1
Datorită perioadelor lungi de exploatare a maşinilor unelte, acestea se decalibrează, ceea ce conduce la
realizarea de piese neconforme. Următorul tabel prezintă abaterile dimensionale în funcţie de numărul de ore de
funcţionare a maşinii. Să se determine dreapta de regresie, calculând parametrii modelării
Ore de funcţionare 30 33 34 35 39 44 45
(h)
Abateri dimensionale 1.10 1.21 1.25 1.23 1.30 1.40 1.42
(mm)

Listing program
%Regresia liniara - Metoda celor mai mici patrate
function [a,b,mx,my,R]=regresialiniara(x,y)

%Calculul sumelor
n=length(x);
Sumax=sum(x);
Sumaxx=sum(x.^2);
Sumaxy=sum(x.*y);
Sumay=sum(y);

%Rezolvarea matriceala a sistemului

M=[Sumaxx Sumax;...
Sumax n];

T=[Sumaxy;...
Sumay];

X=inv(M)*T;
a=X(1);
b=X(2);

mx=Sumax/n;
my=Sumay/n;
Sx=sqrt(sum((x-mx).^2)/n);
Sy=sqrt(sum((y-my).^2)/n);
R=sum((x-mx).*(y-my))/(n*Sx*Sy);

%Regresia liniara - fisier sursa


clear all, clc
Metode numerice în ingineria electrică

%Datele experimentale
x=[30 33 34 35 39 44 45];
y=[1.10 1.21 1.25 1.23 1.30 1.40 1.42];

[a,b,mx,my,R]=regresialiniara(x,y)

%Rep datelor si a dreptei de regresie


figure; scatter(x,y, 'r');
xlabel('x');
ylabel('y'); hold on
plot(x,a*x+b);
legend('Datele experimentale', 'Dreapta de regresie')

a=

0.0192

b=

0.5605

mx =

37.1429

my =

1.2729

R=

0.9793
Metode numerice în ingineria electrică

>>

Aplicaţie laborator 2
Următorul tabel prezintă profiturile unei companii din ultimii şase ani. Să se determine parabola de regresie şi
parametrii modelării
Anul 2007 2008 2009 2010 2011 2012
Profitul (103 $) 236 214 207 250 300 375

Listing program Matlab


%Parabola de regresie
function [a,b,c,mx,my,R]=parabola(x,y)

%Calculul sumelor
n=length(x);
Sumax=sum(x);
Sumaxx=sum(x.^2);
Sumaxxx=sum(x.^3);
Sumaxxxx=sum(x.^4);

Sumayx=sum(y.*x);
Metode numerice în ingineria electrică

Sumayxx=sum(y.*x.^2);
Sumay=sum(y);

%Rezolvarea matriceala a sistemului

M=[Sumaxxxx Sumaxxx Sumaxx;...


Sumaxxx Sumaxx Sumax;...
Sumaxx Sumax n];

T=[Sumayxx;...
Sumayx;...
Sumay];

X=inv(M)*T;

a=X(1);
b=X(2);
c=X(3);

mx=Sumax/n;
my=Sumay/n;
Sx=sqrt(sum((x-mx).^2)/n);
Sy=sqrt(sum((y-my).^2)/n);
R=sum((x-mx).*(y-my))/(n*Sx*Sy);

%Parabola - fisier sursa


clear all, clc

%Datele experimentale
x=[2007 2008 2009 2010];
y=[236 214 207 250];

[a,b,c,mx,my,R]=parabola(x,y)

%Rep datelor si a parabolei de regresie


figure; scatter(x,y, 'r');
xlabel('x');
ylabel('y'); hold on
plot(x,a*x.^2+b*x+c);
legend('Datele experimentale', 'Parabola de
regresie')

a=

16.2405
Metode numerice în ingineria electrică

b=

-6.4558e+04

c=

6.5509e+07

mx =

2.0085e+03

my =

226.7500

R=

0.2280

Aplicaţie laborator 3
Următorul tabel prezintă veniturile realizate din vanzarea de îngheţată în funcţie de temperatura de afară. Să se
reprezinte grafic datele şi să se realizeze un tip de modelare optim, calculând parametrii modelării

Temp (oC) Venituri (10 RON)


18.33 20
20 22
18.88 21
23.8 23
27 25
Metode numerice în ingineria electrică

24.4 26
29.4 30
32 35
26.6 26
23.3 24
22.7 20
25 18
20 19
17.8 20

Listing program Matlab


%Parabola de regresie
function [a,b,c,mx,my,R]=parabola(x,y)

%Calculul sumelor
n=length(x);
Sumax=sum(x);
Sumaxx=sum(x.^2);
Sumaxxx=sum(x.^3);
Sumaxxxx=sum(x.^4);

Sumayx=sum(y.*x);
Sumayxx=sum(y.*x.^2);
Sumay=sum(y);

%Rezolvarea matriceala a sistemului


M=[Sumaxxxx Sumaxxx Sumaxx;...
Sumaxxx Sumaxx Sumax;...
Sumaxx Sumax n];

T=[Sumayxx;...
Sumayx;...
Sumay];

X=inv(M)*T;

a=X(1);
b=X(2);
c=X(3);

mx=Sumax/n;
my=Sumay/n;
Sx=sqrt(sum((x-mx).^2)/n);
Metode numerice în ingineria electrică

Sy=sqrt(sum((y-my).^2)/n);
R=sum((x-mx).*(y-my))/(n*Sx*Sy);

%Parabola - fisier sursa


clear all, clc

%Datele experimentale
x=[18.33 20 18.88 23.8 27 24.4 29.4 32 26.6 23.3 22.7 25
20 17.8];
y=[20 22 21 23 25 26 30 35 26 24 20 18 19 20];

[a,b,c,mx,my,R]=parabola(x,y)

%Rep datelor si a parabolei de regresie


figure; scatter(x,y, 'r');
xlabel('x');
ylabel('y'); hold on
plot(x,a*x.^2+b*x+c);
legend('Datele experimentale', 'Parabola de regresie')

a=

0.0887

b=

-3.4037

c=

52.9752

mx =

23.5150
Metode numerice în ingineria electrică

my =

23.5000

R=

0.8299

Aplicaţie laborator 4
Să se realizeze o aplicaţie pentru modelarea exponenţială a datelor următoare, calculând parametrii modelării.
x -1.3 -0.8 2 3.3
y e/3 e/2 e 2e

Listing program Matlab


Metode numerice în ingineria electrică

%Regresia liniara - Metoda celor mai mici patrate


function [a,b,mx,my,R]=regresialiniara(x,y)

%Calculul sumelor
n=length(x);
Sumax=sum(x);
Sumaxx=sum(x.^2);
Sumaxy=sum(x.*y);
Sumay=sum(y);

%Rezolvarea matriceala a sistemului

M=[Sumaxx Sumax;...
Sumax n];

T=[Sumaxy;...
Sumay];

X=inv(M)*T;
a=X(1);
b=X(2);

mx=Sumax/n;
my=Sumay/n;
Sx=sqrt(sum((x-mx).^2)/n);
Sy=sqrt(sum((y-my).^2)/n);
R=sum((x-mx).*(y-my))/(n*Sx*Sy);

%Regresia liniara - fisier sursa


clear all, clc

%Datele experimentale
e=2.71828182846;
x=[-1.3 -0.8 2 3.3];
y=[e/3 e/2 e 2*e];

[a,b,mx,my,R]=regresialiniara(x,y)

%Rep datelor si a dreptei de regresie


figure; scatter(x,y, 'r');
xlabel('x');
ylabel('y'); hold on
plot(x,a*x+b);
legend('Datele experimentale', 'Dreapta de regresie')

a=

0.8715
Metode numerice în ingineria electrică

b=

1.9078

mx =

0.8000

my =

2.6050

R=

0.9450
Metode numerice în ingineria electrică

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