为什么matlab有的函数文件可以直接运行而有的不行

很多人拿到别人的m文件,有些函数文件摁F5可以直接运行,有的不行,这是为什么呢?恐怕对matlab的运行机理不大清楚。

关于matlab的函数定义以及代码运行机制,可以参考我的这篇文matlab的函数定义
运行的方式可以可以在编辑器中打开选中解析运行,也可以打开后摁F5全文件运行,亦可以在命令行窗口敲入文件名(如果是函数m文件,文件名也是函数名,作为函数文件,也可以调用),拖动文件到命令行窗口其实就是敲文件名一个意思。

  • 如果是选中右键运行,就是一行一行地解析运行,没什么好说的。
  • 如果是保存好文件,在命令行敲文件名运行的话,看文件类型。
    1.如果是非函数文件,等同于全选右键选择运行。
    2.如果是函数文件,不含参直接运行,若含参,而参数没有值又在函数中用到,那么就会报错“输入参数不足”。例外的情况是没有用到参数,或者参数在其使用之前已经赋值,那么可以运行。当然,如果除了文件名,把后面参数也写上,那就等同调用这个函数了。本质上,直接输函数文件名,等同于调用函数却不传入参数。

    这里写图片描述

    这里写图片描述

  • 如果是摁F5运行,看运行的对象是函数文件还是一般的文件(看是不是以function定义的)。
    1.若文件不是函数文件,则和全选右键运行时一样的,一行一行运行。
    2.若文件是函数文件,等同于在命令行窗口输入文件名运行。

说白了,就两种运行方式,一种是调用运行,如F5,敲文件名,敲函数调用,一种是解析运行,即选中语句运行。调用运行如果没敲参数就是无输入参数,会不会出错自可判断。

对于nargin,在没调用函数时,值为6,在调用函数后,就变成了0。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陆嵩

有打赏才有动力,你懂的。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值