Function in MATLAB's path not call-able by another function in MATLAB's path despite both functions being call-able in Command Window

11 ビュー (過去 30 日間)
I have a function, "cmap", that refuses to be called by another function "mproc", though both are in MATLAB's path (I have repeatedly verified that both functions are in folders in MATLAB's path). "mproc" runs fine and can call other functions that are not "cmap", but when it gets to cmap I get one of two errors, copied and commented below:
% 'cmap' is not found in the current folder or on the MATLAB path, but exists in:
% C:\Users\my_name\Documents\MATLAB\Image Processing\Cmap functions
% Change the MATLAB current folder or add its folder to the MATLAB path.
or
% Unrecognized function or variable 'cmap'.
The folder that it's in IS on the MATLAB path, however. Even so, when I click "add its folder to the MATLAB path" anyways, the same error persists when I try to use it again.
This is particularly confusing because I can call "cmap" in the Command Window (since it's in MATLAB's path). I was not having this issue earlier today but suddenly MATLAB just refuses to use "cmap" in "mproc". Am I missing something completely obvious?
Here is a picture of my MATLAB, showing "cmap" in a folder that is on the MATLAB path, mproc is in the "Image stack functions" folder (also in MATLAB's path). I have highlighted the line of code where the program breaks and an error message is displayed below.
  3 件のコメント
Cris LaPierre
Cris LaPierre 2023 年 6 月 6 日
編集済み: Cris LaPierre 2023 年 6 月 6 日
You've ruled out the main culprits I would suspect. Does this go away after restarting MATLAB? Is this behavior reproducible on other machines?
Lars Nelson
Lars Nelson 2023 年 6 月 7 日
It did not go away after re-starting MATLAB, no. I don't have another machine to test it on, unfortunately.

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

採用された回答

Lars Nelson
Lars Nelson 2023 年 6 月 7 日
移動済み: Matt J 2023 年 6 月 7 日
I changed the name of the cmap function to createcmap and that seems to have fixed it. Not sure why MATLAB suddenly decided that this function name was not allowed as it had been working half an hour before I encountered the issue.

その他の回答 (2 件)

Matt J
Matt J 2023 年 6 月 6 日
So this specific line of code is just refusing to work for seemingly no reason.
Maybe there is some invisible character in that line that is corrupting the call? Try deleting the whole line and retyping it.

Matt J
Matt J 2023 年 6 月 6 日
編集済み: Matt J 2023 年 6 月 6 日
Possibly mproc or one of its callers has path-altering commands that temporarily remove cmap from the path. To be certain, we would need you to set a breakpoint at line 719 and display the path only after execution pauses there.

カテゴリ

Help Center および File ExchangeStartup and Shutdown についてさらに検索

タグ

製品


リリース

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by