# how can i know if x position of a vector is empty?

8 views (last 30 days)
Erick Guzman on 21 Jun 2022
Commented: Erick Guzman on 21 Jun 2022
im trying this to know if that element(1,2) is empty or zero, to make a decision from that condition
if (ps1(1,2))==0
paredes1=1;
else
paredes1=length(ps1);
end
i was watching function like isempty or ismissing but its doesnt works.
per isakson on 21 Jun 2022
IMO, never use the function length(M) when M is an array. With vectors its ok. Use size(M,1) and size(M,2), respectively.

Image Analyst on 21 Jun 2022
Element (1,2) of a numerical array will never be empty. It can't be. A whole array can be empty, or you can set a whole column or row of a matrix to null ([]) which will delete the column or row, but then it will be gone and the array will be smaller. It will not be empty.
To determine if that element is 0 you can simply do
if ps(1,2) == 0
% That element is 0.
end

Karan Kannoujiya on 21 Jun 2022
Hi Erick,
So you want to check whether a element is ps1(in your case) is 0 or not.
So, isempty or ismissing function will not work here. Because 0 is itself a element. If in a vector there is 0 it doesn't mean it is empty or missing. For checking a vector element for 0 then you must check by indexing as you have done.
therefore, isempty function is used to check if a memory location is allocated whether there is an element present or not.
for e.g lets take a string str=["abc" "xyz" ""]
So, in str at pos 3 we have allocated memory but there is no element present there
Image Analyst on 21 Jun 2022
A 1x2 vector (x,y) will have a length of 2 since the length is the length of the longest dimension. You should use size():
[rows, columns] = size(ps1)
By the way did you see my explanation below?
Erick Guzman on 21 Jun 2022
this works perfectly, thanks a lot.

### Categories

Find more on Cell Arrays in Help Center and File Exchange

R2020a

### Community Treasure Hunt

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

Start Hunting!