Azzera filtri
Azzera filtri

Writing IF STATEMENT that omits empty fields in different arrays of a structure

2 visualizzazioni (ultimi 30 giorni)
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.

Risposte (1)

Dyuman Joshi
Dyuman Joshi il 25 Gen 2023
Modificato: Dyuman Joshi il 25 Gen 2023
You need to use () with isempty, otherwise it would assume the input to be a string array
y = [];
isempty(y)
ans = logical
1
isempty y
ans = logical
0
%even though x is not defined, it returns 0 when checked with isempty
isempty x
ans = logical
0
When you add ~ operator before isempty without (), it will through you an error, which is what you encountered
~isempty y
  5 Commenti
Ayobami Meadows
Ayobami Meadows il 29 Gen 2023
Index exceeds the number of array elements (127)
Error in Demo_code (line 54) if ~isempty(M(i))

Accedi per commentare.

Categorie

Scopri di più su Structures in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by