Está en la página 1de 2

lagransh

clear all
clc
close all
x=[1 4 6]
y=log(x)
syms X
li=((X-x(2))/(x(1)-x(2)))*((X-x(3))/(x(1)-x(3)))
li2=((X-x(1))/(x(2)-x(1)))*((X-x(3))/(x(2)-x(3)))
li3=((X-x(1))/(x(3)-x(1)))*((X-x(2))/(x(3)-x(2)))
PL=y(1)*li+y(2)*li2+y(3)*li3
PL=vpa(expand(PL),3)
%grafica
plot(x,y,'r*')
hold on
x2=0:.1:6;
y2=subs(PL,x2)
plot(x2,y2,'--b')
grid on
x3=2
y3=subs(PL,x3)
y3=double(y3)

Derivación
clear all
clc
f=inline('((-x^1/2)*sin(x))+(3*pi/4)*exp(2*x)+(x*cos(x))')
h=[0.5 0.05 0.005]
xi=pi/2;
syms x
ve=vpa(subs(diff(f(x)),pi/2))
disp('derivacion hacia atrás')
for atras=1:3
datras(atras)=(f(xi)-f(xi-h(atras)))/h(atras)
end
disp(datras')
erroratras=vpa(abs((ve-datras)/ve),4)
disp(' derivacion en medio')
for medio=1:3
dmedio(medio)=(f(xi+h(medio))-f(xi-h(medio)))/(2*h(medio))
end
disp(medio')
errormedio=vpa(abs((ve-dmedio)/ve),4)
disp(' derivacion en adelante')
for adelante=1:3
dadelante(adelante)=(f(xi+h(atras))-f(xi))/h(adelante)
end
disp(adelante')
erroradelante=vpa(abs((ve-dadelante)/ve),4)
Derivación 2
clear all
clc
close all
X=[0 .30 .6 .9 1.2 1.5]
Y=[30 27.1538 23.43 18.82 13.33 6.963]
h=.3
%derivación hacia adelante
dadelante=((Y(2))-Y(1))/h
%derivación media
dmedio=((Y(3))-Y(1))/(2*h)
%derivación media x=.6
dmedio=((Y(4))-Y(2))/(2*h)
%derivación media x=.9
dmedio=((Y(5))-Y(3))/(2*h)
%derivación media x=1.2
dmedio=((Y(6))-Y(4))/(2*h)
%derivación atrás x=1.5
datras=((Y(6))-Y(5))/(h)

También podría gustarte