Writing IF STATEMENT that omits empty fields in different arrays of a structure
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.
1 Comment
Ayobami Meadows
on 29 Jan 2023
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
Ayobami Meadows
on 26 Jan 2023
Dyuman Joshi
on 26 Jan 2023
Please copy paste the full error message.
What is S? And what is the use of min_dis_local?
It would be better you provide all the code that is relevant to your issue.
Ayobami Meadows
on 27 Jan 2023
Dyuman Joshi
on 29 Jan 2023
What is the full error you get when you run this code?
Ayobami Meadows
on 29 Jan 2023
Categories
Find more on Data Type Identification 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!