How to find a value X of given Y close to 0, where the value X comes at the first place
2 次查看(过去 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!