学习使我快乐kkk 2023-01-14 23:07 采纳率: 100%
浏览 123
已结题

matlab filter(b,a,x)和python中的什么对应?

matlab filter(b,a,x)和python中的什么对应?
scipy.signal.correlate还是filter还是其他的函数?
为什么说scipy.signal.correlate是因为这篇文章MATLAB filter2/conv2 函数在 Python 语言中的等价函数,没有直接搜到filter只搜到filter2的
为什么说python的filter但是暂时没有用它因为它的用法是filter(function, iterable),和matlab的不太一样
附上matlab代码段

%%数据处理

%———————滤波————————
n=20;%滤波器阶数
Wn=[990,1010]./(fs./2);%滤波器截止频率
b=fir1(n,Wn);%fir滤波器系数
a=1;
p1=filter(b,a,p1);
Vx1=filter(b,a,Vx1);
Vy1=filter(b,a,Vy1);
p2=filter(b,a,p2);
Vx2=filter(b,a,Vx2);
Vy2=filter(b,a,Vy2);
%—————————————————

已尝试用python实现matlab中的filter函数中的方法,但是好像因为a=1是数字,类型不匹配不能用

  • 写回答

1条回答 默认 最新

  • m0_54204465 2023-01-14 23:27
    关注

    在 Python 中,scipy.signal 模块中的 lfilter 函数与 Matlab 中的 filter 函数类似. 你需要使用 scipy.signal.lfilter(b,a,x) 来实现 Matlab 中的 filter(b,a,x),其中 b,a 和 x 分别对应 Matlab 中的 b, a 和 x.

    scipy.signal.correlate 是用来计算两个序列的卷积的函数,它与 Matlab 中的 filter2/conv2 函数不同。

    在你的代码中, a = 1,所以你应该使用 scipy.signal.lfilter(b,1,x) 代替 filter(b,a,x).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月22日
  • 已采纳回答 1月14日
  • 修改了问题 1月14日
  • 修改了问题 1月14日
  • 展开全部

悬赏问题

  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法