I want to use a structure as a global variable. This code is an example of the function:
function setGlobalx()global measBuffmeasBuff(1:6) = struct('timeUtc',1,'timePeakOff',2,'peak',3,'mean',4,'eventT',5); %initialize structure
If I call it using:
setGlobalxglobal measBuffdisplay(measBuff)
I get an error on line 3 of the function:
The following error occurred converting from struct to double:Error using doubleConversion to double from struct is not possible.Error in setGlobalx (line 3)measBuff(1:6) = struct('timeUtc',1,'timePeakOff',2,'peak',3,'mean',4,'eventT',5); %initialize structureError in Untitled7 (line 3)setGlobalx
However, if I change the function to:
function setGlobalx2()measBuff(1:6) = struct('timeUtc',1,'timePeakOff',2,'peak',3,'mean',4,'eventT',5); %initialize structureglobal xx=measBuff
and run
%call function having global variable x
setGlobalx2global xdisplay(x);
I get no errors and the structure x is global.
Can anyone tell me why the first method doesn't work? Thanks.
Best Answer