Cell contents reference from a non-cell array object?
Show older comments
function [ information ] = printInfo( subjects )
s=height(struct2table(subjects));
for x=1:s
name=subjects(x).name;
weight=subjects(x).weight;
maxweight=max(weight);
feet=subjects(x).height.feet;
inches=subjects(x).height.inches;
str='%d: %d''%d", %d pounds';
information=sprintf(str,name,feet,inches,maxweight);
end
end
4 Comments
Birdman
on 6 Mar 2018
What is your input to the function?
Garrett Miller
on 6 Mar 2018
Edited: per isakson
on 6 Mar 2018
Walter Roberson
on 6 Mar 2018
Which line is the error occurring on?
You should probably be replacing the assignment to s with
s = numel(subjects);
Garrett Miller
on 6 Mar 2018
Edited: per isakson
on 6 Mar 2018
Answers (2)
per isakson
on 6 Mar 2018
Edited: per isakson
on 6 Mar 2018
yourInfo is a character array, not a cell array, thus replace
yourInfo{ string }
by
yourInfo( string )
After done that correction your code produces a plot and no errors.
btw: string is a poor name of a loop-variable - IMO
Walter Roberson
on 7 Mar 2018
Edited: Walter Roberson
on 7 Mar 2018
function [ information ] = printInfo( subjects )
s=numel(subjects);
for x=1:s
name=subjects(x).name;
weight=subjects(x).weight;
maxweight=max(weight);
feet=subjects(x).height.feet;
inches=subjects(x).height.inches;
str='%s: %d''%d", %d pounds';
information{x}=sprintf(str,name,feet,inches,maxweight);
end
end
Categories
Find more on Cell Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!