How to plot functions within a range?

2 views (last 30 days)
My question is how to plot trigonometric functions within a specified range. This is the code fragment from the script
x = linspace(-2*pi, 2*pi);
y = tan(x);
dy = diff(y);
plot(x,y,x,dy);
When I run the code I receive de following error.
Error using plot
Vectors must be the same length.
Any sort of help and advice is more than welcome

Accepted Answer

Sujit Muduli
Sujit Muduli on 7 Mar 2018
Edited: Sujit Muduli on 7 Mar 2018
Hi Jose,
It is clear from the error that there are mismatches in the size of the arguments that you have provided to plot function. I checked the size of dy is 99 where rest are 100.
I don't know what is your exact use case here, but you may modify your logic a bit to work around this error by making length(dy) = 100.
Here is the documentation link for plot function which you may find useful, https://in.mathworks.com/help/matlab/ref/plot.html
Thanks,
Sujit

More Answers (1)

Walter Roberson
Walter Roberson on 7 Mar 2018
You are applying diff() to a numeric array. That is defined by simple numeric differences.
If you were to use points closer and closer together then the mathematical limit as the distance approaches 0 would be the calculus differentiation. But only in the limit: numeric diff() approximates derivative half way between points.

Categories

Find more on Discrete Data Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!