Tuesday, November 21, 2017



EXAMEN PARCIAL DE MÉTODOS NUMÉRICOS (Noviembre 2010)

TEMA 1

1)        
    a) Escriba una función de Matlab que reciba como entrada una matriz cuadrada A de nxn y que devuelva una matriz B de modo que se cumpla que:
  • Si X es un vector de nx1 tal que A*X = 0  entonces B*X = 0.

   b) Verifique el funcionamiento para:
i) A =    
ii) Una matriz de 3x3 generada al azar obtenida mediante las instrucciones:
                >> randn('state', sum(100*clock));
                >> A=randn(3,3)

2)       Dada la tabla de valores:

X
0
1
2
3
4
5
6
7
8
9
10
11
Y
-0.83
3.50
6.30
7.15
7.32
7.88
10.4
14.6
18.3
19.5
19.74
20.2

a)       Encontrar constantes a, b y c de modo de ajustar lo mejor posible un modelo de la forma  en el sentido de los cuadrados mínimos.
b)       Grafique en un mismo esquema los puntos de la tabla y los aproximados por el modelo y calcule la norma de la diferencia entre Y e .

3)        
a)       Escriba una función de Matlab que reciba como entrada un valor T y devuelva el valor aproximado de .
Pruebe su funcionamiento para T = 0 y para T = 0.5.
b)       Estime un To positivo de modo que
4)
Resuelva numéricamente el problema de valor inicial, y grafique la solución en el intervalo .

Formato de las respuestas:
Ej 1)
a)       Transcriba en un archivo de texto la función que escribió.
b)       Escriba la matriz B que devolvió su función en cada caso. (en el item ii) copie también la matriz A aleatoria que obtuvo)
Ej 2)
Transcriba en un archivo de texto las instrucciones que utilizó para obtener a, b y c, y los valores que obtuvo para dichas constantes.
Ej 3)
Escriba en un archivo de texto las funciones que utilizó para resolver cada ítem, y anote los valores obtenidos en a) y en b).
Ej 4)
Escriba en un archivo de texto las funciones y/o instrucciones que permitan hallar y graficar la solución (no copie los vectores obtenidos).

EN TODOS LOS CASOS: COPIE ADEMÁS AQUELLAS FUNCIONES QUE UTILICE QUE NO SEAN FUNCIONES PROPIAS DEL MATLAB.


 1. a)

>> H=@(DI) g(DI) - [1.6;1.15];
>> H([3;100])

ans =

   68.5658
   68.6912

>> H([-0.5;-0.2])

ans =

    0.4304
    0.0779

>> DI=NR_MULTI(H,[-0.5;-0.2],15,0.000000001)

DI =

   -1.5226
    1.3416

>> g(DI)

ans =

    1.6000
    1.1500

>> f=@(t,w)[w(2);w(3);0.5*w(1).^2+0.5*w(2)-0.5-0.5*w(2).^2];
>> [t,w]=RK4(f,1.5,[2;DI(1);DI(2)],4,0.1);
>> x=[w(1,end);w(2,end)];
>> plot(x(1,:),x(2,:),'*')




___________________




function DF=g(DI)
f=@(t,w)[w(2);w(3);0.5*w(1).^2+0.5*w(2)-0.5-0.5*w(2).^2];
[t,w]=RK4(f,1.5,[2;DI(1);DI(2)],4,0.1);
DF=[w(1,end);w(2,end)];





1. b)

>> A=[x.^2 x.^1 x.^0 abs(x-3)]

A =

    2.5600    1.6000    1.0000    1.4000
    1.3225    1.1500    1.0000    1.8500

>> coef=pinv(A)*x;
>> f=@(X) coef(1)*X.^2+coef(2)*X+coef(3)+coef(4)*abs(X-3);
>> plot(t,f(t),'*');
>> 


2. a)

>> t=-6:1:6;
>> t=t';
>> y=[1.98 1.89 1.76 1.56 1.23 0.62 0 0.62 1.23 .156 1.76 1.89 1.98];
>> y=y';
>> [n,m]=busca_grados_pade(t,y,0.04);
>> [P,Q]=padefit(t,y,n,m);
>> f=@(t)padeval(P,Q,t);
>> plot(t,f(t),'r',t,y,'c');
>> f(2.5)

ans =

    1.5703

>> f(10)

ans =

    2.2005

>> limite_infinito=P(1)/Q(2)

limite_infinito =

  368.7373

>> 

No comments:

Post a Comment