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

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.

댓글 수: 1

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
Image Analyst 2022년 6월 21일
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

추가 답변 (1개)

Karan Kannoujiya
Karan Kannoujiya 2022년 6월 21일

0 개 추천

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

댓글 수: 5

Hi karan bro, im so sorry i mean:
im trying this to know if that element(1,2) is empty , to make a decision from that condition.
If element is a string array
str = ["abc","xyz",""];
find( strlength( str ) == 0 )
ans = 3
strlength( str(1,3) ) == 0
ans = logical
1
okok actually, are points (x,y), where the vector is filled, but i need to know if there is only a point or more, then im trying by this way because if i do l=length(ps1), with only a point this length give me equal 2.
i let you some caps for you understanding.
thank u.
best regards.
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?
this works perfectly, thanks a lot.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

제품

릴리스

R2020a

질문:

2022년 6월 21일

댓글:

2022년 6월 21일

Community Treasure Hunt

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

Start Hunting!

Translated by