I have an array containing classdef-objects ( value class ) of the same class, but with different values for the properties.
A = [ objA, objB, objC, objD ];
Now I get another array with objects of the same class
Comparing objects with each other I can do by
which returns true. Also objY is equal to objC.
Now like with numeric arrays (I think there it was any or ismember or just through vector operations) I want to do this kind of check:
and it should return true, because all parameters I'm searching for (combined in array B) are present in A!
Using isequal on A and B returns 0 because not all objects are equal and this is the only function I found to compare objects.
Is there a secret function or workaround?
Thanks for your help! :)
Here is a MWE:
class 1 (prop arr contains objects of class 2)
function obj = arrOfTests()
obj.arr = test.empty;
obj.arr(1) = test( 'One', 'Test', 1 );
obj.arr(2) = test( 'Two', 2, [1,2] );
obj.arr(3) = test( 'Three', 'Test', [1,2,3] );
class 2 (element of array in property of class 1)
function obj = test(propOne, propTwo, propThree)
obj.propOne = propOne;
obj.propTwo = propTwo;
obj.propThree = propThree;
example script to create the objects:
obj = arrOfTests();
compObj = test( 'Two', 2, [1,2] );
isequal( compObj, obj.arr );
isequal( compObj, obj.arr(2) );