Você está na página 1de 23

METODOS NUMERICOS UNHEVAL

Practica no 06
PROBLEMA NO 01

Dado el conjunto de datos

x(i) y(i)
0 4.49
.15 64
0.4 5.12
84
0.6 5.69
31
1 6.28
.01 84
1.5 7.09
89
2.2 7.55
07
2.4 7.51
06
2.7 8.07
56
2.9 7.87
07
3.5 8.24
03
3.8 8.53
03
4.4 8.73
94
4.6 8.99
81
5.1 9.14
50
6.6 9.50
70
METODOS NUMERICOS UNHEVAL

7.6 9.91
15

Se ajusta a la funcion y =bx^a

a) Linealizar y =bx^a y modificar el


programa de minimos cuadrados para
obtener esta funcion.

El programa es:
• clear variables
• disp('APROXIMACION DE DATOS A UNA RECTA')
• x1=input('ingrese datos de x1 : ');
• y1=input('ingrese datos de y1 : ');
• n=length(x1);
• s1=0;s2=0;s3=0;s4=0;
• for i=1:n
• x2(i)=log(x1(i));
• y2(i)=log(y1(i));
• s1=x2(i)*y2(i)+s1;
• s2=s2+x2(i);
• s3=s3+x2(i)*x2(i);
• s4=s4+y2(i);
• end
• S=solve('x*s3+y*s2-s1=0','x*s2+y*n-s4=0');
• a=eval(S.x);b1=eval(S.y);
• b=exp(b1);
• y1=b*x1.^a;x2=log(x1);y2=log(y1);
• l=mat2str(['Y' ' = ' strcat(num2str(b),'*','x^',num2str(a))]);
• subplot(2,1,1);plot(x1,y1);title('escala lineal'),legend(l);
• subplot(2,1,2);plot(x2,y2);title('escala logaritmica'),legend(l)
• fprintf('La exponencial b*x^a que se ajusta a los datos es : %s
\n',l)

a) Hacer en la misma pantalla grafica de la


funcion en el plano xy y la grafica en el plano
log(x)log(y).

Las graficas son :


METODOS NUMERICOS UNHEVAL

PROBLEMA NO 02

2.-Si una poblacion tiene un crecimiento


logistico y no puede superar la cantidad de
1000 individuos entonces el numero P de
individuos t viene dado por:

Aproximar mediante el metodo de


minimos cuadrados con linealizacion el valor
de A y C para los siguientes datos.

x 0 1 2 3 4
METODOS NUMERICOS UNHEVAL

Y 20 40 65 85 95
0 0 0 0 0

Para ello se hizo una codificacion en matlab que es :


• clear variables
• disp('APROXIMACION DE DATOS A ')
• x1=input('ingrese datos de x1 : ');
• y1=input('ingrese datos de y1 : ');
• n=length(x1);
• s1=0;s2=0;s3=0;s4=0;
• for i=1:n
• y(i)=log((1000/y1(i))-1);
• s1=x1(i)*y(i)+s1;
• s2=s2+x1(i);
• s3=s3+x1(i)^2;
• s4=s4+y(i);
• end
• S=solve('x*s3+y*s2-s1=0','x*s2+y*n-s4=0');
• a=eval(S.x);b1=eval(S.y);
• b=exp(b1);
• l=mat2str(['P(t)' ' = '
strcat('1000/','(','1+',num2str(b),'e','^','(',num2str(a),'t',')',')')]);
• x=linspace(0,4,200);
• for i=1:length(x)
• y(i)=1000/(1+4.3018*exp(-1.0802*x(i)));
• end
• plot(x1,y1,'*',x,y);legend('datos',l);
• fprintf('La exponencial b*x^a que se ajusta a los datos es : %s
\n',l)
METODOS NUMERICOS UNHEVAL

PROBLEMA NO 03

- En un curso determinado se selecciono


una muestra representativa de 12
alumnos varones y se registro sus alturas
(x) en metros y sus pesos (y) en kilos que
se indica en la siguiente tabla.

X 1. 1 1 1. 1 1 1 1 1. 1 1 1
7 .68 .86 6 .68 .55 .62 .68 7 .65 .82 .56
y 7 65 82 5 63 65 58 70 6 62 76 60
2 8 9

a)construir la nube de puntos.

En el comando window escribimos:


x =[1.7 1.68 1.86 1.6 1.68 1.55 1.62 1.68 1.7 1.65 1.82 1.56]
y =[72 65 82 58 63 65 58 70 69 62 76 60]
plot(x,y,'*')

b )Determinar la linea de regresion de y sobre x


METODOS NUMERICOS UNHEVAL

ejecuntando en el command window

>> recta

APROXIMACION DE DATOS A UNA RECTA

ingrese datos de x1 : [1.7 1.68 1.86 1.6 1.68 1.55 1.62


1.68 1.7 1.65 1.82 1.56]

ingrese datos de y1 : [72 65 82 58 63 65 58 70 69 62


76 60]

La recta que mas se ajusta a los datos es : y =


69.5882x-49.8935

El coheficiente de correlacion es : r= 0.872312

>>

b)Calcular el coheficiente de correlacion.


Rpta : : r= 0.872312

c) Calcular el peso estimado para alumnos de


1.75 m.

Remplazamos x=1.75 en : 69.5882x-49.8935

Rpta : 71.8858

d)Calcular el error estandar de desviacion de


estimacion de la regresion. y=ax+b si se sabe

que :

Se hizo codificacion en matlab :

• clear variables
METODOS NUMERICOS UNHEVAL

• disp('CALCULO DE ERROR ESTANDAR DE DESVIACION')


• x=input('ingrese datos de x :');
• y=input('ingrese datos de y :');
• n=length(x);
• s1=sum(x.*y);
• s2=sum(x);
• s3=sum(x.^2);
• s4=sum(y);
• S=solve('x*s3+y*s2-s1=0','x*s2+y*n-s4=0');
• a=eval(S.x);b=eval(S.y);
• y1=polyval([a b],x);
• s=sqrt((sum(y1.^2)-b*sum(y1)-a*sum(x.*y1))/n);
• fprintf('el error estandar de desviacion es : %g \n',s)

ejemplo

>> error

CALCULO DE ERROR ESTANDAR DE DESVIACION

ingrese datos de x :[1.7 1.68 1.86 1.6 1.68 1.55 1.62


1.68 1.7 1.65 1.82 1.56]

ingrese datos de y :[72 65 82 58 63 65 58 70 69 62 76


60]

el error estandar de desviacion es : 0

>>

PROBLEMA NO 04

.- hallar la curva que mejor que desribe


mejor al conjuntos de datos:

x 1 2 3 4 5 6 7 8
0 0 0 0 0 0 0 0
y 3 3 4 4 5 5 6 8
0 6 0 8 0 4 6 8
METODOS NUMERICOS UNHEVAL

Para ello aproximamos los datos por el método de


minimos cuadrados a una recta,parabola ,cubica
,cuarta. Y la que tiene coheficiente de correlacion
mas proximo a uno esa es la que mas se ajusta.

Polinomio de grado 1(recta)

>> polinomio

APROXIMACION DE DATOS A UN POLINOMIO DE


GRADO K

ingrese grado del polinomio : 1

ingrese datos de x1 : [10 20 30 40 50 60 70 80]

ingrese datos de y1 : [30 36 40 48 50 54 66 68]

el polinomio es : 0.54762x^1+24.3571

el coheficiente de correlacion es : 0.988884

polinomio de grado 2

>> polinomio

APROXIMACION DE DATOS A UN POLINOMIO DE


GRADO K

ingrese grado del polinomio : 2

ingrese datos de x1 : [10 20 30 40 50 60 70 80]

ingrese datos de y1 : [30 36 40 48 50 54 66 68]

el polinomio es :
0.00095238x^2+0.4619x^1+25.7857

el coheficiente de correlacion es : 0.989482

polinomio de grado 3
METODOS NUMERICOS UNHEVAL

>> polinomio

APROXIMACION DE DATOS A UN POLINOMIO DE


GRADO K

ingrese grado del polinomio : 3

ingrese datos de x1 : [10 20 30 40 50 60 70 80]

ingrese datos de y1 : [30 36 40 48 50 54 66 68]

el polinomio es : 3.0303e-005x^3-
0.0031385x^2+0.61797x^1+24.2857

el coheficiente de correlacion es : 0.989696

polinomio de grado 4

>> polinomio

APROXIMACION DE DATOS A UN POLINOMIO DE


GRADO K

ingrese grado del polinomio : 4

ingrese datos de x1 : [10 20 30 40 50 60 70 80]

ingrese datos de y1 : [30 36 40 48 50 54 66 68]

Warning: Matrix is close to singular or badly scaled.

Results may be inaccurate. RCOND =


1.601571e-017.

> In polinomio at 19

el polinomio es : -3.7879e-006x^4+0.00071212x^3-
0.044318x^2+1.5628x^1+17.8571

el coheficiente de correlacion es : 0.990714


METODOS NUMERICOS UNHEVAL

polinomio de grado 5

>> polinomio

APROXIMACION DE DATOS A UN POLINOMIO DE


GRADO K

ingrese grado del polinomio : 5

ingrese datos de x1 : [10 20 30 40 50 60 70 80]

ingrese datos de y1 : [30 36 40 48 50 54 66 68]

Warning: Matrix is close to singular or badly scaled.

Results may be inaccurate. RCOND =


5.494632e-022.

> In polinomio at 19

el polinomio es : -5e-007x^5+0.00010871x^4-
0.0086212x^3+0.30443x^2-4.1132x^1+48.5

el coheficiente de correlacion es : 0.995071

polinomio de grado 6

>> polinomio

APROXIMACION DE DATOS A UN POLINOMIO DE


GRADO K

ingrese grado del polinomio : 6

ingrese datos de x1 : [10 20 30 40 50 60 70 80]

ingrese datos de y1 : [30 36 40 48 50 54 66 68]

Warning: Matrix is close to singular or badly scaled.

Results may be inaccurate. RCOND =


1.176004e-026.
METODOS NUMERICOS UNHEVAL

> In polinomio at 19

el polinomio es : -3.8889e-008x^6+1e-005x^5-
0.0010014x^4+0.049447x^3-
1.2536x^2+15.7477x^1-42.5

el coheficiente de correlacion es : 0.999694

polinomio de grado 7

>> polinomio

APROXIMACION DE DATOS A UN POLINOMIO DE


GRADO K

ingrese grado del polinomio : 7

ingrese datos de x1 : [10 20 30 40 50 60 70 80]

ingrese datos de y1 : [30 36 40 48 50 54 66 68]

Warning: Matrix is close to singular or badly


scaled.

Results may be inaccurate. RCOND =


1.171755e-031.

> In polinomio at 19

el polinomio es : 1.0317e-009x^7-3.6389e-
007x^6+5.1806e-005x^5-
0.0038264x^4+0.15671x^3-
3.5137x^2+39.8096x^1-140.0003

el coheficiente de correlacion es : 1

>>

Viendo los coeficientes de correlacion ,el polinomio


que mas se ajusta a los datos es de grado 7, cuyo r=1,
METODOS NUMERICOS UNHEVAL

PROB NO 05

.- sean u,v vectores tal que m=length(u),


n=length(v) , entonces w=conve(u,v) , es un
vector de m+n-1 elementos cuyo k esimo
elemento es :

PROB NO 07

.-calcular w=conv(u,v), si u=1 ,v=[1 -2]


>>u=1,v=[1 -2],w=conv(u,v)

u=

v=

1 -2

w=

1 -2

PROB NO 08

.-si x=[1 2 3]. Como interpreta en el matlab


poly(x(1)),poly(x(2)),poly(x(3)).
>> x=[1 2 3],poly(x(1))

x=
METODOS NUMERICOS UNHEVAL

1 2 3

ans =

1 -1

>>

Poly(x(1)) , te genera un vector que representa a un


polinomio cuya raíz única es x(1), o sea 1 y el
polinomio es : x-1=0

PROB NO 09

. escribir el programa para hallar los


coeficientes del polinomio de lagrange
siguiente.
• Function pollylagrange

• x=input('ingresa el vector de las abcisas x= \n');


• y=input('ingresa el vector de las ordenadas y= \n');
• w=length(x);
• n=w-1;
• L=zeros(w,w);
• for k=1:n+1
• v=1;
• for j=1:n+1
• if not(k==j)
• v=conv(v,poly(x(j)))/(x(k)-x(j));
• end
• end
• L(k,:)=v;
• end
• C=y*L

PROB NO 10
.- dado el conjunto de datos .

x 0 1 2 3 4 5
y 0 2 6 6 7 11
METODOS NUMERICOS UNHEVAL

0 0 8 7 0

a.)hallar los polinomios de grado 1,2,3,4,

polinomio de lagrange de grado 5


C=

-0.7917 11.4583 -57.6250 114.5417 -47.5833 0

5 4
3 2
P5(X) = -0.7917 X +11.4583X -57.6250X +114.5417X
-47.5833 X

polinomio de grado 4
C=

3.5417 -29.9167 74.9583 -28.5833 0

4 3
2
P4(X)= 3.5417X -29.9167X + 74.9583X -28.5833X
0

Polinomio de grado 3
C=

-8.6667 36.0000 -7.3333 0

3 2
P3(X)= -8.6667X 36.0000X -7.3333X

Polinomio de lagrange de grado 2


METODOS NUMERICOS UNHEVAL

C=

10 10 0

2
P2(X)= 10X + 10X

Polinomio de lagrange de grado 1


C=

20 0

P1(X)=20X

b.)graficar los polinomios de grado 1,2,3,4,5

Polinomio de lagrange de grado 1


P1(X)=20X
METODOS NUMERICOS UNHEVAL

Polinomio de lagrange de grado 2


2
P2(X)= 10X + 10X
METODOS NUMERICOS UNHEVAL

Polinomio de grado 3
3 2
P3(X)= -8.6667X 36.0000X -7.3333X
METODOS NUMERICOS UNHEVAL

polinomio de grado 4
4 3 2
P4(X)= 3.5417X -29.9167X + 74.9583X -28.5833X
0
METODOS NUMERICOS UNHEVAL

polinomio de lagrange de grado 5


5 4 3
2
P5(X) = -0.7917 X +11.4583X -57.6250X +114.5417X
-47.5833 X
METODOS NUMERICOS UNHEVAL

¿cual de estos se aproxima me?

PROB NO 11

.-sea calcular el polinomio de grado


1,con nodo en x=0 ,x=0.5,
>> prue

ingrese los valores de x : [0 0.5]

ingrese los valores de y : exp(x)

C=
METODOS NUMERICOS UNHEVAL

1.2974 1.0000

P1(X)= 1.2974X + 1

Manualmente y luego calcule usando el


programa interpreta como funciona el
programa

PROB NO 12

.- sea

a) hallar polinomio de lagrange de grado


1,con nodos x=0 , x=0.5 , y aproxime f(0.25)
usando este polinomio.
>> prue

ingrese los valores de x : [0 0.5]

ingrese los valores de y : exp(x)

C=

1.2974 1.0000

P1(X)= 1.2974X + 1

P1(0.25) = 1.3244

b)hallar el polinomio de lagrange de grado 1, con


nodos x=0 , x=1 , x=2 , y aproxime f(0.25) usando
este polinomio.

>> prue
METODOS NUMERICOS UNHEVAL

ingrese los valores de x : [0 1 2]

ingrese los valores de y : exp(x)

C=

1.4762 0.2420 1.0000

2
P2(X)= 1.4762X + 0.242X +1

P2(0.25)= 1.1528

c)¿Cuál polinomio es la mejor aproximación para


f(0.25)?

f(0.25) – P1(0.25) =-0.0403

f(0.25) -- P2(0.25) = 0.1313

el polinomio cuyo f(0.25) -- P2(0.25) se aproxima mas cero


ese polinomio es la mejor aproximación.

d)graficar los polinomios.

• x=linspace(0,3,50);
• subplot(1,3,1),plot(x,polyval([1.2974
1],x)),title('y1=1.2974x+1')
• subplot(1,3,2),plot(x,polyval([1.4762 0.2420
1],x)),title('y2=1.4762x^2+0.242+1')
• subplot(1,3,3),y=exp(x);plot(x,y),title('f(x)=e^x')
METODOS NUMERICOS UNHEVAL

PROB NO 13

.- este programa también permite calcular


los coeficientes del polinomio de lagrange
.
• clear variables
• x=input('ingrese los valores de x : ');
• y=input('ingrese los valores de y : ');
• n=length(x);
• for i=1:n
• A(:,i)=x.^(n-i);
• end
• x1=inv(A)*y';
• C=x1'

Você também pode gostar