Está en la página 1de 10

LAZARTE AQUINO JUAN F.

PRACTICA DIRIGIDA Nº 4
1.ESCRIBIR UN PROGRAMA QUE CALCULE LA MEDIA DE UN CONJUNTO DE DATOS.
x=input('ingrese los datos como vector:');
size(x);
n=ans(2);
s=sum(x);
fprintf('la media es %f\n',s/n);

2.ESCRIBIR UN PROGRAMA QUE CALCULE LA VARIANZA Y LA DESVIACION


ESTANDAR DE UN CONJUNTO DE DATOS.
x=input('ingrese los datos como vector:');
size(x);
n=ans(2);
s=sum(x);
y=(s/n)*ones(1,n);
v=sum((x-y).^2)/n;
fprintf('la varianza es %f\n',s/n);
fprintf('la varianza es %f\n',v);
fprintf('la desviacion estandar es %f\n',sqrt(v));

3.HALLAR LA MEDIA,VARIANZA Y DESVIACION ESTANDAR DE:


a.Datos xi de la tabla.
b.Datos yi de la tabla.
Usando el programa de 2 obtenemos para los xi.

Usando el mismo programa para los yi.

4.ESCRIBIR UN PROGRAMA PARA APROXIMAR POR UNA RECTA UN CONJUNTO DE


DATOS POR EL METODO DE LOS MINIMOS CUADRADOS INCLUIR LA GARFICA DE LA
RECTA GRAFICA DEL CONJUNTO DE DATOS EL COEFICIENTE DE CORRELACION
DADO(r),ESCOGER r(+) SI LA PENDIENTE DE LA RECTA ES POSITIVO Y r(-) SI
LA PENDIENTE DE LA RECTA ES NEGATIVO.
fprintf('CORRELACION LINEAL y=ax+b\n')
x=input('ingrese los datos de X como vector:');
y=input('ingrese los datos de Y como vector:');
n=length(x);
a=x.*y;b=x.*x;
fprintf(' X Y XY X^2\n')
for i=1:n
plot(x(i),y(i),'.'),title('CORRELACION LENEAL y=ax+b')
hold on
fprintf('%15.6f %10.6f %10.6f %10.6f\n ',x(i),y(i),a(i),b(i))
end
disp('suma=')
fprintf('%15.6f %10.6f %10.6f %10.6f\n
',sum(x),sum(y),sum(x.*y),sum(x.*x))
sy=sum(y);
sx=sum(x);
sxy=sum(x.*y);
sx2=sum(x.*x);
b=(sx*sxy-sy*sx2)/(sx*sx-n*sx2)
a=(sy-b*n)/sx
x1=-10:0.1:10;y1=a*x1+b;plot(x1,y1,'r');
s1=sum((y-(a*x+b*ones(1,n))).^2);
m=sum(y)/n; %media de los yi
s2=sum((y-m*ones(1,n)).^2);
r=sqrt(1-s1/s2)

5.HALLAR POR EL METODO DE LOS MINIMOS CUADRADOS QUE SE AJUSTE MEJOR AL


CONJUNTO DE DATOS.
6.HACER UN PROGRAMA PARA APROXIMAR POR POLINOMIO DE GRADO “k” UN
CONJUNTO DE DATOS POR EL METODO DE MINIMOS CUADRADOS ,INCLUIR EN DICHO
PROGRAMA LA GRAFICA DEL POLINOMIO,GRAFICA DEL CONJUNTO DE DATOS,EL
COEFICIENTE DE CORRELACION “r”.
function minimoscuadrados
fprintf('\nMETODO DE LOS MÍNIMOS CUADRADOS PARA UN POLINOMIO DE GRADO
N\n Y=ax^N + bx^n-1 +...+ gx^0');
x=input('\n Ingrese las abscisas de los puntos:\n');
y=input('Ingrrese las ordenadas de los puntos:\n');
N=input('Ingrese el el grado del polinomio:\n');
n=length(x);
M=zeros(N+1,N+1);
MC=zeros(N+1,1);
for j=1:N+1
for i=1:N+1
k=N+i-j;
x1=x.^k;
M(i,j)=sum(x1);
end
end
for i=0:N
xy=y.*x.^(i);
MC(i+1)=sum(xy);
end
fprintf('LOS COEFICIENTES EN VECTOR COLUMNA SON: a b c ....\n')
A=inv(M)*MC %utilizando el metodo de gauus_gordan
%hallando el coeficinte de correlacion
R=A';
B=zeros(1,n);
M=ones(1,1+N);
for t=1:n;
for p=1:N+1;
M(p)=x(t)^(N+1-p);
B(t)=sum(M.*R);
end
end
sum1=sum((y-B).^2);
med=(sum(y)/n)*ones(1,n);
sum2=sum((y-med).^2);
r=sqrt(1-(sum1)/(sum2))
plot(x,y,'*');hold on;
plot(x,B,'r');

7.OBTENER LA PARABOLA POR EL METODO DE LOS MINIMOS CUADRADOS QUE SE



APROXIME A LA FUNCION   √ EN LOS PUNTOS -1,0 8. ¿Cuáles son las
ecuaciones normales?,¿interprete el coeficiente de correlacion?
El coeficinte de correlacion es igual a 1 entonces los puntos se
ajustan perfectamente a la parábola,es decir pertenecen a la
parábola,como se puede observar en el grafico.

8.CONSIDERE LOS PUNTOS { (-2,3) (-1,6) (0,-5) (1,1) (2,13)}


a.Determinar el polinomio de grado 3 por el método de los minimimos
cuadrados que se ajustan a los datos,indicar las ecuaciones normales
,coeficiente de correlacion.
UTILIZANDO EL PROGRAMA ANTERIOR

b.Determinar la parábola de minimos cuadrados que se ajustan a los


datos,indicar las ecuaciones normales,coeficiente de correlacion.
c.Determinar la recta por el método de los minimos cuadrados que se
ajustan a los datos.Indicar el coeficiente de de correlacion y las
ecuaciones normales.
d.LA ECUACION CUBICA SE AJUSTA PERFECTAMENTE A LOS DATOS SEGUIDA DE LA
PARABOLA QU A LA VEZ ES SEGUIDA DE LA RECTA, YA QUE LOS COEFICIENTES
DE CORRELACION SON 1,0.999166, O.796084 RESPECTIVAMENTE.
9.ESCRIBIR UN PROGRAMA QUE CALCULE EL PRODUCTO DE DOS VECTOES EN
.
fprintf('PRODUCTO ESCALAR Y VECTORIAL DE DOS VECTORES EN R^n\n')
x=input('ingrese 1º vector:\n');
y=input('ingrese 2º vector:\n');
if length(x)==length(y)
a=sqrt(sum(x.*x));
b=sqrt(sum(y.*y));
C=(sum(x.*y))/(a*b);
alfa=acos(C);
fprintf('\nEl angulo que forman es:%f rad \n',alfa)
fprintf('\nEL PRODUCTO ESCALAR ES: %f\n',sum(x.*y))
fprintf('\nEL MODULO DEL PRODUCTO VECTORIAL ES:
%f\n',a*b*sin(alfa))
else
disp('X y Y DEBEN TENER MISMO NUMERO DE ELEMENTOS')
end

10.ESCRIBIR UN PROGRAMA QUE CALCULE LA NORMA DE UN VECTOR EN


.
x=input('ingrese el vector en R^n:\n');
a=sum(x.^2);
fprintf('la norma del vector es: %f\n',sqrt(a))

11.ESCRIBIR UN PROGRAMA QUE CALCULE LA MODA DE UN CONJUNTO DE DATOS.


fprintf('CALCULO DE LA MODA DE UN CONJUNTO DE DATOS\n')
x=input('Ingrese los datos como vector:\n');
y=input('Ingrese las frecuencias como vector:\n');
frec=max(y);
m=min(y);
if frec~=m
for i=1:length(y)
if frec==y(i)
break
end
end
moda=x(i);
fprintf('La Moda es %f de freacuencia %f\n',moda,frec)
elseif frec==m
disp('La Moda no Existe')
end
12.DADO UN NUMERO DE DIAS Y UN DETERMINADO AÑO ENCUENTRE EL DIA MES Y
AÑO AL QUE CORRSPONDE ,SABIENDO QUE ENERO,MARZO,MAYO JULIO,OCTUBRE Y
DICIEMBRE TIENEN 31 DIAS ;ABRIL,JUNIO SETIEMBRE Y NOVIEMBRE TIENEN 30
DIAS Y QUE FEBRERO TIENE 28 Ó 29 DIAS SEGÚN SEA EL AÑO NORMAL O
BISIESTO.
a=input('INGRESE EL AÑO:\n');
n=input('INGRESE EL NUMERO DE DIAS:\n');
if mod(a,4)~=0
if 0<n&n<=31
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n,1,a)
elseif 31<n&n<=59
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-31,2,a)
elseif 59<n&n<=90
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-59,3,a)
elseif 90<n&n<=120
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-90,4,a)
elseif 120<n&n<=151
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-120,5,a)
elseif 151<n&n<=181
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-151,6,a)
elseif 181<n&n<=212
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-181,7,a)
elseif 212<n&n<=243
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-212,8,a)
elseif 243<n&n<=273
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-243,9,a)
elseif 273<n&n<=304
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-273,10,a)
elseif 304<n&n<=334
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-304,11,a)
elseif 334<n&n<=365
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-334,12,a)
end
else
if 0<n&n<=31
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n,1,a)
elseif 31<n&n<=60
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-32,2,a)
elseif 60<n&n<=91
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-60,3,a)
elseif 91<n&n<=121
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-91,4,a)
elseif 121<n&n<=152
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-121,5,a)
elseif 152<n&n<=182
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-152,6,a)
elseif 182<n&n<=213
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-182,7,a)
elseif 213<n&n<=244
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-213,8,a)
elseif 244<n&n<=274
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-244,9,a)
elseif 274<n&n<=305
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-274,10,a)
elseif 305<n&n<=335
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-305,11,a)
elseif 335<n&n<=366
fprintf('la fecha es: %.0f|%.0f|%.0f\n ',n-335,12,a)
end
end

También podría gustarte