function call

my function calculate needs to have a directory specified to work. and it won't work if I use "pwd". it only works if I specify the actual directory. how do I get it to work with pwd?
function x=calculate(chan,wd)
.....
end

1 件のコメント

Walter Roberson
Walter Roberson 2011 年 11 月 16 日
Is pwd perhaps returning a relative directory rather than an absolute directory?

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

回答 (1 件)

Honglei Chen
Honglei Chen 2011 年 11 月 16 日

0 投票

You can add it to your path.
doc addpath

4 件のコメント

Baba
Baba 2011 年 11 月 16 日
why can't I just type in pwd instead of the full path in the function parameter?
Sven
Sven 2011 年 11 月 16 日
Baba, type the following into MATLAB:
doc pwd
You see,"pwd" is just a function that returns the *current* directory. You don't want to use it in your function unless you *always want your function to search the current directory*.
Baba
Baba 2011 年 11 月 16 日
well, I actually do want it in this case. and for some reason using pwd in the function parameter for directory does not work
Sven
Sven 2011 年 11 月 16 日
So did you make a typo in your question when you wrote:
function x=calculate(chan,wd)
did you actually mean:
function x=calculate(chan,pwd)
?
If you meant the second line, then realise that you should *not* label variables in your function definition to be the same as built-in functions of MATLAB such as "pwd". Instead try something like:
function x = calculate(chan,myDir)
.....
end
And then you can *call* your function with the current directory as follows:
myOutput = calculate(1,pwd);
See the difference?

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

カテゴリ

ヘルプ センター および File ExchangeFile Operations についてさらに検索

タグ

質問済み:

2011 年 11 月 16 日

Community Treasure Hunt

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

Start Hunting!

Translated by