Matlab数字信号处理1:序列的加法乘法

Matlab数字信号处理1:序列的加法乘法




%  加法运算 和 乘法运算
%  序列的长度不等或者时序位置不对应时,首先让二者对其
%  再通过zeros 函数补0,从而使长度相等后再相加。

%例 求: x1 =  [0,1,2,3,4,3,2,1,0],ns1=-2 ;x2 = [2,2,0,0,0,-2,-2], ns2=2;
%         的序列和 序列的乘积
clear all;
clear;
x1=[0,1,2,3,4,3,2,1,0];%序列1% 
x2=[2,2,0,0,0,-2,-2];%序列2
ns1=-2;             %序列1 的时序起始位置
ns2=2;              %序列2 的时序起始位置

nf1=ns1+length(x1)-1;%求序列1的时间的结束点
nf2=ns2+length(x2)-1;%求序列2的时间的结束点

ny=min(ns1,ns2):1:max(nf1,nf2);%从两个序列的时间最低的起始点到时间最高的结束点

xa1=zeros(1,length(ny));%创建以0的序列,长度为ny的长度
xa2=xa1;%同理xa1

xa1((ny>=ns1&ny<=nf1)==1)=x1;  %  逻辑索引,不懂可以查询MATLAB数组索引相关内容。找到x1对应时间位置的点赋值给xa1,其余为0
xa2( ((ny>=ns2)&(ny<=nf2))==1)=x2;  %同理xa2

ya=xa1+xa2;%实现序列求和
yp=xa1.*xa2;%实现序列的相乘

title('求和与相乘结果');
subplot(4,1,1); stem(ny,xa1,'.'); ylabel('xa1');
subplot(4,1,2); stem(ny,xa2,'.'); ylabel('xa2');
subplot(4,1,3); stem(ny,ya, '.'); ylabel('ADD');
subplot(4,1,4); stem(ny,yp,'.' ); ylabel("MUL");





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值