フィルターのクリア

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

1 回表示 (過去 30 日間)
vandana
vandana 2015 年 7 月 8 日
コメント済み: vandana 2015 年 7 月 10 日
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 件のコメント
Jan
Jan 2015 年 7 月 8 日
@vandana: I've formatted your code. Please use the "{} Code" button. Thanks.
vandana
vandana 2015 年 7 月 9 日
Hi Jan Simon, I am not getting it.. I have given the full code below... please help

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

採用された回答

Jan
Jan 2015 年 7 月 8 日
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 件のコメント
Walter Roberson
Walter Roberson 2015 年 7 月 9 日
You have not shown how you are invoking the function. Show the line of code that calls gas_species_balance
vandana
vandana 2015 年 7 月 9 日
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);

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

その他の回答 (1 件)

Thorsten
Thorsten 2015 年 7 月 9 日
編集済み: Thorsten 2015 年 7 月 9 日
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 件のコメント
vandana
vandana 2015 年 7 月 10 日
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

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

カテゴリ

Help Center および File ExchangeSpectral Measurements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by