How can i determine last infection point of a vector?
1 回表示 (過去 30 日間)
古いコメントを表示
I have a vector like this:
A=[1 2 3 173 174 175 176 177 178]
This vector has infection points at 3 and 173. I want to get last inflection point of it. At this example, answer should be 173.
How can i do this?
Thx.
2 件のコメント
John D'Errico
2019 年 4 月 28 日
編集済み: John D'Errico
2019 年 4 月 28 日
An infection point? Is there something contagious involved? Are you asking about a point of inflection instead? If so, then it would appear there is one between points 3 and 4, but one cannot know exacly where.
dpb
2019 年 4 月 28 日
measles seem to be rampant, John... :( mayhaps we should quarantine the thread? :)
採用された回答
dpb
2019 年 4 月 28 日
For the type of figure as shown, simple difference will work...
>> d=[0 diff(A)];
>> A(d>4)
ans =
173
>>
where the '4' in the test is an arbitrary threshold -- '1' would work for the specific data set; the example would be for data with a larger or possibly slightly variable slope.
More general solution would be to use piecewise regression to find the breakpoints -- how sophisticated solution you need would depend on the real problem characteristics besides the example toy dataset.
0 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!