Drawing hyperbola using patch function.

I have to draw points in matlab which show trade-off (i.e, inversely relationship) for this reason I have to draw the hyperbola-like shape. I used the code shown below to draw points by using patch file now I need to hyperbola by using patch function.
% line([.1 .1 6 6 .1 .1],[.81 2.735 164 48.6 .81 2.735],'Marker','*','Color','k','LineStyle','-');
% line([4 4 6 6],[57 95 57 95],'Color','b','LineStyle','-');
patch([1.5 13.84 1.5],[13.8 1 288],'c','LineStyle','-')
%%%%%%%%%%%%%%%%P2 %%%%%%%%%%%%%%%%%%%%
x = [0.76 0.69];
y = [0.78 0.83];
annotation('textarrow',x,y,'String','P_{2}(29,405)')
% % %%%%%%%%%%%%%%%%%%%%P1 %%%%%%%%%%%%%%%
x = [0.65 0.60];
y = [0.47 0.55];
annotation('textarrow',x,y,'String','P_{1}(24,288)')
% % %%%%%%%%%%%%%P3%%%%%%%%%%%%
x = [0.76 0.69];
y = [0.60 0.65];
annotation('textarrow',x,y,'String','P_{3}(29,334)')

6 comentarios

Walter Roberson
Walter Roberson el 18 de Mayo de 2017
Why does it need to be patch()? Do you need to draw a line that changes color? Do you need to texturemap on top of it? Do you need to make semi-transparent lines?
Have you considered using fill() or area() ?
shane watson
shane watson el 19 de Mayo de 2017
Dear Roberson!!! I have an inverse relationship between two quantities and I want to draw that relationship which is like a hyperbola. I have patch files to draw many other functions but unable to draw hyperbola with patch function thats why I am asking this question. Thank you for your reply
Walter Roberson
Walter Roberson el 19 de Mayo de 2017
Have you considered using area() ? It creates a patch() but with a syntax that is more convenient.
shane watson
shane watson el 20 de Mayo de 2017
I have considered points on x-axis and y-axis to plot as shown in the code. Similarly, I have points to draw hyperbola. and I have no idea of area or syntax etc, as you have mentioned. Thank you, Walter Roberson.
Walter Roberson
Walter Roberson el 20 de Mayo de 2017
Are you looking for something that draws an area, or are you looking for something that draws a curved line?

Iniciar sesión para comentar.

 Respuesta aceptada

KSSV
KSSV el 19 de Mayo de 2017
%%hyperobola equation
% x^2/a^2-y^2/b^2=1
% hyperbola parameters
a = 1; b = 1;
% define the x-space
xmin = 5;
xmax = 5;
% convert in t-space
tmin = acosh(xmin/a);
tmax = acosh(xmax/a);
% hyperbola computation
t = linspace(-tmin,tmax,10);
x = a*cosh(t);
y = b*sinh(t);
% final plot
figure, set(gcf,'color',[1 1 1])
patch(x,y,'b')
hold on
patch(-x,y,'b')

Más respuestas (0)

Categorías

Etiquetas

Aún no se han introducido etiquetas.

Preguntada:

el 17 de Mayo de 2017

Comentada:

el 24 de Mayo de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by