matlab中[~,output] = func()的"~"是什么意思?为什么不能编译通过?

[复制链接]
查看11 | 回复3 | 2012-12-16 09:53:02 | 显示全部楼层 |阅读模式
[~,output] = func(),是可以这样使用的。func()函数返回两个值,一般情况下,我们用a,b来接收这两个值,即:[a,b] = func()接下来就可以使用a,b了。但有时候,在调用[a,b] = func(),往往只需要使用b,而不需要使用a(a的存在就没有任何意义,白白浪费工作空间),那么就可以用[~,b] = func()~表示后面不需要使用第一个返回值。举个例子,定义func函数:function [a,b] = func()a = 3;b = 4;将上述代码存为func.m。调用:>> [~,b] = func()结果:b =
4而且在工...
回复

使用道具 举报

千问 | 2012-12-16 09:53:02 | 显示全部楼层
当函数func有两个返回参数时,有时候你可能只想要第二个返回参数,在以前低版本的matlab中,你只能这么写:[a,b]=func()否则你是不能跳过第一个参数得到第二个参数的,但这无形中会降低效率,因为你可能确实不需要第一个参数。我的版本是matlab2010b,就支持下面这种写法:[~,output] = func()这样我就可以...
回复

使用道具 举报

千问 | 2012-12-16 09:53:02 | 显示全部楼层
“~”应该是错误的吧,怎么会出现这种东西,应该不是正确的变量名称啊。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行