Undefined function or method '...' for input arguments of type 'double'.
Afficher commentaires plus anciens
I'm getting the following error when I try to run some function m-files: ??? Undefined function or method '[name of function]' for input arguments of type 'double'.
I know this usually happens when the file isn't in the working directory, but that's not the case here.
When I was running these m-files in a different directory on my computer, it worked fine. I moved them to another directory on my laptop, and they're still fine, but I get this error on two of my desktops.
Thank you.
8 commentaires
Anveshkumar Kolluri
le 28 Juin 2016
Modifié(e) : Walter Roberson
le 18 Jan 2026
I have encountered this several times, and I used an alternative to tackle it, rather than getting stuck with the rms function.
RMSvalue = sqrt(mean(freq.^2));
Saiful Haqiqi Hassan
le 11 Déc 2018
try read this. it explained in details about this error
Walter Roberson
le 30 Jan 2019
sameeksha shrivastava comments:
i m also get the error Undefined function 'imsegkmeans' for input arguments of type 'single'.
Walter Roberson
le 30 Jan 2019
https://www.mathworks.com/help/images/ref/imsegkmeans.html was introduced in R2018b and would not be available in any previous release.
Selami Dogan Akansu
le 13 Déc 2020
installing related toolbox solved my problem.
Jithin Nambiar J
le 10 Avr 2021
It sometimes gives you this error if you don't have the right toolboxes installed for the certain function.
If a particular function is causing an error. Try typing
help functionName
If this results in like a certain toolbox is required for this function to work. Just click on the hyperlink or underlined link which is given in the terminal.
It will direct you to the appropriate package. Make sure you save any programs. Since installing the packages requires MATLAB to restart.
Cheers !!
Arun kumar
le 30 Août 2021
Thank you it is realy helpfull
Gloria
le 3 Fév 2025
Same
Réponse acceptée
Plus de réponses (30)
Eyasu getahun Chekole
le 19 Avr 2015
Modifié(e) : Eyasu getahun Chekole
le 19 Avr 2015
I am pretty sure that the reason why this problem happened is because of the license of the toolbox (package) in which this function belongs in. Write
which functionName
and see what will be the result. If it returns path of the function and the comment
"Has no license available",
then the problem is related to the license. That means, license of the package is not set correctly. Mostly it happens if the package (toolbox) of this function is added later, i.e., after installation of the original `matlab`. Please check and solve the license issue, then it will work fine.
5 commentaires
Jennifer Wu
le 25 Nov 2015
This is the root cause for my case.
Zohaib Ahmad
le 7 Juil 2016
Thank you it help me in a great deal
ibadullah safdar
le 20 Mai 2018
I am actually facing this problem too as my inpoly function is running accurately before installation of a new matlab but now I am running the same code with old file of poly function but it is showing the error of undefined inpooly function. Kindly tell me how to resolve the license issue as I have also checked my code by intalling new function of inpoly but the problem persist. Kindly help in this matter.
Walter Roberson
le 20 Mai 2018
inpoly is not a Mathworks supplied function. https://www.mathworks.com/matlabcentral/fileexchange/10391-fast-points-in-polygon-test
ibadullah safdar
le 29 Mai 2018
problem resolved Roberson. Thank you so much.
Majid
le 12 Août 2013
14 votes
In my case, there was a function that is used in my code but it was not in the directory, so by changing the location of the sub function and copying in the active directory , the problem is solved now.
6 commentaires
Walter Roberson
le 26 Juin 2016
Mohammad Heydari comments,
sounds rational
Devashish Sharma
le 25 Juil 2016
how to change the loaction???
Walter Roberson
le 25 Juil 2016
Use your operating system tools to copy the directory and then use pathtool to add the new location to your MATLAB path.
David J. Mack
le 3 Mar 2017
This helped in my case. Thx Walter!
Sehairi K.
le 4 Sep 2021
This helped me too
Thanks a lot
Christian Gomez
le 26 Jan 2022
thankyou you saved me
Paulo Silva
le 10 Avr 2011
2 votes
change the working directory to the folder where you have your code or add the path.
Go to the File and choose the Set Path
n
le 28 Mai 2012
2 votes
Hi,
Please consider that you should be EXACTLY in the same directory; and not even in sub-directories within the right path.
I hope this solves the case. It worked for me.
2 commentaires
g.shaanti
le 22 Juil 2016
This worked for me, thank you.
Amirah Algethami
le 12 Juin 2023
How to do this???
Walter Roberson
le 11 Avr 2011
1 vote
Are you function names in mixed case, and your laptop runs Windows but your desktop runs Linux ?
4 commentaires
D
le 11 Avr 2011
nasyim rosli
le 28 Mai 2016
really work
Rose WABUTI
le 2 Oct 2018
thank you, saved my life...lol
Keith Kripp
le 10 Juin 2013
0 votes
I've encountered this error when attempting to call MEX functions that were built/compiled on machines running a different version of Windows.
e.g. I build a MEX file from source code on a 32 bit machine, transfer it somewhere down the road to a 64 bit machine, and then attempt to call the function.
Seems like this error often has little to do with the arg type being 'double.'
1 commentaire
Seems like this error often has little to do with the arg type being 'double.'
Well, sometimes it genuinely is an issue of the arg type, as shown here
>> sin('a')
Undefined function 'sin' for input arguments of type 'char'.
Clear 'sin' does exist, but just doesn't know what to do with char input.
As for the MEX-file issue, that has nothing to do with the 64bit-ness of Windows, only the 64bitness of the MATLAB version. 64-bit MATLAB will be looking for files with extension 'mexw64' whereas a 32-bit compiled mex file will have extension 'mexw32'. So, that really is a case of MATLAB not being able to find a matching file.
Resorcap
le 8 Nov 2014
Before run function, add current absolute path:
add(pwd);
And this worked for me.
chao dong
le 21 Mar 2016
0 votes
For me,the reason why this error occured was because I used a method that actually did not belongs to the object I used to invoke.This means that I should first transform my object to another type of data,for me,I actually have to change the object belongs to vehicle class to mini class to specify its data type. OOP's philosophy is indeed very important for you to understand why it occured and solve the error.
eranna annigeri
le 24 Juil 2016
Modifié(e) : Walter Roberson
le 24 Juil 2016
hi all ,
i am getting this error in the glcm code can anyone help me with this error
stats = GLCM_features1(GLCM2,0)
Undefined function 'GLCM_features1' for input arguments of type 'double'.
1 commentaire
Walter Roberson
le 24 Juil 2016
Note: there are several File Exchange contributions that are more efficient versions of that code, such as https://www.mathworks.com/matlabcentral/fileexchange/22354-glcm-features4-m--vectorized-version-of-glcm-features1-m--with-code-changes-
Nensi Tallamma
le 10 Août 2016
0 votes
Hi i'm getting this error " ??? Undefined function or method 'wavelet' for input arguments of type 'double'." , when i'm try to run :
[wave,period,scale,coi] = wavelet (madden_julian,dt,pad,dj,s0,j1,mother);
Can anyone help me with this error?
1 commentaire
Walter Roberson
le 10 Août 2016
Mathworks does not define a function named "wavelet" in any toolbox.
I checked and it does not appear that any of the File Exchange contributions happen to define a function with that name either.
You appear to be using the code from G08isu.pdf. It appears to use software from colorado.edu; it looks like you can find the source code at http://paos.colorado.edu/research/wavelets/software.html
I met the problem ??? Undefined function or method 'cdfcalc' for input arguments of type 'double'. Besides, when I use cmd "which cdfcalc", returned that no such a function found. I wonder if I missed to install something?
Plus: When I went to the download page, I have these to download: Installer.exe MATLAB77.zip Communications_Toolbox42.zip Signal_Processing_Blockset68.zip Signal_Processing_Toolbox610.zip
I downloaded them all and installed. But when installing, it alerted me that no Simulink. How should I handle this?
1 commentaire
Walter Roberson
le 11 Oct 2016
cdfcalc is from the Statistics and Machine Learning toolbox. It appears that you have not installed that.
The Signal Processing Blockset that are trying to install requires Simulink and is useless without Simulink. It does not affect use of the Signal Processing Toolbox by itself, so you should only install Signal Processing Blockset if you install Simulink.
If you have a Student Suite license, then you might simply have not told the installer to install those packages.
0460051 NCTU
le 11 Oct 2016
0 votes
I have the same problem.Here is my error.
An UndefinedFunction error was thrown on the workers for 'configurePin'. This might be because the file containing 'configurePin' is not accessible on the workers. Use addAttachedFiles(pool, files) to specify the required files to be attached. See the documentation for 'parallel.Pool/addAttachedFiles' for more details.
Caused by: Error using parallel_function>make_general_channel/channel_general (line 929) Undefined function 'configurePin' for input arguments of type 'double'.
I'm trying to communicate matlab and arduino.However, it's always running wrong.What's happened?
7 commentaires
Walter Roberson
le 11 Oct 2016
You need to create the arduino object on each worker that needs to access arduino. As you probably only have one arduino, that should probably be only one worker. In turn that probably makes it most likely that you would use SPMD with the arduino code in a section protected by testing for one particular lab number; the other labs might or might not use labSend to send information to that lab for it to process on their behalf.
0460051 NCTU
le 11 Oct 2016
How to create the arduino object on each worker?
I tried SPMD with my code.However,it was the same.
Walter Roberson
le 11 Oct 2016
You call arduino() with the appropriate COM port. Remember that any one arduino device can only be communicated with from one worker.
If necessary, in your main routine you could call
fullpathToUtility = which('arduinoio.internal.Utility');
if isempty(fullpathToUtility)
% arduino Support package not installed - Error.
error( getString( message( 'MATLAB:hwstubs:general:spkgNotInstalled', 'MATLAB Arduino', 'ML_ARDUINO')) );
end
poolobj = gcp;
addAttachedFiles(poolobj, arduinoio.SPPKGRoot);
John Abh
le 22 Oct 2016
when i was trying to run a .m file related to emd, i got Undefined function 'fmsin' for input arguments of type 'double'.so how can i fix it????
Walter Roberson
le 22 Oct 2016
I do not seem to be able to locate any fmsin . If you happened to mean fmsim then it appears that is a very old routine available from Fuzzy Identification Toolbox
THANK YOU..... I tried to remove error with all the ideas i got,but still it is showing some error......the .m file is attached so help me to fix this error....
Walter Roberson
le 23 Oct 2016
indah octaviyani
le 26 Oct 2016
0 votes
i got this error,, could you help me?
Undefined function 'generateExplicit' for input arguments of type 'MPCController'.
3 commentaires
Walter Roberson
le 26 Oct 2016
It appears you would probably want generateExplicitRange or generateExplicitMPC; see https://www.mathworks.com/help/mpc/ug/explicit-mpc-control-of-a-single-input-single-output-plant.html
indah octaviyani
le 26 Oct 2016
Modifié(e) : indah octaviyani
le 26 Oct 2016
thank you, but then i got this error too, how can i fix it?
Error using subsindex Function 'subsindex' is not defined for values of class 'ss'.
Walter Roberson
le 26 Oct 2016
We would probably need to see your code. Please create a new Question with your code shown and a complete traceback of the error message.
nikhil kumar
le 22 Fév 2017
0 votes
I am getting this error when i run some files: Undefined function 'matplot2' for input arguments of type 'double' Error in Figure4_14 (line 42) matplot2(X,Y,abs(ISAR),20); Please help me out guys.
1 commentaire
Walter Roberson
le 22 Fév 2017
matplot2() is not part of any MATLAB toolbox or any entry in the File Exchange.
quach tien toan
le 14 Mai 2017
0 votes
i got this error,, could you help me? Undefined function 'getsnapshot' for input arguments of type 'double'.
1 commentaire
Stephen23
le 14 Mai 2017
As the getsnapshot documentation clearly states, its input must be a video input object. Your error message tells us that you are not giving getsnapshot a video image object, but a numeric value. You need to give it the right kind of input (the one that the documentation tell you that it requires).
Markes Jak
le 24 Mai 2017
Modifié(e) : Walter Roberson
le 24 Mai 2017
0 votes
Error:Undefined function ‘execute’ for input arguments of type ‘double’.
raspberry pi simulink
Causes
Actually this can happened by many problems, one of them could be, the Simulink Support Package files didn’t downloaded correctly and may be there are missing file, and to be sure of that write:
which functionName
for example which execute
and see what will be the result. If it returns the comment “Has no license available” or just gives error , then follow the below soution and if returns with path and a name of the file ,then restart your matlab and check ,if not solved it could be another problem.
solution
Download all the package again, but before doing it, you have to remove SupportPackages folder in the following path: C:\Users\your_pc_ userrname\Downloads\MathWorks and start downloading the package ,it will works and mathworks will download the all the rquired files in that path for size not less that 716MB
i just restarted my pc and matlab and every thing works well ,thanks to these maklab team people http://www.maklabacademy.com/error-simulink-support-package-raspberry-pi-hardware-2016-2017/
Toke Frederiksen
le 2 Juin 2017
0 votes
In my case I was simply not in the correct working directory. Changed by either CD'ing into the correct directory, or using the UI to change working directory.
lakshmi priya
le 19 Août 2017
0 votes
Undefined function 'partiald' for input arguments of type 'double'. please give me answers
1 commentaire
Walter Roberson
le 19 Août 2017
Modifié(e) : Walter Roberson
le 19 Août 2017
lakshan tharuka
le 22 Sep 2017
0 votes
I get the followig error.Could you please give an answer
Undefined function 'readFunctionTrain' for input arguments of type 'char'.
2 commentaires
Steven Lord
le 22 Sep 2017
If you're trying to run the example from this blog post, you will need to download this File Exchange submission. I recommend using the Add-Ons manager to add it to your MATLAB installation (search for "deep learning 10 lines") or you can download it and manually put it in a directory on your path.
Note that the requirements state this requires Image Processing Toolbox and Neural Network Toolbox, so make sure you have those products installed.
lakshan tharuka
le 22 Sep 2017
Modifié(e) : lakshan tharuka
le 22 Sep 2017
It worked.Thanks steven! But unfortunately requires 3.0 GPU
divyasami27
le 12 Mar 2018
When I try:
which envelope
I get 'envelope' not found, this is in version R2014a.
1 commentaire
Walter Roberson
le 12 Mar 2018
That suggests you do not have the Signal Processing Toolbox installed.
babita verma
le 5 Avr 2018
Modifié(e) : babita verma
le 5 Avr 2018
0 votes
I get the following error when I try to use mattest for tscore calculations:
Undefined function 'bioinfochecknargin' for input arguments of type 'double'
Can anyone explain why would this error occur and suggest a solution? Any help is appreciated, thanks.
1 commentaire
Steven Lord
le 5 Avr 2018
That is a utility / helper function in Bioinformatics Toolbox. Check the output of the ver function to determine if you have that toolbox installed.
Marco Nesci
le 28 Mai 2018
0 votes
I got this message,
Undefined function 'kalman' for input arguments of type 'double'
I controlled all the licenses and the function is present in its controldesign folder How can I solve it?
5 commentaires
Andreas Goser
le 28 Mai 2018
Please run the following and post the results
which kalman -all
license('test','Control_Toolbox')
vikash joshi
le 14 Mar 2023
i had the same issue. ran the above script which gave output 1. what next?
vikash joshi
le 15 Mar 2023

Walter Roberson
le 15 Mar 2023
Could you confirm that
which -all kalman
comes up empty?
If so then try
restoredefaultpath; rehash toolboxcache
if it starts working then savepath and if it does not start working then reinstall the Control System Toolbox
Metin Ozturk
le 31 Juil 2018
0 votes
It may be because the function you are trying to use is not available in your current MATLAB version. For example, if you use 'normalize' function in any version other than 2018, it will produce the same error, as the 'normalize' function was introduced in MATLAB 2018.
sena pathy
le 16 Août 2018
0 votes
Undefined function 'rescale' for input arguments of type 'double'. please help me with this error
1 commentaire
Asry Noorsal
le 29 Sep 2018
0 votes
hi there~ i have an error like this one "Undefined function 'ziegler_nic' for input arguments of type 'double'." i've added some file to the path but it still won't work. it will be a big help for me if anybody can solve this case, thanks before
3 commentaires
Walter Roberson
le 29 Sep 2018
ziegler_nic is an internal function to pid_design of https://www.mathworks.com/matlabcentral/fileexchange/18-ctrllab
You would not be expected to call this routine yourself, and if you did call it then MATLAB would not be able to find it because it is internal to the other function.
Asry Noorsal
le 2 Oct 2018
so this is not related with any toolbox?
Walter Roberson
le 4 Oct 2018
It is not related to any toolbox.
clpi
le 3 Juil 2019
0 votes
Hello !
I have a matlab function which at a certain point calculates sin(2*pi*freq*t_array) (t_array in an array of size (1,2000).
I tried to call this function vi matlab.engine but I got the error message: "Undefined function 'sin' for input argument of type 'int64' "
I tried what is people suggested in this topic but it didn't work. I wanted to add the file 'sin.m' to my working directory but it is not a function script, it is a simple text.
I would be very grateful of any help
Thank you !
2 commentaires
Guillaume
le 3 Juil 2019
Please start your own question if you need help. sin is indeed not defined with inputs of type int64. Convert your input to double. If your number is so large that it looses precision when converted to double (i.e. it is greater than flintmax) then why are you calculating the sinus of such large numbers?
Philippe Lebel
le 9 Jan 2020
he needs to see what's at the end of the sine wave!
Mosaic PCS
le 7 Fév 2020
0 votes
I am getting this error .plz help
Undefined function 'series' for input arguments of type 'double'.
2 commentaires
Walter Roberson
le 7 Fév 2020
There is a series() call in the Control Systems Toolbox but it must be passed control systems not numeric values.
I speculate that you are using series() from some third party code and that it expects some kind of representation of a formula, perhaps symbolic, perhaps a function handle.
One possibility is that you are using symbolic code from r2007a or earlier that was based upon the maple software engine and you passed numeric values instead of symbolic.
Walter Roberson
le 18 Jan 2026
Or perhaps you intend to be calling the series() function of the symbolic toolbox, but accidentally you are passing a numeric value instead of a symbolic expression or symbolic function.
Jithin Nambiar J
le 10 Avr 2021
It sometimes gives you this error if you don't have the right toolboxes installed for the certain function.
If a particular function is causing an error. Try typing
help functionName
If this results in like a certain toolbox is required for this function to work. Just click on the hyperlink or underlined link which is given in the terminal.
It will direct you to the appropriate package. Make sure you save any programs. Since installing the packages requires MATLAB to restart.
Cheers !!
Bingo Bongo
le 18 Juin 2021
0 votes
I am get the following error
Undefined function 'trainNetwork' for input arguments of type 'double'
Iam trying the Time series forecasting using deep learning example(Chickenpox) code.
iam using version R2012b of Matlab
2 commentaires
Walter Roberson
le 18 Juin 2021
R2012b had absolutely no support for Deep Learning.
To do Deep Learning in R2012b, you have two choices:
- Write all the code yourself; or
- find a third-party library and use loadlibrary() to link to it
The first Deep Learning support was added in R2016a, and there has been a lot of upgrades of the Deep Learning support since that time; if you need to do Deep Learning then I highly recommend that you get a new version of MATLAB.
Bingo Bongo
le 20 Juin 2021
Noted. Thank you
Mohamed Zewail
le 28 Oct 2021
0 votes
I also got a similar problem with ONNX function,
Undefined function 'rearrangeONNXWeights' for input arguments of type 'single'.
6 commentaires
Mohamed Zewail
le 28 Oct 2021
I used
which rearrangeONNXWeights
and did not find a path to this function, how could I find this function and add the path to matlab
Walter Roberson
le 28 Oct 2021
Mohamed Zewail
le 6 Nov 2021

this step is where I got the error, any advice? and thanks for the help
Walter Roberson
le 6 Nov 2021
The code for the function is where I linked. Copy the posted code to appropriate .m files.
Mohamed Zewail
le 6 Nov 2021
oh I thought its built in the toolbox, thanks a lot.
Walter Roberson
le 6 Nov 2021
It is built in to the toolbox, for new enough releases. However you did not mention which release you are using, and it was faster for me to show you where you could find the exact code than it was for us to go back and forth about releases and exactly where the master copy of the code is stored, and exactly which command you are using and so on. I cut through all those steps by giving you a link to the exact code.
Catégories
En savoir plus sur Debugging and Analysis dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!