0

ベクトルのフィッティングに問題があります。

比較したい同じ機能を持つ 2 つの曲線があります。ただし、各曲線には異なるサンプリング レートがあるため、別の時間ベクトルがあります (tstart = 0 と Tend = 8.853958 のみが同じです)。

だから私は短いベクトルを長いベクトルのように同じ長さに補間しようとしました...しかし、私はそれを取得しません..他のシミュレーションでは動作します...しかし、ここでは...

エラーメッセージは次のとおりです。

chckxy の使用エラー (51 行目) データ サイトは異なる必要があります。

スプラインのエラー (54 行目) [x,y,sizey,endslopes] = chckxy(x,y);

Labor_2ndReceiver のエラー (434 行目)

dInt = スプライン(tspline,d,t1);

私のコード:

tstart = 0;
tstep = 1/fs;
tend = (pi/((1/5)*2))-tstep;
tendSync = 1;                       %Wait for 1 sec

t0 = tstart:tstep:tendSync;         %Time for synchronisation
t01 = tendSync+tstep:tstep:tend;    %Time after synchronisation to Tend
t1 = [t0 t01];                      %Complete Time

dInt = spline(tspline,d,t1);

どこ

%tspline <1x32605 double>:

%Columns 1 through 24000 all values are '1' 
%and Column 24001 is 0.249041666666667 
%and Column 24002 to 32605 are some increasing values to 8.852958333333334 (but without a constant sampling rate) 

%d <1x32605 double>; t1 <1x424992 double>

それで、私を助けてもらえますか?それは非常に重要です...

どうもありがとうございます!

編集:ありがとう、しかしまだ問題があります...図を参照してください...

tspline =0:t1(end)/length(d):t1(end)-t1(end)/length(d);
dInt = spline(tspline,d,t1);

したがって、補間は機能します...しかし、値が間違っています... dIntの開始が遅すぎるため.. dのように開始を叫びます..

どうすればこれを解決できますか?

http://postimg.org/image/s8hnk1621/

4

1 に答える 1

2

発行しています

dInt = spline(tspline,d,t1);

%tspline <1x32605 double>:

% Columns 1 through 24000 all values are '1' 

そして問題があります。tspline曲線の x 位置として使用します。これはすべて一意である必要があります。

考えてみてください: このデータセットを介して曲線をどのように補間しますか?

ここに画像の説明を入力

于 2013-09-05T07:30:12.920 に答える