Returning properties of a vector of objects as an vector

4 views (last 30 days)
Is it possible to return the properties of objects in a vector as a vector or array?
classdef PhoneBook < dynamicprops
properties
Name
Address
Number
end
methods
function obj = PhoneBook(n,a,p)
obj.Name = n;
obj.Address = a;
obj.Number = p;
end
end
end
We add some entries:
PB(1) = PhoneBook('Nancy Vidal','123 Washington Street','5081234567');
PB(2) = PhoneBook('Nancy Vidal','123 Main Street','5081234568');
PB(3) = PhoneBook('Nancy Wong','123 South Street','5081234569');
The following call now returns a list of ans, which is hard to work with:
PB.Number % returns a list of ans, but a vector would be prefered

Accepted Answer

Ameer Hamza
Ameer Hamza on 18 Mar 2020
Edited: Ameer Hamza on 18 Mar 2020
Try
v = {PB.Number};
You can also use
v = [PB.Number];
but I am not sure whether this will be helpful.
  2 Comments
Nicolas Bourbaki
Nicolas Bourbaki on 19 Mar 2020
Thanks a lot for the answer.
Now that I see it, it's obvious.
This was exactly what I was looking for.

Sign in to comment.

More Answers (0)

Categories

Find more on Construct and Work with Object Arrays in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!