Matlab Неиспользуемые входные нотации - PullRequest
3 голосов
/ 05 января 2010

Matlab R2009b представил новый «оператор» - ~ - для обозначения неиспользуемой функции вывода или ввода. У меня есть подробный вопрос об этой реализации. (Обзвон всех @ Лорен с.)

Что видит функция для значения неиспользуемого входного параметра?

т.е. если моя функция определена как

myfunc(argOne, argTwo, argThree)

и называется так:

myfunc('arg', ~, 'arg')

Является ли nargin 2 или 3? ArgTwo не определен или пуст или что-то еще?

Спасибо

1 Ответ

4 голосов
/ 05 января 2010

Синтаксис ~ применим только ко входам функции определение , но не ко входам функции call (как обсуждено на этой странице документации ). Другими словами, это в порядке:

function myfunc(argOne, ~, argThree)  %# Will do nothing with the second input
  %# Do stuff here
end

но это не является:

myfunc('arg', ~, 'arg');  %# Error city ;)

Таким образом, при вызове функции вы можете использовать ~ только с левой стороны :

[~, I] = sort([2 4 1 2 5 3]);  %# Sort the vector and keep only the index
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...