sigadd.m

来自「数字信号处理的Matlab实现的随书光盘」· M 代码 · 共 13 行

M
13
字号
function [y,n] = sigadd(x1,n1,x2,n2)
%执行信号相加: y(n) = x1(n)+x2(n)
%调用方式:[y,n] = sigadd(x1,n1,x2,n2)
%   y:叠加后的信号序列的序列号,包括n1和n2
%  x1: 第一个信号序列,序列号为n1
%  x2:第二个信号序列,序列号为n2(n2可以与n1不同)
%
n = min(min(n1),min(n2)):max(max(n1),max(n2)); % 得到y(n)的信号序列的序列号
y1 = zeros(1,length(n)); y2 = y1;              % 初始化信号
y1(find((n>=min(n1))&(n<=max(n1))==1))=x1;     % 将x1赋给y对应位置的元素
y2(find((n>=min(n2))&(n<=max(n2))==1))=x2;     % 将x2赋给y对应位置的元素
y = y1+y2;                                    % 序列相加         

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?