Está en la página 1de 4

PMS

clear all
clc
n=input ( ' Digite el numero de datos: ');
for i=1:n
x(i)= input(' Digite los valores del consumo: ');
end
display(x);

periodo=input ( ' Digite el periodo: ');


p=periodo;
k=1;
while (p<=n)
sum=0;
for i= k: p
sum= sum+ x(i);
end
pronostico(k)=sum/periodo;
k=k+1;
p=p+1;
end

display(pronostico)
fprintf (' El valor pronosticado es: %d', pronostico(k-1) );

PMP

clear all
clc
n=input ( ' Digite el numero de datos: ');

for i=1:n
x(i)= input(' Digite los valores del consumo: '); %Datos del vector
end
display(x);

periodo=input ( ' Digite el periodo: ');

for i=1:periodo
peso(i) =input ( ' Digite las ponderaciones: '); %ponderaciones
end

display(peso)

p=periodo;
k=1;
while (p<=n)
sum=0;
j=1;
for i= k: p
sum= sum+ x(i)*peso(j);
j=j+1;
end
pronostico(k)=sum;
k=k+1;
p=p+1;
end

display(pronostico)
fprintf (' El valor pronosticado es: %d', pronostico(k-1) );

EXPONENCIAL SIMPLE

clear all
clc
n=input ( ' Digite el numero de datos: ');

for i=1:n
d(i)= input(' Digite los valores de la demanda: '); %Datos del vector
end
display(d);

alfa=input ( ' Digite la constante de suavizacin: ');


p(1)== d(1);

for i= 1: n;
p(i+1)= d(i)+ alfa*( d(i)-p(i));
end

fprintf (' El valor pronosticado es: %d', p(n+1) );

SUAVIZACIN EXPONENCIAL DOBLE


clc
clear
t = input(Digite el nmero de perodos: );
k= input(Digite el nmero de valores que desea pronosticar: );
a= input(Digite el valor de la constante de suavizacin: );
b= input(Digite el valor de la constante de tendencia: );

for i=1:t-,
D(i)=input(Digite el valor de la demanda: );
end

for i=1:t;
F(i) = 1;
S(i)=1;
T(i)=1;
end

F(1)=D(1) ;
S(1)=D(1) ;
T(1)=(D(t)-D(1))/(t-1) ;
for i=2:t
F(i)= S(i-1)+k*T(i-1);
S(i)= F(i) + a*(D(i)-F(i));
T(i)=T(i-1) + b*(F(i) F(i-1) - T(i-1));
end

F(t+k)= S(t)+k*T(t);

fprintf =(El valor del pronstico es: );


F(t+k)

Regresin Lineal en Matlab


clear all;
clc;
fprintf('Metodo de Regresion Lineal \n\n');
n=input('Numero de puntos: ');

for i=1:n
x(1,i)=input('dame los valores de x: ');
end

for i=1:n
y(1,i)=input('dame los valores de y: ');
end
% se nota extrao pero asi se mostraran los resultados
%en forma de Vector.
x
y

plot(x,y)
grid
xlabel('x');ylabel('y')
pause
a=0;
for i=1:n
a=a+x(1,i)*y(1,i);
end

b=0;
for i=1:n
b=b+x(1,i)*x(1,i);
end

c=0;
for i=1:n
c=c+x(1,i);
end

e=0;
for i=1:n
e=e+y(1,i);
end

d=0;
d=c/n;
f=0;
f=e/n;
a1=(n*a-c*e)/(n*b-c*c);
a0=f-a1*d;
clc;
fprintf('Ecuacion con la que se encuentran los nuevos valores de y
\n\n');
fprintf(' y = %d + %d x',a0,a1);

for i=1:n
y(1,i)=a0+a1*x(1,i);
end
fprintf('\n\nPresiona enter para ver la nueva grafica\n\n');
pause
%Grafica con los Datos Ajustados
plot(x,y)
grid
xlabel('x');ylabel('y')
pause

También podría gustarte