MATLAB: Z must be a matrix, not scalar or vector – SURF

3dMATLABmatrixscalarsurfsurfacevector

Hello,
Attached is a screenshot of my code and a table I recreated in excel. Just pretend it is in MATLAB. Unfortunaltly, because this is for work, I cannot share actual screenshots, so I made a simplified mock up to show you.
'b' is the variable name I call from.
'c' is just what I call the length of b, which is 12.
The table is a 1×12 structure with 12 fields. For my example, I only show 1 to 5, but you ge the idea to show you where I get the error 'Z must be a matrix, not scalar or vector.'
I appreciate any help/advice. Thanks!
…..

Best Answer

struct array is a terrible way to store this data. Does this do it?
tbl = struct2table(b);
surf(tbl.temperature,tbl.humidity,tbl.frequency)
% no loop