<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我有一個由兩列 X 和 Y 組成的數據集,由測量(使用 PAR 恆電位儀的循環伏安法)得出。 不幸的是,X 的間距不相等(在 0.0005 和 0.0015 之間變化),並且儀器的軟件無法修復此問題。 我想對數據進行重新採樣或插值以獲得相等的間距,例如 X 中的 0.001。 有沒有快速的方法來做到這一點?
您問題的答案取決於您的 x 值的不規則程度,以及您所說的“插值”的確切含義。
因此,下面的腳本絕對不是建議,只是可能發生的事情的示例。 如果您不需要腳本,您應該能夠手動執行類似的步驟。
不過,重要的問題可能是您將使用最終值做什麼?
名稱默認到這裡( 1 ) ;
// (0) 使用特定函數生成一些均勻分佈的數據
H =功能( { X } , {默認本地} , 0.5 + 0.4 *罪( 2 *圓周率() * X ) ) ;
氮= 100 ; // [0,1] 中(等距)x 值的數量
值=指數( 0 , 1 , 1 / (氮- 1 ) ) `; // x 值作為列向量
y值= H (值) + J (氮, 1 ,隨機正態( 0 , 0.1 ) ) ; // y 值作為列向量
// (1) 隨機抽取四分之三的數據來模擬不均勻的 x 值(但仍在原始網格上)
德爾=隨機索引(氮,圓形的( 3 *氮/ 4 , 0 )) ;
值[德爾] = [] ;
y值[德爾] = [] ;
dt =新表( “不均勻x” ,
新專欄( “X” ,數字,連續的,價值觀(值)) ,
新專欄( “是” ,數字,連續的,價值觀( y值))
) ;
// (2) 擬合核平滑器並保存預測公式
BIV = dt <<雙變量(是( : y ) , X ( : X ) ) ;
BIV <<內核平滑器( 1 , 1 , 0.48261 , 0 , {保存預測公式}) ;
// (3) 得到預測公式
表格=柱子( dt , “y 的黃土預測器” ) <<獲取屬性( “公式” ) ;
// (4) 構建一個新表來保存等距的 x 值
指令管理系統=表達式(
dt2 =新表( “甚至x” ,
新專欄( “X” ,數字,連續的) ,
新專欄( “預測到了” ,數字,連續的,公式(待定))
)
) ;
代入(指令管理系統,表達式(待定) ,評估表達式(表格)) ;
指令管理系統;
// (5) 將模擬測量數據獲取為兩個向量
值=柱子( dt , “X” ) <<獲取矩陣;
y值=柱子( dt , “是” ) <<獲取矩陣;
// (6) 找出數據中最小的x增量
刪除=最小(值[ 2 ::行(值)] -值[ 1 :: (行(值) - 1 )]) ;
// (7) 使用等間距(例如 3*xDel)用插值數據填充表格
xVals2 =指數( 0 , 1 , 3 *刪除) `;
柱子( dt2 , “X” ) <<設置值( xVals2 ) ;
// (8) 查看結果
dt2 <<圖形生成器(
尺寸(第534章,第454章) ,
顯示控制面板( 0 ) ,
變量( X ( : X ) ,是( :預測y ) ) ,
元素(積分( X ,是,傳奇( 5 ) ) )
) ;