How do I call two function statements in a main program, and how to run it?

3 ビュー (過去 30 日間)
Arvind Sharma
Arvind Sharma 2017 年 10 月 18 日
コメント済み: Arvind Sharma 2017 年 10 月 20 日
I have all parameters in the main program and want to use two function statements.
%----------------
function [mu]=mu(emass,ncarrier,kelvin,rerr)
return
%----------------
and the other :
function [fermi]=fermi(beta,energy,mu1)
return
These functions input values are defined in main program:
muhh=mu(mhh,ncarrier,kelvin,rerr)%Call mu chemical potential function for holes
mue=mu(me,ncarrier,kelvin,rerr) %Call mu chemical potential function for electrons
and
fhh=fermi(beta,Ehh,muhh); %Call Fermi function for holes
fe=fermi(beta,Ee,mue);
How do I call these function statements?

採用された回答

Athos Garcia
Athos Garcia 2017 年 10 月 18 日
If you're using a script save the 2 functions in separate files and just call it like you did. But if your main program is also a function just remember to put the functions before the 'end' of the main program, like this:
function mainProgram()
% Define the variables values
mhh = 5;
ncarrier = 3;
% etc. etc.
muhh=mu(mhh,ncarrier,kelvin,rerr)%Call mu chemical potential function for holes
mue=mu(me,ncarrier,kelvin,rerr) %Call mu chemical potential function for electrons
fhh=fermi(beta,Ehh,muhh); %Call Fermi function for holes
fe=fermi(beta,Ee,mue);
function [mu]=mu(emass,ncarrier,kelvin,rerr)
mu = somethig;
end
function [fermi]=fermi(beta,energy,mu1)
fermi = something;
end
end % end of main program

その他の回答 (1 件)

Image Analyst
Image Analyst 2017 年 10 月 18 日
You are calling them correctly. As long as the variables (mhh, beta, etc.) that you are passing into the functions are already assigned values by your calling/main routine, you will be okay. Are you not observing that? Do you have a problem or error? If so, what?

カテゴリ

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

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by