Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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)
>> 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
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))