0

我是物理学专业的学生,​​他们给了我一个 matlab 程序来获得一些结果。是否某个点 matlab 崩溃并在这一行指出问题:

[~,idx] = min(cf(:));

错误消息是:表达式或语句不正确——可能是不平衡的 (、{ 或 [.

我想问~在matlab中是做什么的?在我在谷歌搜索时,我发现 ~ 是近似符号。那么它必须存在的原因是什么?

4

2 回答 2

3

该表达式中的波浪号用于忽略函数的第一个返回min。该语法仅存在几年,可能会发生错误,因为您使用的是旧版本的 MATLAB。

尝试将 替换~idx。这将导致第二个返回值覆盖第一个,并且在功能上等同于您发布的代码。


在其他情况下,~逻辑非运算符~=是用于测试不等式的逻辑比较运算符。

于 2013-09-26T19:34:55.470 回答
0

min函数可以返回两个值,第一个是输入数组的最小值,第二个是最小值对应的索引。有时您并不真正需要实际的最小值,因此对于第一个返回值,您只需将~其作为占位符放在那里,而无需将其分配给特定变量。

该错误可能与您正在显示的函数调用的前几行中的不平衡语句有关

于 2013-09-26T19:31:03.843 回答