Tarea 7 QMC - FLORES - SANTOS - AYRTON - TADEO
Tarea 7 QMC - FLORES - SANTOS - AYRTON - TADEO
Tarea 7 QMC - FLORES - SANTOS - AYRTON - TADEO
FACULTAD DE INGENIERÍA
INGENIERÍA QUÍMICA, AMBIENTAL, ALIMENTOS Y PETROQUIMICA
TAREA No. 7
1.- Considere el sistema siguiente con tres incógnitas a, u y v:
u2 – 2v2 = a2
u+v=2
a2 – 2a – u = 0
Encuentre los valores reales de las incógnitas, por medio de a) Solver de Excel, y b) Un programa
hecho en MATLAB.
PSEUDOCÓDIGO
1. INICIO
2. Indicar las ecuaciones lineales
3. Leer xo (valores iniciales)
4. Leer tol (tolerancia)
5. Leer maxit (número máximo de iteraciones)
6. Hacer error=norm((f(xo(1),xo(2),xo(3))),2
7. Hacer iter=1
8. Imprimir iter x(1) x(2) x(3) f(x1) f(x2) f(x3)
9. Mientras error>=tol
10. Hacer fxo=(f(xo(1),xo(2),xo(3)));
11. Hacer jfxo=jf(xo(1),xo(2),xo(3));
12. Hacer x1=xo-(inv(jfxo)*fxo)
13. Hacer error=norm((f(x1(1),x1(2),x1(3))),2);
14. Si iter > maxit
15. Imprimir maxit
16. Fin mientras
17. Imprimir iter,x1(1),x1(2),x1(3),fxo(1),fxo(2),fxo(3))
18. Hacer iter=iter+1;
19. Hacer xo=x1;
20. fin
21. imprimir ('las soluciones son:')
22. p u=1:n
23. Imprimir u,xo(u)
24. FIN
PROGRAMA EN MATLAB DIAGRAMA DE FLUJO
%P7_Ej1 INICIO
%ejercicio uno sistema no lineal
clc
clear all
Xo,tol,maxit
%definimos las ecuaciones, igualadasacero
syms u v a
fs=[u^2-(2*v^2)-a^2;u+v-2;a^2-(2*a)-u];
js = jacobian(fs); error=norm((f(xo(1),xo(2),xo(3))),2
f=inline(fs);
jf=inline(js);
iter=1
%pedimos datos
n=3;
xo=input('introduzca un vector columna de condiciones iter
iniciales: ');
tol=input('introduzca un valor para la tolerancia:
');
maxit=input('introduzca el número máximo de
iteraciones: '); iter > maxit
%procedimiento
error=norm((f(xo(1),xo(2),xo(3))),2); fxo=(f(xo(1),xo(2),xo(3)))
iter=1; jfxo=jf(xo(1),xo(2),xo(3))
x1=xo-(inv(jfxo)*fxo)
fprintf(' iter x(1) x(2) x(3) f(x1) f(x2) f(x3)')
while error >= tol maxit
fxo=(f(xo(1),xo(2),xo(3))); error>=tol
jfxo=jf(xo(1),xo(2),xo(3));
x1=xo-(inv(jfxo)*fxo);
error=norm((f(x1(1),x1(2),x1(3))),2); iter,x1(1),x1(2),x1(3),fxo(1),fxo(2),fxo(3))
if iter > maxit
fprintf('No se puede solucionar en %g
iteraciones',maxit)
return iter=iter+1;
end xo=x1
fprintf('\n %4.4f %4.4f %4.4f %4.4f %4.4f %4.4f
%4.4f\n',iter,x1(1),x1(2),x1(3),fxo(1),fxo(2),fxo(3))
iter=iter+1; u,xo(u)
xo=x1;
end
disp('las soluciones son:') FIN
for u=1:n
fprintf(' x(%1.0f) = %g\n',u,xo(u))
end
RESULTADOS
introduzca un vector columna de condiciones iniciales: [1 0 1]
introduzca un valor para la tolerancia: 10^-10
introduzca el número máximo de iteraciones: 30
iter x(1) x(2) x(3) f(x1) f(x2) f(x3)
1.0000 -4.5000 0.0000 3.0000 -3.0000 -1.0000 -1.0000
2.-
PSEUDOCÓDIGO
1. INICIO
2. function [A B] =Orden(A,B)
3. Hacer n=length(A);
4. Para i=1:n
5. Hacer Aux=0;
6. Hacer Aux1=0;
7. Hacer Mayor=0;
8. Para j=1:n
9. si abs(A(i,j))>=abs(Mayor)
10. Hacer Mayor=A(i,j);
11. Hacer m=j;
12. FIN Para
13. FIN Para
14. Aux=A(i,:);
15. A(i,:)=A(m,:);
16. A(m,:)=Aux;
17. Aux1=B(i);
18. B(i)=B(m);
19. B(m)=Aux1;
20. fin
21. fin
B
-2.0000 0 0.2700 1.0000 2.0000
0 0 1.0000 0 1.0000
0 -3.0000 2.0000 2.0000 0
0 1.0000 -0.2500 0 0
-1.5000 0 0 0 1.0000 FIN
DIAG
O
>> B=[6;6;12;0;0]
INICIO
B=
A=
p=1;p=p+1;p<=n
-1.5000 0 0 0 1.0000
0 1.0000 -0.2500 0 0
-2.0000 0 0.2700 1.0000 2.0000 k=[1:p-1,p+1:n]
0 -3.0000 2.0000 2.0000 0
0 0 1.0000 0 1.0000
break
B=
0
A(p,p)==0
0
6
12
6
m=A(k,p)/A(p,p);
A(k,:)=A(k,:)-(m*A(p,:))
A=
k
-1.5000 0 0 0 1.0000 0
0 1.0000 -0.2500 0 0 0
-2.0000 0 0.2700 1.0000 2.0000 6.0000
p
0 -3.0000 2.0000 2.0000 0 12.0000
0 0 1.0000 0 1.0000 6.0000
X=A(:,n+1)./diag(A)
A=
-1.5000 0 0 0 1.0000 0 X
0 1.0000 -0.2500 0 0 0
0 0 0.2700 1.0000 0.6667 6.0000
0 -3.0000 2.0000 2.0000 0 12.0000
0 0 1.0000 0 1.0000 6.0000 FIN
A=
-1.5000 0 0 0 1.0000 0
0 1.0000 -0.2500 0 0 0
0 0 0.2700 1.0000 0.6667 6.0000
0 -3.0000 2.0000 2.0000 0 12.0000
0 0 1.0000 0 1.0000 6.0000
A=
-1.5000 0 0 0 1.0000 0
0 1.0000 -0.2500 0 0 0
0 0 0.2700 1.0000 0.6667 6.0000
0 -3.0000 2.0000 2.0000 0 12.0000
0 0 1.0000 0 1.0000 6.0000
A=
-1.5000 0 0 0 1.0000 0
0 1.0000 -0.2500 0 0 0
0 0 0.2700 1.0000 0.6667 6.0000
0 -3.0000 2.0000 2.0000 0 12.0000
0 0 1.0000 0 1.0000 6.0000
A=
-1.5000 0 0 0 1.0000 0
0 1.0000 -0.2500 0 0 0
0 0 0.2700 1.0000 0.6667 6.0000
0 -3.0000 2.0000 2.0000 0 12.0000
0 0 1.0000 0 1.0000 6.0000
A=
-1.5000 0 0 0 1.0000 0
0 1.0000 -0.2500 0 0 0
0 0 0.2700 1.0000 0.6667 6.0000
0 0 1.2500 2.0000 0 12.0000
0 0 1.0000 0 1.0000 6.0000
A=
-1.5000 0 0 0 1.0000 0
0 1.0000 -0.2500 0 0 0
0 0 0.2700 1.0000 0.6667 6.0000
0 0 1.2500 2.0000 0 12.0000
0 0 1.0000 0 1.0000 6.0000
A=
-1.5000 0 0 0 1.0000 0
0 1.0000 -0.2500 0 0 0
0 0 0.2700 1.0000 0.6667 6.0000
0 0 1.2500 2.0000 0 12.0000
0 0 1.0000 0 1.0000 6.0000
A=
-1.5000 0 0 0 1.0000 0
0 1.0000 0 0.9259 0.6173 5.5556
0 0 0.2700 1.0000 0.6667 6.0000
0 0 1.2500 2.0000 0 12.0000
0 0 1.0000 0 1.0000 6.0000
A=
-1.5000 0 0 0 1.0000 0
0 1.0000 0 0.9259 0.6173 5.5556
0 0 0.2700 1.0000 0.6667 6.0000
0 0 -0.0000 -2.6296 -3.0864 -15.7778
0 0 1.0000 0 1.0000 6.0000
A=
-1.5000 0 0 0 1.0000 0
0 1.0000 0 0.9259 0.6173 5.5556
0 0 0.2700 1.0000 0.6667 6.0000
0 0 -0.0000 -2.6296 -3.0864 -15.7778
0 0 0 -3.7037 -1.4691 -16.2222
A=
-1.5000 0 0 0 1.0000 0
0 1.0000 0 0.9259 0.6173 5.5556
0 0 0.2700 1.0000 0.6667 6.0000
0 0 -0.0000 -2.6296 -3.0864 -15.7778
0 0 0 -3.7037 -1.4691 -16.2222
A=
-1.5000 0 0 0 1.0000 0
0 1.0000 -0.0000 0.0000 -0.4695 0.0000
0 0 0.2700 1.0000 0.6667 6.0000
0 0 -0.0000 -2.6296 -3.0864 -15.7778
0 0 0 -3.7037 -1.4691 -16.2222
A=
-1.5000 0 0 0 1.0000 0
0 1.0000 -0.0000 0.0000 -0.4695 0.0000
0 0 0.2700 0 -0.5070 0
0 0 -0.0000 -2.6296 -3.0864 -15.7778
0 0 0 -3.7037 -1.4691 -16.2222
A=
-1.5000 0 0 0 1.0000 0
0 1.0000 -0.0000 0.0000 -0.4695 0.0000
0 0 0.2700 0 -0.5070 0
0 0 -0.0000 -2.6296 -3.0864 -15.7778
0 0 0.0000 -0.0000 2.8779 6.0000
A=
A=
A=
X=
1.3899
0.9788
3.9152
3.5530
2.0848
3.- El sistema de ecuaciones que sigue está diseñado para determinar concentraciones (las c están
en g/m3 ) en una serie de reactores acoplados, como función de la cantidad de masa que entra a
cada uno de ellos (los lados derechos están en g/día),
Determine la solución por el método de Gaus con Pivoteo Parcial. b) Determine cuánto debe
incrementarse la tasa de masa de entrada al reactor 3 para inducir un aumento de 10 g/m3 en la
concentración del reactor 1. c) ¿Cuánto se reduciría la concentración en el reactor 3 si la tasa de
masa de entrada a los reactores 1 y 2 se redujera en 500 y 250 g/día, respectivamente?
2𝑥1 + 𝑥2 + 𝑥3 + 3𝑥4 = 7
6𝑥1 + 5𝑥2 + 4𝑥3 + 17𝑥4 = 31
Elabore un programa en MATLAB, que resuelva n ecuaciones.
6.- Use el método de Gauss-Seidel (a) sin relajación, y (b) con relajación (l = 1.2), para resolver el
sistema siguiente para una tolerancia de es = 5%. Si es necesario, reacomode las ecuaciones para
lograr convergencia.
2x1 – 6x2 – x3 = –38
–3x1 – x2 + 7x3 = –34
–8x1 + x2 – 2x3 = –20
PSEUDOCÓDIGO
1. INICIO
2. function [ X ] = Gauss_Seidel_Relajacion_sis_lin( A,B,X,tol,max,omega )
3. Función [ A B ] = Ordena_Matriz( A,B );
4. Hacer n=length(A);
5. Hacer D=zeros(n,max);
6. Para k=1:max
7. Hacer w=X;
8. Para i=1:n
9. Si k==1
10. Hacer s=A(i,1:i-1)*X(1:i-1) + A(i,i+1:n)*X(i+1:n);
11. Hacer X(i)=(B(i)-s)/A(i,i);
12. No
13. Hacer s=A(i,1:i-1)*X(1:i-1) + A(i,i+1:n)*X(i+1:n);
14. Hacer X(i)=omega*((B(i)-s)/A(i,i)) + ((1-omega)*D(i,k-1));
15. FIN
16. Hacer D(i,k)=X(i);
17. Fin
18. si norm(X-w,inf)<tol
19. Volver
20. fin
21. Imprimir la solucion del sistema en a iteracion %4.0f \n',k
22. Para i=1:n
23. Imprimir i,X(i)
24. FIN
25. fin
26. Fin
1. INICIO
2. function [ X ] = Gauss_Seidel_Relajacion_sis_lin( A,B,X,tol,max,omega )
3. [ A B ] = Ordena_Matriz( A,B );
4. Hacer n=length(A);
5. Hacer D=zeros(n,max);
6. Para k=1:max
7. Hacer w=X;
8. Para i=1:n
9. Si k==1
10. Hacer s=A(i,1:i-1)*X(1:i-1) + A(i,i+1:n)*X(i+1:n);
11. Hacer X(i)=(B(i)-s)/A(i,i);
12. NO
13. Hacer s=A(i,1:i-1)*X(1:i-1) + A(i,i+1:n)*X(i+1:n);
14. Hacer X(i)=omega*((B(i)-s)/A(i,i)) + ((1-omega)*D(i,k-1));
15. Fin
16. Hacer D(i,k)=X(i);
17. fin
18. si norm(X-w,inf)<tol
19. volver
20. Fin
21. Imprimir la solucion del sistema en a iteracion,k
22. Para i=1:n
23. Imprimir i,X(i)
24. fin
25. fin
26. FIN
SIN RELAJACIÓN
PROGRAMA EN MATLAB
function [ X ] = Gauss_Seidel_Relajacion_sis_lin( A,B,X,tol,max,omega )
[ A B ] = Ordena_Matriz( A,B );
n=length(A);
D=zeros(n,max);
for k=1:max
w=X;
for i=1:n
if k==1
s=A(i,1:i-1)*X(1:i-1) + A(i,i+1:n)*X(i+1:n);
X(i)=(B(i)-s)/A(i,i);
else
s=A(i,1:i-1)*X(1:i-1) + A(i,i+1:n)*X(i+1:n);
X(i)=omega*((B(i)-s)/A(i,i)) + ((1-omega)*D(i,k-1));
end
D(i,k)=X(i);
end
if norm(X-w,inf)<tol
return
end
fprintf ('\n la solucion del sistema en a iteracion %4.0f \n',k)
for i=1:n
fprintf (' x(%1.0f)=%6.3f \n',i,X(i))
end
end
end
RESULTADOS
RESULTADOS:
>> A=[2 -6 -1;-3 -1 7;-8 1 -2];
>> B=[-38 -34 -20]';
>> X=[0 0 0];
>> tol=0.00001
>> max=40;
>> X=[1 1 1]'
>> [ X ] = Gauss_Seidel_sis_lineal( A,B,X,tol,max )
la solucion del sistema en a iteracion 1
x(1)= 2.375
x(2)= 6.958
x(3)=-2.845
la solucion del sistema en a iteracion 2
x(1)= 4.081
x(2)= 8.168
x(3)=-1.941
la solucion del sistema en a iteracion 3
x(1)= 4.006
x(2)= 7.992
x(3)=-1.998
la solucion del sistema en a iteracion 4
x(1)= 3.999
x(2)= 7.999
x(3)=-2.001
la solucion del sistema en a iteracion 5
x(1)= 4.000
x(2)= 8.000
x(3)=-2.000
la solucion del sistema en a iteracion 6
x(1)= 4.000
x(2)= 8.000
x(3)=-2.000
X=
4.0000
8.0000
-2.0000
CON RELAJACIÓN
PROGRAMA DE MATLAB
function [ X ] = Gauss_Seidel_Relajacion_sis_lin( A,B,X,tol,max,omega )
[ A B ] = Ordena_Matriz( A,B );
n=length(A);
D=zeros(n,max);
for k=1:max
w=X;
for i=1:n
if k==1
s=A(i,1:i-1)*X(1:i-1) + A(i,i+1:n)*X(i+1:n);
X(i)=(B(i)-s)/A(i,i);
else
s=A(i,1:i-1)*X(1:i-1) + A(i,i+1:n)*X(i+1:n);
X(i)=omega*((B(i)-s)/A(i,i)) + ((1-omega)*D(i,k-1));
end
D(i,k)=X(i);
end
if norm(X-w,inf)<tol
return
end
fprintf ('\n la solucion del sistema en a iteracion %4.0f \n',k)
for i=1:n
fprintf (' x(%1.0f)=%6.3f \n',i,X(i))
end
end
end
RESULTADOS
>> A=[2 -6 -1;-3 -1 7;-8 1 -2];
>> B=[-38 -34 -20]';
>> X=[0 0 0];
>> tol=0.00001
>> max=40;
>> X=[1 1 1]';
>> omega=1.2;
>> [ X ] = Gauss_Seidel_Relajacion_sis_lin( A,B,X,tol,max,omega )
la solucion del sistema en a iteracion 1
x(1)= 2.375
x(2)= 6.958
x(3)=-2.845
la solucion del sistema en a iteracion 2
x(1)= 4.422
x(2)= 8.546
x(3)=-1.520
la solucion del sistema en a iteracion 3
x(1)= 3.854
x(2)= 7.736
x(3)=-2.217
la solucion del sistema en a iteracion 4
x(1)= 4.055
x(2)= 8.118
x(3)=-1.908
la solucion del sistema en a iteracion 5
x(1)= 3.979
x(2)= 7.950
x(3)=-2.038
la solucion del sistema en a iteracion 6
x(1)= 4.008
x(2)= 8.021
x(3)=-1.985
la solucion del sistema en a iteracion 7
x(1)= 3.997
x(2)= 7.992
x(3)=-2.006
la solucion del sistema en a iteracion 8
x(1)= 4.001
x(2)= 8.003
x(3)=-1.998
la solucion del sistema en a iteracion 9
x(1)= 4.000
x(2)= 7.999
x(3)=-2.001
la solucion del sistema en a iteracion 10
x(1)= 4.000
x(2)= 8.001
x(3)=-2.000
la solucion del sistema en a iteracion 11
x(1)= 4.000
x(2)= 8.000
x(3)=-2.000
la solucion del sistema en a iteracion 12
x(1)= 4.000
x(2)= 8.000
x(3)=-2.000
la solucion del sistema en a iteracion 13
x(1)= 4.000
x(2)= 8.000
x(3)=-2.000
la solucion del sistema en a iteracion 14
x(1)= 4.000
x(2)= 8.000
x(3)=-2.000
la solucion del sistema en a iteracion 15
x(1)= 4.000
x(2)= 8.000
x(3)=-2.000
X=
4.0000
8.0000
-2.0000
INICIO
n=length(A);
D=zeros(n,max)
k=1;k=k+1;k<=max
w=X
i=1;i=i+1;i<=n
k==1
D(i,k)=X(i)
return
k
norm(X-w,inf)<tol
i=1;i=i+1;i<=n
i,X(i)
FIN
7.- De los tres conjuntos siguientes de ecuaciones lineales, identifique aquel(los) que no podría
resolver con el uso de un método iterativo tal como el de Gauss-Seidel. Demuestre que su solución
no converge, utilizando cualquier número de iteraciones que sea necesario. Enuncie con claridad
su criterio de convergencia (es decir, cómo se sabe que no está convergiendo).
PSEUDOCÓDIGO
1. INICIO
2. function [X] = gausssei_del_sist_lineal(A,B,X,tol,max)
3. Hacer n=length(X);
4. Hacer [A B]=Orden(A,B);
5. Para k=1:max
6. Hacer w=X;
7. Para i=1:n
8. Hacer s=A(i,1:i-1)*X(1:i-1)+A(i,i+1:n)*X(i+1:n);
9. Hacer X(i)=(B(i)-s)/A(i,i);
10. Fin
11. Si norm(X-w,inf)<tol
12. Volver
13. Fin
14. Imprimir la solucion del sistema en la iteracion, k
15. Para i=1:n
16. Imprimir i,X(i)
17. Fin
18. Fin
19. FIN
PROGRAMA EN MATLAB
function [X] = gausssei_del_sist_lineal(A,B,X,tol,max)
%A Matriz de coeficientes
%B Matriz rptas
%X Matriz inicial
n=length(X);
[A B]=Orden(A,B);
for k=1:max
w=X;
for i=1:n
s=A(i,1:i-1)*X(1:i-1)+A(i,i+1:n)*X(i+1:n);
X(i)=(B(i)-s)/A(i,i);
end
if norm(X-w,inf)<tol
return
end
fprintf('\n la solucion del sistema en la iteracion %4.0f\n',k)
for i=1:n
fprintf(' x(%1.0f)=%6.3f\n',i,X(i))
end
end
end
RESULTADOS
A=[9 3 1;0 -6 8;2 5 -1]
A=
931
0 -6 8
2 5 -1
>> B=[13 2 6]'
B=
13
2
6
tol =
1.0000e-05
>> max=50
max =
50
>> X=[0 0 0]'
X=
0
0
0
>> [ X ] = Gauss_Seidel_sis_lineal( A,B,X,tol,max )
X=
1.0000
1.0000
1.0000
n=length(A);
D=zeros(n,max)
k=1;k=k+1;k<=max
w=X
i=1;i=i+1;i<=n
k==1
D(i,k)=X(i)
return
k
norm(X-w,inf)<tol
i=1;i=i+1;i<=n
i,X(i)
FIN
9.- El sistema tridiagonal que sigue debe resolverse como parte de un algoritmo mayor (Crank-
Nicolson) para solucionar ecuaciones diferenciales parciales:
PSEUDOCÓDIGO
1. INICIO
2. function [X] = gausssei_del_sist_lineal(A,B,X,tol,max)
3. Hacer n=length(X);
4. Hacer [A B]=Orden(A,B);
5. Para k=1:max
6. Hacer w=X;
7. Para i=1:n
8. Hacer s=A(i,1:i-1)*X(1:i-1)+A(i,i+1:n)*X(i+1:n);
9. Hacer X(i)=(B(i)-s)/A(i,i);
10. Fin
11. Si norm(X-w,inf)<tol
12. Volver
13. Fin
14. Imprimir la solucion del sistema en la iteracion, k
15. Para i=1:n
16. Imprimir i,X(i)
17. Fin
18. Fin
FIN
PROGRAMA EN MATLAB
function [ X ] = Gauss_Seidel_sis_lineal( A,B,X,tol,max )
[ con, A ] = contador_ceros( A );
if (con==0)
[ A B ] = Ordena_Matriz( A,B );
n=length(A);
for k=1:max
w=X;
for i=1:n
s=A(i,1:i-1)*X(1:i-1) + A(i,i+1:n)*X(i+1:n);
X(i)=(B(i)-s)/A(i,i);
end
if norm(X-w,inf)<tol
return
end
fprintf ('\n la solucion del sistema en a iteracion %4.0f \n',k)
for i=1:n
fprintf (' x(%1.0f)=%6.3f \n',i,X(i))
end
end
else
n=length(A);
for k=1:max
w=X;
for i=1:n
s=A(i,1:i-1)*X(1:i-1) + A(i,i+1:n)*X(i+1:n);
X(i)=(B(i)-s)/A(i,i);
end
if norm(X-w,inf)<tol
return
end
fprintf ('\n la solucion del sistema en a iteracion %4.0f \n',k)
for i=1:n
fprintf (' x(%1.0f)=%6.3f \n',i,X(i))
end
end
end
end
RESULTADOS
>> A=[2.01475 -0.020875 0 0;-0.020875 2.01475 -0.020875 0;0 -0.020875 2.01475 -0.020875;0 0 -
0.020875
2.01475]
A=
2.0147 -0.0209 0 0
-0.0209 2.0147 -0.0209 0
0 -0.0209 2.0147 -0.0209
0 0 -0.0209 2.0147
>> B=[4.175 0 0 2.0875]'
B=
4.1750
0
0
2.0875
>> X=[1 1 1 1]'
X=
1
1
1
1
>> tol=0.0001
>> max=50;
>> [ X ] = Gauss_Seidel_sis_lineal( A,B,X,tol,max )
la solucion del sistema en a iteracion 1
x(1)= 2.083
x(2)= 0.032
x(3)= 0.011
x(4)= 1.036
la solucion del sistema en a iteracion 2
x(1)= 2.073
x(2)= 0.022
x(3)= 0.011
x(4)= 1.036
la solucion del sistema en a iteracion 3
x(1)= 2.072
x(2)= 0.022
x(3)= 0.011
x(4)= 1.036
X=
2.0724
0.0216
0.0110
1.0362
INICIO
n=length(A);
D=zeros(n,max)
k=1;k=k+1;k<=max
w=X
i=1;i=i+1;i<=n
k==1
D(i,k)=X(i)
return
k
norm(X-w,inf)<tol
i=1;i=i+1;i<=n
i,X(i)
FIN