Derivadas de datos espaciados
Formula de 3 puntos.
Suponiendo que tenemos x0, x1,… xn y son puntos en un intervalo y que cada uno tiene su correspondiente f(x).
Si partimos de laformula del polinomio interpolador de lagrange
entonces tenemos que al derivar esta expresión en algún punto Xj obtenemos:
Esta formula recibe el nombre de formula de (n+1) puntos para aproximarf’(Xj).
A partir de esta formula obtendremos la formula de tres.
Como los datos son igualmente espaciados entonces supondremos que:
Suponiendo que tenemos 3 puntos igualmente espaciados,aplicando la formula anterios con Xj= x0,x1,x2 respectivamente obtenemos las tres siguientes formulas:
Con estas tres formulas podemos sacar las derivadas de X0, X1, X2 respectivamente solo basta conaplicarlas.
ALGORITMO EN MATLAB
syms x;
funcion= input('Ingrese la funcion:');
xaux= input('Ingrese el primer valor de x:');
h= input('Ingrese el valor de h:');
if h==0
disp('Elvalor de h no puede ser cero')
h= input('Ingrese el valor de h:');
end;
vectorX=[0:0:3];
vectorX(1)=xaux;
vectorX(2)=vectorX(1)+h;
vectorX(3)=vectorX(2)+h;vectorFx=[0:0:3];
for i=1:3,
val= subs(funcion, x, vectorX(i));
vectorFx(i)=val;
end
%%subs(y, x, 2)
derivada=diff(funcion, x);
vectorVreales=[0:0:3];
for i=1:3,val= subs(derivada, x, vectorX(i));
vectorVreales(i)=val;
end
vectorAproximados=[0:0:3];
vectorAproximados(1)=(1/h)*((-(3/2)*(vectorFx(1)))+(2*vectorFx(2))-(1/2*(vectorFx(3))));vectorAproximados(2)=(1/h)*(((-1/2)*(vectorFx(1))) + ((1/2)*(vectorFx(3))));
vectorAproximados(3)=(1/h)*(((1/2)*(vectorFx(1)))+(-2*vectorFx(2))+(3/2*(vectorFx(3))));disp('Valores de X')
disp( vectorX)
disp('Valores de f(x)')
disp( vectorFx)
disp('Valores reales de las derivadas')
disp(vectorVreales)
disp('Valores aproximados de las derivadas')...
Regístrate para leer el documento completo.