Что можно сделать с ошибкой «Команда слишком длинна для выполнения» в MATLAB? - PullRequest
4 голосов
/ 10 июня 2011

Я вызываю программу на Python из MATLAB и передаю массив в программу. Я пишу следующие строки в рабочем пространстве MATLAB:

% Let us assume some random array

num1 = ones(1,100);   

% I am forced to pass parameters as string due to the MATLAB-Python interaction.

num2 = num2str(num1);    

% The function is saved in a Python program called squared.py

z=python('squared.py',num2);

Программа отлично работает, когда размер num1 небольшой (например, 100). Однако когда он большой, например, 500000, MATLAB показывает следующую ошибку:

??? Error using ==> dos
The command is too long to execute.

Error in ==> python at 68
[status, result] = dos(pythonCmd);

Кто-нибудь знает, как исправить эту ошибку?

1 Ответ

8 голосов
/ 10 июня 2011

В Windows команда, переданная функции dos, ограничена 32768 символами. Это ограничение исходит из ограничения Windows для параметра lpCommandLine до CreateProcess .

Я думаю, что идея Фредрика записать данные в файл и прочитать их из Python - ваша лучшая альтернатива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...