Matlab - ode113 y cinetica quimica - Undefined function or variable 'x'.

 
Vista:
sin imagen de perfil
Val: 19
Ha aumentado 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

ode113 y cinetica quimica - Undefined function or variable 'x'.

Publicado por Edmundo (8 intervenciones) el 03/02/2019 22:58:49
Hola muy buenos dias si alguien me podria ayudar a resolver este codigo seria de gran ayuda, la verdad no puedo encontrar el error, es que tengo que incluir @ en las funciones.
-------------------------------------------------------------------------------------------------------------------------------------------------------
El error que me aparece es:

Undefined function or variable 'x'.

Error in bengurion1 (line 29)
MT=((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)));

>>
-------------------------------------------------------------------------------------------------------------------------------------------------------

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
clear
clc
%Parametros
R=8.3144598; %j/mol*°K
 
% condiciones
T=320; %Temperatur im °K
pt=20; % Druck im bar 
WHSV=6; %h^-1
 
% Condiciones iniciales
x0=[0.25,0.75,0,0,0,0,0,0,0,0,0,0]; %vector inicial de x
tf=1/WHSV; %Zeit am ende in h
 
%Molar masa %g/mol 
M1=44.0095; %CO2
M2=2.01588; %H2
M3=28.0101; %CO
M4=18.01528; %H2O
M5=16.04246; %CH4
M6=28.05316; %C2H4
M7=42.07974; %C3H6
M8=44.09562; %C3H8
M9=56.10632; %C4H8
M10=70.1329; %C5H10
M11=140.2658; %C10H20
M12=88.10512; %C4H8O2
 
MT=((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)));
 
%constantes de velocidad
k1=(5.5E6)*exp(-72.2E3/(R*(T))); % mol/(g*h*MPa^2)
k2=(1.1E9)*exp(-98E3/(R*(T))); % mol/(g*h*MPa^1.2)
k3=(1.2E4)*exp(-45E3/(R*(T))); % mol/(g*h*MPa^1.2)
k4=(1.2E5)*exp(-53.6E3/(R*(T))); % mol/(g*h*MPa^1.2)
k5=(1.8E4)*exp(-46.4E3/(R*(T))); % mol/(g*h*MPa^1.2)
k6=(1.1E3)*exp(-31.5E3/(R*(T))); % mol/(g*h*MPa^1.2)
k7=(9.0E2)*exp(-31.5E3/(R*(T))); % mol/(g*h*MPa^1.2)
k8=(4E3)*exp(-33.4E3/(R*(T))); % mol/(g*h*MPa^1.2)
k9=(3.6E3)*exp(-31.5E3/(R*(T))); % mol/(g*h*MPa^1.2)
k10=(2.7E3)*exp(-25.8E3/(R*(T))); % mol/(g*h*MPa^1.3)
k11=(1.4E4)*exp(-35.5E3/(R*(T))); % mol/(g*h*MPa^1.8)
k12=(3.7E4)*exp(-40.7E3/(R*(T))); % mol/(g*h*MPa^1.6)
k13=(6.0E7)*exp(-88.8E3/(R*(T))); % mol/(g*h*MPa^1.3)
 
%Adsorptionskonstante
K1=(2.10E-2)*exp(-33.4E3/(R*(T)));
K4=(2.40E-2)*exp(-31.5E3/(R*(T)));
 
%Konstante de equilibrio
Keqr=10^((2073/T)-2.029);
Keq=1/Keqr;
 
%velocidades de reaccion
r1=k1*(((x(1)*x(2))-(x(3)*x(4)/Keq))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^2);
r2=k2*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r3=k3*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r4=k4*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r5=k5*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r6=k6*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r7=k7*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r8=k8*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r9=k9*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r10=k10*((x(6)^1.3)/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.3);
r11=k11*((x(7)^1.8)/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.8);
r12=k12*((x(9)^1.6)/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.6);
r13=k13*((x(10)^1.3)/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.3);
 
%Feedstock
nco2=1;
nh2=3;
nt=nco2+nh2;
mt=(nco2/nt*(M1)+nh2/nt*(M2));
wco2=(nco2*(M1)/mt);
 
%Faktor 
F=@(x)MT*wco2;
 
%Funcion de las ecuaciones diferenciales
fg=@(t,x) ([F*r1;...
    F*(-r1-3*r2-2*r3-2*r4-7/3*r5-2*r6-2*r7-2*r8-6/4*r9);...
    F*(r1-r2-r3-r4-r5-r6-r7-r8-r9);...
    F*(r1+r2+r3+r4+r5+r6+r7+r8+(2/4*r9));...
    F*(r2);...
    F*(1/2*r3-r10);...
    F*(1/3*r4-r11);...
    F*(1/3*r5);...
    F*(1/4*r6-r12);...
    F*(1/5*r7-r13);...
    F*(1/10*r8+1/5*r10+1/3.3*r11+1/2.5*r12+1/2*r13);...
    F*(1/4*r9)]);
 
%Lösung
[t,x]=ode113(fg,[0,tf],x0);
plot(x,y)
grid on
xlabel('t')
ylabel('x,y');
title('Ben-Gurion Model')
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

ode113 y cinetica quimica - Undefined function or variable 'x'.

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 04/02/2019 00:04:51
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
clear
clc
close all
%Parametros
R=8.3144598; %j/mol*°K
 
% condiciones
T=320; %Temperatur im °K
pt=20; % Druck im bar 
WHSV=6; %h^-1
 
% Condiciones iniciales
x0=[0.25,0.75,0,0,0,0,0,0,0,0,0,0]; %vector inicial de x
x=x0;
tf=1/WHSV; %Zeit am ende in h
 
%Molar masa %g/mol 
M1=44.0095; %CO2
M2=2.01588; %H2
M3=28.0101; %CO
M4=18.01528; %H2O
M5=16.04246; %CH4
M6=28.05316; %C2H4
M7=42.07974; %C3H6
M8=44.09562; %C3H8
M9=56.10632; %C4H8
M10=70.1329; %C5H10
M11=140.2658; %C10H20
M12=88.10512; %C4H8O2
% syms x
%MT=((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))
 
%constantes de velocidad
k1=(5.5E6)*exp(-72.2E3/(R*T)); % mol/(g*h*MPa^2)
k2=(1.1E9)*exp(-98E3/(R*T)); % mol/(g*h*MPa^1.2)
k3=(1.2E4)*exp(-45E3/(R*T)); % mol/(g*h*MPa^1.2)
k4=(1.2E5)*exp(-53.6E3/(R*T)); % mol/(g*h*MPa^1.2)
k5=(1.8E4)*exp(-46.4E3/(R*T)); % mol/(g*h*MPa^1.2)
k6=(1.1E3)*exp(-31.5E3/(R*T)); % mol/(g*h*MPa^1.2)
k7=(9.0E2)*exp(-31.5E3/(R*T)); % mol/(g*h*MPa^1.2)
k8=(4E3)*exp(-33.4E3/(R*T)); % mol/(g*h*MPa^1.2)
k9=(3.6E3)*exp(-31.5E3/(R*T)); % mol/(g*h*MPa^1.2)
k10=(2.7E3)*exp(-25.8E3/(R*T)); % mol/(g*h*MPa^1.3)
k11=(1.4E4)*exp(-35.5E3/(R*T)); % mol/(g*h*MPa^1.8)
k12=(3.7E4)*exp(-40.7E3/(R*T)); % mol/(g*h*MPa^1.6)
k13=(6.0E7)*exp(-88.8E3/(R*T)); % mol/(g*h*MPa^1.3)
 
%Adsorptionskonstante
K1=(2.10E-2)*exp(-33.4E3/(R*(T)));
K4=(2.40E-2)*exp(-31.5E3/(R*(T)));
 
%Konstante de equilibrio
Keqr=10^((2073/T)-2.029);
Keq=1/Keqr;
 
%velocidades de reaccion
r1=k1*(((x(1)*x(2))-(x(3)*x(4)/Keq))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^2);
r2=k2*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r3=k3*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r4=k4*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r5=k5*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r6=k6*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r7=k7*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r8=k8*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r9=k9*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r10=k10*((x(6)^1.3)/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.3);
r11=k11*((x(7)^1.8)/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.8);
r12=k12*((x(9)^1.6)/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.6);
r13=k13*((x(10)^1.3)/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.3);
 
%Feedstock
nco2=1;
nh2=3;
nt=nco2+nh2;
mt=(nco2/nt*(M1)+nh2/nt*(M2));
wco2=(nco2*(M1)/mt);
 
%Faktor 
% F=@(x) ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2
 
%Funcion de las ecuaciones diferenciales
fg=@(t,x) ([ ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*r1;...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(-r1-3*r2-2*r3-2*r4-7/3*r5-2*r6-2*r7-2*r8-6/4*r9);...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(r1-r2-r3-r4-r5-r6-r7-r8-r9);...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(r1+r2+r3+r4+r5+r6+r7+r8+(2/4*r9));...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(r2);...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(1/2*r3-r10);...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(1/3*r4-r11);...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(1/3*r5);...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(1/4*r6-r12);...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(1/5*r7-r13);...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(1/10*r8+1/5*r10+1/3.3*r11+1/2.5*r12+1/2*r13);...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(1/4*r9)]);
 
%Lösung
[t,x]=ode113(fg,[0,tf],x0);
% plot(t,x(:,1)  )
figure(gcf)
axis([0 0.2 -0.1 0.8 ])
hold on
for i=1:size(x,2)
plot(t,x(:,i),'color', rand(1,3) ,'linewidth',2 )
a{i}=['k=',num2str(i)];
 legend(a)
 axis([0 0.2 -0.1 0.8 ])
grid on
xlabel('t')
ylabel('x  ,  y');
title('Ben-Gurion Model')
pause(1)
end
 
hold off

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 19
Ha aumentado 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

ode113 y cinetica quimica - Undefined function or variable 'x'.

Publicado por Edmundo (8 intervenciones) el 04/02/2019 09:22:15
Sr. Caballero,

Muchas gracias, por su respuesta, me sirvio de mucho para que el problema presente un resultado, pero no se presenta los resultados esperados. Por un lado pienso que como los parametros 'r'; velocidades de reaccion son funcion del tiempo--> debo especificarlos de la siguiente forma:

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Por ejemplo:

r1=@(t) k1*(((x(1)*x(2))-(x(3)*x(4)/Keq))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^2);

y en la funcion que especifica el sistema de ecuaciones diferenciales, los valores de r deben ser especificados de la sgte forma:

fg=@(t,x) ([ ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*r1(t);...
.......]);
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

El camino pensado es correcto, o estoy cometiendo un error?

Por otro revisare los parametros especificados aunq ya los revise muchas veces.

Le agradezco mucho por su tiempo:

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 19
Ha aumentado 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

ode113 y cinetica quimica - Undefined function or variable "x".

Publicado por Edmundo (8 intervenciones) el 04/02/2019 10:01:17
Modifique el codigo de esta forma y aun no presento variaciones en mis resultados, pero a partir de la variable 5 no se ven cambios


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
clear
clc
close all
%Parametros
R=8.3144598; %j/mol*°K
 
% Parametros
T=320+273.15; %Temperatura en °K
pt=0.2; % Presion im MPa 
WHSV=6; %h^-1
 
% Condiciones iniciales
x0=[0.25,0.75,0,0,0,0,0,0,0,0,0,0]; %Vector inicial
x=x0;
tf=1/WHSV; %Zeit am ende in h
 
%Masa Molar %g/mol 
M1=44.0095; %CO2
M2=2.01588; %H2
M3=28.0101; %CO
M4=18.01528; %H2O
M5=16.04246; %CH4
M6=28.05316; %C2H4
M7=42.07974; %C3H6
M8=44.09562; %C3H8
M9=56.10632; %C4H8
M10=70.1329; %C5H10
M11=140.2658; %C10H20
M12=88.10512; %C4H8O2
 
% syms x Masa molar total de la mezcla en funcion de las variables resultado (Fracciones molares)
%MT=((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))
 
%Constantes de velocidad de reaccion a temperatura T
k1=@(t)(5.5E6)*exp(-72.2E3/(R*T)); % mol/(g*h*MPa^2)
k2=@(t)(1.1E9)*exp(-98E3/(R*T)); % mol/(g*h*MPa^1.2)
k3=@(t)(1.2E4)*exp(-45E3/(R*T)); % mol/(g*h*MPa^1.2)
k4=@(t)(1.2E5)*exp(-53.6E3/(R*T)); % mol/(g*h*MPa^1.2)
k5=@(t)(1.8E4)*exp(-46.4E3/(R*T)); % mol/(g*h*MPa^1.2)
k6=@(t)(1.1E3)*exp(-31.5E3/(R*T)); % mol/(g*h*MPa^1.2)
k7=@(t)(9.0E2)*exp(-31.5E3/(R*T)); % mol/(g*h*MPa^1.2)
k8=@(t)(4E3)*exp(-33.4E3/(R*T)); % mol/(g*h*MPa^1.2)
k9=@(t)(3.6E3)*exp(-31.5E3/(R*T)); % mol/(g*h*MPa^1.2)
k10=@(t)(2.7E3)*exp(-25.8E3/(R*T)); % mol/(g*h*MPa^1.3)
k11=@(t)(1.4E4)*exp(-35.5E3/(R*T)); % mol/(g*h*MPa^1.8)
k12=@(t)(3.7E4)*exp(-40.7E3/(R*T)); % mol/(g*h*MPa^1.6)
k13=@(t)(6.0E7)*exp(-88.8E3/(R*T)); % mol/(g*h*MPa^1.3)
 
%Constantes de Adsorption a temperatura T
K1=(2.10E-2)*exp(-33.4E3/(R*(T)));
K4=(2.40E-2)*exp(-31.5E3/(R*(T)));
 
%Constantes de equilibrio
Keqr=10^((2073/T)-2.029);
Keq=1/Keqr;
 
% Velocidades de reaccion son funcion de las variables x(fracciones molares) y el tiempo 
r1=@(t)k1(t)*(((x(1)*x(2))-(x(3)*x(4)/Keq))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^2);
r2=@(t)k2(t)*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r3=@(t)k3(t)*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r4=@(t)k4(t)*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r5=@(t)k5(t)*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r6=@(t)k6(t)*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r7=@(t)k7(t)*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r8=@(t)k8(t)*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r9=@(t)k9(t)*((x(3)*(x(2)^0.2))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.2);
r10=@(t)k10(t)*((x(6)^1.3)/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.3);
r11=@(t)k11(t)*((x(7)^1.8)/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.8);
r12=@(t)k12(t)*((x(9)^1.6)/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.6);
r13=@(t)k13(t)*((x(10)^1.3)/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^1.3);
 
%Condiciones de alimentacion y calculo de la fraccion en masa de co2
nco2=1;
nh2=3;
nt=nco2+nh2;
mt=(nco2/nt*(M1)+nh2/nt*(M2));
wco2=(nco2*(M1)/mt);
 
%Faktor 
% F=@(x) ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2
 
%Funcion de las ecuaciones diferenciales en funcion de 'x' y 'r'
fg=@(t,x) ([ ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*r1(t);...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(-r1(t)-3*r2(t)-2*r3(t)-2*r4(t)-7/3*r5(t)-2*r6(t)-2*r7(t)-2*r8(t)-6/4*r9(t));...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(r1(t)-r2(t)-r3(t)-r4(t)-r5(t)-r6(t)-r7(t)-r8(t)-r9(t));...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(r1(t)+r2(t)+r3(t)+r4(t)+r5(t)+r6(t)+r7(t)+r8(t)+(2/4*r9(t)));...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*r2(t);...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(1/2*r3(t)-r10(t));...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(1/3*r4(t)-r11(t));...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(1/3*r5(t));...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(1/4*r6(t)-r12(t));...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(1/5*r7(t)-r13(t));...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(1/10*r8(t)+1/5*r10(t)+1/3.3*r11(t)+1/2.5*r12(t)+1/2*r13(t));...
 ((M1*x(1)+M2*x(2)+M3*x(3)+M4*x(4)+M5*x(5)+M6*x(6)+M7*x(7)+M8*x(8)+M9*x(9)+M10*x(10)+M11*x(11)+M12*x(12)))*wco2*(1/4*r9(t))]);
 
%Solucion
[t,x]=ode113(fg,[0,tf],x0);
% plot(t,x(:,1)  )
figure(gcf)
axis([0 0.2 -0.1 0.8 ])
hold on
for i=1:size(x,2)
plot(t,x(:,i),'color', rand(1,3) ,'linewidth',2 )
a{i}=['X=',num2str(i)];
 legend(a)
 axis([0 0.2 -0.1 0.8 ])
grid on
xlabel('t')
ylabel('x  ,  y');
title('Ben-Gurion Model')
pause(1)
end

Gracias de antemano a todos por la ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

ode113 y cinetica quimica - Undefined function or variable 'x'.

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 04/02/2019 15:47:08
Una acotación:

1
2
3
4
5
%r en función de tiempo :
%r=t^2+8
r=@(t) (t^2+8);
a=r(1)
b=r(4)

ejecución
1
2
3
4
5
6
7
8
9
10
>> r_funcion_tiempo
 
a =
 
     9
 
 
b =
 
    24



En lo describe:
r1=@(t) k1*(((x(1)*x(2))-(x(3)*x(4)/Keq))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^2);

la expresión k1*(((x(1)*x(2))-(x(3)*x(4)/Keq))/(1+(K4*x(4)*pt)+(K1*x(1)*pt)))*(pt^2) no tiene ningún variable t, por lo tanto r1 no depende de t
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 19
Ha aumentado 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

ode113 y cinetica quimica - Undefined function or variable "x".

Publicado por Edmundo (8 intervenciones) el 05/02/2019 15:28:08
Muchas gracias por su respuesta, ya estuve pensando en esa posibilidad y no tengo alguna funcion q relacione t con r1, lo que no me explico es por que hasta x(4) si hay resultados y a partir de x(5) no hay resultado alguno. Yo creo q no es excluyente para resolver el problema la dependencia de t con r1-->en si al resolver el problema es q descubrimos dicha dependencia.

como por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
clear
clc
 
a=0.1; %parameter a
b=0.2; %parameter b
%Anfangsbedingungen im Vektor x0
x0=[100, 0]; %100 is dem Anfangswert von x und x dm anfangswert für y
tf=20; %tiempo final, tf
 
fg=@(t,x) [-a*x(1);a*x(1)-b*x(2)];
[t, x]=ode45(fg,[0,tf],x0);
plot(t,x)
grid on
xlabel('t')
ylabel('x(1),x(2)');
title('Reaktive reiehe')

Donde x(1) y x(2) en primera instancia no estan escritas en funcion de t.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Si el error es como usted lo plantea, el sistema no se resolveria hasta la variable x(4) y partir de la variable x(5) sin mostrar resultados.

creo que el error esta, en que el problema es:

Que es que mientras se resuelva el problema todas las variables tienen que sumar 1

como por ejemplo al inicio x0=[0.25,0.75,0,0,0,0,0,0,0,0,0,0]

y esa condicion tiene que mantenerse a medida que pase varie t

x(1)+x(2).....+x(12)=1

eso ayudaria a conservar la materia en sistema....

Me podria ayudar por favor a implementar esa condicion ...tengo problemas para implementarla -> Ya que soy principiante en Matlab seria de gran ayuda Muchas gracias de antemano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar