Не работает arccos и ему подобные

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Swarog
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 23.01.2003 (Чт) 5:48
Откуда: от верблюда

Не работает arccos и ему подобные

Сообщение Swarog » 27.08.2003 (Ср) 22:07

Привет всем.
У меня не работают обратные тригонометрические функции. :(
Пошел на MSDN, посмотрел, да, правильно, Arccos(X).
Ругается такими словами: Sub or function not defined.
При том, что sin, cos и пр. - работают.
"Ну че за ботва???"

---
Последний раз редактировалось Swarog 28.08.2003 (Чт) 6:46, всего редактировалось 1 раз.

mad_Max
Бывалый
Бывалый
 
Сообщения: 203
Зарегистрирован: 15.09.2002 (Вс) 21:17
Откуда: Russia, Cherepovets

Сообщение mad_Max » 27.08.2003 (Ср) 23:42

Поскольку функция Atn(X) есть, то можно сделать свои функции Arccos и Arcsin согласно формулам:
Arcsin(X) = Atn(X / Sqr(-X * X + 1))
Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)

Swarog
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 23.01.2003 (Чт) 5:48
Откуда: от верблюда

Сообщение Swarog » 28.08.2003 (Чт) 0:26

Да, именно эти формулы были в MSDN. Но!
Значение синуса (или косинуса) любого числа находится на промежутке от -1 до 1 ВКЛЮЧИТЕЛЬНО. Стало быть, выражения arcsin(1) или arcsin(-1) имеют смысл. Напр., Arcsin(1) = пи/2.
Подставим 1 в формулу:
Код: Выделить всё
Arcsin(X) = Atn(X / Sqr(-X * X + 1)) =atn(1/sqr(-1*1+1))=atn(1/sqr(0))=atn(1/0) - деление на ноль!

Так что извините... Можно, конечно, отдельно описать случаи, где х=1 и х=-1, но корявенько получается (хотя, быть может, придется так и сделать за неимением других вариантов).
И все-таки! Где же собака порылась? Я, помнится, еще на vb4 (давно было) калькулятор делал - и ВСЁ работало.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 12

    TopList