MATLAB Answers

Z must be a matrix, not scalar or vector - SURF

2 views (last 30 days)
Sclay748
Sclay748 on 27 Oct 2020
Commented: Sclay748 on 27 Oct 2020
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 1x12 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!
.....

  0 Comments

Sign in to comment.

Accepted Answer

Sindar
Sindar on 27 Oct 2020
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

  4 Comments

Show 1 older comment
Sindar
Sindar on 27 Oct 2020
What were you expecting? The x and y values seem to be the same for every row
For homogenous data, tables are so much better. I'm still kinda bitter that I learned Matlab on a (old-at-the-time) version prior to tables, and coded everything up badly with struct arrays, before learning about tables.
Sclay748
Sclay748 on 27 Oct 2020
oh i guess that makes sense. I just was looking for the typical surface looking graph, but you made me realize that haha

Sign in to comment.

More Answers (0)

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!