y = interpft(X,n) интерполирует преобразование Фурье значений функции в X, чтобы произвести n равномерно распределенные точки. interpft работает с первой размерностью, размер которой не равняется 1.
Интерполируйте 1D данные с помощью метода БПФ и визуализируйте результат.
Сгенерируйте некоторые точки выборки в интервале для функции . Используйте интервал интервала dx, чтобы гарантировать, что данные равномерно расположены с интервалами. Постройте точки выборки.
dx = 3*pi/30;
x = 0:dx:3*pi;
f = sin(x).^2 .* cos(x);
plot(x,f,'o')
Используйте интерполяцию БПФ, чтобы найти значение функции в 200 точках запроса.
N = 200;
y = interpft(f,N);
Вычислите интервал интерполированных данных из интервала точек выборки с dy = dx*length(x)/N, где N является количеством точек интерполяции. Обрежьте данные в y, чтобы совпадать с плотностью выборки x2.
dy = dx*length(x)/N;
x2 = 0:dy:3*pi;
y = y(1:length(x2));
Постройте график результатов.
hold on
plot(x2,y,'.')
title('FFT Interpolation of Periodic Function')
Сгенерируйте три отдельных набора данных нормально распределенных случайных чисел. Примите, что данные выбираются в положительных целых числах, 1:N. Сохраните наборы данных как строки в матрице.
A = randn(3,20);
x = 1:20;
Интерполируйте строки матрицы в 500 точках запроса каждый. Задайте dim = 2 так, чтобы interpft работал над строками A.
N = 500;
y = interpft(A,N,2);
Вычислите интервал интервала интерполированных данных dy. Обрежьте данные в y, чтобы совпадать с плотностью выборки x2.
dy = length(x)/N;
x2 = 1:dy:20;
y = y(:,1:length(x2));
Постройте график результатов.
subplot(3,1,1)
plot(x,A(1,:)','o');
hold on
plot(x2,y(1,:)','--')
title('Row 1')
subplot(3,1,2)
plot(x,A(2,:)','o');
hold on
plot(x2,y(2,:)','--')
title('Row 2')
subplot(3,1,3)
plot(x,A(3,:)','o');
hold on
plot(x2,y(3,:)','--')
title('Row 3')
Входной массив, заданный как векторный, матричный или многомерный массив. Данные в X приняты, чтобы быть выбранными в равномерно расположенном с интервалами интервале независимой переменной. interpft работает лучше всего с периодическими данными.
Типы данных: single | double Поддержка комплексного числа: Да
nЧисло точек положительный целочисленный скаляр
Число точек, заданное как положительный целочисленный скаляр.
Типы данных: single | double
dim Размерность, которая задает направление расчета положительный целочисленный скаляр
Величина для работы, заданная как положительный целый скаляр. Если значение не задано, то по умолчанию это первый размер массива, не равный 1.
y Интерполированные точки вектор | матрица | многомерный массив
Интерполированные точки, возвращенные как вектор, матрица или многомерный массив. Если length(X,dim) = m и X имеют интервал выборки dx, то новым интервалом выборки для y является dy = dx*m/n, где n > m.
Если dim задан, то interpft заполняет или обрезает X до длины n в размерности dim, так, чтобы size(y,dim) = n.
Алгоритмы
Функция interpft использует метод БПФ. Исходный вектор x преобразовывается к области Фурье с помощью fft, и затем это преобразовывается назад с большим количеством точек.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.