Вы находитесь на странице: 1из 6

UNIVERSIDAD DE CONCEPCION

FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS

DEPARTAMENTO DE INGENIERIA MATEMATICA

Clculo Numrico (521230) a e


Laboratorio 5 Cuadrados m nimos
El objetivo de este laboratorio es aprender tcnicas de cuadrados m e nimos para la determinacin de o parmetros en modelos. a

1. Considere el problema de ajustar por cuadrados m nimos un polinomio de grado n a un conjunto de valores medidos de una funcin en m + 1 puntos equiespaciados del intervalo [0, 1]: o ti = ih, i = 0 . . . , m, donde h = 1 . m

(a) Haga un programa function que construya la matriz rectangular del problema para valores cualesquiera de m y n. Sugerencia: A n de poder evaluar ms fcilmente el polinomio obtenido con el comando Mata a lab polyval (vea como se utiliza este comando con el help de Matlab), resulta conveniente acomodar los coecientes del polinomio en un vector c de longitud n + 1 tal que p(x) = c1 xn + cn x + cn+1 . (b) Verique que el n mero de condicin de la matriz B del sistema de ecuaciones normales u o correspondiente crece signicativamente con n. (c) Fije los valores m = 10 y n = 5 y haga un programa que realice lo siguiente: i. ii. iii. iv. Calcule la factorizacin QR de la matriz A mediante el comando qr. o Verique que las columnas de Q son vectores ortonormales. Determine el rango de R y observe que la matriz es rectangular y triangular superior. Construya a partir de Q y R las matrices Q1 Rmn y R1 Rnn de la factorizacin o reducida A = Q1 R1 . Verique que se cumple esta relacin. o v. Verique que cond2 (R) = cond2 (B), donde B es la matriz del sistema de ecuaciones normales calculada en (b). vi. Compare la matriz R de la factorizacin de Cholesky de B con la matriz R1 . Indique y o justique lo que observe.

(d) Para cada una de las siguientes funciones, determine el polinomio de grado 5 que mejor ajusta sus valores en los puntos ti anteriores, para m = 10: i. f (t) = et ; ii. g(t) = sen t, con errores aleatorios de tama o mximo 0.05. n a Dibuje en cada caso en un mismo graco, los valores ajustados, el polinomio obtenido y la funcin dada (en el caso de g(t), sin incluir los errores aleatorios). o

2. El archivo CO2.mat (bjelo de la pgina web del curso) contiene valores promedios mensuales de a a la concentracin de dixido de carbono en el aire (en partes por milln), obtenidos a partir de o o o mediciones realizadas en una estacin atmsferica entre enero de 2003 y diciembre de 2006. o o Esta concentracin puede modelarse mediante la expresin o o c(t) = A + Bet + C cos 2t 2t + D sen , 12 12

donde t es el tiempo medido en meses (t = 1 para enero del 2003, t = 2 para febrero, etc.). El trmino Bet indica una tendencia creciente de esta concentracin (proveniente del consumo e o creciente de hidrocarburos), con una constante = 0.0037 que se ha determinado por otros medios. clico (estacional) de Por su parte, los trminos C cos 2t + D sen 2t describen el comportamiento c e 12 12 esa concentracin. o (a) Determine los valores de las constantes A, B, C y D que mejor ajustan el modelo anterior a la tabla dada. (b) Dibuje en un mismo graco los valores medidos y el modelo ajustado. (c) Utilice el modelo para estimar la concentracin de CO2 del mes actual. o

3. El archivo circulo.mat (bjelo de la pgina web del curso) contiene valores medidos xi e yi (en un a a sistema de coordenadas rectangulares) del plano de una pieza mecnica circular. a (a) Determine el radio de la pieza a partir de esas mediciones. (b) Dibuje en un mismo graco los valores medidos y la circunferencia obtenida. Sugerencia: Sean r el radio de la circunferencia y (a, b) las coordenadas de su centro, ambos a determinar. Para cada punto (xi , yi ) de la circunferencia se tiene que (xi a)2 + (yi b)2 = r2 y, por lo tanto,
2 2xi a + 2yi b + (r2 a2 b2 ) = x2 + yi . i

Sea c = (r2 a2 b2 ). Se trata de determinar los valores de a, b y c que resuelven el problema en el sentido de los cuadrados m nimos. 4. El archivo rango.mat (bjelo de la pgina web del curso) contiene valores medidos de dos magnia a tudes t e y. Se quiere modelar la dependencia de y respecto de t del siguiente modo: y(t) = A + B sen2 t + C cos2 t. (a) Determine valores de los parmetros A, B y C para que la curva ajuste las mediciones. a (b) Busque una explicacin a la advertencia que da Matlab y modique el modelo para evitar o eso. (c) Dibuje en un mismo graco los valores medidos y el modelo ajustado. RAD/GBG/RBP/MCP/RRS/RRA/MSC http://www.ing-mat.udec.cl/pregrado/asignaturas/521230/

Laboratorio 5 Soluciones propuestas


1. Ej. 1. File Aj Pol.m : function A=Aj_Pol(m,n) h=1/m; t=(0:h:1); A=[ones(m+1,1)]; for j=1:n A=[t.^j A]; end

File Ejer5 1.m :

m=10; n=5; A=Aj_Pol(m,n); B=A*A; cond_B=cond(B) [Q,R]=qr(A); err_ort=norm(Q*Q-eye(m+1),inf) r=rank(R) R1=R(1:r,1:r); Q1=Q(:,1:r); cond_R=cond(R1) sqrt_cond_B=sqrt(cond_B) err_QR=norm(A-Q1*R1,inf) h=1/m; t=(0:h:1); b=exp(t); c=A\b; tt=0:.01:1; plot(t,b,o,tt,polyval(c,tt),-,tt,exp(tt),b--) b=sin(pi*t)+0.05*(2*rand(m+1,1)-1); c=A\b; figure plot(t,b,o,tt,polyval(c,tt),-,tt,sin(pi*tt),b--)

Salida: >> Ejer5_1 cond_B = 9.8482e+06 err_ort = 1.0153e-15 r = 6 cond_R = 3.1382e+03 sqrt_cond_B = 3.1382e+03 err_QR = 6.7047e-16

1.4

2.8

1.2

2.6 1 2.4 0.8

2.2

0.6

1.8

0.4

1.6 0.2 1.4 0

1.2

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

0.2

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

2. Ej. 2. File Ejer5 2.m :

load CO2 m=length(c); alfa=0.0037; t=(1:m); M=[ones(m,1) exp(alfa*t) cos(2*pi*t/12) sin(2*pi*t/12)]; x=M\c tt=0:.1:60; mod=x(1)+x(2)*exp(alfa*tt)+x(3)*cos(2*pi*tt/12)+x(4)*sin(2*pi*tt/12); plot(t,c,o,tt,mod,-)

Salida:
360

350

340

>> Ejer5_2 x = 312.9169 11.8502 23.3649 -21.5125

330

320

310

300

290

10

20

30

40

50

60

70

3. Ej. 3. File Ejer5 3.m :

load circulo m=length(x); A=[2*x 2*y ones(m,1)]; b=x.*x+y.*y; p=A\b r=sqrt(p(3)+p(2)^2+p(1)^2) tt=0:.01:2*pi; xx=p(1)+r*cos(tt); yy=p(2)+r*sin(tt); plot(x,y,x,xx,yy,-)

Salida:
1.5

>> Ejer5_3 p = 0.1888 -0.1330 2.5805 r = 1.6229

0.5

0.5

1.5

2 1.5

0.5

0.5

1.5

4. Ej. 4. File Ejer5 4.m :

load rango m=length(t); A=[ones(m,1) cos(pi*t).^2 sin(pi*t).^2]; x=A\y A=A(:,2:3); x=A\y tt=0:.01:1; mod=x(1)*cos(pi*tt).^2+x(2)*sin(pi*tt).^2; plot(t,y,o,tt,mod,-)

Salida:

>> Ejer5_4 Warning: Rank deficient, rank = 2 > In ./Ejer5_4.m at line 6 x = 1.3848 0 -0.6619 x = 1.3848 0.7229

tol =

7.8505e-14.

1.6

1.5

1.4

1.3

1.2

1.1

0.9

0.8

0.7

0.6

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Вам также может понравиться