未定义的函数或方法……'用于类型为'double'的输入参数。

5,453次观看(过去30天)
D
D 2011年4月10日
评论道: Sehairi K。2021年9月4日
当我试图运行一些函数m-files时,我得到以下错误:??未定义的函数或方法'[函数名称]'用于类型为'double'的输入参数。
我知道当文件不在工作目录中时通常会发生这种情况,但这里不是这样。
当我在计算机的另一个目录中运行这些m-file时,它工作得很好。我将它们移动到笔记本电脑上的另一个目录,它们仍然正常,但我在两个台式机上得到了这个错误。
谢谢你!
9日评论

登录评论。

接受的答案

更多答案(31)

Eyasu getahun Chekole
Eyasu getahun Chekole 2015年4月19日
编辑:Eyasu getahun Chekole 2015年4月19日
我非常确定发生这个问题的原因是因为这个函数所属的工具箱(包)的许可。写
哪一个functionName
看看会有什么结果。如果它返回函数和注释的路径
“没有可用的许可证”
那么问题与license有关。说明包的license设置不正确。大多数情况下,如果这个函数的包(工具箱)是后来添加的,即在安装原始的“matlab”之后。请检查并解决许可证问题,然后就可以正常工作了。
5个评论
ibadullah safdar
ibadullah safdar 2018年5月29日
罗伯逊,问题解决了。非常感谢。

登录评论。


马吉德
马吉德 2013年8月12日
在我的例子中,有一个函数在我的代码中使用,但它不在目录中,所以通过改变子函数的位置并在活动目录中复制,现在问题就解决了。
5个评论

登录评论。


保罗席尔瓦
保罗席尔瓦 2011年4月10日
将工作目录更改为存放代码的文件夹或添加路径。
进入文件,选择“设置路径”
2的评论

登录评论。


沃尔特·罗伯森
沃尔特·罗伯森 2011年4月11日
你的笔记本电脑运行Windows,而你的台式机运行Linux,你的函数名是否混合大小写?
4评论

登录评论。


n
n 2012年5月28日
你好,
请考虑,你应该完全在同一目录;甚至不在正确路径下的子目录中。
我希望这能解决这个案子。这对我很管用。

基斯Kripp
基斯Kripp 2013年6月10日
我在尝试调用在运行不同版本Windows的机器上构建/编译的MEX函数时遇到过此错误。
例:我从32位机器上的源代码构建了一个MEX文件,将其传输到64位机器上,然后尝试调用该函数。
似乎这个错误通常与arg类型为“double”没有什么关系。
1评论
马特·J
马特·J 2013年6月10日
似乎这个错误通常与arg类型为“double”没有什么关系。
有时它确实是arg类型的问题,如这里所示
> > sin (“一个”
未定义的函数'sin'用于类型为'char'的输入参数。
Clear 'sin'确实存在,但只是不知道如何处理char输入。
至于mex文件的问题,这与Windows的64位无关,只是MATLAB版本的64位。64位MATLAB将寻找扩展名为'mexw64'的文件,而32位编译的mex文件将具有'mexw32'扩展名。这就是MATLAB无法找到匹配文件的情况。

登录评论。


Devi约克
Devi约克 2013年7月18日
在罪恶(a)的情况下,只要不放“,然后它工作正常,至少在winxp 32bit

Resorcap
Resorcap 2014年11月8日
在运行函数之前,添加当前的绝对路径:
添加(pwd);
这对我很有效。

朝东
朝东 2016年3月21日
对我来说,发生这个错误的原因是因为我使用了一个实际上不属于我用来调用的对象的方法。这意味着我应该首先将我的对象转换为另一种类型的数据,对于我来说,我实际上必须将属于车辆类的对象更改为mini类以指定其数据类型。OOP的哲学对于理解错误发生的原因和解决错误确实非常重要。

eranna annigeri
eranna annigeri 2016年7月24日
编辑:沃尔特·罗伯森 2016年7月24日
大家好!
我在GLCM代码中得到这个错误,有人能帮助我解决这个错误吗
统计= glcm_featres1 (GLCM2,0)
未定义的函数' glcm_featres1 '用于类型为'double'的输入参数。

Nensi Tallamma
Nensi Tallamma 2016年8月10日
嗨,我得到这个错误”??未定义的函数或方法“小波”输入参数类型为“双”。,当我试图跑:
[波,周期,尺度,coi] =小波(madden_julian,dt,pad,dj,s0,j1,mother);
有人能帮我解决这个错误吗?
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2016年8月10日
Mathworks没有在任何工具箱中定义名为“wavelet”的函数。
我检查了一下,似乎没有任何文件交换贡献定义了一个同名的函数。
看来你用的是来自 G08isu.pdf .它似乎使用了colorado.edu网站的软件;你可以在这里找到源代码 http://paos.colorado.edu/research/wavelets/software.html

登录评论。


朗胡
朗胡 10月11日
编辑:朗胡 10月11日
我遇到了问题??未定义的函数或方法'cdfcalc'用于类型为'double'的输入参数。此外,当我使用cmd“which cdfcalc”时,返回没有找到这样的函数。我想知道我是不是漏装了什么?
另外:当我进入下载页面时,我有这些可以下载:Installer.exe MATLAB77.zip Communications_Toolbox42.zip Signal_Processing_Blockset68.zip Signal_Processing_Toolbox610.zip
我下载并安装了它们。但是在安装时,它提醒我没有Simulink。金宝app我该怎么处理呢?
1评论
沃尔特·罗伯森
cdfcalc来自统计和机器学习工具箱。看来您还没有安装。
正在尝试安装的信号处理模块需要Simulink,没有Simulink是无用的。金宝app它本身并不影响信号处理工具箱的使用,因此如果您安装了Simulink,则应该只安装信号处理Blockset。金宝app
如果您有Student Suite许可证,那么您可能只是没有告诉安装程序安装这些包。

登录评论。


0460051变
0460051变 10月11日
我也有同样的问题。这是我的错误。
在' configupin '的工作人员上抛出了一个UndefinedFunction错误。这可能是因为包含' configupin '的文件在worker上不可访问。使用addAttachedFiles(pool, files)指定需要附加的文件。请参阅“parallel”的文档。Pool/addAttachedFiles获取更多细节。
错误使用并行函数>make_general_channel/channel_general(第929行)未定义的函数'configurePin'输入参数类型为'double'。
我试着交流matlab和arduino。然而,它总是出错。发生了什么事?
7评论

登录评论。


indah octaviyani
indah octaviyani 2016年10月26日
我得到这个错误,你能帮我吗?
未定义的函数generateExplicit用于MPCController类型的输入参数。
3评论
沃尔特·罗伯森
沃尔特·罗伯森 2016年10月26日
我们可能需要看看你的代码。请创建一个新的问题,显示您的代码和错误消息的完整回溯。

登录评论。


nikhil库马尔
nikhil库马尔 2017年2月22日
当我运行一些文件时,我得到这个错误: 未定义的函数'matplot2'用于类型为'double'的输入参数 matplot2(X,Y,abs(ISAR),20)中的错误(第42行); 请帮帮我,伙计们。
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2017年2月22日
matplot2()不是任何MATLAB工具箱或文件交换中的任何条目的一部分。
Matplot2()似乎是 一个函数 在R编程语言中。

登录评论。


Quach tien toan
Quach tien toan 2017年5月14日
我得到这个错误,你能帮我吗?未定义的函数“getsnapshot”用于类型为“double”的输入参数。
1评论
斯蒂芬。
斯蒂芬。 2017年5月14日
随着 getsnapshot 文档明确指出,它的输入必须是一个视频输入对象。你的错误信息告诉我们你没有给予 getsnapshot 视频图像对象,但为数值。您需要给它正确类型的输入(文档告诉您它需要的输入)。

登录评论。


定为木菠萝
定为木菠萝 2017年5月24日
编辑:沃尔特·罗伯森 2017年5月24日
错误:未定义的函数' execute '的输入参数类型为' double '。
树莓派simulink金宝app
原因
实际上,这可能是由许多问题造成的,其中之一可能是,Simulink支持包文件没有正确下载,可能有丢失的文件,为了确保这一点,请写:金宝app金宝app
这functionName
例如,执行
看看会有什么结果。如果它返回注释“没有可用的许可证”或只是给出错误,然后按照下面的声音,如果返回路径和文件的名称,然后重新启动你的matlab和检查,如果没有解决它可能是另一个问题。
解决方案
再次下载所有的包,但在此之前,您必须删除以下路径中的SupportPackages文件夹:C:\Users\your_pc_ userrname金宝app\Downloads\MathWorks并开始下载包,它将工作,MathWorks将下载该路径中所有大小不小于716MB的所需文件
我刚刚重启了我的电脑和matlab,一切都很好,感谢这些maklab团队的人 http://www.maklabacademy.com/error-金宝appsimu金宝applink-support-package-raspberry-pi-hardware-2016-2017/

吸一口Frederiksen
吸一口Frederiksen 2017年6月2日
在我的情况下,我只是没有在正确的工作目录。通过CD'ing到正确的目录,或使用UI更改工作目录来更改。


lakshan tharuka
lakshan tharuka 2017年9月22日
我得到如下错误。你能给个答复吗
未定义函数readFunctionTrain用于char类型的输入参数。
2的评论
lakshan tharuka
lakshan tharuka 2017年9月22日
它工作。感谢史蒂文!但不幸的是需要3.0的GPU

登录评论。


divyasami27
divyasami27 2018年3月12日
当我尝试:
哪一个信封
我得到'信封'没有找到,这是在版本R2014a。

verma babita
verma babita 2018年4月5日
编辑:verma babita 2018年4月5日
当我尝试使用mattest进行tscore计算时,我得到以下错误:
未定义的函数'bioinfochecknargin'用于类型为'double'的输入参数
有人能解释为什么会发生这种错误并提出解决方案吗?任何帮助都是感激的,谢谢。
1评论
史蒂文的主
史蒂文的主 2018年4月5日
这是生物信息学工具箱中的一个实用/辅助功能。命令的输出 版本 函数确定是否安装了该工具箱。

登录评论。


马可Nesci
马可Nesci 2018年5月28日
我收到这条信息,
未定义的函数'kalman'用于类型为'double'的输入参数
我控制了所有的许可证和功能是目前在其controldesign文件夹如何解决它?
1评论
安德烈亚斯•戈斯
安德烈亚斯•戈斯 2018年5月28日
请运行以下程序并张贴结果
哪一个卡尔曼-
许可证(“测试”“Control_Toolbox”

登录评论。


Metin Ozturk
Metin Ozturk 2018年7月31日
这可能是因为您正在尝试使用的函数在当前的MATLAB版本中不可用。例如,如果您在2018年以外的任何版本中使用'normalize'函数,它将产生相同的错误,因为'normalize'函数是在MATLAB 2018中引入的。

塞纳表“感觉”
塞纳表“感觉” 2018年8月16日
未定义的函数'rescale'的输入参数类型为'double'。请帮我解决这个错误
1评论
斯蒂芬。
斯蒂芬。 2018年8月16日
重新调节 帮助国家 “R2017b引入” .您使用的是MATLAB 2017b或更高版本吗?

登录评论。


Asry Noorsal
Asry Noorsal 2018年9月29日
嗨,那里~我有一个错误像这样的“未定义的函数'ziegler_nic'输入参数类型为'double'.”我已经添加了一些文件的路径,但它仍然不会工作。如果有人能解决这个案子,那将是对我很大的帮助,谢谢
3评论

登录评论。


clpi
clpi 2019年7月3日
你好!
我有一个matlab函数,在某一点上计算sin(2*pi*freq*t_array) (t_array in一个大小为(1,2000)的数组。
我试着称这个函数为vi matlab。引擎,但我得到了错误消息:“未定义的函数'sin'输入参数类型为'int64'”
我尝试了人们在这个话题中提出的建议,但没有奏效。我想添加文件'sin。M '到我的工作目录,但它不是一个函数脚本,它是一个简单的文本。
我将非常感激任何帮助
谢谢你!
2的评论

登录评论。


马赛克电脑
马赛克电脑 2020年2月7日
我得到这个错误,请帮助
未定义的函数'series'用于类型为'double'的输入参数。
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年2月7日
在控制系统工具箱中有一个series()调用,但它必须传递给控制系统而不是数值。
我推测您正在使用来自某些第三方代码的series(),并且它需要某种公式的表示,可能是符号,也可能是函数句柄。
一种可能是您正在使用r2007a或更早的基于maple软件引擎的符号代码 您传递的是数值而不是符号值。

登录评论。


Sreedevi R Varma
Sreedevi R Varma 2020年8月25日
错误:未定义的函数'recursive_max'用于输入类型为'double'的参数。
在这里做什么
我的代码:
函数k = recursive_max (v);
l =长度(v);
m = (v (l));
函数v = mx(矢量,m, L);
如果L = = 1
v = m;
其他的
如果m < vec(L)
m = (vec (L));
结束
v = mx(矢量,m, l - 1);
结束
结束
k = mx (v, m, l);
结束

吉thinnambiar J
吉thinnambiar J 2021年4月10日
如果您没有为某个功能安装正确的工具箱,它有时会给出这个错误。
如果某个特定函数导致错误。试着打字
帮助functionName
如果这个函数需要一个工具箱才能工作。只需点击终端中给出的超链接或下划线链接。
它会指引你找到合适的包裹。确保保存所有程序。因为安装包需要重新启动MATLAB。
干杯! !

宾果邦戈
宾果邦戈 2021年6月18日
我得到以下错误
未定义的函数'trainNetwork'用于类型为'double'的输入参数
我正在尝试使用深度学习示例(水痘)代码进行时间序列预测。
iam使用Matlab R2012b版本
2的评论

登录评论。

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!