подавление выходных переменных в Matlab

Я использую функцию с несколькими выходами в Matlab, но меня интересует только один из выходов. Я хотел бы подавить другие выходные переменные (то есть избежать их возврата и помещения в память). Например, с функцией max:

[output1 output2] = max(matrixA, [], 1);
% output1 returns the maximum, which i'm not interested in
% output2 returns the index of the maximum, which i *am* interested in

Есть ли способ вызвать функцию, чтобы output1 не возвращался? И если есть, то предлагает ли он какое-либо преимущество в памяти по сравнению с вычислениями, как указано выше, но немедленно вызываетclear output1 удалить output1 из памяти?

Спасибо за вашу помощь.

Ответы на вопрос(2)

Замените любые выходные переменные, которые вы не хотите, на~ персонаж.

Например.

[~,I] = max(matrix);

Эта модель имеет преимущество передclear тем, что интерпретатор MATLAB и компилятор Just-in-Time могут избежать затрат памяти и ЦП при вычислении игнорируемых переменных.

Edit

Здесьдокументация иСообщение блога Лорен Шуре об этом использовании~, Я не могу найти какую-либо определенную информацию об использовании игнорируемых переменных для устранения ненужных вычислений.

Решение Вопроса

Используйте тильду:

[~, output2] = max(matrixA, [], 1);

Я сомневаюсь, что было бы много преимуществ памяти (кроме клерикальных вещей, таких как распределение выходных переменных и т. Д.), Поскольку функция будет работать полностью и выделять все, что ей нужно. Таким образом, вы просто не получаете значение и значение первой выходной переменной в области действияmax функция будет сборщиком мусора.

Ваш ответ на вопрос