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

11 views (last 30 days)
Shane Palmer on 12 Nov 2019
Commented: Walter Roberson on 12 Nov 2019
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()])

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.)

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 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)

R2019b

### Community Treasure Hunt

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

Start Hunting!