evenodd.m

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

M
15
字号
function [xe, xo, m] = evenodd(x,n)
% 将实序列信号分解为奇函数部分和偶函数部分
% 调用方式:[xe, xo, m] = evenodd(x,n)
%
if any(imag(x) ~= 0)    %判断是否为实信号序列
   error('x is not a real sequence')
end
m = -fliplr(n);   %将序号翻转
m1 = min([m,n]); m2 = max([m,n]); m = m1:m2; %创建新信号序列
nm = n(1)-m(1); n1 = 1:length(n); 
x1 = zeros(1,length(m));    %创建空序列
x1(n1+nm) = x; x = x1;      
xe = 0.5*(x + fliplr(x));   %求得偶函数序列
xo = 0.5*(x - fliplr(x));  %求得奇函数序列

⌨️ 快捷键说明

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