Question on function variables i.e. ~

1 次查看(过去 30 天)
[~,I] = max(abs(xc));
This is code taken from an example in MATLAB. I read somewhere that ~ can be used to indicate 'don't care' variables - variables that are not required in further program.
I could have used some variable name, say a, instead of ~, and ignore a. What is the advantage if you use ~. Is it saving space by not storing the data not required?

回答(1 个)

James Tursa
James Tursa 2015-12-17
编辑:James Tursa 2015-12-17
It is mainly to avoid cluttering your workspace with variables you don't need in a "neat" manner. E.g.,
[~,I] = max(abs(xc));
does the same thing as:
[M,I] = max(abs(xc));
clear M
In both cases, the first output argument is still calculated and returned by the function. Using ~ simply saves you, the programmer, the trouble of clearing unwanted variables manually (MATLAB will do it for you in the background).
  2 个评论
Seetha Rama Raju Sanapala
@James Tursa, if I understood you correctly, it will create some variable (unknown to us) for the output but will immediately clear it and it is not accessible any more. Thanks for the clarification. Has it been documented anywhere in MATLAB? I just want to know how to look for such information! Thanks again!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by