MATLAB Answers

D
3

Undefined function or method '...' for input arguments of type 'double'.

D
さんによって質問されました 2011 年 4 月 10 日
最新アクティビティ Guillaume
さんによって コメントされました 2019 年 7 月 3 日
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.

  4 件のコメント

i m also get the error Undefined function 'imsegkmeans' for input arguments of type 'single'.
https://www.mathworks.com/help/images/ref/imsegkmeans.html was introduced in R2018b and would not be available in any previous release.

サインイン to comment.

28 件の回答

Answer by Eyasu getahun Chekole on 19 Apr 2015
Edited by Eyasu getahun Chekole on 19 Apr 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 件のコメント

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.
problem resolved Roberson. Thank you so much.

サインイン to comment.


Majid
Answer by Majid
on 12 Aug 2013

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.

  4 件のコメント

how to change the loaction???
Use your operating system tools to copy the directory and then use pathtool to add the new location to your MATLAB path.
This helped in my case. Thx Walter!

サインイン to comment.


Walter Roberson
Answer by Walter Roberson
on 11 Apr 2011

Are you function names in mixed case, and your laptop runs Windows but your desktop runs Linux ?

  4 件のコメント

Remember that the first function of the .m-file must have the same name as the file itself.
thank you, saved my life...lol

サインイン to comment.


Paulo Silva
Answer by Paulo Silva
on 10 Apr 2011

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

  2 件のコメント

That's not the problem. The file is in the working directory.
I've tried running it from the editor, but I'm getting the same error.
You have to add the path

サインイン to comment.


n
Answer by n
on 28 May 2012

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.

  1 件のコメント

This worked for me, thank you.

サインイン to comment.


Answer by Keith Kripp on 10 Jun 2013

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 件のコメント

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.

サインイン to comment.


Answer by Devi Jorks on 18 Jul 2013

in case of the sin(a) just dont put the '', then it works fine, at least on winxp 32bit

  0 件のコメント

サインイン to comment.


Resorcap
Answer by Resorcap
on 8 Nov 2014

Before run function, add current absolute path:
add(pwd);
And this worked for me.

  0 件のコメント

サインイン to comment.


chao dong
Answer by chao dong on 21 Mar 2016

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.

  0 件のコメント

サインイン to comment.


Answer by eranna annigeri on 24 Jul 2016
Edited by Walter Roberson
on 24 Jul 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'.

Answer by Nensi Tallamma on 10 Aug 2016

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 件のコメント

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

サインイン to comment.


Lang Hu
Answer by Lang Hu
on 11 Oct 2016
Edited by Lang Hu
on 11 Oct 2016

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 件のコメント

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.

サインイン to comment.


Answer by 0460051 NCTU on 11 Oct 2016

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 件のコメント

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....
It appears you need the Time Frequency Toolbox, http://tftb.nongnu.org/

サインイン to comment.


Answer by indah octaviyani on 26 Oct 2016

i got this error,, could you help me?
Undefined function 'generateExplicit' for input arguments of type 'MPCController'.

  3 件のコメント

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'.
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.

サインイン to comment.


Answer by nikhil kumar on 22 Feb 2017

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 件のコメント

matplot2() is not part of any MATLAB toolbox or any entry in the File Exchange.
matplot2() appears to be a function in the R programming language.

サインイン to comment.


Answer by quach tien toan on 14 May 2017

i got this error,, could you help me? Undefined function 'getsnapshot' for input arguments of type 'double'.

  1 件のコメント

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).

サインイン to comment.


Answer by Markes Jak on 24 May 2017
Edited by Walter Roberson
on 24 May 2017

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/

  0 件のコメント

サインイン to comment.


Answer by Toke Frederiksen on 2 Jun 2017

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.

  0 件のコメント

サインイン to comment.


Answer by lakshmi priya on 19 Aug 2017

Undefined function 'partiald' for input arguments of type 'double'. please give me answers

Answer by lakshan tharuka on 22 Sep 2017

I get the followig error.Could you please give an answer
Undefined function 'readFunctionTrain' for input arguments of type 'char'.

  2 件のコメント

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.
It worked.Thanks steven! But unfortunately requires 3.0 GPU

サインイン to comment.


Answer by divyasami27 on 12 Mar 2018

When I try:
which envelope
I get 'envelope' not found, this is in version R2014a.

  1 件のコメント

That suggests you do not have the Signal Processing Toolbox installed.

サインイン to comment.


Answer by babita verma on 5 Apr 2018
Edited by babita verma on 5 Apr 2018

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 件のコメント

That is a utility / helper function in Bioinformatics Toolbox. Check the output of the ver function to determine if you have that toolbox installed.

サインイン to comment.


Answer by Marco Nesci on 28 May 2018

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?

  1 件のコメント

Please run the following and post the results
which kalman -all
license('test','Control_Toolbox')

サインイン to comment.


Answer by Metin Ozturk on 31 Jul 2018

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.

  0 件のコメント

サインイン to comment.


Answer by sena pathy on 16 Aug 2018

Undefined function 'rescale' for input arguments of type 'double'. please help me with this error

  1 件のコメント

rescale help states "Introduced in R2017b". Are you using MATLAB 2017b or later?

サインイン to comment.


Answer by Asry Noorsal on 29 Sep 2018

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 件のコメント

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.
so this is not related with any toolbox?
It is not related to any toolbox.

サインイン to comment.


Answer by MathWorks Support Team on 8 Nov 2018

Please refer to the following post, which presents solutions that are possibly relevant to this error message:

  0 件のコメント

サインイン to comment.


clpi
Answer by clpi
on 3 Jul 2019

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 !

  1 件のコメント

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?

サインイン to comment.



Translated by