Writing IF STATEMENT that omits empty fields in different arrays of a structure
2 次查看(过去 30 天)
显示 更早的评论
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 个)
Dyuman Joshi
2023-1-25
编辑:Dyuman Joshi
2023-1-25
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!