# Even and Odd parts

1,027 views (last 30 days)
zee on 18 Nov 2013
Commented: Walter Roberson on 18 Jul 2020
Function that gives the even and the odd parts of any given signal

Azzi Abdelmalek on 18 Nov 2013
t=-10:10; %vector time
xmt=[fliplr(x(t>=0)) fliplr(x(t<0))]
xe=0.5*(xmt+x)
xo=0.5*(x-xmt)
subplot(3,1,1);
plot(t,x);
subplot(3,1,2);
plot(t,xe);
title('Even part')
subplot(3,1,3);
plot(t,xo);
title('Odd part')

suhaib Dawood on 23 Sep 2016
If you have heaviside function what to do to find the even and odd portion ?
JUGAL SUGGALA 17BEC0423 on 30 Aug 2018
Please can you explain each command or function briefly, how it is working as i am not able to understand the code.

Siddharth Mishra on 4 Nov 2019
clc;
clear all;
close all;
x=input("enter the values");
n=0:length(x)-1;
n1=(1-length(x))*0.5:(length(x)-1)*0.5;
y=flip(x);
y
x
x_e=(x+y)*0.5;
x_e
x_o=(x-y)*0.5;
x_o
subplot(311)
stem(n1,x);
title('ACTUAL SIGNAL');
subplot(312)
stem(n1,x_e);
title('EVEN SIGNAL');
subplot(313)
stem(n1,x_o);
title('ODD SIGNAL');

Sean de Wolski on 18 Nov 2013
signal = rand(1000,1);
even = signal(2:2:end);
odd = signal(1:2:end);
Like this?

#### 1 Comment

zee on 18 Nov 2013
i don't think so , what i meant by even and odd is like this , assume you have x(t) = x the even part is xe(t) = 1/2 * (x(t) + x(-t)) and the odd part is xo(t) = 1/2 * (x(t) - x(-t))
now how i get these from matlab functions ?!

Sandeep Maurya on 7 Sep 2017
n=-10:15; x=[zeros(1,10) ones(1,10) zeros(1,0)]; m=fliplr(n); m1=min([m,n]); m2=max([m,n]); 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)); figure; t=-15:15; subplot(3,1,1);stem(t,x); axis([-15 15 0 1.5]); title('ORIGINAL SIGNAL'); subplot(3,1,2); stem(t,xe); title('Even signal X(n)'); subplot(3,1,3); stem(t,xo); axis([-15 15 -1 1]); xlabel('-----Time-----'); ylabel('--Amplitude--'); title('Odd part of signal');

#### 1 Comment

Walter Roberson on 4 Nov 2019
The phrase
x1(n1+nm)=x: x=x1
is invalid. It would probably be valid if a semi-colon were used instead of a colon.

Christian Stoddard on 10 Feb 2019
myeven = @(x) (1/2)*(myfun(x)+myfun(-x));
myodd = @(x) (1/2)*(myfun(x)-myfun(-x));

sushma medabalimi on 29 Aug 2019
tmin=-10; dt=0.1; tmax=10;
t=tmin:dt:tmax;
a = 2;
% Generate exponential signal
x1 = exp(a*t);
%Perform time reversal operation
x2 = exp(-a*t);
%Condition to check odd signal
if(x2==x1)
disp('The given signal is even signal')
else if (x2==(-x1))
disp('The given signal is an odd signal')
else
disp('The given signal is neither even nor odd signal')
end
end

Kshitiz on 4 Oct 2019
clc;
close all;
clear all;
prompt = 'Enter the values';
x=input(prompt)
x_dash=flip(-x);
t1=0:1:length(x)-1;
t1_dash=flip(-t1);
for i=1:length(x)
odd(i)=x_dash(i)/2;
end
for i=2:length(x)
odd(i+length(x))=x(i)/2;
end
odd(length(x))=0;
for i=1:length(x)
t(i)=t1_dash(i);
end
for i=1:length(x)
t(i+length(x))=t1(i);
end
length(t)
length(odd)
subplot(311)
stem(t,odd)
xlim([-10 10])
title('ODD SIGNAL');
x_dash=flip(x);
t1=0:1:length(x)-1;
t1_dash=flip(-t1);
for i=1:length(x)
odd(i)=x_dash(i)/2;
end
for i=1:length(x)
odd(length(x))=x(i)/2;
end
odd(length(x)+1)=x(1);
for i=1:length(x)
t(i)=t1_dash(i);
end
for i=1:length(x)
t(length(x))=t1(i);
end
length(t)
length(odd)
length(odd)
subplot(312)
stem(t,odd)
xlim([-10 10])
title('EVEN SIGNAL');
subplot(313)
stem(t1,x)
xlim([-10 10])
title('ACTUAL SIGNAL')

MD asgar on 18 Jul 2020
Consider the discrete function x=4*sin(t)+2*cos(t), Write the Matlab code to evaluate the odd even part of Y and plot the subplots in a single plot.

#### 1 Comment

Walter Roberson on 18 Jul 2020