SlideShare a Scribd company logo
1 of 24
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
- 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
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
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);
>>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
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
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 *
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);
>>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
6.073820e+000
10 9.691628e-0011.960959e+0002.954867e+0003.961840e+0004.966049e+000
5.952576e+000
11 1.019787e+0002.025080e+0003.028957e+0004.024505e+0005.021806e+000
6.030433e+000
12 9.872943e-001 1.983905e+000 2.981405e+0003.984271e+0004.986005e+000
5.980459e+000
13 1.008155e+0002.010334e+0003.011936e+0004.010098e+0005.008986e+000
6.012543e+000
14 9.947641e-0011.993367e+0002.992337e+0003.993518e+0004.994232e+000
5.991947e+000
15 1.003361e+0002.004259e+0003.004919e+000 4.004162e+000 5.003703e+000
6.005169e+000
16 9.978422e-001 1.997266e+000 2.996842e+0003.997328e+0004.997623e+000
5.996681e+000
17 1.001385e+0002.001755e+0003.002027e+0004.001715e+0005.001526e+000
6.002130e+000
18 9.991107e-0011.998873e+0002.998699e+000 3.998899e+000 4.999020e+000
5.998632e+000
19 1.000571e+000 2.000723e+000 3.000835e+000 4.000707e+000 5.000629e+000
6.000878e+000
20 9.996335e-001 1.999536e+000 2.999464e+000 3.999546e+000 4.999596e+000
5.999436e+000
21 1.000235e+000 2.000298e+000 3.000344e+000 4.000291e+000 5.000259e+000
6.000362e+000
22 9.998490e-0011.999809e+0002.999779e+000 3.999813e+000 4.999834e+000
5.999768e+000
23 1.000097e+000 2.000123e+000 3.000142e+000 4.000120e+000 5.000107e+000
6.000149e+000
24 9.999378e-001 1.999921e+000 2.999909e+000 3.999923e+000 4.999931e+000
5.999904e+000
25 1.000040e+000 2.000051e+000 3.000058e+0004.000049e+0005.000044e+000
6.000061e+000
26 9.999743e-001 1.999967e+000 2.999962e+000 3.999968e+000 4.999972e+000
5.999961e+000
1.0000 2.0000 3.0000 4.0000 5.0000 6.0000
COMPROBANDO:
b =
2.7300 4.1120 5.4820 6.7420 6.4040 8.1100
>> Ab'
ans =
1.0000
2.0000
3.0000
4.0000
5.0000
6.0000
- 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 =
k X
1 1008 4708 3425 701 2374 2650
2 -5.993300e+002 3.138444e+003 1.375804e+003 -7.892960e+002
1.511876e+003 -1.915710e+002
3 2.055395e+002 4.307750e+003 2.638324e+003 4.207412e+002
2.557511e+003 1.040352e+003
4 -3.796607e+002 3.607310e+003 1.780475e+003-2.505329e+002
1.948080e+003 1.448455e+002
5 -2.010291e+001 4.078305e+003 2.303187e+0032.063335e+002
2.353384e+003 7.016640e+002
6 -2.558124e+002 3.785340e+003 1.957048e+003 -8.240161e+001
2.097267e+003 3.402090e+002
7 -1.062063e+002 3.976918e+003 2.175764e+003 1.039214e+002
2.263484e+003 5.705731e+002
8 -2.028779e+002 3.855131e+003 2.034240e+003 -1.534937e+001
2.157494e+003 4.219634e+002
9 -1.410426e+002 3.933713e+003 2.124725e+003 6.136314e+001
2.225793e+003 5.170902e+002
10 -1.808161e+002 3.883399e+003 2.066511e+003 1.217256e+001
2.182034e+003 4.559270e+002
11 -1.553092e+002 3.915744e+003 2.103839e+003 4.377098e+001
2.210155e+003 4.951599e+002
12 -1.716927e+002 3.894996e+003 2.079860e+003 2.349257e+001
2.192112e+003 4.699631e+002
13 -1.611782e+002 3.908321e+003 2.095248e+003 3.651283e+001
2.203699e+003 4.861349e+002
14 -1.679292e+002 3.899768e+003 2.085368e+003 2.815504e+001
2.196262e+003 4.757520e+002
15 -1.635956e+002 3.905259e+003 2.091710e+003 3.352071e+001
2.201036e+003 4.824170e+002
16 -1.663778e+002 3.901735e+003 2.087639e+003 3.007623e+001
2.197971e+003 4.781382e+002
17 -1.645918e+002 3.903998e+003 2.090252e+003 3.228749e+001
2.199939e+003 4.808850e+002
18 -1.657383e+002 3.902545e+003 2.088574e+003 3.086795e+001
2.198676e+003 4.791216e+002
19 -1.650023e+002 3.903477e+003 2.089652e+003 3.177925e+001
2.199487e+003 4.802536e+002
20 -1.654748e+002 3.902879e+003 2.088960e+003 3.119423e+001
2.198966e+003 4.795269e+002
21 -1.651715e+002 3.903263e+003 2.089404e+003 3.156979e+001
2.199300e+003 4.799934e+002
22 -1.653662e+002 3.903016e+003 2.089119e+003 3.132869e+001
2.199086e+003 4.796939e+002
23 -1.652412e+002 3.903175e+003 2.089302e+003 3.148347e+001
2.199224e+003 4.798862e+002
24 -1.653214e+002 3.903073e+003 2.089184e+003 3.138411e+001
2.199135e+003 4.797628e+002
25 -1.652699e+002 3.903138e+003 2.089260e+003 3.144789e+001
2.199192e+003 4.798420e+002
26 -1.653030e+002 3.903096e+003 2.089211e+003 3.140695e+001
2.199156e+003 4.797912e+002
27 -1.652818e+002 3.903123e+003 2.089243e+003 3.143323e+001
2.199179e+003 4.798238e+002
28 -1.652954e+002 3.903106e+003 2.089223e+003 3.141636e+001
2.199164e+003 4.798028e+002
29 -1.652866e+002 3.903117e+003 2.089235e+003 3.142719e+001
2.199174e+003 4.798163e+002
30 -1.652923e+002 3.903110e+003 2.089227e+003 3.142024e+001
2.199167e+003 4.798077e+002
31 -1.652887e+002 3.903115e+003 2.089232e+003 3.142470e+001
2.199171e+003 4.798132e+002
32 -1.652910e+002 3.903112e+003 2.089229e+003 3.142183e+001
2.199169e+003 4.798097e+002
33 -1.652895e+002 3.903114e+003 2.089231e+003 3.142367e+001
2.199170e+003 4.798119e+002
34 -1.652904e+002 3.903112e+003 2.089230e+003 3.142249e+001
2.199169e+003 4.798105e+002
La respuesta final es
1.0e+003 *
-0.1653 3.9031 2.0892 0.0314 2.1992 0.4798
COMPROBANDO:
>> Ab'
ans =
1.0e+003 *
-0.1653
3.9031
2.0892
0.0314
2.1992
0.4798
- 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
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);
>>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
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
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);
>>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.
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
Los coeficientes buscados son:
1.0e+003 *
3.0172 -1.2327 0.2517 -0.0342 0.0035
Graficando: F(x):
P(x):
>>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);
>>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

More Related Content

What's hot

Coeficientes indeterminados
Coeficientes indeterminadosCoeficientes indeterminados
Coeficientes indeterminadosRicardo Garibay
 
Matlab integración numérica, método del trapecio
Matlab integración numérica, método del trapecioMatlab integración numérica, método del trapecio
Matlab integración numérica, método del trapecioTensor
 
Dominio de una funcion vectorial - UNSCH
Dominio de una funcion vectorial - UNSCHDominio de una funcion vectorial - UNSCH
Dominio de una funcion vectorial - UNSCHDarcknes
 
265131074 derivadas-parciales (1)
265131074 derivadas-parciales (1)265131074 derivadas-parciales (1)
265131074 derivadas-parciales (1)Manuel Miranda
 
Vectores tangente unitario y normal unitario
Vectores tangente unitario y normal unitarioVectores tangente unitario y normal unitario
Vectores tangente unitario y normal unitarioRodolfo Alcantara Rosales
 
Tabla de derivadas
Tabla de derivadasTabla de derivadas
Tabla de derivadasJuan Paez
 
Aplicación de Integrales Definidas
Aplicación de Integrales DefinidasAplicación de Integrales Definidas
Aplicación de Integrales DefinidasEmma
 
Ejercicios plano tangente
Ejercicios plano tangenteEjercicios plano tangente
Ejercicios plano tangenteUNEFA
 
Ejercicios jacobi
Ejercicios jacobiEjercicios jacobi
Ejercicios jacobidjp951
 
Tabla de integrales (integrales trigonometricas)
Tabla de integrales (integrales trigonometricas)Tabla de integrales (integrales trigonometricas)
Tabla de integrales (integrales trigonometricas)waltergomez627
 
Curvas y superficies de nivel, trazado de funciones de 2 variables
Curvas y superficies de nivel, trazado de funciones de 2 variablesCurvas y superficies de nivel, trazado de funciones de 2 variables
Curvas y superficies de nivel, trazado de funciones de 2 variablesDaniel Orozco
 
Ejercicios Resueltos de Calculo Vectorial e Integrales de linea
Ejercicios Resueltos de Calculo Vectorial e Integrales de lineaEjercicios Resueltos de Calculo Vectorial e Integrales de linea
Ejercicios Resueltos de Calculo Vectorial e Integrales de lineaRuddy Sanchez Campos
 
Metodo de biseccion y regla falsa
Metodo de biseccion y regla falsaMetodo de biseccion y regla falsa
Metodo de biseccion y regla falsaSool Egurrola
 
Metodos numericos-3-1212530740013750-9
Metodos numericos-3-1212530740013750-9Metodos numericos-3-1212530740013750-9
Metodos numericos-3-1212530740013750-9Xavier Davias
 

What's hot (20)

Aplicaciones funciones vectoriales
Aplicaciones funciones vectorialesAplicaciones funciones vectoriales
Aplicaciones funciones vectoriales
 
Coeficientes indeterminados
Coeficientes indeterminadosCoeficientes indeterminados
Coeficientes indeterminados
 
Matlab integración numérica, método del trapecio
Matlab integración numérica, método del trapecioMatlab integración numérica, método del trapecio
Matlab integración numérica, método del trapecio
 
Dominio de una funcion vectorial - UNSCH
Dominio de una funcion vectorial - UNSCHDominio de una funcion vectorial - UNSCH
Dominio de una funcion vectorial - UNSCH
 
Matriz jacobiana
Matriz jacobianaMatriz jacobiana
Matriz jacobiana
 
265131074 derivadas-parciales (1)
265131074 derivadas-parciales (1)265131074 derivadas-parciales (1)
265131074 derivadas-parciales (1)
 
Vectores tangente unitario y normal unitario
Vectores tangente unitario y normal unitarioVectores tangente unitario y normal unitario
Vectores tangente unitario y normal unitario
 
Tabla de derivadas
Tabla de derivadasTabla de derivadas
Tabla de derivadas
 
Aplicación de Integrales Definidas
Aplicación de Integrales DefinidasAplicación de Integrales Definidas
Aplicación de Integrales Definidas
 
Euler y runge kutta
Euler y runge kuttaEuler y runge kutta
Euler y runge kutta
 
Ejercicios plano tangente
Ejercicios plano tangenteEjercicios plano tangente
Ejercicios plano tangente
 
Ejercicios jacobi
Ejercicios jacobiEjercicios jacobi
Ejercicios jacobi
 
Regla de Simpson tres octavos
Regla de Simpson tres octavosRegla de Simpson tres octavos
Regla de Simpson tres octavos
 
Tabla de integrales (integrales trigonometricas)
Tabla de integrales (integrales trigonometricas)Tabla de integrales (integrales trigonometricas)
Tabla de integrales (integrales trigonometricas)
 
Curvas y superficies de nivel, trazado de funciones de 2 variables
Curvas y superficies de nivel, trazado de funciones de 2 variablesCurvas y superficies de nivel, trazado de funciones de 2 variables
Curvas y superficies de nivel, trazado de funciones de 2 variables
 
Ejercicios Resueltos de Calculo Vectorial e Integrales de linea
Ejercicios Resueltos de Calculo Vectorial e Integrales de lineaEjercicios Resueltos de Calculo Vectorial e Integrales de linea
Ejercicios Resueltos de Calculo Vectorial e Integrales de linea
 
Gauss con pivoteo
Gauss con pivoteoGauss con pivoteo
Gauss con pivoteo
 
Metodo de biseccion y regla falsa
Metodo de biseccion y regla falsaMetodo de biseccion y regla falsa
Metodo de biseccion y regla falsa
 
Metodos numericos-3-1212530740013750-9
Metodos numericos-3-1212530740013750-9Metodos numericos-3-1212530740013750-9
Metodos numericos-3-1212530740013750-9
 
Teorema de convolución. mate iv
Teorema de convolución. mate ivTeorema de convolución. mate iv
Teorema de convolución. mate iv
 

Similar to Algoritmos para matlab

Método de Gauss
Método de GaussMétodo de Gauss
Método de GaussKike Prieto
 
NÚMEROS REALES II
NÚMEROS REALES IINÚMEROS REALES II
NÚMEROS REALES IICESAR V
 
1 ecuaciones no_lineales
1 ecuaciones no_lineales1 ecuaciones no_lineales
1 ecuaciones no_linealestimdrake27
 
Sistemas lineales casos especiales
Sistemas lineales casos especialesSistemas lineales casos especiales
Sistemas lineales casos especialesKike Prieto
 
Analisis numerico
Analisis numericoAnalisis numerico
Analisis numericocesarjmm1
 
Solución de Sistemas de Ecuaciones Lineales Analisis numerico
    Solución de Sistemas de Ecuaciones Lineales   Analisis numerico    Solución de Sistemas de Ecuaciones Lineales   Analisis numerico
Solución de Sistemas de Ecuaciones Lineales Analisis numericolmpd124
 
La recta de los mínimos cuadrados con excel y geogrebra
La recta de los mínimos cuadrados con excel y geogrebraLa recta de los mínimos cuadrados con excel y geogrebra
La recta de los mínimos cuadrados con excel y geogrebraMario Suárez
 
Scrib 3 analisis numerico
Scrib 3 analisis numericoScrib 3 analisis numerico
Scrib 3 analisis numericoMaria Moreno
 
catedra-metodos-numericos-2015-unsch-08.pdf
catedra-metodos-numericos-2015-unsch-08.pdfcatedra-metodos-numericos-2015-unsch-08.pdf
catedra-metodos-numericos-2015-unsch-08.pdfJose Luis Sosa Carmelo
 
Metodos numericos capitulo 2
Metodos numericos capitulo 2Metodos numericos capitulo 2
Metodos numericos capitulo 2Juan Timoteo Cori
 
Analisis Numerico... Jose Manzanilla
Analisis Numerico... Jose Manzanilla Analisis Numerico... Jose Manzanilla
Analisis Numerico... Jose Manzanilla jgmc251
 

Similar to Algoritmos para matlab (20)

Método de Gauss
Método de GaussMétodo de Gauss
Método de Gauss
 
NÚMEROS REALES II
NÚMEROS REALES IINÚMEROS REALES II
NÚMEROS REALES II
 
1 ecuaciones no_lineales
1 ecuaciones no_lineales1 ecuaciones no_lineales
1 ecuaciones no_lineales
 
Clase8 minisem
Clase8 minisemClase8 minisem
Clase8 minisem
 
Analismetodos
AnalismetodosAnalismetodos
Analismetodos
 
Analismetodos
AnalismetodosAnalismetodos
Analismetodos
 
Analismetodos
AnalismetodosAnalismetodos
Analismetodos
 
Sistemas lineales casos especiales
Sistemas lineales casos especialesSistemas lineales casos especiales
Sistemas lineales casos especiales
 
Vectores
VectoresVectores
Vectores
 
Analisis numerico
Analisis numericoAnalisis numerico
Analisis numerico
 
Trabajo practico - Grafos y Matrices (332) - UNA
Trabajo practico - Grafos y Matrices (332) - UNATrabajo practico - Grafos y Matrices (332) - UNA
Trabajo practico - Grafos y Matrices (332) - UNA
 
Metodos iterativos
Metodos iterativosMetodos iterativos
Metodos iterativos
 
Integracion
IntegracionIntegracion
Integracion
 
Integracion
IntegracionIntegracion
Integracion
 
Solución de Sistemas de Ecuaciones Lineales Analisis numerico
    Solución de Sistemas de Ecuaciones Lineales   Analisis numerico    Solución de Sistemas de Ecuaciones Lineales   Analisis numerico
Solución de Sistemas de Ecuaciones Lineales Analisis numerico
 
La recta de los mínimos cuadrados con excel y geogrebra
La recta de los mínimos cuadrados con excel y geogrebraLa recta de los mínimos cuadrados con excel y geogrebra
La recta de los mínimos cuadrados con excel y geogrebra
 
Scrib 3 analisis numerico
Scrib 3 analisis numericoScrib 3 analisis numerico
Scrib 3 analisis numerico
 
catedra-metodos-numericos-2015-unsch-08.pdf
catedra-metodos-numericos-2015-unsch-08.pdfcatedra-metodos-numericos-2015-unsch-08.pdf
catedra-metodos-numericos-2015-unsch-08.pdf
 
Metodos numericos capitulo 2
Metodos numericos capitulo 2Metodos numericos capitulo 2
Metodos numericos capitulo 2
 
Analisis Numerico... Jose Manzanilla
Analisis Numerico... Jose Manzanilla Analisis Numerico... Jose Manzanilla
Analisis Numerico... Jose Manzanilla
 

Algoritmos para matlab

  • 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
  • 10. 6.073820e+000 10 9.691628e-0011.960959e+0002.954867e+0003.961840e+0004.966049e+000 5.952576e+000 11 1.019787e+0002.025080e+0003.028957e+0004.024505e+0005.021806e+000 6.030433e+000 12 9.872943e-001 1.983905e+000 2.981405e+0003.984271e+0004.986005e+000 5.980459e+000 13 1.008155e+0002.010334e+0003.011936e+0004.010098e+0005.008986e+000 6.012543e+000 14 9.947641e-0011.993367e+0002.992337e+0003.993518e+0004.994232e+000 5.991947e+000 15 1.003361e+0002.004259e+0003.004919e+000 4.004162e+000 5.003703e+000 6.005169e+000 16 9.978422e-001 1.997266e+000 2.996842e+0003.997328e+0004.997623e+000 5.996681e+000 17 1.001385e+0002.001755e+0003.002027e+0004.001715e+0005.001526e+000 6.002130e+000 18 9.991107e-0011.998873e+0002.998699e+000 3.998899e+000 4.999020e+000 5.998632e+000 19 1.000571e+000 2.000723e+000 3.000835e+000 4.000707e+000 5.000629e+000 6.000878e+000 20 9.996335e-001 1.999536e+000 2.999464e+000 3.999546e+000 4.999596e+000 5.999436e+000 21 1.000235e+000 2.000298e+000 3.000344e+000 4.000291e+000 5.000259e+000 6.000362e+000 22 9.998490e-0011.999809e+0002.999779e+000 3.999813e+000 4.999834e+000
  • 11. 5.999768e+000 23 1.000097e+000 2.000123e+000 3.000142e+000 4.000120e+000 5.000107e+000 6.000149e+000 24 9.999378e-001 1.999921e+000 2.999909e+000 3.999923e+000 4.999931e+000 5.999904e+000 25 1.000040e+000 2.000051e+000 3.000058e+0004.000049e+0005.000044e+000 6.000061e+000 26 9.999743e-001 1.999967e+000 2.999962e+000 3.999968e+000 4.999972e+000 5.999961e+000 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 COMPROBANDO: b = 2.7300 4.1120 5.4820 6.7420 6.4040 8.1100 >> Ab' ans = 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000
  • 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 =
  • 13. k X 1 1008 4708 3425 701 2374 2650 2 -5.993300e+002 3.138444e+003 1.375804e+003 -7.892960e+002 1.511876e+003 -1.915710e+002 3 2.055395e+002 4.307750e+003 2.638324e+003 4.207412e+002 2.557511e+003 1.040352e+003 4 -3.796607e+002 3.607310e+003 1.780475e+003-2.505329e+002 1.948080e+003 1.448455e+002 5 -2.010291e+001 4.078305e+003 2.303187e+0032.063335e+002 2.353384e+003 7.016640e+002 6 -2.558124e+002 3.785340e+003 1.957048e+003 -8.240161e+001 2.097267e+003 3.402090e+002 7 -1.062063e+002 3.976918e+003 2.175764e+003 1.039214e+002 2.263484e+003 5.705731e+002 8 -2.028779e+002 3.855131e+003 2.034240e+003 -1.534937e+001 2.157494e+003 4.219634e+002 9 -1.410426e+002 3.933713e+003 2.124725e+003 6.136314e+001 2.225793e+003 5.170902e+002 10 -1.808161e+002 3.883399e+003 2.066511e+003 1.217256e+001 2.182034e+003 4.559270e+002 11 -1.553092e+002 3.915744e+003 2.103839e+003 4.377098e+001 2.210155e+003 4.951599e+002 12 -1.716927e+002 3.894996e+003 2.079860e+003 2.349257e+001 2.192112e+003 4.699631e+002 13 -1.611782e+002 3.908321e+003 2.095248e+003 3.651283e+001 2.203699e+003 4.861349e+002 14 -1.679292e+002 3.899768e+003 2.085368e+003 2.815504e+001 2.196262e+003 4.757520e+002 15 -1.635956e+002 3.905259e+003 2.091710e+003 3.352071e+001 2.201036e+003 4.824170e+002 16 -1.663778e+002 3.901735e+003 2.087639e+003 3.007623e+001 2.197971e+003 4.781382e+002 17 -1.645918e+002 3.903998e+003 2.090252e+003 3.228749e+001 2.199939e+003 4.808850e+002 18 -1.657383e+002 3.902545e+003 2.088574e+003 3.086795e+001 2.198676e+003 4.791216e+002 19 -1.650023e+002 3.903477e+003 2.089652e+003 3.177925e+001 2.199487e+003 4.802536e+002 20 -1.654748e+002 3.902879e+003 2.088960e+003 3.119423e+001 2.198966e+003 4.795269e+002
  • 14. 21 -1.651715e+002 3.903263e+003 2.089404e+003 3.156979e+001 2.199300e+003 4.799934e+002 22 -1.653662e+002 3.903016e+003 2.089119e+003 3.132869e+001 2.199086e+003 4.796939e+002 23 -1.652412e+002 3.903175e+003 2.089302e+003 3.148347e+001 2.199224e+003 4.798862e+002 24 -1.653214e+002 3.903073e+003 2.089184e+003 3.138411e+001 2.199135e+003 4.797628e+002 25 -1.652699e+002 3.903138e+003 2.089260e+003 3.144789e+001 2.199192e+003 4.798420e+002 26 -1.653030e+002 3.903096e+003 2.089211e+003 3.140695e+001 2.199156e+003 4.797912e+002 27 -1.652818e+002 3.903123e+003 2.089243e+003 3.143323e+001 2.199179e+003 4.798238e+002 28 -1.652954e+002 3.903106e+003 2.089223e+003 3.141636e+001 2.199164e+003 4.798028e+002 29 -1.652866e+002 3.903117e+003 2.089235e+003 3.142719e+001 2.199174e+003 4.798163e+002 30 -1.652923e+002 3.903110e+003 2.089227e+003 3.142024e+001 2.199167e+003 4.798077e+002 31 -1.652887e+002 3.903115e+003 2.089232e+003 3.142470e+001 2.199171e+003 4.798132e+002 32 -1.652910e+002 3.903112e+003 2.089229e+003 3.142183e+001 2.199169e+003 4.798097e+002 33 -1.652895e+002 3.903114e+003 2.089231e+003 3.142367e+001 2.199170e+003 4.798119e+002 34 -1.652904e+002 3.903112e+003 2.089230e+003 3.142249e+001 2.199169e+003 4.798105e+002 La respuesta final es 1.0e+003 * -0.1653 3.9031 2.0892 0.0314 2.1992 0.4798 COMPROBANDO: >> Ab' ans = 1.0e+003 * -0.1653 3.9031 2.0892 0.0314 2.1992 0.4798
  • 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
  • 22. Los coeficientes buscados son: 1.0e+003 * 3.0172 -1.2327 0.2517 -0.0342 0.0035 Graficando: F(x): P(x):
  • 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