Compare Nested Cell & Struct Arrays Recursively

Compare two cell or struct arrays and find exactly where they differ
1,6K download
Aggiornato 1 set 2016

Visualizza la licenza

This package contains two functions CELLEQ and STRUCTEQ which compare two cell arrays or two structures respectively. The cells/structs may internally contain more nested cell and struct arrays which are compared recursively.
Feature summary:
* Support for nested structures/cell arrays
* Return of full stack information on where the two cells/structs differ
* Control for comparison of Function handles within structs/cells
* Control for comparison of NaN properties

Usage:
[iseq, info]= celleq(cell1, cell2, funh2string, ignorenan)
[iseq, info] = structeq(struct1, struct2, funh2string, ignorenan)

* iseq is true if all elements and subelements of the two cells or structs are identical
* info is a structure that contains a field "Reason" which gives you a text stack of why the difference occurred as well as a field "Where" which contains the indices of the element and subelement where the comparison failed.
* (optional) funh2string, if true, instructs function handle comparisons to return true if the string representations of the function handles are the same.
* (optional) ignorenan, if true, will return true for nan == nan. By default both properties are set to false

Example:
>> figure;
>> g = surf(peaks(50));
>> rotate3d
>> hg1 = handle2struct(gcf);
>> set(g,'XDataMode', 'manual');
>> hg2 = handle2struct(gcf);

>> [iseq, info] = structeq(hg1, hg2)
iseq =
0
info =
Reason: [1x137 char]
Where: '(1).properties(1).KeyPressFcn{1}'

>> [iseq, info] = structeq(hg1, hg2, true)
iseq =
0
info =
Reason: [1x188 char]
Where: '(1).children(1).children(1).properties(1).XDataMode'

Cita come

Ameya Deoras (2024). Compare Nested Cell & Struct Arrays Recursively (https://www.mathworks.com/matlabcentral/fileexchange/27542-compare-nested-cell-struct-arrays-recursively), MATLAB Central File Exchange. Recuperato .

Compatibilità della release di MATLAB
Creato con R2009b
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux
Categorie
Scopri di più su Structures in Help Center e MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Versione Pubblicato Note della release
1.0.0.1

Updated license

1.0.0.0