首页 > 解决方案 > 卷积两个信号时为什么会出现“无效数据类型”错误?

问题描述

我试图找到两个信号的卷积,但它显示了一个我无法修复的错误。每个信号都以图形方式单独显示。显示的错误是:

    Error using conv2
    Invalid data type. First and second arguments must be numeric or logical.
    Error in conv (line 43)
    c = conv2(a(:),b(:),shape);
    Error in conv_m (line 5)
    y=conv(x,h);
    Error in thurja (line 7)
    [y,ny]=conv_m(x,nx,h,nh);

代码是:

    nx=0:20;
    x=(5+3.*cos(0.2.*pi.*nx)+4.*sin(0.6.*pi.*nx));
    nh=0:20;
    h=(141/100 - 141i/100).^nh.*(37262/19881 + 111623i/99405) + (141/100 + 141i/100).^nh.*(37262/19881 - 111623i/99405)+ (5000.*kroneckerDelta(sym(nh), sym(0))/19881) ;
    [y,ny]=conv_m(x,nx,h,nh);




    function [y,ny] = conv_m(x,nx,h,nh)
    nyb=nx(1)+nh(1);
    nye=nx(length(x))+nh(length(h));
    ny=[nyb:nye];
    y=conv(x,h);
    end

标签: matlab

解决方案


推荐阅读