How to find a value X of given Y close to 0, where the value X comes at the first place
조회 수: 4 (최근 30일)
이전 댓글 표시
Hi,
I used to solved my previous question to find a value X of given Y close to 0, but there is a value X comes from the very late place, which is not what I need. How can I extract the earlier value of X?
For example,
338.00 339.00 340.00 341.00 342.00 343.00 ... 964.00
1.00 -100.00 -100.00 -100.00 -100.00 -100.00 -100.00 ... -100.00
2.00 100.00 100.00 100.00 100.00 100.00 100.00 ... 100.00
3.00 0.28 0.12 -0.05 -0.21 -0.38 -0.55 ... -0.02
4.00 0.28 0.12 -0.05 -0.21 -0.38 -0.55 ... -0.02
5.00 8.21 8.24 8.26 8.28 8.30 8.32 ... 8.35
6.00 8.21 8.24 8.26 8.28 8.30 8.32 ... 8.35
Where the 340.00 is what I need, not the 964.00. How do I write the code to get 342.00?
The current code I am using is:
dr = damp_ratio(1:6 ,:);
[~,ix]=min(abs(dr),[],'all','linear');
[~,speed]=ind2sub(size(dr),ix);
Thanks in advance.
Terence
댓글 수: 0
채택된 답변
Matt J
2021년 1월 19일
편집: Matt J
2021년 1월 19일
damp_ratio=[ -100.00 -100.00 -100.00 -100.00 -100.00 -100.00 -100.00
100.00 100.00 100.00 100.00 100.00 100.00 +100
0.28 0.12 -0.05 -0.21 -0.38 -0.55 -0.02
0.28 0.12 -0.05 -0.21 -0.38 -0.55 -0.02
8.21 8.24 8.26 8.28 8.30 8.32 8.35
8.21 8.24 8.26 8.28 8.30 8.32 8.35]
dr = diff( sign(damp_ratio(1:6 ,:)),1,2)~=0 ;
[val,ix]=max(dr,[],2);
speed=ix+1;
speed(val==0)=nan
댓글 수: 12
Matt J
2021년 1월 21일
편집: Matt J
2021년 1월 21일
So I just wonder if there is a general way to get the first zero-crossing value in damp_ratio.
It is not obvious how you propose to define a unique "first zero-crossing" for a two-dimensional array. Zero-crossings and the order in which they occur are 1-dimensional concepts. You scan through a 1 dimensional list of numbers in order until the sign of the numbers changes. A two dimensional array of numbers has no ordering.
Matt J
2021년 1월 21일
Terrence's comment moved here.
Thanks for that comments. It seems that there is no way to achieve my goal in the current situation. :(
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!