# Get row no by which the other row is less

1 ビュー (過去 30 日間)
Tha saliem 2018 年 1 月 1 日
コメント済み: Star Strider 2018 年 1 月 2 日
hey
I have following cell array which is obtained by comparison of row's elements (if column element of row1 is less than row2 than result is 1 otherwise 0). Row is considered as less if all elements of that row are 1. Now I want to get the element by which that row is less. For example if row2 is less than row1 then I want '1' as answer.
A{1,1} = [1,0,1,1,1,0,1,1,0; 1,1,1,1,1,1,1,1,1]
kindly help.
##### 1 件のコメント表示非表示 なし
Tha saliem 2018 年 1 月 1 日
In simple words if some element at row 2 is less than an element in row 1 then how can I get the row no of element by which it is less like here it is 1.

サインインしてコメントする。

### 採用された回答

Star Strider 2018 年 1 月 1 日
I am not certain what you are asking, since there appear to be two different requests.
Try this:
A{1,1} = [1,0,1,1,1,0,1,1,0; 1,1,1,1,1,1,1,1,1];
AllColumnsLess = cellfun(@(x) all(x,2), A, 'UniformOutput',false)
AllCols = [AllColumnsLess{:}]
[FindRowsLessThan,FindColsLessThan] = cellfun(@find, A', 'UniformOutput',false)
FindRows = [FindRowsLessThan{:}]
FindCols = [FindColsLessThan{:}]
The ‘AllColumnsLess’ returns 1 if the condition is true for all elements in the vector (defined here as row vectors).
The find call returns the row and column indices for the non-zero elements in ‘A’. See the documentation for the find and all functions for details on how they work and what outputs they return.
##### 2 件のコメント表示非表示 1 件の古いコメント
Star Strider 2018 年 1 月 2 日
As always, my pleasure!

サインインしてコメントする。

### カテゴリ

Find more on Matrices and Arrays in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by