如何在Matlab中忽略输出变量?

4
[dummy index] = sort(A);

我希望忽略sort函数的第一个输出,只保留索引。当我使用上述代码时,在matlab编辑器中会出现以下警告:

dummy赋值似乎未被使用。

它建议使用~代替。当我使用~时。

[~ index] = sort(A);

我遇到了以下错误:
使用 ~ 忽略一个值在此上下文中不被允许。
有人有解决方法吗?

我有点困惑。你所说的失败示例中没有使用 ~。 - user85109
2个回答

12
你需要添加逗号并分隔输出参数才能使 ~ 正常工作。
以下是可行的代码。
[dummy index] = sort(A);
[dummy, index] = sort(A);
[~, index] = sort(A);

但是

[~ index] = sort(A);

失败了。


0

它确实可以工作,但是您的问题甚至没有显示您在哪里使用了 ~,而您却报告了一个错误。

A = rand(1,5);
[~,ind] = sort(A);

ind
ind =
     3     5     1     2     4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接