Why does the MATLAB plot show up with no function on it?

figure()
x = linspace(0,1000);
y1 = (sqrt(2)*sqrt(x.^4 + 9)) ./ (2*x.^2);
plot(x,y1)
xlim([1,2])
ylim([0.8,2])

Answers (1)

Jon
Jon on 10 Nov 2020
Edited: Jon on 10 Nov 2020
Your plot limits are outside of the range of the data.
Also you don't have enough (or any data points) in the range of x that you are plotting.
If you truly want to plot for x between 1 and 2 try
figure()
x = linspace(1,2); % just range of interest
y1 = (sqrt(2)*sqrt(x.^4 + 9)) ./ (2*x.^2);
plot(x,y1)
xlim([1,2])
ylim([0.8,2])

3 Comments

Note that in your original code
x = linspace(0,1000)
Will generate 50 points (default) between 0 and 1000. This means that your first point is at 0 and the next point is at 10.101, so you didn't have any data at all for x between 1 and 2 which is what your plot limits were set to
Thanks Jon I think I just figured it out!
Please accept this answer if it solved your problem

Sign in to comment.

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Asked:

on 10 Nov 2020

Commented:

Jon
on 11 Nov 2020

Community Treasure Hunt

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

Start Hunting!