updating function list in a script.

1 view (last 30 days)
David H
David H on 26 Aug 2014
Edited: David H on 27 Aug 2014
As part of some code I am writing I am printing out symbolic variables into a .m file (so that they can be called with d.p. arguments without using the incredibly sluggish subs). This works well except that when I create a new function matlab does not automatically note that the function has changed and will either not notice the function is present, complain about the arguments of the function, or use an old overwritten version.
Is there any command to update the list of possible functions (within the same working directory) or any other way to solve this problem?
  2 Comments
Star Strider
Star Strider on 26 Aug 2014
I don’t know how you’re creating your funcitons, but starting with R2012a, you can create symbolic functions. You can also create anonymous functions or function m-files from symbolic expressions with matlabFunction. That might make things easier in your application.
David H
David H on 27 Aug 2014
Edited: David H on 27 Aug 2014
Yes I was unaware of this, it seems to be much easier to work with than the function I wrote which just copies it as characters, and so doesn't work for matrix inputs and things like that.

Sign in to comment.

Accepted Answer

dpb
dpb on 26 Aug 2014
>> help rehash
rehash Refresh function and file system caches.
rehash with no inputs performs the same refresh operations that are done
each time the MATLAB prompt is displayed--namely, for any non-toolbox
directories on the path, the list of known files is updated, the list of
known classes is revised, and the timestamps of loaded functions are
checked against the files on disk. The only time one should need to use
this form is when writing out files programmatically and expecting
MATLAB to find them before reaching the next MATLAB prompt.
  2 Comments
Sean de Wolski
Sean de Wolski on 26 Aug 2014
This is also mentioned in the "Tips" section of the doc for matlabFunction.
An enhancement request proudly submitted by me :)
David H
David H on 27 Aug 2014
I find that rehash does not completely work for me, but matlabFunction seems to solve my problems anyway with the options available. So that will be fine.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!