LINUX.ORG.RU

Как построить двуполостный гиперболоид в matlab?


0

1

Хочу построить 3х мерный график.
Уравнение этого гиперболоида х^2/а^2-y^2/b^2+z^2/c^2=-1
Пробовал делать так:

a = 1;
b = 2;
c = 1;

[y, z] = meshgrid(-10:0.1:10);

%Выражаем x:
x = sqrt(y.^2/(b.^2*a.^2) - z.^2/(c.^2*a.^2) - 1/(a.^2))

plot3(x,y,z);
Получается какая-то фигня, подскажите, что делаю не так?

Спасибо.

вы точно форумом не ошиблись?

anonymous
()

Фигня?
1) При вычислении корня кое-где получаются комплексные значения. Как рисовать такие точки? Может надо их выбросить до рисования?
2) Когда вы взяли корень вы выбросили из поверхности все отрицательные х. Может надо добавить их в отрисовку?

А вообще получилось похоже. Покрутите картинку в окошке и убедитесь сами.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.