2015-06-18 1 views
2

Я пытаюсь выполнить этот кусок кода:Проблем с parfor контуром в исполнении командной строки

parpool('local',4); 

range = 1000; 

parfor i = 1:range 
    A_test(i) = sqrt(i); 
end 

Он работает отлично в окне MATLAB-Desktop, но когда я пытаюсь запустить его из командной строки используя

matlab -nosplash -nodesktop -r "run script.m" 

Я получаю следующее сообщение об ошибке:

Error using onCleanup (line 50) 
Not enough input arguments. 

Error in parfor_test (line 9) 
parfor i = 1:range 

Error in run (line 96) 
evalin('caller', [script ';']); 

я прочитал, что я, возможно, придется предварительно выделить вектор A_test, поэтому я изменил код так:

parpool('local',4); 

range = 1000; 

A_test = zeros(1,range); 

parfor i = 1:range 
    A_test(i) = sqrt(i); 
end 

Теперь я не получить какие-либо ошибки, но A_test не заполняются SQRT числами, но остается заполняются нулями. У вас есть идеи, что я могу сделать, чтобы исправить эту ошибку?

ответ

0

Вам не нужно использовать run в вашей команде. Вобще:

matlab -nosplash -nodesktop -r "script" 

редактировать Просто понял, что у меня была опечатка в команде выше (нет необходимости расширения .m -> что вызовет ошибку)

+0

Это не работает. Я получаю сообщение об ошибке «Неожиданный оператор MATLAB». – glykokalyx

+0

работает для меня ... Какую версию Matlab вы используете? – matlabgui

+0

MATLAB R2015a - академическое использование – glykokalyx

 Смежные вопросы

  • Нет связанных вопросов^_^