MATLAB 自编函数实现序列根据坐标合并

这篇博客介绍了如何在MATLAB中自编函数来处理序列坐标合并的问题。作者通过一个具体的例子说明了当序列时间轴错位时的计算难题,并展示了所编写函数的实现、使用方法以及使用效果,使得序列的扩展和运算变得更加便捷。
摘要由CSDN通过智能技术生成

目标

在MATLAB中,我们很容易定义两个有限长序列,但是当它们的时间轴不同或者说错位时,就会对序列的基本运算带来麻烦。

举个例子

令x[n]={1,2,3,4,5,6,7,6,5,4,3,2,1},x[n]从n=0时刻开始有值,试画出序列y[n]=x[3-n]+x[n]*x[n-2];

这里的难点在于x[n]已有其坐标范围为0:1:length(xn)-1,x[n-2]的序列值也不需要改变,其有非零值的坐标范围为2:1:length(xn)+1,我们可以看到x[n]和x[n-2]的坐标之间有两个单位的错位,则x[n]*x[n-2]的计算需要对两个序列分别进行扩充——x[n]向右扩充两个0值,而x[n-1]向左扩充两个零值。

这在操作起来比较麻烦,于是我写了一个函数帮我专门处理序列坐标的合并。

函数实现

function [t_list, x_list_1, x_list_2] = Combine(t_1, x_1, t_2, x_2, stride)
%COMBINE Editde By yhy_17302803
%   输入两个离散时间序列的信息
%   输出合并(延长后的)时间序列和数值序列,便于后续对两个信号的处理;
%   stride: 步长
    min_t = min(min(t_1), min(t_2));    % 获取公共时间范围
    max_t = max(max(t_1), max(t_2));
    posi = - min_t + 1;
    t_list_temp = (min_t:stride:max_t) + posi;
    x_list_1 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值