Compare Nested Cell & Struct Arrays Recursively
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
Compatibilità della piattaforma
Windows macOS LinuxCategorie
Tag
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Scopri Live Editor
Crea script con codice, output e testo formattato in un unico documento eseguibile.