Asked by phdcomputer Eng
on 17 Jun 2019

I wrote some codes in Matlab for classification and I achieved the desired results, all the functions which were used in the program exist in Matlab projects path in C drive in my computer but for running another clustering program in Matlab, I removed the .m files and functions from the Matlab's projects path and saved all of them as a folder in C drive.

Now my first program shows errors about some of these functions while It didn't have any problems with the function's codes before, even I returned files to the previous state but this problem still exists.

Should I put the required functions in the Matlab's projects path or in another folder?

I'll be grateful to have your opinions about how to fix these errors.

Answer by Guillaume
on 18 Jun 2019

Accepted Answer

Ok so I should move all of the programs and functions (.m files ) in other drive except drive C (which Matlab has installed), for example drive D. Is It right?

No. You use any drive you want including the one where matlab is installed.

What you mustn't do, and this is not specific to matlab, is store any of your code/documents/pictures/etc. under Program Files or any of its subdirectory. Similarly, don't put your files in the Windows directory.

Typically, Matlab would have created a directory for you to store your files in. You can see what it is by typing

userpath

at the matlab prompt. It normally is C:\Users\yourusername\Documents\MATLAB.

As for, I think I can use absolute path for functions so the errors will be fixed

I don't know what Suyraansh Mata really meant, but it is not an option for functions. You cannot call a function by its full path. Even for scripts it's a bit iffy, the only way to invoke them by their full path is to use run.

The proper way to manage the scope of your functions is to put their folder on the matlab path. So you'd put all your files in

mypath = fullfile(userpath, 'SomeMeaningfulFolderName')

then

addpath(mypath)

to make them all visible to matlab.

phdcomputer Eng
on 19 Jun 2019

The Matlab software installed on my computer(windows OS) shows a lot of errors when I tried to change the search path by using addpath command , suddenly MATLAB shows errors even for the startup and doesn't recognize any functions or variables or any commands

I usually saved my projects in C:\Program Files\MATLAB\R2016a\bin and when I tried to change the search path to C:\Users\Bita\Documents\MATLAB by using

addpath('newpath')

and also usnig

mypath=fullfile(userpath,'foldername')

addpath(mypath)

and then MATLAB is showing iterative errors while I'm not running any programs, even for MATLAB startup ,It shows a lot of errors

The errors are:

Undefined function or variable 'matlabrc'.

Undefined function or variable 'which'.

Undefined function or variable 'rmiml.getAll'.

Undefined function or variable 'fschange'.

Undefined function or variable

'internal.matlab.desktop.editor.isSystemObjectFile'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.getAll'.

Undefined function or variable 'fschange'.

Undefined function or variable

'internal.matlab.desktop.editor.isSystemObjectFile'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.getAll'.

Undefined function or variable 'fschange'.

Undefined function or variable

'internal.matlab.desktop.editor.isSystemObjectFile'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.getAll'.

Undefined function or variable 'fschange'.

Undefined function or variable

'internal.matlab.desktop.editor.isSystemObjectFile'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.getAll'.

Undefined function or variable 'fschange'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable

'internal.matlab.desktop.editor.isSystemObjectFile'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.getAll'.

Undefined function or variable 'fschange'.

Undefined function or variable

'internal.matlab.desktop.editor.isSystemObjectFile'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.getAll'.

Undefined function or variable 'fschange'.

Undefined function or variable

'internal.matlab.desktop.editor.isSystemObjectFile'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.getAll'.

Undefined function or variable 'fschange'.

Undefined function or variable

'internal.matlab.desktop.editor.isSystemObjectFile'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.getAll'.

Undefined function or variable 'fschange'.

Undefined function or variable

'internal.matlab.desktop.editor.isSystemObjectFile'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.getAll'.

Undefined function or variable 'fschange'.

Undefined function or variable

'internal.matlab.desktop.editor.isSystemObjectFile'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.getAll'.

Undefined function or variable 'fschange'.

Undefined function or variable

'internal.matlab.desktop.editor.isSystemObjectFile'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.getAll'.

Undefined function or variable 'fschange'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable

'internal.matlab.desktop.editor.isSystemObjectFile'.

Undefined function or variable 'rmiml.getAll'.

Undefined function or variable 'fschange'.

Undefined function or variable

'internal.matlab.desktop.editor.isSystemObjectFile'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable 'rmiml.getAll'.

Undefined function or variable 'fschange'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Undefined function or variable

'internal.matlab.desktop.editor.isSystemObjectFile'.

Undefined function or variable 'rmiml.visibleInToolstrip'.

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

at com.mathworks.mlwidgets.graphics.ModelStateFactory.createNoSelectionModelState(ModelStateFactory.java:251)

at com.mathworks.mlwidgets.graphics.PlotToolSetFactory$3.parseComplete(PlotToolSetFactory.java:123)

at com.mathworks.mlwidgets.graphics.ModelStateFactory$ProductInfoListener$1$1.run(ModelStateFactory.java:1032)

at java.awt.event.InvocationEvent.dispatch(Unknown Source)

at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

at java.awt.EventQueue.access$200(Unknown Source)

at java.awt.EventQueue$3.run(Unknown Source)

at java.awt.EventQueue$3.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

I'll be very grateful to have your opinions about how to fix MATLAB software

Thanks

Sign in to comment.

Answer by Suryaansh Mata
on 17 Jun 2019

TLDR: Any folder/directory can be added to MATLAB's path using the 'addpath' command.

MATLAB can access functions in the following ways -:

1) Direct access via a function's name - This is possible when the function .m file exists in the current working directory or the defined matlab path

2) Absolute Path - Accessing a function not in the current path, using it's absolute path. If trying to call a function using it's absoute path matlab does not throw any error

3) Adding a function or a directory to MATLAB's path - If a function is in Matlab's search path, it can be accessed directly. Try seeing if the current folder is in MATLAB's path using the 'path' command and seeing from the list that is generated. Or a directory can be added to this path using the 'addpath' command.

This can help with any errors while trying to access functions not in the present directory.

phdcomputer Eng
on 18 Jun 2019

Thank you very much

As you have said, I think I can use absolute path for functions so the errors will be fixed, how can I define absolute path for the functions?

Suryaansh Mata
on 18 Jun 2019

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 16 Comments

## Stephen Cobeldick (view profile)

Direct link to this comment:https://it.mathworks.com/matlabcentral/answers/467437-how-to-fix-the-errors-arise-from-moving-m-files-and-functions-in-folders#comment_715458

## Jan (view profile)

Direct link to this comment:https://it.mathworks.com/matlabcentral/answers/467437-how-to-fix-the-errors-arise-from-moving-m-files-and-functions-in-folders#comment_715467

## phdcomputer Eng (view profile)

Direct link to this comment:https://it.mathworks.com/matlabcentral/answers/467437-how-to-fix-the-errors-arise-from-moving-m-files-and-functions-in-folders#comment_715474

## Jan (view profile)

Direct link to this comment:https://it.mathworks.com/matlabcentral/answers/467437-how-to-fix-the-errors-arise-from-moving-m-files-and-functions-in-folders#comment_715489

## phdcomputer Eng (view profile)

Direct link to this comment:https://it.mathworks.com/matlabcentral/answers/467437-how-to-fix-the-errors-arise-from-moving-m-files-and-functions-in-folders#comment_715524

## Stephen Cobeldick (view profile)

Direct link to this comment:https://it.mathworks.com/matlabcentral/answers/467437-how-to-fix-the-errors-arise-from-moving-m-files-and-functions-in-folders#comment_715575

## phdcomputer Eng (view profile)

Direct link to this comment:https://it.mathworks.com/matlabcentral/answers/467437-how-to-fix-the-errors-arise-from-moving-m-files-and-functions-in-folders#comment_715757

## phdcomputer Eng (view profile)

Direct link to this comment:https://it.mathworks.com/matlabcentral/answers/467437-how-to-fix-the-errors-arise-from-moving-m-files-and-functions-in-folders#comment_715764

## phdcomputer Eng (view profile)

Direct link to this comment:https://it.mathworks.com/matlabcentral/answers/467437-how-to-fix-the-errors-arise-from-moving-m-files-and-functions-in-folders#comment_715767

## Jan (view profile)

Direct link to this comment:https://it.mathworks.com/matlabcentral/answers/467437-how-to-fix-the-errors-arise-from-moving-m-files-and-functions-in-folders#comment_715813

## Stephen Cobeldick (view profile)

Direct link to this comment:https://it.mathworks.com/matlabcentral/answers/467437-how-to-fix-the-errors-arise-from-moving-m-files-and-functions-in-folders#comment_715816

## phdcomputer Eng (view profile)

Direct link to this comment:https://it.mathworks.com/matlabcentral/answers/467437-how-to-fix-the-errors-arise-from-moving-m-files-and-functions-in-folders#comment_715880

## phdcomputer Eng (view profile)

Direct link to this comment:https://it.mathworks.com/matlabcentral/answers/467437-how-to-fix-the-errors-arise-from-moving-m-files-and-functions-in-folders#comment_716138

## Walter Roberson (view profile)

Direct link to this comment:https://it.mathworks.com/matlabcentral/answers/467437-how-to-fix-the-errors-arise-from-moving-m-files-and-functions-in-folders#comment_716141

## phdcomputer Eng (view profile)

Direct link to this comment:https://it.mathworks.com/matlabcentral/answers/467437-how-to-fix-the-errors-arise-from-moving-m-files-and-functions-in-folders#comment_716160

## Jan (view profile)

Direct link to this comment:https://it.mathworks.com/matlabcentral/answers/467437-how-to-fix-the-errors-arise-from-moving-m-files-and-functions-in-folders#comment_716211

Sign in to comment.