Когда MATLAB® клиент отправляет команду с недействительным аргументом к серверному приложению COM, сервер передает сообщение об ошибке обратно в следующем формате.
??? Error: Type mismatch, argument n.
Если вы не используете точечный формат синтаксиса, будьте тщательной интерпретацией номера аргумента в этом сообщении.
Например, с помощью точечного синтаксиса, если вы вводите:
handle.PutFullMatrix('a','base',7,[5 8]);Отображения MATLAB:
??? Error: Type mismatch, argument 3.
В этом случае, аргумент, 7, недопустимо потому что PutFullMatrix ожидает, что третий аргумент будет типом данных массива, не скаляром. В этом примере сообщение об ошибке идентифицирует 7 как argument 3.
Однако, если вы используете синтаксис:
PutFullMatrix(handle,'a','base',7,[5 8]);
Отображения MATLAB:
??? Error: Type mismatch, argument 3.
В этом вызове PutFullMatrix функция, 7 аргумент четыре. Однако сервер COM не получает первый аргумент. handle аргумент просто идентифицирует сервер. Это не становится переданным серверу. Сервер читает 'a' в качестве первого аргумента, и недействительного аргумента, 7, как третье.