How to change the scale of plot axes? How to plot circle using separate x and y equations?

5 次查看(过去 30 天)
Hi, I need to have this kind of result: (the scaling of the axes, and the graph of the 3rd and 6th subplots)
Here is my code:
for k = 1:6
ax(k) = subplot(3,3,k);
end
subplot(ax(1))
fplot(@(x) cos(x))
xlabel('x')
ylabel('y')
title('cos(x)')
axis([-5 5 -1 1])
subplot(ax(2))
fplot(@(x) cos(x))
xlabel('x')
ylabel('y')
title('cos(x)')
axis([0 2 -1 1])
subplot(ax(3))
fimplicit(@(x,y) (1/y)-(log(y))+(log(-1+y))+x-1)
xlabel('x')
ylabel('y')
title('1/y-log(y)+log(-1+y)+x-1=0')
axis([-5 5 -5 5])
subplot(ax(4))
fimplicit(@(x,y) x^2+y^2-4)
xlabel('x')
ylabel('y')
title('x^2+y^2-4=0')
axis([-5 5 -5 5])
%Plot for x^3+y^3-5xy+1/5=0
subplot(ax(5))
fimplicit(@(x,y) x^3+y^3-(5*x*y)+(1/5))
xlabel('x')
ylabel('y')
title('x^3+y^3-5xy+1/5=0')
axis([-2 2 -3 3])
t = -5:5;
x = sin(t);
y = cos(t);
subplot(ax(6))
plot(x,y)
xlabel('x')
ylabel('y')
title('x = sin(t),y = cos(t)')
axis([-0.5 0.5 -1 1])
This is the result I get using my code:
Thank you in advance!

采纳的回答

Cris LaPierre
Cris LaPierre 2020-7-23
Try adding 'axis equal'. You can see additional options here.
You already have the equations for getting X and Y of a circle. The problem is your resolution. Too few points, and your circle might look like an octogon, or a square. The circle will look smoother the smaller the step between each point is. Adjust this by modifying t. For example
t = -5:0.5:5
See here for more. Change the value in the middle until you get the output you like.
  5 个评论
Cris LaPierre
Cris LaPierre 2020-7-24
Axis equal makes the scale the same in x and y. This is not applicable for every single subplot. For example, the top left has a range in Y of 2, but a range of 10 in X.
Also note that this is a 2x3 suplot grid, not 3x3.
Fix the warnings you get in the code by using elementwise operators in your equations.
Note that, at least for the trig functions, it's most likely the limits are some multiple of pi.
This is clearly an exercise to get you to explore various axis properties - limits, modes, etc. You do not do the same thing in every plot.

请先登录,再进行评论。

更多回答(1 个)

Arthur Roué
Arthur Roué 2020-7-23
A call to
axis equal
After creating your plot will set the same length for the data units along each axis.

类别

Help CenterFile Exchange 中查找有关 Line Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by