function sg = syngas(X)%
%Definición de incógnitas
%F = X(1);Xco = X(2);Xco2 = X(3);Xh2 = X(4);Xch4 = X(5);Xh2o = X(6);Xn2 = X (7);W = X(8);S = X(9);A = X(10);%Datos conocidos
H = 0.07;AF = 2.76; %kg air/kg fuel
%T = 1000; % temperatura en K
P = 1; % presión en atm
G = 1; %
SF = 0.117; %kg steam/kg fuel
Kpw = 2.617; % constante
Kpb = 1.9; % constante
% Fracciones molares
Yc = 0.83;Yh = 0.09;Yo = 0.07;% Pesos moleculares de los compuestos
MWc = 12;MWh = 1;MWh20 = 18;MWo = 16;MWo2 = 32;MWn = 14;%%Las ecuaciones
%% 1.- CARBON solves for Xch4
s1 = ((Yc*F)/MWc)*(22.4/G)-Xco-Xco2-Xch4;% 2.- HIDRÓGENO solves for h20
s2 = ((22.4/G)*((F*Yh)/MWh)+(2/MWh20)*(W+S)-2*Xh2-4*Xch4)*0.5-Xh2o;% 3.- OXÍGENO solves for co
s3 = ((Yo*F)/MWo)+(W+S/MWh20)+((0.23*A)/MWo2)*2*(22.4/G)-2*Xco2-Xh2-Xco;% 4.- NITRÓGENO solves for F
s4 = ((G/22.4)*(2*Xn2)-(2*(0.77*A)/MWn2)*(MWn/Yn))-F;% 5.- fracciones másicas de compuestos, solves for N2
s5 = 1-Xco-Xco2-Xh2-Xch4-Xh2o-Xn2;% 6.- constante Kpw, solves for h2
s6 = ((Xh2o*Kpw)/(Xco*P))-Xh2;% 7.- constante Kpb, solves for co2
s7 = ((Xco^2*P)/Kpb)-Xco2;% 8.- agua
s8 = (F *(H/(1-H)))-W;% 9.- steam
s9 = (F*SF)-S;%10.- air
s10 = (F*AF)-A;%Vector solución
sg = [s1; s2; s3; s4; s5; s6; s7; s8; s9; s10];
This is my code: 10 unknows and 10 equations.
And then in another file i have a script that calls for fsolve
% syngas script
% initial guess
F0 = 1;Xco0 = 0.0001; Xco20 = 0.0001; Xh20 = 0.0001;Xch40 = 0.0001; Xh2o0 = 0.0001; Xn20 = 0.0001;W0 = 1; S0 = 1; A0 = 1;% pack up initial guess
X0 = [F0; Xco0; Xco20; Xh20; Xch40; Xh2o0; Xn20; W0; S0; A0]; % call fsolve
%fhandle = @syngas;X = fsolve(fhandle,X0);% Display answers
%disp('F0, Xco, Xco2')disp(X(1:3))disp('Xh2, Xch4, Xh2o,Xn2')disp(X(4:7))disp('W,S,A')disp(X(8:10))
And this is the error i get:
>> syngasNot enough input arguments.Error in syngas (line 6)F = X(1); >>
i'm not sure what it means. Any advice? thank you!!
Best Answer