Writing IF STATEMENT that omits empty fields in different arrays of a structure
1 view (last 30 days)
Show older comments
I need writing an if statement that would exclude empty fields in a structured array (pictured attached). I am to make use of non-empty fields of M.id, M.xd and M.yd. I came up with this but not working:
for i=1:1:n % n is 100
if ~isempty M(i) % this is where my problem lies
for z=1:t % t is 5
min_dis_local=inf;
distanceL=sqrt( (S(i).xd-(M(z).xd) )^2
end
end
end
I got this error instead:
Error using isempty
Not enough input arguments.
Answers (1)
Dyuman Joshi
on 25 Jan 2023
Edited: Dyuman Joshi
on 25 Jan 2023
You need to use () with isempty, otherwise it would assume the input to be a string array
y = [];
isempty(y)
isempty y
%even though x is not defined, it returns 0 when checked with isempty
isempty x
When you add ~ operator before isempty without (), it will through you an error, which is what you encountered
~isempty y
5 Comments
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!