Question on function variables i.e. ~

3 vues (au cours des 30 derniers jours)
Seetha Rama Raju Sanapala
Seetha Rama Raju Sanapala le 17 Déc 2015
[~,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?

Réponses (1)

James Tursa
James Tursa le 17 Déc 2015
Modifié(e) : James Tursa le 17 Déc 2015
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 commentaires
Seetha Rama Raju Sanapala
Seetha Rama Raju Sanapala le 17 Déc 2015
@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!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by