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 个评论

Is pwd perhaps returning a relative directory rather than an absolute directory?

请先登录,再进行评论。

回答(1 个)

Honglei Chen
Honglei Chen 2011-11-16
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 Exchange 中查找有关 File 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