|
2 / 2 / 0
Регистрация: 23.02.2018
Сообщений: 74
|
|
Табулирование значений функции25.03.2018, 10:12. Показов 2236. Ответов 20
Метки нет (Все метки)
Составить программу вычисления значений функции F(x) на отрезке [а; b] с шагом h. Результат представить в виде таблицы, первый столбец которой — значения аргумента, второй — соответствующие значения функции:
0
|
|
| 25.03.2018, 10:12 | |
|
Ответы с готовыми решениями:
20
Построить таблицу значений для функции. Табулирование функции Построить таблицу значений для функции. Табулирование функции Табулирование значений функции |
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 25.03.2018, 13:16 | |
|
Prosto_maloyy, и с такой звездюлькой вы обращаетесь на форум!!!
В хэлпе ВБА наберите sin потом cos и узнаете всё по этим функциям. Возведение в степень - это "крышечка (^)" на верхнем регистре клавиатуры над цифрой 6. Минус он и в Африке минус. Попробуйте сами, а вдруг получится
0
|
|
|
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|
| 25.03.2018, 20:28 | |
|
Можно и без синуса, и без степени, ибо
sin2x-cos2x = (1-cos2x)/2-cos2x = 0,5-1,5cos2x
0
|
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 26.03.2018, 11:52 | |
|
Казанский, вы уверены, что человек, с такими выставляемыми задачами, поймет ваши глубокие тригонометрические познания?
0
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|||||||
| 27.03.2018, 10:48 | |||||||
Типа
0
|
|||||||
|
6082 / 1327 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 28.03.2018, 20:11 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Я попробовал протабулировать тригонометрические функции на произвольных отрезках - и это оказалось совсем не просто.
Вот лишь некоторые из результатов работы программы:
Так что, несмотря на сомнения уважаемого Burk, топикстартер задал нам действительно достойную задачу.
1
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|||||||
| 29.03.2018, 06:58 | |||||||
|
Аксима,
Я не зря вам советовал прочитать внимательно про тригонометрические функции. Там аргумент в радианах. Поэтому, чтобы вам было понятнее сделайте цикл по градусам угла ( напр. от 0 до 90 градусов), а функцию запишите так
ну и, естественно, ваша таблица посчитана правильно, только ваше Х не то, что в задумывали.
0
|
|||||||
| 29.03.2018, 07:51 | |
|
0
|
|
|
6082 / 1327 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
|
||
| 29.03.2018, 09:13 | ||
|
Пусть не бесконечную, но в пределах, который позволяет объем памяти компьютера. Обратите внимание - для значений функции от 0 до 1 с шагом 0.1 моя программа считает мгновенно и с точностью до 50 знаков. Для значений функции от 0 до 0.00000000000000000000001 с шагом 0.000000000000000000000001 программа считает порядка минуты и с вдвое меньшей точностью. Если топикстартеру вздумается задать промежуток еще меньше, то не факт, что моя программа справится. Нужны ваши рекомендации по повышению эффективности алгоритма. На данный момент моя программа - это вычисление ряда Тейлора-Маклорена в длинных целых числах, а также применение формул для расчета значений аргумента с большим количеством десятичных цифр. Кстати, расчет функции, заданной топикстартером, на промежутке [a,b] с шагом h - сводится к расчету cos(x) на промежутке [2a,2b] с шагом 2h (что убедительно доказал Казанский).
1
|
||
|
|
|
| 29.03.2018, 11:15 | |
|
К сожалению тригонометрических функций нет в данном продукте (может добавлю в следующей версии, тогда для вас это была бы элементарная задача перемножить с нужной точностью переменные). Но базовая арифметика с любой точность в ваших руках
На всякий случай вычисления числа Пи с любой точностью, лежит в третьем упаковщике.Добавлено через 9 минут Думаю и число Пи можно добавить в пакет арифметики в след.версии.
1
|
|
|
6082 / 1327 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
|
|
| 29.03.2018, 13:17 | |
Здравствуйте, bedvit,У меня есть своя собственная библиотека длинных чисел, для которой я как раз сейчас и пишу функции синуса и косинуса. Если бы вы уже реализовали эти функции, то я был бы рад проконсультироваться с вами, вместо того, чтобы изобретать свой велосипед. А так я лучше поработаю над отмеченными недостатками моей реализации самостоятельно. Но за поддержку и за интерес к теме все равно спасибо вам. С уважением, Аксима
0
|
|
|
|
|
| 29.03.2018, 14:58 | |
|
Аксима, ранее то же этой темой увлекался. На VBA реализовывал парсинг из строки в длинное число и наоборот, простейшие арифметические операции, выбирал базу для длинного числа, тестировал скорости, лучшие решения и т.д. Могу скинуть нароботки или линки на темы. Вообщем для опыта полезно, потом к пришёл к одной мысли (чуть позже отпишу). А вы на каком языке пишите библу свою?
0
|
|
|
6082 / 1327 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
|
|
| 29.03.2018, 15:40 | |
|
Библиотеку пишу на VBA, естественно.
Кроме VBA, я знаю только VB .NET и C# .NET, но там нет необходимости в библиотеке длинных чисел (там есть встроенная библиотека System.Numerics с классом BigInteger).
0
|
|
|
141 / 119 / 29
Регистрация: 12.02.2017
Сообщений: 308
|
|
| 29.03.2018, 15:57 | |
|
§¦§г§Э§Ъ §д§в§Ц§Т§е§Ц§д§г§с §е§б§в§а§г§д§Ъ§д§о §С§Э§Ф§а§в§Ъ§д§Ю §У§н§й§Ъ§г§Э§Ц§Я§Ъ§Ы, §д§а §с §д§е§д §Я§Ц§Ю§Я§а§Ф§а §б§а§Ь§а§У§н§в§с§Э§г§с §У §д§Ц§а§в§Ъ§Ъ.
§І§С§г§б§Ъ§г§н§У§С§д§о §д§Ц§а§в§Ъ§р §Щ§Х§Ц§г§о §Я§Ц §Т§е§Х§е, §Ь§в§С§д§Ь§а - §Ц§г§Э§Ъ §к§С§Ф §б§в§Ъ§в§С§л§Ц§Я§Ъ§с §С§в§Ф§е§Ю§Ц§Я§д§С (§д.§Ц. x) §а§й§Ц§Я§о §Ю§С§Э, §д§а cos2(x h) §б§в§Ъ§Т§Э§Ъ§Щ§Ъ§д§Ц§Э§о§Я§а §в§С§У§Ц§Я (cos2x - 2hЎБsin2x), §Ъ §й§Ц§Ю §Ю§Ц§Я§о§к§Ц h (§к§С§Ф §б§в§Ъ§в§С§л§Ц§Я§Ъ§с) §д§Ц§Ю §д§а§й§Я§Ц§Ц §Х§С§Я§Я§а§Ц §У§н§в§С§Ш§Ц§Я§Ъ§Ц (§б§а§Ф§в§Ц§к§Я§а§г§д§о §Т§е§Х§Ц§д §г§д§в§Ц§Ю§Ъ§д§о§г§с §Ь §Я§е§Э§р). §¦§г§Э§Ъ x §Т§е§Х§Ц§д §в§С§У§Ц§Я §Я§е§Э§р, §Ъ§Э§Ъ §а§й§Ц§Я§о §Я§Ц§Щ§Я§С§й§Ъ§д§Ц§Э§о§Я§а §а§д§Э§Ъ§й§С§д§о§г§с §а§д §Я§Ц§Ф§а, §д§а §ж§а§в§Ю§е§Э§С §е§б§в§а§г§д§Ъ§д§г§с: 1 - 2hЎБ2x. §Ї§С§Х§Ц§р§г§о §Ю§а§Ы §а§д§У§Ц§д §б§в§Ъ§Ф§а§Х§Ъ§д§г§с. §±.§і. §Ґ§Э§с §Ъ§Я§д§Ц§в§Ц§г§е§р§л§Ъ§з§г§с, §Ъ§г§б§а§Э§о§Щ§а§У§С§Я§С §Ъ§Щ§У§Ц§г§д§Я§С§с §д§Ц§а§в§Ц§Ю§С §а §б§в§Ц§Х§Ц§Э§С§з, §Ф§Х§Ц §б§в§Ц§Х§Ц§Э §а§д§Я§а§к§Ц§Я§Ъ§с: (sin x)/x §в§С§У§Ц§Я 1 §б§в§Ъ x §г§д§в§Ц§Ю§с§л§Ц§Ю§г§с §Ь §Я§е§Э§р. Добавлено через 2 минуты Если требуется упростить алгоритм вычислений, то я тут немного поковырялся в теории. Расписывать теорию здесь не буду, кратко - если шаг приращения аргумента (т.е. x) очень мал, то cos2(x+h) приблизительно равен (cos2x - 2h×sin2x), и чем меньше h (шаг приращения) тем точнее данное выражение (погрешность будет стремиться к нулю). Если x будет равен нулю, или очень незначительно отличаться от него, то формула упростится: 1 - 2h×2x. Надеюсь мой ответ пригодится. П.С. Для интересующихся, использована известная теорема о пределах, где предел отношения: (sin x)/x равен 1 при x стремящемся к нулю.
1
|
|
|
6082 / 1327 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
|
|
| 29.03.2018, 16:24 | |
|
Homarty, хочу похвалить вас - алгоритм для табулирования тригонометрической функции просто отменный.
Если удастся эффективно вычислить cos(2x), где x равен половине координаты начала отрезка табулирования, то дальнейшая работа по табулированию абсолютно ясна. Надеюсь, что топикстартер будет доволен (если прочитает тему, так как пока не вижу от него активности).
0
|
|
|
141 / 119 / 29
Регистрация: 12.02.2017
Сообщений: 308
|
|
| 29.03.2018, 17:00 | |
|
§¦§л§Ч, §У §Х§а§б§а§Э§Я§Ц§Я§Ъ§Ц §Ь §г§У§а§Ц§Ю§е §б§в§Ц§Х§н§Х§е§л§Ц§Ю§е §б§а§г§д§е, §С§Я§С§Э§а§Ф§Ъ§й§Я§С§с §ж§а§в§Ю§е§Э§С §Х§Э§с §г§Ъ§Я§е§г§С (§б§в§Ъ §д§Ц§з §Ш§Ц §е§г§Э§а§У§Ъ§с§з): sin(2ЎБ(x h)) = sin(2x) 2hЎБcos(2x)
Добавлено через 23 секунды Ещё, в дополнение к своему предыдущему посту, аналогичная формула для синуса (при тех же условиях): sin(2×(x+h)) = sin(2x) + 2h×cos(2x)
0
|
|
|
|
|
| 29.03.2018, 17:06 | |
|
Аксима, вот одна из последних тем когда я писал на VBA по теме длинной арифметики (может пригодится). Вы как храните длинное число? Самым быстрым и эффективным способом получается массив LongLong (там же в исходниках). Потом я понял, что изобретаю велосипед (хотя и с пользой, в виде пощупать руками самому тему) и перешёл на другое качество и скорость (сначала на С#, потом на С++ и библиотеки MPIR - одни из быстрейших, быстрее System.Numerics с классом BigInteger на порядки, по тесту запись и чтение в байтовый массив в 500 раз быстрее). Эти библы сейчас и использую в своём проекте. Скорость можете сравнить, если будет желание.
0
|
|
|
141 / 119 / 29
Регистрация: 12.02.2017
Сообщений: 308
|
|
| 29.03.2018, 17:07 | |
|
При околонулевых значениях x, формула упростится: sin(2(x+h))=2×(x+h)
0
|
|
|
6082 / 1327 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
|
||
| 29.03.2018, 21:19 | ||
|
Тип LongLong доступен только в 64-разрядной версии офиса.
0
|
||
| 29.03.2018, 21:19 | |
|
Помогаю со студенческими работами здесь
20
Табулирование значений функции
Табулирование значений функции Табулирование.Получить таблицу значений функции
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|