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

1 Ansicht (letzte 30 Tage)
vandana
vandana am 8 Jul. 2015
Kommentiert: vandana am 10 Jul. 2015
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 Kommentare
Jan
Jan am 8 Jul. 2015
@vandana: I've formatted your code. Please use the "{} Code" button. Thanks.
vandana
vandana am 9 Jul. 2015
Hi Jan Simon, I am not getting it.. I have given the full code below... please help

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jan
Jan am 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 Kommentare
Walter Roberson
Walter Roberson am 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 am 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);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Thorsten
Thorsten am 9 Jul. 2015
Bearbeitet: Thorsten am 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 Kommentar
vandana
vandana am 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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by