Azzera filtri
Azzera filtri

Using parfeval and getting "Not enough input arguments"

6 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Benjamin Thompson
Benjamin Thompson il 31 Gen 2022
Modificato: Benjamin Thompson il 31 Gen 2022
You probably need an @ sign for the function handle, as in:
WatchID = parfeval( backgroundPool, @twoParameterFunction, 1, systemXmlPath, systemStatusFile );

Più risposte (0)

Categorie

Scopri di più su Background Processing in Help Center e File Exchange

Tag

Prodotti


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by