"kees de Kapper" <email@example.com> wrote in message news:firstname.lastname@example.org... > Hi Folks, > I've got trouble with updating the input data (variables) of a function > which is part of a struct. > > In an matlab-file MyFunc.m I have defined the following two functions: >> function varargout = MyFunc(varargin) >> TmpStruct.Data = ; >> TmpStruct.Size = @(DataDimension)GetDataSize(DataDimension, >> TmpStruct.Data);
This makes a COPY of TmpStruct.Data.
>> function SizeOut = GetDataSize(DataDimension, Data) >> SizeOut = size(Data, DataDimension); > > If I now do: >> TmpS = MyFunc(); >> TmpS.Data = ones(20,30,40); >> TmpS.Size(1) > I would like to obtain the value '20', however I retrieve '0' since > 'TmpStruct.Data' was defined empty before the function declaration. How > could I "update" the input data/variable?
As written, you'd need to recreate the anonymous function.