爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4602|回复: 0

[参考资料] Undefined function or method '...' 原因排查与Matlab2012等版将过期的应对

[复制链接]

新浪微博达人勋

发表于 2017-9-29 07:24:17 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 hillside 于 2017-9-29 12:37 编辑

说明:本文的问题主要是近期2011版、2012版快要过期(11-nov-2017)引起的。由于复制网上解决办法的疏忽(后来核实发现,是转载的一位马大哈将原文的后一半搞漏了,害得我排查了几天:https://www.ilovematlab.com/thread-527616-1-1.html),漏掉了部分了部分模块许可证,以致“help ***”、“ediit ***”虽能使用,但“which ***”显示“许可证不存在”。附件中为来自网络的“MATLAB2011与2012等版将过期的应对经验摘录”。

        MATLAB运行过程中,经常会出现Undefined function or method '......' for input arguments of type 'double',其中的原因可能多种。
        由于近期多个版本的MATLAB(如2011、2012版)显示即使失效,有网友提供了解决方案(见附件)。我重装了MATLAB2011a,无意间发现,使用regress函数时,明显目录中存在,也在路径中,且"help regress"也正常显示。然而,就是不工作(??? Undefined function or method 'regress' for input arguments of type 'double'.)。网上搜索并排查了几天,终于在常见的“函数没有定义、工作目录中不存在,不在搜索路径中、不同路径中存在同名函数”之外发现了一个原因,原来是该函数的许可证已过期。我由于采取了网络上的过期解决方案,表面上已不显示过期信息,已不清楚显示过期信息以前有关函数单独的版本信息。
         排查过程中,明显安装目录中有函数regress,也在搜索路径之中、虽有同名文件但似乎没有干扰,help regress、edit regress也正常地显示,一时排查没有了头绪。
       本人在搜索中外网络过程中,仅发现一条针对性比较强的帖子,提到了检查函数版本过期的命令。原来,which命令才能发现真相。MATLAB命令窗输入"which regress"之后,立即真相大白,该函数没有许可证。
       其他相关的排查技术包括全角的逗号等等。如有一篇网上帖子:
       http://blog.csdn.net/huchunfu/article/details/8273643
                                                      MATLAB报错Missing variable or function
                                                                     Bertrand   2012年12月08日
        今天用MATLAB做仿真实验时,总是报错Missing variable or function,始终找不到错误的原因,表达式中变量和函数都不缺少。该表达式是从笔者编写的另一M文件中复制过来的,该表达式在另一个程序中运行时并没有报错,这让我百思不得其解。最后,好好想了想表达式复制过后做了哪些改动,终于让我找到了答案,原来是表达式中的标点符号是在”中文“输入法下输入的。
        错误的表达式(逗号是中文格式): if  ( X(1) < Beacon(2,MRSSI(1,1)) && X(1)<Beacon(2,MRSSI(1,2)))
        正确的表达式(逗号是英文格式): if  ( X(1) < Beacon(2,MRSSI(1,1)) && X(1)<Beacon(2,MRSSI(1,2)))
        MATLAB编程中经常会报错,逻辑上的错误通过输出局部变量都能容易找到出错的原因,但是有些细节型的错误很难找出错误的原因。如:标点符号要是英文格式,括号不成对,函数变量缺失等等。其实,大家都知道标点符号要是英文格式的,但是一时疏忽就写成中文格式的了,这种错误很难被发现。
        编程时要细心,注重细节了,程序运行时报错率才会少。

MATLAB2011与2012等版将过期(11-nov-2017)的应对经验摘录.rar

20.45 KB, 下载次数: 0, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表