Está en la página 1de 15

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 =

>>

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 =

>> 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 10
278 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 4 5 2 5 6 7 1 8 3 7
Yi 5 6 4 5 7 10 3 11 4 9

CODIGO:
function minimosrectas2
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

  Y  P( Xi) 
2
i
r  1 i 1
n , donde M es la media delos Yi.
 y  M 
2
i
i 1

CODIGO:
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))

También podría gustarte