# adding foci points to my hyperbola in Matlab

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

``````% 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
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')
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')
plot([0 0],[-ymax ymax],'k') % y axis (black line - k)
plot([-xmax xmax],[0 0],'k') % x axis
``````
LVL 1
###### Who is Participating?

Commented:
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')
``````
0

Commented:
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

Author Commented:
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

Commented:
Or f2=-f1;
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.