Any function to get a short description of a variable just like the Value column in workspace?.
1 次查看(过去 30 天)
显示 更早的评论
I have a struct with >4000 members/fields. I am writing a search function to find some matching members and displaying them along with a short description. Ideally i want the description to be like the value column of workspace(see below).
2 个评论
Von Duesenberg
2018-4-25
编辑:Von Duesenberg
2018-4-25
If your structure is called s for example, you can access the size of fields like this (so I suppose you can access other properties as well):
structfun(@size, s, 'Uni', 0)
回答(1 个)
Jan
2018-4-25
编辑:Jan
2018-4-25
What about writing a function, which satisfies your needs exactly?
function C = DispStructRoughly(S)
Field = fieldnames(S);
Data = struct2cell(S);
C = cell(1, numel(Field));
for iC = 1:numel(Field)
D = Data{iC};
classD = class(D);
if ndims(D) > 3
if isnumeric(D) && ~isreal(D)
comp = 'complex ';
else
comp = '';
end
if isempty(D)
empty = 'Empty ';
else
empty = '';
end
C{iC} = sprintf('%s%d dim %s%s array', empty, ndims(D), comp, classD);
elseif isnumeric(D)
...
elseif ischar(D)
C{iC} = D;
elseif ...
end
end
It is not hard to create the wanted strings exactly as you need them with all exceptions as you like. Simply try to expand this code and ask a specific question in case of problems.
2 个评论
Ameer Hamza
2018-4-25
Just wondering, if there is a way to directly access these strings. MATLAB must have stored them in variable metadata, for display purposes.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Whos 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!