MATLAB: Why is the plot shows nothing

plot

why is my plot shows nothing?
syms w
w=-1*10*pi:0.005:10*pi;
plot(w,sqrt(w.^2+w.^6)/(1+w.^4),'b');

Best Answer

  • Because you need to read the getting started tutorials for MATLAB? In 3 simple (truly basic) lines of code, I see 4 significant errors, some worse than others.
    syms w
    You do not need to define w as a sym, if you will then overwrite it with a double. So the syms reference is a waste of time. More importantly, it suggests that you do not understand how MATLAB works with variables, that the next line which assigns w completely ignores the previous use of syms for w. So this is an error of comprehension.
    w=-1*10*pi:0.005:10*pi;
    Use linspace here, NOT colon to create a vector. The final element will not be 10*pi if you use colon. -1*10*pi is also silly, since -10*pi is equivalent.
    plot(sqrt(w,w.^2+w.^6)/(1+w.^4),'b');
    Several problems in this last line, even though I cannot even guess what you are trying to write.
    sqrt(w,w.^2+w.^6) is a meaningless expression. I cannot even guess what you want to do there.
    You know enough to use the .^ operator when w is a vector. You also need to learn about the .* and ./ operators for vectors. They are equally valuable and equally important.
    It is vaguely possible that you really wanted to write this:
    plot(w,sqrt(w.^2+w.^6)./(1+w.^4),'b');
    But that would be a complete and wild guess on my part, and I tend to be a poor guesser.
    So it is time for you to read the documentation.