我是物理学的学生,他们在matlab给了我一个程序来获得一些结果。是否有一点matlab崩溃并指出此行的问题:
[~,idx] = min(cf(:));
错误信息是: 表达式或陈述不正确 - 可能是不平衡的(,{或[。
我想问一下在matlab中做什么?在我搜索谷歌时,我发现〜是近似符号。那有什么理由呢?
答案 0 :(得分:3)
该表达式中的波浪号用于min
函数中的ignore the first return value。这种语法只存在了几年,因为你使用的是旧版本的MATLAB,所以可能会出现错误。
尝试用~
替换idx
。这将导致第二个返回值覆盖第一个返回值,并且在功能上等同于您发布的代码。
在其他情况下,~
是logical not operator,而~=
是用于测试不平等的逻辑比较运算符。
答案 1 :(得分:0)
min
函数可以返回两个值,其中第一个是输入数组的最小值,第二个是与最小值对应的索引。有时您并不真正需要实际的最小值,因此对于第一个返回值,您只需将~
作为占位符,而不将其分配给特定变量。
该错误可能与您正在显示的函数调用的前一行中的不平衡语句相关联