Я пытаюсь запрограммировать функцию (или, что еще лучше, она уже существует) в scilab, которая вычисляет регулярные временные выборки значений. IE: У меня есть вектор «значения», который содержит значение сигнала в разное время. Это время находится в векторе «раз». Таким образом, в момент времени (N) сигнал имеет значение value (N). На данный момент время не является регулярным, поэтому переменные «время» и «значения» могут выглядеть так:
times = [0, 2, 6, 8, 14]
values= [5, 9, 10, 1, 6]
Это означает, что сигнал имел значение 5 от секунды 0 до секунды 2. Значение 9 от секунды 2 до секунды 6 и т. д. Поэтому, если я хочу вычислить среднее значение сигнала, я не могу просто вычислить среднее значение вектора «значения». Это потому, что например сигнал может быть долгое время с одним и тем же значением, но в векторе будет только одно значение. Один из вариантов — взять deltaT для расчета носителя, но мне также нужно будет выполнить другие расчеты: среднее значение и т. д.
Другой вариант — создать функцию, которая с учетом дельтаТ производит выборку векторов времени и значений для создания равноотстоящего вектора времени и соответствующих значений. Например, при deltaT=2 и предыдущих векторах
[sampledTime, sampledValues] = regularSample(times, values, 2)
sampledTime = [0, 2, 4, 6, 8, 10, 12, 14]
sampledValues = [5, 9, 9, 10, 1, 1, 1, 6]
Это легко сделать, если deltaT достаточно мала, чтобы точно соответствовать всем временам. Если deltaT больше, то необходимо сделать среднее значение или какое-то приближение...
Что-нибудь уже сделано в Scilab? Как можно запрограммировать эту функцию?
Большое спасибо! PS: я не знаю, является ли это правильным форумом для размещения вопросов по scilab, поэтому любой указатель также будет полезен.