how to get multiple values of multiple columns from a single column?

조회 수: 2 (최근 30일)
Juan Antonio
Juan Antonio 2024년 3월 5일
댓글: Dyuman Joshi 2024년 3월 8일
I have a 100x100 matrix where the first column is time and the remaining 99 are % (from 0 to 100%). I would like to know the time value (column 1) where each column reaches the value 40 (40%).
Thank you very much.

답변 (1개)

Dyuman Joshi
Dyuman Joshi 2024년 3월 5일
편집: Dyuman Joshi 2024년 3월 5일
Use logical indexing - Find Array Elements That Meet a Condition, for columns 2-100
(Assuming the value 40 occurs same number of times in each column)
You can also use min -
%sample data
y = magic(5)
y = 5×5
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
%closest value to 16
[v, k] = min(abs(y-16))
v = 1×5
1 2 3 2 0
k = 1×5
1 5 3 2 2
For columns 1:size(y,2) and the corresponding values in k, i.e. row values, are the closest to 16
s = size(y);
y(sub2ind(s, k, 1:s(2)))
ans = 1×5
17 18 13 14 16

카테고리

Help CenterFile Exchange에서 Data Types에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by