Using parfeval and getting "Not enough input arguments"
조회 수: 5 (최근 30일)
이전 댓글 표시
I am attempting to use the parfeval function. I routinely get "not enough input arguments" error. Below is a very simplified script, and this gets the same error message. This function simply is trying to open two xml files at the defined path and the filename. If I run the function directly (line commented out with "% %" the function works fine. When attempt to use with parfeval, get the "not enough input arguments" at the link "systemStruc = readstruct(..."
Eventually this will be built into a compiled version. This is very simplied sample of function code, but even this gives me the error.
%test parfeval
systemXmlPath = 'D:\myTestSystem';
systemStatusFile = 'myTestSystemStatus.xml';
WatchID = parfeval( backgroundPool, twoParameterFunction, 1, systemXmlPath, systemStatusFile );
% % result = twoParameterFunction(systemXmlPath, systemStatusFile);
disp('passed off');
function [result] = twoParameterFunction(systemXmlPath, systemStatusFile)
%default
result = false;
%set system level paths and read system defined parameters from the XML
systemStruct = readstruct(fullfile( systemXmlPath,'myTestConfiguration.xml'));
debugLevel = systemStruct.ImageProcess.DebugLevel;
resultsStructIn = readstruct( systemStruct.Folders.ResultsFile);
statusRead = readstruct(fullfile(systemXmlPath, systemStatusFile));
result = statusRead;
end
댓글 수: 0
채택된 답변
Benjamin Thompson
2022년 1월 31일
편집: Benjamin Thompson
2022년 1월 31일
You probably need an @ sign for the function handle, as in:
WatchID = parfeval( backgroundPool, @twoParameterFunction, 1, systemXmlPath, systemStatusFile );
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!