If statement not working
1 次查看(过去 30 天)
显示 更早的评论
I have a struct variable that has 20 fields. 11 f them are row matrices of about 24536 x 1 double, while the remaining are either characters, strings and arrays of different dimensions.
i am using if statement to compare the size of each field but it is still giving me some fields that should be omitted.
Code:
b=size(second{1,1}); % second is the cell array and i am using the size of first cell array value
if size(second{i,1}) == b
statements
else
remove field
end
but it is still not removing some of the fields that do not have same dimensions
1 个评论
the cyclist
2021-5-21
编辑:the cyclist
2021-5-21
Can you upload the data (or a small, representative sample) in a MAT file?
Also, in the statement
if size(second{i,1}) == b
what is i? Are you doing this inside a for loop? It would be best if you included a self-contained piece of code that we can run.
回答(1 个)
Walter Roberson
2021-5-21
编辑:Walter Roberson
2021-5-21
use isequal to compare items that might not be the same size. That is, for arrays with more than two dimensions size() would not be of length 2.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!