python - 如何在 MATLAB 中做这个 Python 插值?
问题描述
我需要在 MATLAB 中转换这段 Python 代码,但我似乎无法弄清楚如何做到这一点。
T = 1968,
F = 1025,
used_freq = 22050,
freqs = 1621 x 1 vector,
log_scale_spec = 1968 x 1025 matrix,
cent_spec was initialized with zeros = 1968 x 1621 matrix,
and the "linspace(0, used_freq, F)" operation gives a 1025 x 1 vector
插值似乎是三次方(k = 3)。
我只是不知道如何将所有这些构建为 MATLAB 中的 for 循环。到目前为止,我尝试过这样的事情:
f 代表操作“ linspace(0, used_freq, F)' ” 注意在Matlab中,它必须用 ' 转置。
我试图让它在 Matlab 中工作,我不确定如何做到这一点,可能在循环中缺少一些索引,或者可能需要转置一些向量/矩阵或这些的组合。
解决方案
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);
推荐阅读
- c# - WebScraper C# + htmlagilitypack
- python - 用于替换 Pandas 列中仅包含零的所有字符串的布尔掩码
- node.js - Meteor call beforeSend,在服务器发送前保存请求
- javascript - 会话未定义与其他功能中的快速会话
- android - NavigationComponent 与 BottomNavigationView 片段进度
- python - Python 导入错误:无法从“sklearn.externals”导入名称“六”
- c# - 我可以将 Jobject 与 OData 一起使用吗?
- jmeter - 如何在 Jmeter 中随机发送不同的参数和值来请求
- android - 在服务器上进行更改后刷新 FirebaseUser
- django - 无法导入 django_countries 尚未安装