1. 1.- Escriba en Matlab que implementen los siguientes algoritmos y
póngalos a prueba con matrices apropiadas 6x6
a) El de sustitución progresiva y sustitución regresiva para sistemas triangulares
- Sustitución regresiva
%resuelve un sistema de ecuaciones a traves de la sustitución regresiva
A=input('ingrese la matriz triangular superior de coeficientes A=');
b=input('ingrese el vector de terminos independientes b=');
n=input('ingrese el orden de la matriz n=');
x(n)=b(n)/A(n,n);
fori=n-1:-1:1
sum=0;
for j=i+1:n
sum=sum+A(i,j)*x(j);
end
x(i)=(b(i)-sum)/A(i,i);
end
disp('Las soluciones son:');
disp(x);
>>sustitucionregresiva
ingrese la matriz triangular superior de coeficientes
A=[34,12,3,87,4,6;0,2,6,3,8,9;0,0,36,42,7,13;0,0,0,8,4,12;0,0,0,0,5,29;0,0,0,0,0,10]
ingrese el vector de terminos independientes b=[471,128,389,124,199,60]
ingrese el orden de la matriz n=6
Las soluciones son:
1 2 3 4 5 6
COMPROBANDO ESTA SOLUCIÓN:
>> A(b')
ans =
1
2
3
4
5
6
2. - Sustitución progresiva
%resuelve un sistema de ecuaciones a traves de la sustitucion progresiva
A=input('ingrese la matriz triangular inferior de coeficientes A=');
b=input('ingrese el vector de terminos independientes b=');
n=input('ingrese el orden de la matriz n=');
x(1)=b(1)/A(1,1);
fori=2:n
sum=0;
for j=1:(i-1)
sum=sum+A(i,j)*x(j);
end
x(i)=(b(i)-sum)/A(i,i);
end
disp('Los resultados son:');
disp(x);
>>sustitucionprogresiva
ingrese la matriz triangular inferior de coeficientes
A=[4,0,0,0,0,0;51,23,0,0,0,0;34,12,15,0,0,0;2,6,4,23,0,0;56,23,41,16,19,0;65,34,27,98,12,11]
ingrese el vector de terminos independientes b=[8,194,206,236,768,1464]
ingrese el orden de la matriz n=6
Los resultados son:
2 4 6 8 10 12
COMPROBANDO:
>> A(b')
ans =
2
4
6
8
10
12
3. b) El de eliminación de Gauss simple y el de eliminación de Gauss con filas
permutadas.
-Gauss Simple
%metodo de gauss simple con respuestas
n=input('ingrese el orden de la matriz n=');
A=input('ingrese la matriz de coeficientes A=');
b=input('ingrese el vector de terminos independientes b=');
for k=1:n
fori=k+1:n
z=A(i,k)/A(k,k);
A(i,k)=0;
for j=k+1:n
A(i,j)=A(i,j)-z*A(k,j);
end
b(i)=b(i)-z*b(k);
end
end
disp('Por Gauss la matriz queda expresada asi:');
disp(A);
x(n)=b(n)/A(n,n);
for p=n-1:-1:1
sum=0;
for t=p+1:n
sum=sum+A(p,t)*x(t);
end
x(p)=(b(p)-sum)/A(p,p);
end
disp('Las soluciones al sistema ingresado son:');
disp(x);
>>gaussimple
ingrese el orden de la matriz n=6
ingrese la matriz de coeficientes
A=[12,23,34,4,5,7;89,76,56,34,97,34;123,46,89,32,5,9;3,9,5,7,14,15;3,8,5,90,54,18;23,67,4
8,1,76,2]
ingrese el vector de terminos independientes b=[1008,4708,3425,701,2374,2650]
Por Gauss la matriz queda expresada asi:
12.0000 23.0000 34.0000 4.0000 5.0000 7.0000
0 -94.5833 -196.1667 4.3333 59.9167 -17.9167
0 0 134.0432 -17.6934 -166.4529 -26.8062
0 0 0 4.7972 2.0923 10.5864
0 0 0 0 5.6424 -180.0640
0 0 0 0 0 218.5816
4. Las soluciones al sistema ingresado son:
10.0000 11.0000 12.0000 13.0000 14.0000 15.0000
COMPROBANDO:
>> Ab'
ans =
10.0000
11.0000
12.0000
13.0000
14.0000
15.0000
- El de eliminación de Gauss con filas permutadas
%resuelve el sistema de ecuaciones a partir del metodo de gauss con permutacion
n=input('ingrese el orden de la matriz n=');
A=input('ingrese la matriz de coeficientes A=');
b=input('ingrese el vector de terminos independientes b=');
P=input('ingrese el orden de permutacion P=');
for k=1:n
fori=k+1:n
z=A(P(i),k)/A(P(k),k);
A(P(i),k)=0;
for j=k+1:n
A(P(i),j)=A(P(i),j)-z*A(P(k),j);
end
b(P(i))=b(P(i))-z*b(P(k));
end
end
disp('Por Gauss la matriz queda expresada asi:A=');
disp(A);
disp('La matriz de coeficientes queda expresada asi: b=')
disp(b);
x(P(n))=b(P(n))/A(P(n),n);
for p=n-1:-1:1
sum=0;
for t=p+1:n
sum=sum+A(P(p),t)*x(P(t));
end
x(P(p))=(b(P(p))-sum)/A(P(p),p);
end
disp('Las soluciones al sistema ingresado son:');
disp(x);
5. >>permutacion
ingrese el orden de la matriz n=6
ingrese la matriz de coeficientes
A=[12,23,34,4,5,7;89,76,56,34,97,34;123,46,89,32,5,9;3,9,5,7,14,15;3,8,5,90,54,18;23,67,48,1,76,2
]
ingrese el vector de terminos independientes b=[1008,4708,3425,701,2374,2650]
ingrese el orden de permutacion P=[2,4,5,1,3,6]
Por Gauss la matriz queda expresada asi:A=
1.0e+003 *
0 0 0 -3.5330 -1.7777 -0.2412
0.0890 0.0760 0.0560 0.0340 0.0970 0.0340
0 0 0 0 -0.0042 0.1343
0 0.0064 0.0031 0.0059 0.0107 0.0139
0 0 0.0005 0.0839 0.0417 0.0052
0 0 0 0 0 0.2186
La matriz de coeficientes queda expresada asi: b=
1.0e+004 *
-7.4435 0.4708 0.1955 0.0542 0.1757 0.3279
Las soluciones al sistema ingresado son:
13.0000 10.0000 14.0000 11.0000 12.0000 15.0000
LA RESPUESTA YA FUE COMPROBADA Y ES CORRECTA
6. c) El de eliminación de Gauss con pivoteo de filas escaladas
%resuelve un sistema de ecuaciones con filas escaladas
A=input('ingrese la matriz de coeficientes A=');
b=input('ingrese el vector de terminos independientes b=');
n=length(A);
P=[1:n];
fori=1:n
S(i)=max(abs(A(i,:)));
end
disp('LOS MAXIMOS VALORES DE CADA FILA SON:');
disp(S);
for r=1:n-1
for u=r:n
T(u)=A(u,r)/S(u);
end
%reordena el vector permutación de manera adecuada
a=max(T);
for k=r:n
if T(k)==a
d=k;
end
end
%permuta el vector permutación
q=P(r);
P(r)=P(d);
P(d)=q;
%matriz de gauss
fori=r+1:n
z=A(P(i),r)/A(P(r),r);
A(P(i),r)=0;
for j=r+1:n
A(P(i),j)=A(P(i),j)-z*A(P(r),j);
end
b(P(i))=b(P(i))-z*b(P(r));
end
T(r)=0;
end
disp('LA MATRIZ QUEDA EXPRESADA ASI:');
disp(A);
disp('LA MATRIZ TRANSPUESTA DE COEFICIENTES QUEDA DE LA FORMA:')
disp(b);
disp('EL VECTOR PERMUTACION ES DE LA FORMA');
disp(P);
%hallando las soluciones
7. x(P(n))=b(P(n))/A(P(n),n);
for p=n-1:-1:1
sum=0;
for t=p+1:n
sum=sum+A(P(p),t)*x(P(t));
end
x(P(p))=(b(P(p))-sum)/A(P(p),p);
end
disp('Las soluciones(en el orden del vector permutación) al sistema ingresado son:');
disp(x);
>>filasescaladas
ingrese la matriz de coeficientes
A=[12,23,34,4,5,7;89,76,56,34,97,34;123,46,89,32,5,9;3,9,5,7,14,15;3,8,5,90,54,18;23,67,48,1,76,2
]
ingrese el vector de terminos independientes b=[1008,4708,3425,701,2374,2650]
LOS MAXIMOS VALORES DE CADA FILA SON:
34 97 123 15 90 76
LA MATRIZ QUEDA EXPRESADA ASI:
0 0 15.3767 2.4579 -19.2833 6.0214
0 0 0 0 -10.3490 35.6065
123.0000 46.0000 89.0000 32.0000 5.0000 9.0000
0 0 0 0 0 8.7551
0 0 0 89.9446 43.9535 18.0815
0 58.3984 31.3577 -4.9837 75.0650 0.3171
LA MATRIZ TRANSPUESTA DE COEFICIENTES QUEDA DE LA FORMA:
1.0e+003 *
8. 0.0368 0.3892 3.4250 0.1313 2.0559 2.0096
EL VECTOR PERMUTACION ES DE LA FORMA
3 6 1 5 2 4
Las soluciones(en el orden del vector permutación) al sistema ingresado son:
12.0000 14.0000 10.0000 15.0000 13.0000 11.0000
COMPROBANDO: UNA VEZ MAS SE TRABAJO CON EL MISMO SISTEMA POR LO QUE LAS
RESPUESTAS UAN VEZ MAS SON CORRECTAS.
d) Los métodos iterativos de Richardson, Jacobi y Gauss-Seidel. Incluya más de un
criterio para detener el algoritmo.
- Método de Richardson
%resuelve un sitema de ecuaciones mediante el metodo iterativo de
Richardson
A=input('ingrese la matriz de coeficiente A:');
b=input('ingrese la matriz transpuesta de términos independientes b=');
x=input('ingrese un vector de aproximacion x=');
m=input('ingrese el numero de iteraciones m=');
E=input('ingrese la precision buscada E=');
n=length(A);
' k X'
X=x;
for k=1:m
H=A*x';
if abs(H-b')<E
break
end
fori=1:n
sum=0;
for j=1:n
sum=sum+A(i,j)*x(j);
end
r(i)=b(i)-sum;
end
fori=1:n
x(i)=x(i)+r(i);
end
if abs(X-x)<E
break
end
X=x;
fprintf('%dt%dn',k,x)
end
disp(x);
9. >>richardson
ingrese la matriz de coeficiente
A:[1,0.2,0.07,0.08,0.1,0.05;0.087,1,0.3,0.05,0.065,0.1;0.032,0.31,1,0.24,0.03,0.12;0.098,0.034,0.03
2,1,0.16,0.28;0.34,0.013,0.076,0.15,1,0.035;0.01,0.38,0.23,0.045,0.094,1]
ingrese la matriz transpuesta de términos independientes b=[2.73,4.112,5.482,6.742,6.404,8.11]
ingrese un vector de aproximacion x=[0,0,0,0,0,0]
ingrese el numero de iteracciones m=100
ingrese la precision buscada E=0.0001
ans =
k X
1 2.730000e+000 4.112000e+000 5.482000e+000 6.742000e+000 6.404000e+000
8.110000e+000
2 -6.140000e-002 6.655300e-001 1.336520e+000 2.863788e+000 3.710562e+000
4.353914e+000
3 1.685483e+000 2.896618e+000 3.956555e+000 4.869835e+000 5.732693e+000
7.072650e+000
4 5.572289e-001 1.455015e+000 2.340654e+000 3.454155e+000 4.514564e+000
5.324407e+000
5 1.281142e+000 2.362730e+000 3.409751e+000 4.349856e+000 5.313260e+000
6.433366e+000
6 8.177887e-001 1.771424e+000 2.733190e+000 3.775539e+000 4.800909e+000
5.719919e+000
7 1.116262e+000 2.148067e+000 3.170142e+000 4.144444e+000 5.128673e+000
6.178863e+000
8 9.251106e-001 1.905370e+000 2.890389e+000 3.907458e+000 4.917689e+000
5.884844e+000
9 1.047991e+000 2.060892e+000 3.070230e+000 4.059478e+000 5.052935e+000
12. - Método de Jacobi
%resuelve un sistema de ecuaciones mediante el metodo de jacobi
A=input('ingrese la matriz de coeficiente A:');
b=input('ingrese la matriz transpuesta de términos independientes b=');
x=input('ingrese un vector de aproximacion x=');
m=input('ingrese el numero de iteracciones m=');
E=input('ingrese la precision buscada E');
n=length(A);
X=x;
' k X'
for k=1:m
H=A*x';
if abs(H-b')<E
break
end
fori=1:n
sum=0;
for j=1:n
ifi~=j
sum=sum+A(i,j)*x(j);
end
end
U(i)=(b(i)-sum)/A(i,i);
end
fori=1:n
x(i)=U(i);
end
if abs(X-x)<E
break
end
X=x;
fprintf('%dt%dn',k,x)
end
disp('La respuesta final es');
disp(x);
>>jacobi
ingrese la matriz de coeficiente
A:[1,0.2,0.07,0.08,0.1,0.05;0.087,1,0.3,0.05,0.065,0.1;0.032,0.31,1,0.24,0.03,0.12;0.098,0.034,0.03
2,1,0.16,0.28;0.34,0.013,0.076,0.15,1,0.035;0.01,0.38,0.23,0.045,0.094,1]
ingrese la matriz transpuesta de términos independientes b=[1008,4708,3425,701,2374,2650]
ingrese un vector de aproximacion x=[0,0,0,0,0,0]
ingrese el numero de iteracciones m=50
ingrese la precision buscada E0.001
ans =
15. - Método iterativo de Gauss - Seidel
%resuelve un sitema de ecuaciones mediante el metodo iterativo de
%Gauss-Seidel
A=input('ingrese la matriz de coeficiente A:');
b=input('ingrese la matriz transpuesta de términos independientes b=');
x=input('ingrese un vector de aproximacion x=');
m=input('ingrese el numero de iteracciones m=');
E=input('ingrese la precision buscada E=');
n=length(A);
' k X'
X=x;
for k=1:m
H=A*x';
if abs(H-b')<E
break
end
fori=1:n
sum=0;
for j=1:n
ifi~=j
sum=sum+A(i,j)*x(j);
end
end
x(i)=(b(i)-sum)/A(i,i);
end
if abs(X-x)<E
break
end
X=x;
fprintf('%dt%dn',k,x)
end
disp('La respuesta final es:');
disp(x);
>>gaussiterativo
ingrese la matriz de coeficiente
A:[1,0.2,0.07,0.08,0.1,0.05;0.087,1,0.3,0.05,0.065,0.1;0.032,0.31,1,0.24,0.03,0.12;0.098,0.034,0.03
2,1,0.16,0.28;0.34,0.013,0.076,0.15,1,0.035;0.01,0.38,0.23,0.045,0.094,1]
ingrese la matriz transpuesta de términos independientes b=[2.73,4.112,5.482,6.742,6.404,8.11]
ingrese un vector de aproximacion x=[0,0,0,0,0,0]
ingrese el numero de iteracciones m=50
ingrese la precision buscada E=0.01
ans =
k X
1 2.730000e+000 3.874490e+000 4.193548e+000 6.208534e+000
4.175442e+000 4.974002e+000
16. 2 4.986266e-001 1.731324e+000 2.717142e+000 4.486530e+000
5.158387e+000 6.135386e+000
3 1.012005e+000 2.035653e+000 2.850798e+000 3.939136e+000
5.011185e+000 6.022336e+000
4 1.005947e+000 2.044326e+000 2.997660e+000 3.989941e+000
4.998307e+000 5.984247e+000
5 9.930604e-001 2.003494e+000 3.003494e+000 4.005131e+000
5.001830e+000 5.997535e+000
La respuesta final es:
0.9931 2.0035 3.0035 4.0051 5.0018 5.9975
COMPROBANDO:
>> Ab'
ans =
1.0000
2.0000
3.0000
4.0000
5.0000
6.0000
NUESTRAS RESPUESTAS SON APROXIMADAS.
e) El algoritmo del método de la potencia.
%halla el valor propio de una matriz por el metodo de la potencia
A=input('ingrese la matriz de coeficiente A:');
x=input('ingrese un vector propio al azar x=');
m=input('ingrese el numero de iteracciones m=');
E=input('ingrese el grado de exactitud buscado E=');
C=(y(1,1)/x(1,1))+5;
for k=1:m
y=A*x;
X=x(1,1);
Y=y(1,1);
R=Y/X;
x=y;
fprintf('%dt%dn',k,R)
if abs((C-R))<E
break
end
C=R;
end
disp('Uno de los valores propios es:');
disp(R);
17. >>valorpropio
ingrese la matriz de coeficiente
A:[1,0.2,0.07,0.08,0.1,0.05;0.087,1,0.3,0.05,0.065,0.1;0.032,0.31,1,0.24,0.03,0.12;0.098,0.034,0.03
2,1,0.16,0.28;0.34,0.013,0.076,0.15,1,0.035;0.01,0.38,0.23,0.045,0.094,1]
ingrese un vector propio al azar x=[1;1;1;1;1;1]
ingrese el numero de iteracciones m=50
ingrese el grado de exactitud buscado E=0.001
1 1.500000e+000
2 1.546207e+000
3 1.579544e+000
4 1.602046e+000
5 1.616658e+000
6 1.625959e+000
7 1.631826e+000
8 1.635520e+000
9 1.637851e+000
10 1.639326e+000
11 1.640264e+000
Uno de los valores propios es:
1.6403
COMPROBANDO:
>> [V,LAMBDA]=eig(A)
V =…..
LAMBDA =
Columns 1 through 4
1.64200 0 0
0 1.1012 0 0
0 0 0.8730 + 0.1543i 0
0 0 0 0.8730 - 0.1543i
0 0 0 0
0 0 0 0
18. 2.- Aplique la aceleración de Aitken a algunos métodos iterativos para
calcular raíces:
- Metodo De La Secante Acelerado
% resuelve ecuaciones por el metodo de la secante con aceleración de
Aitken
f = input('funcion f=');
a = input('punto inicial1 a=');
b = input('punto inicial2 b=');
m = input('numero de interaciones m=');
E = input('precision E=');
u = f(a) ; v = f(b) ;
r = zeros(1,m);
for k =1:m
if abs(u)<abs(v)
c=a;
a=b;
b=c;
w=u;
u=v;
v=w;
end
s = (b-a)/(v-u);
a = b;
u = v;
b = b - v*s;
r(k)= b;
v = f(b);
if k>2
R(k-2) =(r(k-2)*r(k)-(r(k-1)^2))/(r(k)-2*r(k-1)+r(k-2));
if f(R(k-2))<E
break;
end
end
fprintf('%dt%fn',k,b)
end
disp('La respuesta es');
R
>>secanteacelerado
funcion f=@(x)x^5-x-1-sin(x)
punto inicial1 a=3
punto inicial2 b=2
numero de interaciones m=80
precision E=0.001
1 1.866722
2 1.595114
La respuesta es:
T =
1.2553
19. Haciendo una compración con la convergencia del método de la secante sin aceleración
veamos:
>>secante
ingrese la funcion f=@(x)x^5-x-1-sin(x)
ingrese el valor del primer punto aproximado a=4
ingrese el valor del segundo punto aproximado b=3
ingrese el número de repeticiones M=25
ingrese la presicion buscada d=0.00001
ingrese la presicion buscada 2 E=0.00001
k x f(x)
1 2.694123 137.807349
2 2.276988 57.169516
3 1.981253 26.629911
4 1.723379 11.490332
5 1.527662 4.793520
6 1.387570 1.772854
7 1.305349 0.519619
8 1.271258 0.093501
9 1.263778 0.006673
10 1.263203 0.000096
11 1.263194 0.000000
1.2632
Como podemos ver, con el método de aceleración de Aitken, el valor buscado salta con
mayor rapidez.
- Metodo De Newton Acelerado
% resuelve ecuaciones por el metodo de Newton con aceleración de Aitken
f=input('ingrese la funcion=');
x=input('Ingrese un valor aproximado a la raiz x= ');
M=input('Ingrese el número de iteracciones M= ');
d=input('ingrese la derivada de la funcion = ');
E=input('ingrese la precision buscada E=');
r = zeros(1,m);
u = f(a) ; v = f(b) ;
r = zeros(1,m);
for k=1:M
a=x;
x=x-f(x)/d(x);
r(k)= x;
if abs(x-a)<E
break
end
if k>2
T(k-2) =(r(k-2)*r(k)-(r(k-1)^2))/(r(k)-2*r(k-1)+r(k-2));
G=T(k-2);
if f(T(k-2))<E
break;
end
fprintf('%dt%fn',k,G)
end
end
disp('La respuesta es');
disp(G);
20. >>newtonacelerado
ingrese la funcion=@(x)x^5-x-1-sin(x)
Ingrese un valor aproximado a la raiz x= 4
Ingrese el número de iteracciones M= 20
ingrese la derivada de la funcion = @(x)5*x^4-1-cos(x)
ingrese la precision buscada E=0.00001
1 3.203099
2 2.570346
La respuesta es
0.2632
Como vemos la convergencia es mucho mayor al método de Newton sin aceleración.
Veamos.
>>newton
ingrese la funcion=@(x)x^5-x-1-sin(x)
Ingrese un valor aproximado a la raiz x= 4
Ingrese el núemero de iteracciones M= 20
ingrese la derivada de la funcion = @(x)5*x^4-1-cos(x)
ingrese la precision buscada E=0.000001
k x f(x) x-xo
1 3.203099 333.030799 -0.796901
2 2.570346 108.080002 -0.632753
3 2.074754 34.493921 -0.495593
4 1.700352 10.521316 -0.374401
5 1.443260 2.827009 -0.257092
6 1.305808 0.525717 -0.137452
7 1.266208 0.034628 -0.039600
8 1.263211 0.000186 -0.002997
9 1.263194 0.000000 -0.000016
10 1.263194 -0.000000 -0.000000
el valor de la raiz es
1.2632
La aceleración de Aitken para los métodos iterativos es básicamente realizar algunas
modificaciones básicas a los algoritmos.
21. 3.- Implemente el algoritmo el algoritmo de diferencias divididas. Aplique
para calcular el polinomio de interpolación para f(x)=(x^5*sen(x))/(e^x-
tanh(x)) en [-5,5]
a) usando 5 y después 25 nodos igualmente espaciados. Grafique F(x) y P(x). Comente.
%calcula un polinomio de interpolacion por el metodo de interpolación por
%diferencias divididas
f=input('ingrese la función a interpolar f=');
n=input('ingrese la cantidad de nodos n=');
a=input('ingrese el valor del limite inferior a=');
b=input('ingrese el valor del limite superior b=');
d=abs((a-b)/(n-1));
fori=1:n
x(i)=a+d*(i-1);
y(i)=f(x(i));
end
fori=1:n
C(i,1)=y(i);
end
for j=2:n
for k=1:(n-j+1)
C(k,j)=(C(k+1,j-1)-C(k,j-1))/(x(k+j-1)-x(k));
end
end
disp(C);
disp('Los coeficientes buscados son:');
disp(C(1,:));
>>interpolacion
ingrese la función a interpolar f=@(x)((x^5)*sin(x))/(exp(x)+tanh(x))
ingrese la cantidad de nodos n=5
ingrese el valor del limite inferior a=-5
ingrese el valor del limite superior b=5
1.0e+003 *
3.0172 -1.2327 0.2517 -0.0342 0.0035
-0.0646 0.0258 -0.0048 0.0003 0
0 0.0018 -0.0023 0 0
0.0044 -0.0098 0 0 0
-0.0201 0 0 0 0
23. >>interpolacion
ingrese la función a interpolar f=@(x)((x^5)*sin(x))/(exp(x)+tanh(x))
ingrese la cantidad de nodos n=25
ingrese el valor del limite inferior a=-5
ingrese el valor del limite superior b=5
Los coeficientes buscados son:
1.0e+003 *
Columns 1 through 8
3.0172 -2.3768 0.1564 0.5192 -0.2789 0.0638 -0.0034 -0.0020
Columns 9 through 16
0.0006 -0.0001 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
Columns 17 through 24
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000
Column 25
-0.0000
(en ese caso se ha producido un gran error por redondeo; pues como vemos muchos de los
coeficientes dan como valor 0, cuando en realidad solo son próximos a dicho valor)
b) halle el error de aproximación en algunos puntos x E[-5,5]
%calcula el error en algunos puntos de una funcion de aproximacion
f=input('ingrese la funcion real F=');
p=input('ingrese la funcion de aproximación P=');
x=input('ingrese el punto donde desea evaluar el error de interpolación
x=');
e=abs(p(x)-f(x));
disp('El error de aproximacion en el punto x es:');
disp(e);
24. >>error
ingrese la funcion real F=@(x)((x^5)*sin(x))/(exp(x)+tanh(x))
ingrese la funcion de aproximación P=@(x) 3017.2-1232.7*(x+5)+251.7*(x+2.5)*(x+5)-
34.2*(x)*(x+2.5)*(x+5)+3.5*x*(x+2.5)*(x+5)*(x-2.5)
ingrese el punto donde desea evaluar el error de interpolación x=-5
El error de aproximacion en el punto x es:
0.0423
>>error
ingrese la funcion real F=@(x)((x^5)*sin(x))/(exp(x)+tanh(x))
ingrese la funcion de aproximación P=@(x) 3017.2-1232.7*(x+5)+251.7*(x+2.5)*(x+5)-
34.2*(x)*(x+2.5)*(x+5)+3.5*x*(x+2.5)*(x+5)*(x-2.5)
ingrese el punto donde desea evaluar el error de interpolación x=0.2
El error de aproximacion en el punto x es:
22.3900
>>error
ingrese la funcion real F=@(x)((x^5)*sin(x))/(exp(x)+tanh(x))
ingrese la funcion de aproximación P=@(x) 3017.2-1232.7*(x+5)+251.7*(x+2.5)*(x+5)-
34.2*(x)*(x+2.5)*(x+5)+3.5*x*(x+2.5)*(x+5)*(x-2.5)
ingrese el punto donde desea evaluar el error de interpolación x=4.9
El error de aproximacion en el punto x es:
11.9957