1

時間ステップが一定でない Matlab でガロア体との離散統合を実装したいと考えています。それがこれであると仮定します:

ここに画像の説明を入力

私の試み

function [ int ] = integrate_matlab( YDataVector, a, b )
%integrate_matlab Calculate the discrete integral
%   Discrete Matlab Integration
%   int_1^N x(t_k) * (b-a)/N, where t_k = a + (b-a) k/N
%
%   YDataVector - Galois vector (255 x 1 gf), this is signal,
%   which values you can reach by YDataVector.x
%
%   int - returns Galois vector (255 x 1 gf)

N = length(YDataVector);
for k=1:N
    tk = a + (b - a) * k/N;
    int = xtk(YDataVector, k) * (b - a) / N;   
         %   How to implement the function xtk(YDataVector)?
end

そして関数 xtk

function [ xtk_result ] = xtk( YDataVector, k )
%xkt Summary of this function goes here
%   YDataVector - Galois vector (255 x 1 gf), this is signal
%   xtk_result - Galois vector (255 x 1 gf)
%   k - index, this must be here to be able calculate different xtk for different iterations

    xtk_result = ; //  I do not know what to fill here

end

tkの数学的級数方程式x(tk)混乱しています。私は今、これが間違っていることを知っています。x(tk)という書き方は、私を混乱させるだけです。なぜなら、私はそれを級数を取る関数と考えているからです。ここではYDataVectorがある時点でのシグナルであることは知っていますが、実装方法を忘れてしまいました。おそらく最初にシリーズを繰り返す必要があります。

t_0 = a;
t_1 = a + (b - a) * 1/N;

tkは繰り返し定義されていないため、これは役に立たないようです。

シリーズ x(tk) を実装するとき、何が間違っていると思いますか?

4

1 に答える 1

3

t には x の各要素に対応する時間が含まれていると仮定します (YDataVector.x に格納されています)。次に、あなたの質問を正しく理解していれば、次のようなもので x_tk を取得できます。

N = length(YDataVector.x) ;
k = 1 : N;
tk = a + (b-a)* k/N ;
x_tk = interp1(t,YDataVector.x,tk);

于 2013-11-11T23:35:53.887 に答える