PRACTICA DIRIGIDA N 4 1.-PROGRAMA QUE HALLA LA MEDIA disp('PROGRAMA QUE HALLA LA MEDIA DE UN CONJUNTO DE DATOS'); a=input('ingrese como vector los datos : '); s=(sum(a))/length(a); fprintf('\n la media es : %8.8f \n',s) 2.- PROGRAMA QUE HALLA LA VARIANZA Y LA DESVIACION ESTANDAR disp('PROGRAMA QUE HALLA LA VARIANZA Y DESVIACION ESTANDAR DE UN CONJUNTO DE DATOS'); a=input('ingrese como vector los datos : '); M=(sum(a))/length(a); V=(sum((a-M).^2)/length(a)); D=sqrt(V); fprintf('\n la varianza es : %8.8f \n',V); fprintf('\n la desviacion estandar es : %8.8f \n',D); 3.-
A) la media es : 3.09125000 la varianza es : 4.48496094 la desviacion estandar es : 2.11777264 B)
la media es : 7.67403125 la varianza es : 2.34163301 la desviacion estandar es : 1.53023953
4.-PROGRAMA QUE APROXIMA UNA SERIE DE CORDENADAS HALLA LA CORRELACION ,GRAFICA:LA RECTA Y LOS PUNTOS DATOS global a b fprintf('\n MINIMOS CUADRADOS \n'); n=input('ingrese el numero de valores de coordenadas : '); n1=1; for i=1:n a(i)=input('ingrese valor de x : '); b(i)=input('ingrese valor de y : '); end s=0; p=0; for k=1:(2*n1); for i=1:n; s=s+(a(i))^k; end
c(k)=s; s=0; end for k=0:n1; for j=1:n; p=p+((a(j))^k)*b(j); end d(k+1)=p; p=0; end for h=1:(n1+1) for r=1:(n1+1) if (n1+r-h)==0; q(r,h)=n; elseif (n1+r-h)~=0; q(r,h)=c(n1+r-h); end end end for y=1:n1+1; R(y,1)=d(y); end q1=inv(q); h=(q1)*R; y=0; for j=1:(n1+1) syms x y=h(j,1)*x.^(j-1)+y; end ezplot(y);hold on ;plot(a,b,'p'); grid on; M=(sum(b))/length(b); for d=1:n x=a(d); w(d)=eval(y); end; if a(1)>=0 r=sqrt(1-((sum((b-w).^2))/(sum((b-M).^2)))) elseif a(1)<0 r=-sqrt(1-((sum((b-w).^2))/(sum((b-M).^2)))) end fprintf('\n la correlacion es : %8.8f \n',r) y 5.Y=1.1303*X+0.9748 R=0.9429
6.-PROGRAMA QUE APROXIMA POR POLINOMIO DE GRADO N global a b b=0; a=0; h10=0; fprintf('\n MINIMOS CUADRADOS \n'); n=input('ingrese el numero de valores de coordenadas : '); n1=input('ingrese el grado del polinomio al que se desea aproximar : '); for i=1:n a(i)=input('ingrese valor de x : '); b(i)=input('ingrese valor de y : '); end h10=zeros(n+1,3*n1+1); s=0; p=0; for k=1:(2*n1); for i=1:n; s=s+(a(i))^k; end c(k)=s; s=0; end for k=0:n1; for j=1:n; p=p+((a(j))^k)*b(j); end d(k+1)=p; p=0; end for h=1:(n1+1) for r=1:(n1+1) if (n1+r-h)==0; q(r,h)=n; elseif (n1+r-h)~=0; q(r,h)=c(n1+r-h); end end end for y=1:n1+1; R(y,1)=d(y); end q1=inv(q); h=(q1)*R; y=0; for j=1:(n1+1)
syms x y=h(j,1)*x.^((n1+1)-j)+y; end ezplot(y);hold on ;plot(a,b,'p'); grid on; M=(sum(b))/length(b); for d=1:n x=a(d); w(d)=eval(y); end; r=sqrt(1-((sum((b-w).^2))/(sum((b-M).^2)))); fprintf('\n la correlacion es : %8.8f \n',r); for t=1:n h10(t,1)=a(t); h10(t,2)=b(t); end a1=h10(1:n,1); a2=h10(1:n,2); for f=1:(n1); h10(1:n,f+2)=(a1.^(f)).*(a2); h10(n+1,f+2)=sum((a1.^(f)).*(a2)); end for m3=1:(2*n1-1) h10(1:n,m3+n1+2)=(a1.^(m3+1)); h10(n+1,m3+n1+2)=sum((a1.^(m3+1))); end h10(n+1,1)=sum(a1); h10(n+1,2)=sum(a2); fprintf(' x y x*y x^2*y ... x^n*y x^2 x^3 x^4 x^5 ... x^n....x^2n \n') disp(h10) y 7.-
Y= -21/18014398509481984+11/12*x-1/12*x^2 R=1.0000000
8.- LOS DATOS
{(-2,-3),(-1,-6),(0,-5),(1,1),(2,13)}
A) AJUSTAR A UN POLINOMIO DE GRADO ‘3’ Y =-5+10/3*x+5/2*x^2+1/6*x^3 R=1.000000 B) AJUSTAR A UN POLINOMIO DE GRADO ‘2’ Y=-5+39/10*x+5/2*x^2 R=0.99916632 C) AJUSTAR A UN POLINOMIO DE GRADO ‘1’ Y=39/10*x R=0.79608417
D) LA CURVA QUE MEJOR SE AJUSTA ES EL POLINOMIO DE 3 GRADO 9.No entiendo magister lo hize viernes …. 10.disp('PROGRAMA QUE HALLA EL MODULO DE UN VECTOR'); a=input('ingrese como vector los datos : '); S=sqrt(sum(a.^2)) fprintf('\n el modulo el vector es : %8.8f \n',S) clear S a 11.disp('PROGRAMA QUE HALLA LA MODA DE UN CONJUNTO DE DATOS'); a=input('ingrese como vector los datos : '); n=length(a); s=0; for i=1:n for j=1:n p=a(i)==a(j); if p==1; s=s+1; end end c(i)=s; s=0; end moda=max(c) fprintf('\n la moda es : %8.8f \n',moda); clear s p c a 12.disp('PROGRAMA QUE DA LA FECHA CONOCIENDO EL AÑO Y EL DIA ANUAL'); a1=input('ingrese año : '); n1=input('ingrese dia del año : '); p=a1/4; r=eval(int2str(p)) q=(p-r) if q==0; k=1; elseif q~=0 k=0; end if (1<=n1)&(n1<=31); m=1;d=n1; elseif (32<=n1)&(n1<=59+k)
m=2;d=n1-31; elseif (60+k<=n1)&(n1<=90+k); m=3;d=n1-(59+k); elseif (91+k<=n1)&(n1<=120+k); m=4;d=n1-(90+k); elseif (121+k<=n1)&(n1<=151+k); m=5;d=n1-(120+k); elseif (152+k<=n1)&(n1<=181+k); m=6;d=n1-(151+k); elseif (182+k<=n1)&(n1<=212+k); m=7;d=n1-(181+k); elseif (213+k<=n1)&(n1<=243+k); m=8;d=n1-(212+k); elseif (244+k<=n1)&(n1<=273+k); m=9;d=n1-(243+k); elseif (274+k<=n1)&(n1<=304+k); m=10;d=n1-(273+k); elseif (305+k<=n1)&(n1<=334+k) m=11;d=n1-(304+k); elseif (335+k<=n1)&(n1<=365+k) m=12;d=n1-(334+k); end fprintf('\n la fecha es : %2.f / %2.f / %2.f\n',d,m,a1)