Filter löschen
Filter löschen

Question on function variables i.e. ~

4 Ansichten (letzte 30 Tage)
Seetha Rama Raju Sanapala
Seetha Rama Raju Sanapala am 17 Dez. 2015
Bearbeitet: Walter Roberson am 17 Dez. 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?

Antworten (1)

James Tursa
James Tursa am 17 Dez. 2015
Bearbeitet: James Tursa am 17 Dez. 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 Kommentare
Seetha Rama Raju Sanapala
Seetha Rama Raju Sanapala am 17 Dez. 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!

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by