MATLAB中函数返回值有波浪号“~”是怎么回事?就是[~,text,alldata] = xlsread(...)这样的形式。

如果波浪号在中间或后面会怎么样呢?... 如果波浪号在中间或后面会怎么样呢? 展开
 我来答
dukinkin
推荐于2016-03-22 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2444
采纳率:90%
帮助的人:915万
展开全部
在较新版本的matlab里的一种新语法
表示忽略一个返回参数

你这里~号在第一位,表示忽略第一个返回参数
或者说舍弃不用第一个返回参数
追问
是不是要忽略一个参数都要用~号啊?
追答
是的,根据函数的定义
可能有多个返回参数,例如有3个
那么完整的调用函数应该是
[a,b,c]=functionname(.....)

有时候我们并不需要使用全部的返回参数

如果我们不需要b c参数 我们只要
a=functionname(.....)
就可以了
当你写的返回参数比函数定义的返回参数少的时候
会根据顺序返回考前的参数,剩下的参数就自动忽略了

但是如果我们不需要靠前的参数,需要靠后的参数
例如你只要b c参数不需要a参数
在旧版本的matlab里面,你只能写全
[a,b,c]=functionname(.....)
然后,留着a不用
而新版本的matlab可以写
[~,b,c]=functionname(.....)
那么就不需要白白增加一个不用的a变量了

类似的,如果不需要b,只要a c
可以写[a,~,c]=functionname(.....)

如果ab都不要,只要c
[~,~,c]=functionname(.....)

如果要a b 不要c,你可以写
[a,b,~]=functionname(.....)
但其实你只用写[a,b]=functionname(.....)就可以了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式