Documentos de Académico
Documentos de Profesional
Documentos de Cultura
end
ecuacion=0;
for i=1:n
ecuacion=L(i)*fxi(i)+ecuacion;
end
ecuacion=simplify(expand(ecuacion));
end
2. Es el mismo punto 1
3. Se reemplazan los punto de x en la función y se verifica que den los
mismos valores de f(x) que de y
f(x) y
2 2
1 1
2 2
-7 -7
-38 10
Por lo que sí interpola los 4 primeros valores, pero no el último.
50 10−f [x 0 , x 1]
=
7 0.7−0
f [ x 0 , x 1 ] =5
3−fx 0
5=
0.4−0
f [ x 0 ] =1
6. Para la interpolación de trazadores cúbicos utilizamos el siguiente código
en Matlab:
function [a,b,c,d]=trazador_cubico(X)
n=length(X(1,:));
for i=1:n;
a(i)=X(2,i);
end
for i=1:n-1;
h(i)=X(1,i+1)-X(1,i); %extremo izquierdo
end
for i=2:n-1;
alfa(i)=3/h(i)*(a(i+1)-a(i))-3/h(i-1)*(a(i)-a(i-1)); %extremo derecho
end
l(1)=1;
mu(1)=0;
z(1)=0;
for i=2:n-1;
l(i)=2*(X(1,i+1)-X(1,i-1))-h(i-1)*mu(i-1);
mu(i)=h(i)/l(i);
z(i)=(alfa(i)-h(i-1)*z(i-1))/l(i);
end
l(n)=1;
z(n)=0;
c(n)=0;
for i=n-1:-1:1;
c(i)=z(i)-mu(i)*c(i+1);
b(i)=(a(i+1)-a(i))/h(i)-h(i)*(c(i+1)+2*c(i))/3;
d(i)=(c(i+1)-c(i))/(3*h(i));
end
for i=1:n-1;
x=X(1,i):0.1:X(1,i+1);
y=a(i)+b(i)*(x-X(1,i))+c(i)*(x-X(1,i)).^2+d(i)*(x-X(1,i)).^3;
hold on;
plot(x,y,'--c');
end
for i=1:n;
hold on;
plot (X(1,i),X(2,i),'+','MarkerEdgeColor','k','LineWidth',1);
title('INTERPOLACION POR SPLINES O TRAZADORES DE ORDEN 3.');
xlabel("EJE X");
ylabel("EJE Y");
end
7. Usaremos el método de Lagrange para realizar este punto, primero con las
filas de x y f’(x) y luego con f(x) y f’(x), se usará el mismo código del punto
1, con el cual se obtiene la siguiente función para x-f’(x):
f’(x)=17.564265- 6.6414x
Reemplazando con x=2.1 obtenemos que:
f’(2.1)=3.617325
Ahora se obtiene la siguiente función para f(x)-f’(x):
f’(x)=- 2.608429263x- 0.6303351157
f’(2.1)=-6.11
El cual es un valor que no tiene sentido observando la tabla, por lo cual nos
quedamos con el primer valor:
f’(2.1)=3.617325
8. Utilizamos el siguiente código para el método de Romberg:
clc; clear; close all
f = @(x) log(x);
a = 1;
b = 2.5;
n = 20;
h=b-a;
r = zeros(2,n+1);
fprintf('\nTabla de integración de Romberg:\n');
fprintf('\n %11.8f',r(1,1));
for i = 2:n
sum = 0;
for k = 1:2^(i-2)
sum = sum+f(a+(k-0.5)*h);
end
r(2,1)=(r(1,1)+h*sum)/2;
for j = 2:i
l = 2^(2*(j-1));
r(2,j)=r(2,j-1)+(r(2,j-1))-r(1,j-1)/(l-1);
end
for k = 1:i
fprintf(' %11.8f',r(2,k));
end
fprintf('\n\n');
h=h/2;
for j = 1:i
r(1,j) = r(2,j);
end
end
disp(['El valor de la integración es igual a: ' num2str(r(end,1))])
11. Este ejercicio se realizó por medio del mismo código del ejercicio anterior,
por el cual dio el siguiente resultado: