How to find the first value coordinate(the minimum non-zero x coordinate) in each row?
1 回表示 (過去 30 日間)
古いコメントを表示
How to find the first value coordinate(the minimum non-zero x coordinate) in each row?
and what if each row value coordinate gap were to big how to smooth it ,connect each row to a smooth line? thanks
fclose all; close all; clear all; clf; clc;
A=[0,1,1;0,1,0;1,0,0];
[row,column]=find(A==min(min(1)));
0 件のコメント
採用された回答
Ameer Hamza
2020 年 5 月 19 日
編集済み: Ameer Hamza
2020 年 5 月 19 日
If matrix just contains 0 and 1
[~,idx] = max(A, [], 2)
Result
>> idx
idx =
2
2
1
For a general case
[~,idx] = max(A~=0, [], 2)
To smooth a signal use smoothdata(): https://www.mathworks.com/help/releases/R2020a/matlab/ref/smoothdata.html
3 件のコメント
Willis
2022 年 8 月 28 日
Hello?
What if the matrix (size of 207 x 7) contain not just 0 or 1 but other values?
I need to find the minimum values (not the indices) of each row except zero.
Could you help me for this?
Thank you!
その他の回答 (1 件)
darova
2020 年 5 月 19 日
Try this
a = zeros(size(A,1),1);
for i = 1:length(a)
a(i) = find(A(i,:),1,'first')
end
参考
カテゴリ
Help Center および File Exchange で Scatter Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!