MATLAB中[~,N] = min(abs(Z-100));有语法错误吗?

问题描述:

MATLAB中[~,N] = min(abs(Z-100));有语法错误吗?
仿真提示Expression or statement is incorrect--possibly unbalanced
1个回答 分类:综合 2014-09-25

问题解答:

我来补答
min有两个返回值,第一个是返回最小值,第二个最小值在数组中的位置
很多时候我们只要最小值,那么写一个就可以了
有时候还需要最小值在数组中的位置,那么就用两个返回参数
但是有时候,可能只需要最小值的位置,连最小值等于多少也不需要
那么就有了这样的写法:
,N] = min(abs(Z-100))
表示 舍弃min返回的第一个参数,将第二个参数赋值给N
这样的语法在较新版本的matlab里面才能使用
版本比较旧的matlab,不接受这个~表示舍弃参数的写法
你可以随便给一个变量名给它,忽略不用就可以了
[a,N] = min(abs(Z-100))
a舍弃不用
或者用
[N,N] = min(abs(Z-100))
那么一开始N等于第一个返回的参数,
而第二个参数赋值的时候,把第一个参数覆盖了,N最后就等于第二个返回参数
 
 
展开全文阅读
剩余:2000
上一页:这一步看不懂
下一页:这题详细解释