Что не так в этой дискретной интеграции с полями Галуа в Matlab

Я хочу реализовать дискретную интеграцию с полями Галуа в 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

Меня смущает уравнение математического ряда x(tk) для tk. Я знаю, что делаю сейчас это неправильно. Написание x(tk) просто сбивает меня с толку, так как я думаю, что это функция, которая принимает ряд. Я знаю, что это сигнал в какой-то момент времени, здесь YDataVector, но как его реализовать я забыл. Я, вероятно, должен сначала повторить серию:

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

Это не помогает, так как tk не определяется итеративно.

Что я думаю неправильно при реализации ряда x(tk)?


person Léo Léopold Hertz 준영    schedule 11.11.2013    source источник


Ответы (1)


Предполагая, что 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);

person Chris    schedule 11.11.2013
comment
Вы правы, он тоже содержит время. Вы должны иметь в виду под interpl функцию interp1, так как данные представляют собой сигнал, который является просто 1D. - person Léo Léopold Hertz 준영; 12.11.2013