Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2010, 19:35   #1
Tidus
Форумчанин
 
Регистрация: 08.09.2009
Сообщений: 133
По умолчанию Тригонометрические функции - подключение.

Подскажите пожалуйста как подключить следующие тригонометрические функции:

1. Котангенс (ctg x);
2. Секанс (sec x);
3. Косеканс (cosec x);
4. Синус-верзус (versin x);
5. Косинус-верзус (vercos x);
6. Гаверсинус (haversin x);
7. Эксеканс (exsec x);
8. Экскосеканс (excsc x).

А также обратные функции арк... для определения углов.


Какие варианты решения вы можете предложить?Может быть можно в экселе создать пользовательские функции, что бы их потом вызывать?

Последний раз редактировалось Tidus; 19.11.2010 в 20:37.
Tidus вне форума Ответить с цитированием
Старый 19.11.2010, 20:56   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код:
Public Function Arccos(X) As Double
 
 PI = 4 * 2 * Atn(1)
 
    If Round(X, 8) = 1# Then Arccos = 0#: Exit Function
 
    If Round(X, 8) = -1# Then Arccos = PI: Exit Function
 
    Arccos = Atn(-X / Sqr(1 - X ^ 2)) + 2 * Atn(1)
 
 
 
    End Function
Public Function Arcsin(X As Double) As Double
  PI = 4 * 2 * Atn(1)
 
    If (Sqr(1 - X ^ 2) <= 0.000000000001) And (Sqr(1 - X ^2) >= -0.000000000001) Then
 
    Arcsin = PI / 2
 
    Else
 
    Arcsin = Atn(X / Sqr(1 - X ^ 2))
 
    End If
 
    End Function
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 19.11.2010, 22:10   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Вы издеваетесь?
Все эти функции элеметарно выражаются через тригонометрические COS и SIN.
Вам облом самому спросить инет что такое секанс? (СЕКАНС, в ТРИГОНОМЕТРИИ - отношение длины гипотенузы к длине катета, прилежащего к данному острому углу в прямоугольном ТРЕУГОЛЬНИКЕ Секанс угла А обычно сокращенно записывается, как sec А, и равен обратному КОСИНУСУ, т. е. 1/cos A)
Синус-верзус (другие написания: версинус, синус версус, называется также «стрелкой дуги»). Определяется как versin(a) = 1 - cos(a) = 2*(sin(a/2))^2
и так далее...

не напрягайте нас, напрягите инет, ему все равно.
В любом случае спасибо - я сегодня серьезно обогатил свой лексикон
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.11.2010, 17:51   #4
Tidus
Форумчанин
 
Регистрация: 08.09.2009
Сообщений: 133
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Вы издеваетесь?
Все эти функции элеметарно выражаются через тригонометрические COS и SIN.
Вам облом самому спросить инет что такое секанс? (СЕКАНС, в ТРИГОНОМЕТРИИ - отношение длины гипотенузы к длине катета, прилежащего к данному острому углу в прямоугольном ТРЕУГОЛЬНИКЕ Секанс угла А обычно сокращенно записывается, как sec А, и равен обратному КОСИНУСУ, т. е. 1/cos A)
Синус-верзус (другие написания: версинус, синус версус, называется также «стрелкой дуги»). Определяется как versin(a) = 1 - cos(a) = 2*(sin(a/2))^2
и так далее...

не напрягайте нас, напрягите инет, ему все равно.
В любом случае спасибо - я сегодня серьезно обогатил свой лексикон
Игорь, не нужно писать, что означают эти функции, на википедии про это очень хорошо написано и даже картинка есть. Эти функции я применяю в расчетах для упрощения громоздких формул. В экселе тоже они мне необходимы, это удобнее, чем каждый раз писать 1-cos и т.д..
Игорь, лучше подскажите как зашить эти функции в Эксель.
Tidus вне форума Ответить с цитированием
Старый 21.11.2010, 17:54   #5
Tidus
Форумчанин
 
Регистрация: 08.09.2009
Сообщений: 133
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
[CODE]Public Function Arccos(X) As Double
Сергей, куда нужно зайти, что бы вставить этот код?
Tidus вне форума Ответить с цитированием
Старый 21.11.2010, 18:43   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

с этим точно париться не надо Public Function Arccos(X) As Double - Arccos в Excel уже есть - это Acos

Откройте редактор VBA (Alt+F11)
Откройте окно просмотра проектов (Ctrl+R)
Правой кнопкой по имени Вашего проекта(совпадает с именем файла)
Вставить
Модуль
в окно модуля пишете это

Function Sec(AL) As Double
sec = 1-cos(al)
end sub

как этим пользоваться:
возвращаетесь к Excel.
в любой ячейке =
жмете по fx - обьект такой левее строки формул
в поле категория выбираете определенные пользователем
в поле выберите функцию выбираете Sec
ок
всплывет окно, где надо указать секанс какого угла Вас интересует впишите туда угол в радианах, или отметьте ячейку, в которую он уже записан.
ок

приблизительно так.
в дальнейшем: модуль уже есть, в него можно дописать код для остальных функций, которые Вас интересуют.
1. Котангенс (ctg x);
3. Косеканс (cosec x);
4. Синус-верзус (versin x);
5. Косинус-верзус (vercos x);
6. Гаверсинус (haversin x);
7. Эксеканс (exsec x);
8. Экскосеканс (excsc x).
успехов!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 22.11.2010 в 11:11.
IgorGO вне форума Ответить с цитированием
Старый 21.11.2010, 22:07   #7
Tidus
Форумчанин
 
Регистрация: 08.09.2009
Сообщений: 133
По умолчанию

Получается, что для каждого файла в эксель придётся повторять эту операцию?
Tidus вне форума Ответить с цитированием
Старый 22.11.2010, 11:10   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ну... извините, стандартные синус и косинус, которые бы работали на любой версии Excel..., в любом открытом Вами файле..., Вам же и не подходят.
умеем мы создавать себе трудности, а потом с гордостью из них выходить.
из Вашей ситуации есть несколько вариантов выхода. успехов!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 13.12.2010, 20:16   #9
Tidus
Форумчанин
 
Регистрация: 08.09.2009
Сообщений: 133
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
ну... извините, стандартные синус и косинус, которые бы работали на любой версии Excel..., в любом открытом Вами файле..., Вам же и не подходят.
умеем мы создавать себе трудности, а потом с гордостью из них выходить.
из Вашей ситуации есть несколько вариантов выхода. успехов!
За помощь спасибо

P.S.Стандартные синус и косинус не подходят, они приводят к огромадным пятиэтажным формулам, даже после упрощения триг.функций
Tidus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обратные тригонометрические функции _-Re@l-_ Общие вопросы Delphi 17 03.09.2010 17:15
Тригонометрические функции в Delphi _-Re@l-_ Общие вопросы Delphi 4 13.05.2010 16:25
Не работают правильно тригонометрические функции Cookson Помощь студентам 2 02.02.2010 13:21
тригонометрические , логарифмические, экспоненциальные функции Dimon88 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 13.09.2008 01:38
Обратные тригонометрические функции Melok Паскаль, Turbo Pascal, PascalABC.NET 6 24.10.2007 13:06