You are on page 1of 5

function vlm = zadatak7 (x,y,kvantil)

if size(x,1)==size(y,1)

n=size(x,1);

a=ones(n,1);

X=[a x];

beta=inv(X'*X)*X'*y;

disp(['visestruki model je y=
',num2str(beta(1)),,num2str(beta(2)),'*x1+',num2str(beta(3)),'*x2+',num2str(beta(4)),'*x3+',num2str(bet
a(5)),'*x4']);

X1=[a x(:,1) x(:,4)];

beta1=inv(X1'*X1)*X1'*y;

disp(['redukovan model je y=
',num2str(beta1(1)),'+',num2str(beta1(2)),'*x1+',num2str(beta1(3)),'*x4.']);

Se=y'*y-beta'*X'*y;

Sb=beta'*X'*y-beta1'*X1'*y;

h=2;

k=size(X,2);

F=(Sb/h)/(Se/(n-(k+1)));

if F > kvantil

disp('koeficijenti beta1 i beta2 su stat znacajni, prihvatamo H1');

else

disp('koeficijenti beta1 i beta2 nisu stat znacajni, prihvatamo H0');

endif

else

disp('niste dobro uneli podatke');

end
endfunction

ZADATAK 8

function kvmodel = zadatak8 (x,y)

if size(x,1)==size(y,1)

plot(x,y,'r*')

hold on

n=size(x,1);

a=ones(n,1);

X=[a x x.^2];

beta=inv(X'*X)*X'*y;

%crtanje

x1=min(x):0.1:max(x);

y1=beta(1)+beta(2)*x1+beta(3)*x1.^2;

plot(x1,y1,'b-')

else

disp('niste dobro uneli podatke');

endif

endfunction

ZADATAK 9

function logmodel = zadatak9 (x,y)

if size(x,1)==size(y,1)

plot(x,y,'r*')
hold on

n=size(x,1);

a=ones(n,1);

X=[a log(x)];

beta=inv(X'*X)*X'*y;

disp(['jednacina log regresije je y= ',num2str(beta(2)),'*ln(x)+',num2str(beta(1))]);

%crtanje logaritma

x1=min(x):0.1:max(x);

y1=beta(2)*log(x1)+beta(1);

plot(x1,y1,'b-')

else

disp('niste dobro uneli podatke');

endif

endfunction

ZADATAK 10

function stepenimodel = zadatak10 (x,y)

if size(x,2)==size(y,2)

plot(x,y,'r*')

hold on

n=size(x,2);

z=log(x);

w=log(y);
zsr=sum(z)/n;

wsr=sum(w)/n;

Szw=z*w'-n*zsr*wsr;

Szz=z*z'-n*zsr^2;

Sww=w*w'-n*wsr^2;

a=Szw/Szz;

c=wsr-a*zsr;

b=exp(c);

disp(['Stepena regresiona kriva je y= ',num2str(b),'*x^',num2str(a)]);

x1=min(x):0.5:max(x);

y1=b*x1.^a;

plot(x1,y1,'b-')

expmodel=[a b];

else

disp('Dimenzije nisu dobre')

end

endfunction

B)

function expmodel = zadatak10b (x,y)

if size(x,2)==size(y,2)

plot(x,y,'r*')

hold on

n=size(x,2);
w=log(y);

xsr=sum(x)/n;

wsr=sum(w)/n;

Sxw=x*w'-n*xsr*wsr;

Sxx=x*x'-n*xsr^2;

Sww=w*w'-n*wsr^2;

a=Sxw/Sxx;

c=wsr-a*xsr;

b=exp(c);

disp(['Eksponencijalna regresiona kriva je y= ',num2str(b),'*e^(',num2str(a),'*x)']);

x1=min(x):0.5:max(x);

y1=b*exp(a*x1);

plot(x1,y1,'b-')

expmodel=[a b];

else

disp('Dimenzije nisu dobre')

end

endfunction

You might also like