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

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 2017년 5월 19일
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
Have you considered using area() ? It creates a patch() but with a syntax that is more convenient.
shane watson
shane watson 2017년 5월 20일
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.
Are you looking for something that draws an area, or are you looking for something that draws a curved line?

댓글을 달려면 로그인하십시오.

 채택된 답변

KSSV
KSSV 2017년 5월 19일

0 개 추천

%%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')

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

태그

아직 태그를 입력하지 않았습니다.

질문:

2017년 5월 17일

댓글:

2017년 5월 24일

Community Treasure Hunt

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

Start Hunting!

Translated by