Conversion to double from sym is not possible

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

Works fine for me. Are you using exactly the commands listed above? Which MATLAB version are you using? What does symvar(x) tell you?

댓글을 달려면 로그인하십시오.

답변 (2개)

Walter Roberson
Walter Roberson 2011년 11월 14일

0 개 추천

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 2019년 6월 30일

0 개 추천

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.

카테고리

질문:

2011년 11월 14일

답변:

2019년 6월 30일

Community Treasure Hunt

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

Start Hunting!

Translated by