[英]Interpolate on scattered data in MATLAB
我有一系列數據(y軸)與時間(x軸)的關系。 我想通過插值找到特定“ y值”的特定時間值。 我嘗試使用interp1命令。 但是問題是,曲線在多個時間值處傳遞了該“ y值”。 interp1命令僅給出第一個時間值。 有什么方法可以執行插值,以便我可以找到每個時間值?
謝謝!
這不是一個明智的答案。 本質上您正在嘗試求解y(t)=c
這可以寫成f(t)=y(t)-c = 0
然后它仍然找到函數的零交叉f(t)
我想有功能來檢測過零點或找到一個數據集的根在像Matlab fzero
fnzero
或crossing
。 但是這是一個自制的函數,可以找到正弦函數值為0.5的點
t=1:50;
y=sind(4*pi.*t);
plot(t,y);
hold on;
t1=1:0.02:50;
y1=interp1(t,y,t1,'spline');
plot(t1,y1,'k');
c=0.5;
f=y1-c;
nn=length(y1);
k=0;
for i=1:nn-1
if f(i)*f(i+1) < 0
k=k+1;
allzeros(k)=i;
end
end
plot(t1(allzeros),y1(allzeros),'+');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.