Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
94 / 1 / 0
Регистрация: 18.01.2010
Сообщений: 63

Вычислить значение функции, на основе ее разложения в степенной ряд

16.01.2013, 06:04. Показов 4610. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток,всем! Прошу помочь составить программный код VBA в Excel для решения задачи.
Задача:Вычислить значение функции cosx при x = 0,5 на основе ее разложения в степенной ряд Название: formula.PNG
Просмотров: 647

Размер: 2.2 Кб

Не могу додуматься,как правильно записать,чтобы факториал увеличивался на 2,либо брал только чётные числа.
Выкладываю черновой код программы.Искренне надеюсь на вашу помощь!
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub lab_4()
Dim b, y, x, s, a, c As Single
Dim n As Integer
Function Factorial(n)
  Factorial = 1
  For i = 2 To n
    Factorial = Factorial * i
  Next i
End Function
x = Val(InputBox("Ââåäèòå ''x''"))
a = x ^ 2 / Factorial
b = a * a
s = 1
For n = 1 To 110
   s = s - a * b - (c * a)
   c = a * b
Next
MsgBox (" Ñóììà ðÿäà =  " & s)
y = Cos(x)
MsgBox (" Ôóíêöèÿ =  " & y)
End Function
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.01.2013, 06:04
Ответы с готовыми решениями:

Вычислить функции с использованием их разложения в степенной ряд. Функции и Перегрузка функций
Добрый день. Дана лабораторная работа, (см. ниже 2 скриншота) по заданию нужно вычислить функции с использованием их разложения в степенной...

Разложения функции в степенной ряд
Разложения функции в степенной ряд. Составить программу для вычисления значения функции y = 1/(1+x)^2

Разложения функции в степенной ряд
Собсвтенно задание я прикрипил к посту. Вроде начал делать, но меня скорей всего кудто то не туда понесло. Прошу помочь. Сам код,...

7
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
16.01.2013, 06:15
Вот тут похожий ряд: Вычислить сумму с точностью до 6 знака с применением итерационного цикла

Там ещё есть важный момент: с какой точностью.
0
94 / 1 / 0
Регистрация: 18.01.2010
Сообщений: 63
16.01.2013, 22:15  [ТС]
Цитата Сообщение от Sasha_Smirnov Посмотреть сообщение
Вот тут похожий ряд: Вычислить сумму с точностью до 6 знака с применением итерационного цикла

Там ещё есть важный момент: с какой точностью.
Там не используется факториал,а тут впринципе в нём вся загвоздка..
0
Телекомпания ВИD
 Аватар для anny05
1364 / 115 / 19
Регистрация: 14.10.2012
Сообщений: 100
17.01.2013, 00:03
Просто в пару строчек. Быстродействие. Без факториального переполнения. Исправление разделителя числа.
Visual Basic
1
2
3
4
5
6
7
8
9
10
Sub Cos_1()
x# = CDbl(Replace(InputBox("Введите в радианах число " & Chr(34) & "x" & Chr(34) & ", где |x|<=2*PI:"), ".", ",", , , vbTextCompare))
R# = 1
S# = 1
For i& = 2 To 2000 Step 2
    S = S * x * x / (i - i * i)
    R = R + S
Next
MsgBox R
End Sub
1
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
17.01.2013, 00:10
Цитата Сообщение от anny05 Посмотреть сообщение
Visual Basic
1
To 2000
это вы со зла!

Шесть слагаемых ряда Тейлора дают погршеность уже в 15-м знаке (а потом уж и разрядная сетка кончается!).
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub Subcos()
'Dim pi: pi = Application.WorksheetFunction.pi
Dim x, y, f, n
y = 1: f = 1: n = 0: x = 0.5
    
While n < 6
    n = n + 1: f = f * (2 * n - 1) * (2 * n)
'    MsgBox "n = " & n & "; " & "f = " & f & " = " & "(2·" & n & ")!"
    y = y + (-1) ^ n * x ^ (2 * n) / f
Wend
    
MsgBox "Приближение от Subcos:" & vbTab & y & vbCr & vbCr & _
    "Встроенный Cos(x):" & vbTab & Cos(x) & vbCr & vbCr & _
    "Разность Cos и Subcos:" & vbTab & _
    FormatNumber(Cos(x) - y, 15) & vbCr & vbCr & _
    "Количество слагаемых:" & vbTab & n
End Sub
Изображения
 
1
94 / 1 / 0
Регистрация: 18.01.2010
Сообщений: 63
17.01.2013, 01:28  [ТС]
Sasha_Smirnov, anny05, Спасибо огромное,за помощь!!!
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,679
Записей в блоге: 14
17.01.2013, 19:43
Лучший ответ Сообщение было отмечено как решение

Решение

А вот решение без циклов

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Function myCos(x As Double, Eps As Double, Optional s As Double = 0, _
                      Optional a As Double = 0, Optional n As Double = 0) As Double
   If Abs(n) < 1 Then
      myCos = myCos(x, Eps, 1, 1, 1)
   Else
      a = -a * x * x / ((2 * n - 1) * (2 * n))
      If Abs(a) <= Eps Then
         myCos = s
      Else
         myCos = myCos(x, Eps, s + a, a, n + 1)
      End If
   End If
End Function
 
Sub Test()
    x# = 0.3
    Debug.Print myCos(x#, 0.000000000000001)
    Debug.Print Cos(x#)
End Sub
Миниатюры
Вычислить значение функции, на основе ее разложения в степенной ряд  
1
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
04.12.2013, 22:59
Цитата Сообщение от anny05 Посмотреть сообщение
Visual Basic
1
'...где |x|<=2*PI
Это было лишнее: разложение косинуса верно на всей прямой.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.12.2013, 22:59
Помогаю со студенческими работами здесь

Вычисление функции с помощью разложения в степенной ряд
Составить программу для вычисления значения функции y=ln(1-x) с помощью разложения функции в степенной ряд: Ln(1-x)...

Вычисление значения функции с помощью разложения функции в степенной ряд
составить программу для вычисления значения функции y=1/(1+x) с помощью разложения функции в степенной ряд. 1/(1+x)2 =...

Вычислить значение функции cosx, используя разложение ее в степенной ряд
Помогите ! Сама совсем не смыслю в программирование,оно у меня как второстепенный предмет преподается пол семестра. Чтобы получить зачет и...

Составить программу для вычисления значения функции с помощью разложения функции в степенной ряд
Составить программу для вычисления значения функции y=e^-x с помощью разложения функции в степенной ряд ...

Вычисление функции y=ch(x) с помощью разложения функции в степенной ряд
составить программу для вычисления функции y=ch(x) с помощью разложения функции в степенной ряд ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru