Conversion to double from sym is not possible

22 visualizaciones (últimos 30 días)
Tyler
Tyler el 14 de Nov. de 2011
Respondida: Shahid Iqbal el 30 de Jun. de 2019
syms n;
t = (-300:1:300);
D_n = ((sin((pi*n)/2))./(pi*n));
y = (D_n).*exp((-j)*n*t*(pi/100));
x = symsum(y,n,-10,-1) + symsum(y,n,1,10);
plot(t,x);
I would like to plot t vs. x, however I get the error 'Conversion to double from sym is not possible'.
  1 comentario
Christopher Creutzig
Christopher Creutzig el 17 de Nov. de 2011
Works fine for me. Are you using exactly the commands listed above? Which MATLAB version are you using? What does symvar(x) tell you?

Iniciar sesión para comentar.

Respuestas (2)

Walter Roberson
Walter Roberson el 14 de Nov. de 2011
Your x is a formula in terms of n, a variable you do not define a value for at any point.
Your t value has nothing to do with n.
You cannot plot a symbolic expression against an unrelated variable.
Perhaps what you want is
plot(t, double(subs(x,n,t)))

Shahid Iqbal
Shahid Iqbal el 30 de Jun. de 2019
syms n;
t = (-300:1:300);
D_n = ((sin((pi*n)/2))./(pi*n));
y = (D_n).*exp((-1i)*n*t*(pi/100));
x = symsum(y,n,-10,-1) + symsum(y,n,1,10);
plot(t,x);
work properly just replace -j with -1i , use updated version of MATLAB.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by