"Non enough input arguments" to solve non linear equations

1 回表示 (過去 30 日間)
p.txt
p.txt 2020 年 3 月 22 日
コメント済み: p.txt 2020 年 3 月 22 日
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:
>> syngas
Not enough input arguments.
Error in syngas (line 6)
F = X(1);
>>
i'm not sure what it means. Any advice? thank you!!
  2 件のコメント
Walter Roberson
Walter Roberson 2020 年 3 月 22 日
Do not give the name of the function at the command line, give the name of the script.
p.txt
p.txt 2020 年 3 月 22 日
that was the problem. Thanks!

サインインしてコメントする。

採用された回答

madhan ravi
madhan ravi 2020 年 3 月 22 日
Name of the script should be different than that of the function.
  1 件のコメント
p.txt
p.txt 2020 年 3 月 22 日
Jesus Christ, that was it lol
thank you!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange2-D and 3-D Plots についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by