Для гипербол, x значения, меньшие чем a (в абсолютном значении), являются сложными.
Рассмотрим выражение: x1.^2/a^2-1
. Если x1
меньше, чем a
, их отношение будет меньше единицы, квадрат увеличит его, и, следовательно, все выражение будет отрицательным. И тогда значения y определяются квадратным корнем из отрицательного числа. Таким образом, границы построения являются противоположностью того, чем они должны быть (хотя, если не считать манжеты, я думаю, они идеально подходят для эллипса).
Так что этот код должен быть ближе к тому, что вы ожидаете:
e = 1.05; %Eccentricity
a = -147562.72; %km
b = abs(a)*sqrt(e.^2 -1); %Equation for Semi-Minor Axis, b
x1 = linspace( a, 2*a, 1E3); %From 0 to a, Upper
ytop = b*sqrt(x1.^2/a^2-1); %Upper Hyperbola Part
ybot = -b*sqrt(x1.^2/a^2-1); %Lower Hyperbola Part
figure
plot(x1, ytop, x1, ybot, -x1, ytop, -x1, ybot);
grid on