MATLAB中[~,N] = min(abs(Z-100));有语法错误吗?仿真提示Expression or statement is incorrect--possibly unbalanced

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 14:41:18

MATLAB中[~,N] = min(abs(Z-100));有语法错误吗?仿真提示Expression or statement is incorrect--possibly unbalanced
MATLAB中[~,N] = min(abs(Z-100));有语法错误吗?
仿真提示Expression or statement is incorrect--possibly unbalanced

MATLAB中[~,N] = min(abs(Z-100));有语法错误吗?仿真提示Expression or statement is incorrect--possibly unbalanced
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最后就等于第二个返回参数

左边是两个值,右边只有一个,等式不对称吧。

没有错误,min有两个返回值。
请问Z是什么?向量还是矩阵?

~是啥意思呢??