TUCTO CASTILLO WIENER PARMENIDES Problema 01 function media fprintf('media\n'); n=input('num iter:\n'); for i=1:n m=input('valores:\n'); A(i,1)=m; end sum(A/n)
>> media media num iter: 3 valores: 4 valores: 5 valores: 6 ans = 5 >>
Prob no 02 function varianza fprintf('varianza y desviacion estandar:\n'); n=input('num iter:\n'); for i=1:n m=input('ingrese valor:\n'); A(i,1)=m; end p=sum(A)/n r=0;
for i=1:n q=((A(i,1)-p)^2)/n; B(i,1)=q; end fprintf('varianza\n'); sum(B) fprintf('desviacion estandar\n') sqrt(sum(B))
problema no 03 function media fprintf('media\n'); n=input('num iter:\n'); for i=1:n m=input('valores:\n'); A(i,1)=m; end sum(A/n)
fprintf('varianza y desviacion estandar:\n'); n=input('num iter:\n'); for i=1:n m=input('ingrese valor:\n'); A(i,1)=m; end p=sum(A)/n r=0; for i=1:n q=((A(i,1)-p)^2)/n; B(i,1)=q; end fprintf('varianza\n'); sum(B) fprintf('desviacion estandar\n') sqrt(sum(B))
>> media media num iter: 3 valores:
4 valores: 5 valores: 6 ans = 5 >> media media num iter: 16 valores: .15 valores: .4 valores: .6 valores: 1.01 valores: 1.5 valores: 2.2 2.4 valores: valores: 2.7 valores: 2.9 valores: 3.5 valores: 3.8 valores: 4.4 valores: 4.6 valores: 5.1 valores: 6.6 valores:
7.6 ans = 3.0913 >>
Problema no 04 >> minimo minimo cuadrado ingrese num iteracion 10 datos x 4 datos y 5 datos x 5 datos y 6 datos x 2 datos y 4 datos x 5 datos y 5 datos x 6 datos y 7 datos x 7 datos y 10 datos x 1 datos y 3 datos x 8 datos y 11
datos x 3 datos y 4 datos x 7 datos y 9 suma xi w= 48 suma yi k= 64 suma xi^2Cn l= 278 suma xi*yi ans = 20 30 8 25 42 70 3 88 12 63
v= 361
a= 48 278
10 48
b= 64 361 raices de la recta ax+b g= 1.1303 0.9748 la recta o= 3025
coeficiente de correlacion r= 0.9429
>>
Pr ob no 05 .Hallar la recta por método de los mínimos cuadrados que se ajuste mejor al conjunto de datos. Escribir las ecuaciones normales. Xi Yi
4 5
5 6
2 4
CODIGO: function minimosrectas2
5 5
6 7
7 10
1 3
8 11
3 4
7 9
fprintf('Minimos Cuadrados (RECTAS):\n'); A=input('Ingrese los primeros datos:\n'); B=input('ingrese los segundos datos:\n'); n=length(A); m=length(B); Sx=sum(A); Sy=sum(B); for j=1:n P(1,j)=A(1,j)*B(1,j); Q(1,j)=A(1,j)*A(1,j); end my=Sy/n; Sxy=sum(P); Sxx=sum(Q); M=[Sx n;Sxx Sx]; N=[Sy;Sxy]; F=inv(M)*N; a=F(1,1); b=F(2,1); W1=0; W2=0; for i=1:n W1=W1+sum(B(1,i)-(a*A(1,i)+b))^2; W2=W2+sum(B(1,i)-my)^2; end r=sqrt(1-W1/W2); fprintf('LA ECUACION DE LA RECTA ES:\n'); fprintf(' a + b'); fprintf('\n%10.3f%10.3f\n',a,b); fprintf('EL COEFICIENTE DE CORRELACIÓN ES R=%10.5f\n',r);
FUNCIONAMIENTO:
Pr ob no 06
.- Escribir un programa para aproximar por polinomio P(x) de grado k un conjunto de datos por el método de los mínimos cuadrados. Incluir en dicho programa la grafica del polinomio, grafica del conjunto de datos, el coeficiente de correlación dado por n
r 1
Y P( Xi) i
i 1
n
y M i 1
CODIGO:
2
2
, donde M es la media delos Yi.
i
function mincuadradospolinomio x=input('Ingrese el vector de las abscisas\n'); y=input('Ingrese el vector de las ordenadas\n'); n=input('Ingrese el valor de grado del polinomio aproximado\n') for i=0:n coe=(polyfit(log(x),log(y),n))
end x1=x(1):0.01:x(length(x)); for j=1:n p(:,j)=polyval(polyfit(log(x),log(y),n),x1); end plot(x1,p(:,n),x,y,'o'),grid on
FUNCIONAMIENTO:
Pr ob no 08 .- 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 mínimos cuadrados que se ajusten a los datos .Indicar las ecuaciones normales, coeficiente de correlación. CODIGO: clear all, clc; fprintf(' METODO:MINIMOS CUADRADOS PARA FUNCIONES POLINOMIALES\n'); x=input('\nIngrese los valores de x en un vector\n'); y=input('\nIngrese los valores de y en un vector\n'); k=input('\nQue valor del polinomio desea optener\n'); format short, fprintf('\n::::::::::::RESULTADOS:::::::::::::\n'); %calculo de los coeficientes obtenidas con la funcion polyfit pol=polyfit(x,y,k); c=length(pol); % calculo de a y b e imprime la ec. de la recta en string poli=pol(1); coef=num2str(poli); var=[coef,'.x^',num2str(k)]; for i=2:c
poli=pol(i); if poli<0 coef=num2str(poli); expo=k-i+1; var=[var,coef,'.x^',num2str(expo)]; else coef=num2str(poli); expo=k-i+1; var=[var,'+',coef,'.x^',num2str(expo)]; end end, EcPolinomial=var %calculo de el coeficiente de determinacion(r2) y coef de correlacion(r) for i=1:length(x) p=polyval(pol,x(i)); pxi(i)=p; end n=y-pxi; numerador=sum(n.*n); promy=mean(y); d=y-promy; denominador=sum(d.*d); r2=1-(numerador/denominador); r=sqrt(r2); r1=num2str(r,4); CoefCorrelacion=['r=',r1] %grafico de puntos y de la recta a la vez t=['Grafico de Puntos y Ecuacion de la recta ',EcPolinomial]; x1=[min(x):0.1:max(x)]; for i=1:length(x1) p=polyval(pol,x1(i)); pxi(i)=p; end plot(x,y,'ro',x1,pxi,'b'), title(t), grid, xlabel('Valores de X'), ylabel('Valores de Y'), legend(EcPolinomial,CoefCorrelacion,2);
FUNCIONAMIENTO:
c).-Determinar la recta por el método de mínimos cuadrados que se ajusten a los datos. Indicar las ecuaciones normales, coeficiente de correlación. CODIGO: function minimosrectas fprintf('Minimos Cuadrados (RECTAS):\n'); A=input('Ingrese los primeros datos:\n'); B=input('ingrese los segundos datos:\n'); n=length(A); m=length(B); Sx=sum(A); Sy=sum(B); for j=1:n P(1,j)=A(1,j)*B(1,j); Q(1,j)=A(1,j)*A(1,j); end my=Sy/n; Sxy=sum(P); Sxx=sum(Q); M=[Sx n;Sxx Sx]; N=[Sy;Sxy]; F=inv(M)*N;
a=F(1,1); b=F(2,1); W1=0; W2=0; for i=1:n W1=W1+sum(B(1,i)-(a*A(1,i)+b))^2; W2=W2+sum(B(1,i)-my)^2; end r=sqrt(1-W1/W2); fprintf('LA ECUACION DE LA RECTA ES:\n'); fprintf(' a + b'); fprintf('\n%10.3f%10.3f\n',a,b); fprintf('EL COEFICIENTE DE CORRELACIÓN ES R=%10.5f\n',r);
FUNCIONAMIENTO:
Prob no 08 (b) function parabola fprintf('la parabola usando minimos cuadrados'); n=input('ingrese num iteracion\n'); for i=1:n m=input('datos x\n'); A(i,1)=m; p=input('datos y\n'); B(i,1)=p; end e=sum(B)/n; fprintf('suma xi\n'); w=sum(A); fprintf('suma yi\n'); k=sum(B); fprintf('suma xi^2\n'); h=(A*(A')); diag(h); l=sum(diag(h)); fprintf('suma xi*yi\n'); diag(A*B'); v=sum(diag(A*B')) fprintf('suma xi^2*yi\n'); c=sum(diag(diag(h)*B')) fprintf('suma xi^3\n'); diag(h)*(diag(h))'; y=diag(diag(h)*(diag(h))'); sum(y); fprintf('suma xi^4\n'); t=diag(y*y'); sum(t); fprintf('raices de la parabola ax^2+bx+c\n'); a=[l,w,n;sum(y),l,w;sum(t),sum(y),l] b=[k;v;c]; g=inv(a)*b fprintf('la parabola\n'); x=(-10:1:10); y1=g(1,1)*x^2+g(2,1)*x+g(3,1); plot(x,y1) for j=1:n s=( B(i,1)-(g(1,1)*A(i,1)*A(i,1)+g(2,1)*A(i,1)+g(3,1))); u=diag(s*s'); z=(B(i,1)-e);
o=diag(z*z'); end fprintf('coeficiente de correlacion\n') r=sqrt(1-sum(u)/sum(o))