Compare classes with different Properties

4 次查看(过去 30 天)
Hi
Is there an easy way compare classes of the same type with variable attributes ?
I have an array which contains instances of a class
example would be something like this
instance 1
classdef MyClass
properties
a = 1;
end
methods
end
end
Instance 2
classdef MyClass
properties
a = 2;
end
methods
end
end
So lets say I have an array of 20 instances of MyClass - 7 of them would have a = 1, 13 of them would have a = 2
The desired output would be something like
Output = [7 1;13 2]
Thanks alot - Help is much appreciated

采纳的回答

per isakson
per isakson 2019-11-6
Try this
%% Create sample data
mc(20) = MyClass;
[mc(1:7).a] = deal(1);
[mc(8:20).a] = deal(2);
%% Desired output
edges = (1:2+1);
hc = histcounts( [mc.a], edges );
Output = [ reshape(hc,[],1), reshape(edges(1:2),[],1) ]
which shall output
ans =
7 1
13 2
This piece of code contains many "magic" numbers
  • the number 20
  • the numbers 7 and 13
  • the values 1 and 2 of the property a
the value of edges must match the values of the property a

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Construct and Work with Object Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by