Error plotting my graph.

11 views (last 30 days)
Adam Makin
Adam Makin on 4 Dec 2017
Answered: Star Strider on 4 Dec 2017
This is my code. The error is: Error using plot Data must be numeric, datetime, duration or an array convertible to double. I am not sure what is causing this.
t = [0:0.1:6*pi];
syms k omega t
S1 = symsum(cos(2*k*omega*t)/(4*k^2 - 1) , k,[1; Inf]);
y = 1/pi + 0.5*sin(omega*t) - (2/pi)*S1;
plot(t,y)
  3 Comments
Adam Makin
Adam Makin on 4 Dec 2017
y should just be a number(float) dependent on t. Then im plotting against multiple values of t so a vector?
Greg
Greg on 4 Dec 2017
Edited: Greg on 4 Dec 2017
class(y)
"Vector" is not a data type, it's a shape.

Sign in to comment.

Answers (1)

Star Strider
Star Strider on 4 Dec 2017
Use fplot (with a single value for ‘omega’) or fsurf (with a range of values for ‘omega’).
This works:
syms k omega t
S1 = symsum(cos(2*k*omega*t)/(4*k^2 - 1) , k,[1; Inf]);
y(t,omega) = 1/pi + 0.5*sin(omega*t) - (2/pi)*S1;
fplot(y(t, pi/6), [0 6*pi])
I tried fsurf as well, however it takes forever so I stopped it.

Categories

Find more on Line Plots in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!