i am geeting an error as "??? Input argument "int_H" is undefined.

1 view (last 30 days)
I post here the function and the line that gives me this error: gas_species_balance.m file
function [C_species] = gas_species_balance(Gen_species, ...
C_species,int_H,int_r, A_r,A_z, v_r,v_z,vol,dt,ep)
relpar_species =1.0;
err_species=1.0;
iter_species=0;
while err_species>10^-3
iter_species=iter_species+1;
if iter_species>100
break;
end
for i=2:int_H+1
for j=1:int_r
aP(i,j)=0.;
source(i,j)=0.;
aPrev=ep(i,j)*vol(i,j)/dt;
aP(i,j)=aP(i,j)+aPrev(i,j);
  3 Comments
Jan
Jan on 8 Jul 2015
@vandana: I've formatted your code. Please use the "{} Code" button. Thanks.
vandana
vandana on 9 Jul 2015
Hi Jan Simon, I am not getting it.. I have given the full code below... please help

Sign in to comment.

Accepted Answer

Jan
Jan on 8 Jul 2015
There are several missing end statements in the code.
10^-3 is an expensive power operation, while 1e-3 is a cheap constant.
Please post (and read) the complete error message. The offending line might contain a call like gas_species_balance(a, b), while the later input arguments are missing.
  3 Comments
Walter Roberson
Walter Roberson on 9 Jul 2015
You have not shown how you are invoking the function. Show the line of code that calls gas_species_balance
vandana
vandana on 9 Jul 2015
Hi
code is giving error at the line #13 which I am writing here for i=2:int_H+1 for j=1:int_r
I am invoking the function as in different .m file actuly C_species_CO2=gas_species_balance(Gen_CO2_species,C_species_CO2,A_r,A_z,v_r,v_z,int_r,int_H,vol,dt,ep);

Sign in to comment.

More Answers (1)

Thorsten
Thorsten on 9 Jul 2015
Edited: Thorsten on 9 Jul 2015
You have to evoke the function with argument in the same order as you have defined the function. You define the function with H_int as the third argument, but call it with H_int as the 8th argument. Matlab does not match the arguments based on the names of the variables, it just matches the order.
BTW, 11 is quite a high number of arguments. You may want to reduce the number by aggregating variables, like
A(:,:,1) = A_r; A(:,:,2) = A_z;
v(1,:) = v_r; v(2,:) = v_z;
params = [nt_r,int_H,vol,dt,ep];
function(Gen_CO2_species,C_species_CO2, A, v, params)
  1 Comment
vandana
vandana on 10 Jul 2015
hi I have evoked the function with arguments in same order as defined function but still facing the same error. I am getting the error at "for" loop only , code is not going upto the line where I am evoking the function

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!