0

補間を行いましたが、データを保存できるかどうかわかりません。例えば。これは私のコードです:

load ab1.txt
x= ab1(:,2);
y= ab1(:,3);
z= 399.25:1:2179.5;
yi= interp1(x,y,z);
plot(x,y,'o',z,yi)

352.4、352.5 354.3... のような値がたくさんありますが、補間を使用して、すべての数値から 1 つの値のみを取得したいと考えています。たとえば、値 352 の場合、補間の値を取得したいと考えています。それは可能ですか?それとも、媒体のような何か別のことをしなければならないのでしょうか?

4

1 に答える 1

0
y352 = interp1(X,Y,352) 

352で補間された値を提供します。

2012年8月8日編集:次にOPコメント

mwenglerに感謝します!しかし、問題は、補間を使用して欠落値を見つける必要があることです。例えば。350、351、353、354(x)とその値(y)があります。そして、Matlabが352という数字が欠落していることを識別し、補間によってそれらの値を見つける必要があります。それは可能ですか?どうもありがとう!:) –昨日user1578688

他のコメントから、範囲内にあるXに真のサンプルがない場合、整数Nが欠落していると見なしますN<=x<N+1。したがって、あなたの質問に対する答えは次のとおりです。1)欠落している数値を見つけて配列を作成します。2)それらの数値のみを補間します。

X = sort(X); % make sure our X go from least to most in order
XasInt = floor(X); % the integer X at each X value
XasIntFullRange = (X(1):X(end))'; % all X including "missing" values
XasIntMissing = setdiff(XasIntFullRange,XasInt); % just the missing ones
YasIntMissing = interp1(X,Y,XasIntMissing); % interpolated values of the missing
于 2012-08-06T16:38:09.133 に答える