广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    怎么确定matlab变量及函数的优先顺序

    来源:网络收集  点击:  时间:2024-07-23
    【导读】:
    在使用matlab时,很容易出现相同的名称的变量或函数,或者是不同工具包中存在同名的函数,那么怎么确定matlab调用的是哪个呢,这与matlab确定变量和函数的优先级原理有关系,下面进行介绍。关于不同工具包中同名函数的调用问题可以参见:http://jingyan.baidu.com/article/1612d500a23a8ce20e1eee07.html工具/原料morematlab方法/步骤1/7分步阅读

    在matlab中,如果要调用一个函数,那么这个函数必须在当前会话的matlab的可见范围内(visible scope)。而且matlab在其可见范围内按照一定的优先顺序来确定调用哪个函数或变量。搜索有限顺序的关键是Matlab路径(matlab path), matlab path是一个有序的文件夹路径列表,你可以添加或删除其中的某些路径(关于怎么添加删除,可参见:http://jingyan.baidu.com/article/a3761b2ba6c1541577f9aa11.html)。matlab path对matlab的作用相当于windows系统中path环境变量对windows的作用。matlab从path里面的第一个路径根据被调用函数的函数名寻找函数,如果第一个路径没找到再去第二个路径,直到找到为止。如果所有路径都找完了,也没找到,matlab就会报错。如图,我们在matlab命令窗口输入任意一串字符串aaaadfsgsdd,matlab会提示

    Undefined function or variable aaaadfsgsdd.

    2/7

    如图是matlab帮助文档中给出的函数和变量的优先级确定顺序。顺序如下:

    1. matlab首先检查给定的字符串是不是当前工作空间的一个变来那个,如果是则停止搜索;

    2. 嵌套函数

    3. 子函数

    4. 私有函数

    5. 类的构造函数(与以@开头的文件夹中与@后面的字符串相同的函数)

    6. 重载函数

    7. 当前路径中的函数

    8. 其他包含在matlab path路径中的函数。

    3/7

    这里需要指出的是matlab path中包含多个路径,前面的比后面的路径具有更高的优先级,如图,沿着箭头方向,优先级增加。可参见:http://jingyan.baidu.com/article/a3761b2ba6c1541577f9aa11.html

    4/7

    下面我们首先在matlab命令窗口中输入下面的命令:

    which ones

    可以看见当前的ones是matlab默认提供的一个函数。

    5/7

    下面我们新建一个function(关于怎么新建function请参见:http://jingyan.baidu.com/article/bad08e1ee102e409c8512107.html),并保存到D盘的test文件夹下,取名为ones。代码如下:

    function c=ones(a,b)

    c=a+b;

    end

    再把当前路径设置到D盘的test文件夹,如图。

    6/7

    现在再次输入命令

    which ones

    结果如图。matlab显示现在调用的ones是当前路径中的ones函数,同时matlab会提示警告。

    7/7

    下面在在命令窗口输入

    ones=1

    which ones

    结果如图,可以看出现在的ones就是一个变量了。

    matlab
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_997676.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-07 19:33:03  耗时:0.026
    0.0259s