How to find the first value coordinate(the minimum non-zero x coordinate) in each row?
2 次查看(过去 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!