Bug in removePltIdFiles
Output im Command Window:
plot2
publishing of AB01-616EB17A started
script sucessfully published
Error using fileparts (line 58)
Input must be a row vector of characters, or a string scalar, or a cellstr, or a string matrix.
Error in PlotID.removePltIdFiles (line 11)
[~,~,PltID_flist.ext(:)] = fileparts(PltID_flist.name(:)); % add ext column
Error in PlotID.Publish (line 81)
fList = PlotID.removePltIdFiles(fList); % Do not copy files that are part of plot ID
Error in plot2 (line 21)
PlotID.Publish(a, f1.Tag, f1);
Problem liegt in removePltIdFiles Zeile 10: struct2table(dir('+PlotID')) gibt eine leere 0x6 table zurück anstatt eine Liste der m-Files im Package PlotID. Vorgehen weicht von dem unter MATLAB-Help empfohlenen Vorgehen ab, hier wird 'what' verwendet.
Möglicher Bugfix:
packageContent = what('PlotID'); PltID_flist = packageContent.m;
Beachte: Hier liegt 9x1 Cell vor, keine Table.
Hinweis 2 zu Zeilen 10, 11 und 13:
PltID_flist = struct2table(dir('+PlotID')); %get list of files [~,~,PltID_flist.ext(:)] = fileparts(PltID_flist.name(:)); % add ext column
In Zeile 10 wird die Variable PltID_flist als table angelegt, in Zeile 11 offenbar als Struct (sofern der Code ausführbar ist) mit dem Feld ext. In Zeile 13 wird die Variable dann wiederum neu deklariert als Datentyp, der in der Funktion PltID_flist zurückgegeben wird. Das Variablenhandling erschließt sich mir zumindest auf den ersten Blick nicht.