MATLAB Answers

Why does my fplot output a plot filled with colored horizontal lines?

11 views (last 30 days)
I am trying to run an fplot command and the resulting plot does not give me my expected output. The fplot is full of horizontal colored lines that I have no idea how to eliminate or to troubleshoot.
See attached screenshot.
omega_b=1800;
X=-4/(1800^2);
m=0.003;
k=10720;
c=0.01;
omega_n=sqrt(k/m);
zeta=c/(2*m*omega_n);
r=omega_b/omega_n;
theta_1=atan((2*zeta*omega_n*omega_b)/(omega_n^2-omega_b^2));
theta_2=atan(omega_n/(2*zeta*omega_b));
y=omega_n*X*((omega_n^2+(2*zeta*omega_b)^2)/((omega_n^2-omega_b^2)^2+(2*zeta*omega_n*omega_b)^2))^0.5*cos(omega_b*t-theta_1-theta_2)
fplot(y,[0 6*pi()])

  0 Comments

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 12 Nov 2019
Your t is numeric, a 1 x 593 vector. Your y is then a 1 x 593 vector, with no symbolic variables. fplot() is then plotting those 593 different constant values over a range of x (which has no effect because the values are constant.)

  2 Comments

Shane Palmer
Shane Palmer on 12 Nov 2019
Hello Walter,
Thank you for your quick response, I am not understanding how to properly define my function to plot then. I want to plot a function of t, but I dont want to define values of t until I use the "fplot" command. What would be the best method to do this?
Thanks alot!
Walter Roberson
Walter Roberson on 12 Nov 2019
If you have the symbolic toolbox,
syms t
instead of defining t as a numeric vector.
If you do not have the symbolic toolbox, then define
t = linspace(0, 6*pi, 593);
and build up y, and then,
plot(t, y)

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!