Solved

adding foci points to my hyperbola in Matlab

Posted on 2009-03-30
4
954 Views
Last Modified: 2016-02-10
Please find the matlab code below;

ok... I figured out that my foci points : d=+/- sqrt(a) +sqrt(b)
Is this ok?

and how do I add this to my code below

thanks in advance
% Program to plot the hyperbola
% y^2/a^2 - x^2/b^2 = 1
% The hyperbolae are open up/down, so that x is the independent variable
% for plotting. (Using the form x^2/a^2 - y^2/b^2 = 1 requires that y be
% the independent variable, which is awkward programming-wise.)
clear % all variables
figure(1), hold off % start a new figure
set(gca,'FontSize',14) % adjust fontsize
xmax = 30; ymax = 20;
x = linspace(-xmax,xmax,1001); % array of x values for plot : This function generates vector with 1001 points equally distributed between -xmax and xmax. 
                                %1001 is probably to have 500 points on one side (>0), 500 on another side (<0) and to include 0 itself. So you will have 
                                 %more natural numbers. 
 
a = 5; b = 3;
y=sqrt(((x.^2)./(b^2)+1).*a^2); % corresponding y values
plot(x,y)
hold on % add to current plot
plot(x,-y) % Plot other half of hyperbola
axis([-xmax xmax -ymax ymax]) % specify axis limits
xlabel('x')
ylabel('y')
title(['Hyperbola $y^2/a^2 - x^2/b^2 = 1$; $a$ = ', num2str(a), ...
', $b$ = ', num2str(b),'; (WR 1/21/08)'],'Interpreter','latex')
% Add axes
plot([0 0],[-ymax ymax],'k') % y axis (black line - k)
plot([-xmax xmax],[0 0],'k') % x axis
 
% Program to plot the elipse
% y^2/a^2 - x^2/b^2 = 1
 
y=sqrt(((-x.^2)./(b^2)+1).*a^2); % corresponding y values
plot(x,real(y))
hold on % add to current plot
plot(x,-y) % Plot other half of elipse
axis([-xmax xmax -ymax ymax]) % specify axis limits
xlabel('x')
ylabel('y')
title(['Hyperbola and elipse $y^2/a^2 + x^2/b^2 = 1$;$y^2/a^2 - x^2/b^2 = 1$; $a$ = ', num2str(a), ...
', $b$ = ', num2str(b),';'],'Interpreter','latex')
% Add axes
plot([0 0],[-ymax ymax],'k') % y axis (black line - k)
plot([-xmax xmax],[0 0],'k') % x axis

Open in new window

0
Comment
Question by:jtiernan2008
  • 3
4 Comments
 
LVL 15

Expert Comment

by:yuk99
ID: 24023169
Are those points at x=0? Then you can add them with
plot([0 0], [-sqrt(a)+sqrt(b) sqrt(a)+sqrt(b)],'o')

Are you sure it's correct? May be this?
plot([0 0], [-sqrt(a^2+b^2) sqrt(a^2+b^2)],'ro')

Or this?
plot([0 0], [-a a],'go')

Please define what are foci points?

0
 
LVL 1

Author Comment

by:jtiernan2008
ID: 24023262
http://mathworld.wolfram.com/Hyperbola.html

foci is focus plural

I actually done as follows.

f1=sqrt((a.^2))+sqrt((b.^2));
f2=-(sqrt((a.^2))+sqrt((b.^2)));
text(0,f1,'\leftarrow +d')
text(0,f2,'\leftarrow -d')

Is this correct?
0
 
LVL 15

Accepted Solution

by:
yuk99 earned 500 total points
ID: 24023521
If c^2=a^2+b^2, then c=+-sqrt(a^2+b^2). Is it focus points?

I'd also add VerticalAlignment and HorizontalAlignment to make sure the pointers positions are closest.

f1=sqrt(a.^2+b.^2);
f2=-(sqrt(a.^2+b.^2));
plot([0 0],[f1 f2],'.')
text(0,f1,'\leftarrow +d','VerticalAlignment','middle','HorizontalAlignment','left')
text(0,f2,'\leftarrow -d','VerticalAlignment','middle','HorizontalAlignment','left')

Open in new window

0
 
LVL 15

Expert Comment

by:yuk99
ID: 24023528
Or f2=-f1;
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Navigation is an important part of web design from a usability perspective. But it is often a pain when it comes to a developer’s perspective. By navigation, it often means menuing. This is less theory and more practical of how to get a specific gro…
Whether you’re a college noob or a soon-to-be pro, these tips are sure to help you in your journey to becoming a programming ninja and stand out from the crowd.
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question