interpft
一维插值(FFT 方法)
说明
示例
傅里叶插值
使用 FFT 方法对一维数据插值,并以可视方式呈现结果。
在区间 内为函数 生成一些样本点。使用间距 dx
以确保数据等间距。绘制样本点。
dx = 3*pi/30;
x = 0:dx:3*pi;
f = sin(x).^2 .* cos(x);
plot(x,f,'o')
使用 FFT 插值,以查找 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
— 输入数组
向量 | 矩阵 | 多维数组
输入数组,指定为向量、矩阵或多维数组。X
中的数据假定为按自变量的等间距间隔进行采样。interpft
最适合周期性数据。
数据类型: single
| double
复数支持: 是
n
— 点的数目
正整数标量
点数,指定为正整数标量。
数据类型: single
| double
dim
— 沿其运算的维度
正整数标量
沿其运算的维度,指定为正整数标量。如果未指定值,则默认值是大小不等于 1 的第一个数组维度。
interpft(X,n,1)
对X
的列进行插值。interpft(X,n,2)
对X
的行进行插值。
示例: interpft(X,n,3)
输出参量
y
— 插入的点
向量 | 矩阵 | 多维数组
插入的点,以向量、矩阵或多维数组形式返回。如果 length(X,dim) = m
并且 X
的采样间隔为 dx
,则 y
的新采样间隔将为 dy = dx*m/n
,其中 n > m
。
如果指定 dim
,则 interpft
会填充或截断 X
,使其长度等于维度 dim
中的 n
,以便 size(y,dim) = n
。
算法
interpft
函数使用 FFT 方法。使用 fft
将原始向量 x
变换为傅里叶域,然后通过更多的点变换回原始向量。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
输入
n
必须为正整数。有关可变大小数据的限制,请参阅Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder)。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)