1

我想在时间步长不恒定的 Matlab 中实现与 Galois 场的离散集成。假设它是这样的:

在此处输入图像描述

我的尝试

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 回答