我想找到一個正弦曲線(可能從曲線上任何一點開始)到達第一個最大值,並且只有第一個最大值。爲此,我正在運行一個循環,將一個值與前一個值進行比較。如果一個點大於其先前的值,則它趨於上升,而相反則相似。查找正弦波/檢測變量變化的第一個峯值c#
在c#中,如何檢測變量何時從趨勢變爲趨勢向下?換句話說,如何檢測變量何時發生變化。在LabVIEW
中,這可以使用移位寄存器來完成。什麼是在C#中的等效物?
我想找到一個正弦曲線(可能從曲線上任何一點開始)到達第一個最大值,並且只有第一個最大值。爲此,我正在運行一個循環,將一個值與前一個值進行比較。如果一個點大於其先前的值,則它趨於上升,而相反則相似。查找正弦波/檢測變量變化的第一個峯值c#
在c#中,如何檢測變量何時從趨勢變爲趨勢向下?換句話說,如何檢測變量何時發生變化。在LabVIEW
中,這可以使用移位寄存器來完成。什麼是在C#中的等效物?
public static int FirstMaxIndex(int[] values)
{
bool up = false;
for (int i = 1; i < values.Length; i++)
if (values[i] < values[i - 1])
{
if (up) return i;
else up = false;
}
else if (values[i] > values[i - 1])
{
up = true;
}
return -1;
}
我沒有測試這個。這只是給你一個如何解決這個問題的想法。 (我把它寫得儘可能接近你在評論中寫的東西。)
你到目前爲止提出了什麼?有很多方法可以做到這一點;瞭解我們可以基於哪些答案將是有用的。 – Fildor
到目前爲止,我的結構如下:請原諒我的記法。 「 爲(I = 1; [正弦陣列的端] 如果(sinearray [I]
msegctc
您可以計算1.導數並尋找符號的變化,您可能無需執行即時操作通過陣列計算所有數據st首先打破循環> 0到<= 0的變化。 – Fildor