how can i know if x position of a vector is empty?
5 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
per isakson
2022 年 6 月 21 日
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
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
0 件のコメント
その他の回答 (1 件)
Karan Kannoujiya
2022 年 6 月 21 日
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 件のコメント
Image Analyst
2022 年 6 月 21 日
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?
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!