Matrix, struct, array, comparison

2 views (last 30 days)
Francesco
Francesco on 22 Feb 2014
Edited: Tim leonard on 12 Mar 2014
I have two struct variable: primo and secondo
>> primo
primo =
Y: {1x8 cell}
primo.Y
ans =
Columns 1 through 4
[1000x9 double] [1000x9 double] [1000x9 double] [1000x9 double]
Columns 5 through 8
[1000x9 double] [1000x9 double] [1000x9 double] [1000x9 double]
secondo =
Y: {1x8 cell}
>> secondo.Y
ans =
Columns 1 through 4
[1000x9 double] [1000x9 double] [1000x9 double] [1000x9 double]
Columns 5 through 8
[1000x9 double] [1000x9 double] [1000x9 double] [1000x9 double]
Inside of these two variables, there should be the same numerical values. But I do not know if it is really so. How can I be sure that the numerical value inside the matrix [1000x9double] are exactly the same for each matrix? Thanks.

Accepted Answer

Mischa Kim
Mischa Kim on 22 Feb 2014
Francesco, loop through the eight cells and use isequal to compare the matrices.
  1 Comment
Francesco
Francesco on 22 Feb 2014
Perfect. It's very useful command. Good! Thanks.

Sign in to comment.

More Answers (1)

Tim leonard
Tim leonard on 12 Mar 2014
Edited: Tim leonard on 12 Mar 2014
Mischa's answer is perfectly valid. Just wanted to share some code.
all(cellfun(@(x,y)(all(x==y)),primo,secondo))
note, primo and secondo need to be same length, so check that before checking inside the cell.

Categories

Find more on Structures in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!