我有一個x值數組和一個y值數組。繪製時,有兩個峯值,這些區域的斜率非常陡峭。我的目標是找到這些峯的FWHM。我可以找到y的最大值,但鑑於斜率的陡峭性和我的數據在數組中的事實,我很難找到與這個y值相對應的4個x值。Matlab:當數據在一個數組中時,給出y值的插值x值
我正在考慮使用循環直接在給定的y值之前和之後找到點,然後使用它們來擬合一條線(高的斜率使得曲線可以用線性方程近似小區域)並使用這些方程來查找插值的x值,從中我可以計算出全寬度。
這裏是我的編碼這個至今:
% yarray is list of y values
% A = y value where I need to find the 4 corresponding x values
for k = 1:length(yarray)-1
if yarray(k+1) <= A & yarray(k) >= A
M = [yarray(k) yarray(k+1) k k+1]
elseif yarray(k+1) >= A & yarray(k) <= A
M = [yarray(k) yarray(k+1) k k+1]
end
end
當我運行這段代碼,有4M的陣列,但是每次都被覆蓋。我怎樣才能「保存」這些陣列,以便以後再調用?有沒有更簡單的方法來解決這個問題?如果我能澄清我的問題,請告訴我。非常感謝!
格式化你的代碼。請檢查它是否符合你的意圖。謝謝 – eat