MATLAB: I’m trying to integrate, but I get an “undefined function” error.

continuous time fourier seriesMATLABnumerical integration

This is my code:
syms ao an bn t
t = 0 : 0.1 : 2*pi;
x = sin(pi*t);
T = 2;
n = -10 : 1 : 10;
wo = (2*pi)/T;
ao = (1/T)*int(x, t)
an = (2/T)*int((x*cos(n*wo*t)), t)
bn = (2/T)*int((x*sin(n*wo*t)), t)
plot(ao, t, an, t, bn, t)
grid on
xaxis('t')
yaxis('x(t)')
Title('Coefficients of CTFS')
And this is the error I'm getting:

Best Answer

int does not accept numerical inputs, because it performs symbolic integration - so you have to define a numerical vector for t also - here t_num. This has to be the same size like an, and bn are to plot the results:
syms ao an bn t
x = sin(pi*t);
T = 2;
n = -10 : 1 : 10;
t_num = linspace(0,2*pi,numel(n));
wo = (2*pi)/T;
ao = (1/T)*int(x, 0, 2*pi)
an = (2/T)*int((x*cos(n*wo*t)), 0, 2*pi)
bn = (2/T)*int((x*sin(n*wo*t)), 0, 2*pi)
plot(ao, t_num, an, t_num, bn, t_num)
grid on
xlabel('t')
ylabel('x(t)')
title('Coefficients of CTFS')
Related Question