Change the name of structure inside a cell

1 view (last 30 days)
I got the cell names stuff with 2 field values. When I open "stuff" i see a message "1x1 struct", can i change this display to like say "1x1 NAMEIWANT"?
names = {'f1', 'f2'};
values = {1 2};
structure = struct(args{:});
stuff{1,1} = structure;
stuff{1,2} = structure;
Thanks for your time, happy holidays
Jan on 18 Dec 2018
@Tiago: It is not meaningful to create a kind of table, which contains such an output for the given input. "1x1 fsrModel" is nothing, which explains the contents in a meaningful way in the data browser. This tool is designed to show the class of the variable and then "1x1 struct" is perfect. If you want to display something else, create you own uitable in a GUI, but not the standard browser for data.

Sign in to comment.

Accepted Answer

Guillaume on 18 Dec 2018
In your screenshot, mlrModel, fsrModel, etc. are the name of classes. They may look like structures but these things are absolutely not structures, they're objects, instances of classes. In order to get a mlrModel you would have to call whichever function creates such objects, possibly the class constructor, with the appropriate inputs. While matlab provides a way to convert objects to structures there is no reverse operation other than what is provided explicitly by whomever wrote these classes.
In conclusion, look at the documentation of whatever library you're using to find out how to create these objects. They're not structures.
Jan on 18 Dec 2018
Edited: Jan on 18 Dec 2018
uitable('Data', {'Name 1', 17.3, 'fsrModel'; 'Name 2', 3.14, 'fsrModel'})

Sign in to comment.

More Answers (1)

Tiago Dias
Tiago Dias on 18 Dec 2018
@Stephen Cobeldick the objective was just when i open "stuff" to see that the column 1 is label with a specific name and column 2 is label to another name
  1 Comment
Jan on 18 Dec 2018
@Tiago: This is the section for answers. Please post comments as comments. Thanks.
Then problem is hidden in "just when I open". Opening a variable in the WorkspaceBrowser has a specific purpose. You ask for a method to create a special class just to missuse the WorkspaceBrowser to show a wanted output. This is indirect ond too complicated, because as said already it is much easier to create a new GUI instead of using the WorkspaceBrowser. Then you have the complete freedom to display what you want.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!