如何在MATLAB中进行Python插值?
我需要在MATLAB中转换这段Python代码,但我似乎不知道该怎么做 插值似乎是一个立方k=3 我只是不知道如何在MATLAB中把所有这些都构造成一个for循环。 到目前为止,我试过这样的方法: f代表linspace0操作,使用频率,f' 请注意,在Matlab中,必须将其转置为' 我正在努力使它在Matlab中工作,我不知道如何做到这一点,可能是在循环中缺少了一些索引,或者可能需要对一些向量/矩阵进行转置,或者是这些的组合如何在MATLAB中进行Python插值?,python,matlab,matrix,vector,interpolation,Python,Matlab,Matrix,Vector,Interpolation,我需要在MATLAB中转换这段Python代码,但我似乎不知道该怎么做 插值似乎是一个立方k=3 我只是不知道如何在MATLAB中把所有这些都构造成一个for循环。 到目前为止,我试过这样的方法: f代表linspace0操作,使用频率,f' 请注意,在Matlab中,必须将其转置为' 我正在努力使它在Matlab中工作,我不知道如何做到这一点,可能是在循环中缺少了一些索引,或者可能需要对一些向量/矩阵进行转置,或者是这些的组合 T = 1968, F = 1025, used_freq = 2
T = 1968,
F = 1025,
used_freq = 22050,
下面这行是错误的陈述。freqs的高维必须小于F。我可以补充一点,freqs必须包含索引,而不是频率
freqs = 1621 x 1 vector - wrong
freqs = F< x 1 vector - right
log_scale_spec = T x F matrix,
您可以删除下面的行,因为_cent_spec_evals在循环之外
cent_spec=zeros(T,F<)
f=linspace(0, used_freq, F);
for t=1:T
Sp(:,t)=interp1(f,log_scale_spec(:,t),'cubic');
end
cent_spec=Sp(:,freqs);
请不要发布代码的图像。将代码复制粘贴到编辑框中。图像不是每个人都可以访问的,也不可搜索。
cent_spec=zeros(T,F<)
f=linspace(0, used_freq, F);
for t=1:T
Sp(:,t)=interp1(f,log_scale_spec(:,t),'cubic');
end
cent_spec=Sp(:,freqs);