0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 100
1

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

09.01.2014, 19:56. Показов 1003. Ответов 13
Метки нет (Все метки)

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


условие
Ввести e, m и x. Вычислить значение функции:
вычисление функции прекратить, если достигнута заданная точность e, либо взято в разложении ряда m членов.

Подскажите кто как это решить.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2014, 19:56
Ответы с готовыми решениями:

Вычислить бесконечную сумму с заданной точностью ε> 0. Считать, что заданная точность достигнута, если абсолютная величина очередного слагаемого не пр
Вычислить бесконечную сумму с заданной точностью ε> 0. Считать, что заданная точность достигнута,...

С помощью цикла do while организовать вычитание, пока не будет достигнута заданная точность.
требуется реализовать цикл,в котором в конце будет проверяться условие что b3-b по модулю меньше...

Найти все корни следующего уравнения с точностью 10^-7 и проверить, достигнута ли заданная точность:
tgx=lgx+pi на отрезке Помогите пожалуйста У меня получается так: ...

Вычислить бесконечную сумму с заданной точностью eps (eps>0). Считать, что точность достигнута, если очеред
Вычислить бесконечную сумму с заданной точностью eps (eps>0). Считать, что точность достигнута,...

13
162 / 162 / 42
Регистрация: 29.05.2010
Сообщений: 435
09.01.2014, 20:01 2
Написать функцию, которая считает одно слагаемое из ряда. Потом в цикле добавлять к суме слагаемые до тех пор, пока они больше, чем точность(е) и количество слагаемых меньше, чем m
0
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 100
09.01.2014, 20:11  [ТС] 3
но а как это сделать я этого не знаю, потому очень нуждаюсь в примере))
0
75 / 75 / 10
Регистрация: 26.02.2013
Сообщений: 224
09.01.2014, 20:14 4
C++
1
2
3
4
5
6
7
8
9
int s = 1, i = 1, j = 4;
 
do {
z = z *( i / j ) * x;
s = s + z;
i = i + 4;
j = j + 4;
}
while(fabs(z) > eps)
0
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 100
09.01.2014, 20:28  [ТС] 5
а значение х будет ли расти?
0
75 / 75 / 10
Регистрация: 26.02.2013
Сообщений: 224
09.01.2014, 20:33 6
ой, там еще надо инициализировать z = 1;
в каждой итерации цикла z домножается на величину ( i / j ) * x.
т.е.
итерация 1: z = z * 1/4*x = 1 * 1/4 * x;
итерация 2: z = z * 5/8*x = (1 * 1/4 * x) * 5/8 * x = (1*5)/(4*8)*x*x;

и т.д.
0
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 100
09.01.2014, 20:39  [ТС] 7
как я понял интераций будет столько сколько я укажу.
а можно ли как то сделать через цикл что бы она как бы пропорциональна сама увеличивалась?
0
75 / 75 / 10
Регистрация: 26.02.2013
Сообщений: 224
09.01.2014, 22:59 8
Цитата Сообщение от mx_sagat Посмотреть сообщение
а можно ли как то сделать через цикл что бы она как бы пропорциональна сама увеличивалась?
что увеличивалась?
0
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 100
09.01.2014, 23:03  [ТС] 9
Stella, по условию она будет продолжать создаваться.
и как каждый раз прописывать интерацию на каждый уровень это сложно.
0
75 / 75 / 10
Регистрация: 26.02.2013
Сообщений: 224
09.01.2014, 23:09 10
mx_sagat, в цикле while последовательность будет продолжать создаваться пока очередное слагаемое не станет по модулю меньше заданой точности (eps или е как у вас в условии). То-есть это слагаемое уже мало добавляет к сумме и его можно не учитывать.

или что конкретнее вам не понятно?
0
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 100
09.01.2014, 23:39  [ТС] 11
если можешь напиши примерно как это, я в этом не силён)
0
162 / 162 / 42
Регистрация: 29.05.2010
Сообщений: 435
10.01.2014, 02:13 12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<iostream>
 
using namespace std;
 
int main()
{
     int m;
     double e,x;
     cin >> x >> e >> m;
     double y = 1, s = 1, a = 1, b = 4;
     for(int i = 0; i < m; i++)
     {
          s *= a;
          s /= b;
          s *= x;
          if(e > s) break;
          a += 4;
          b += 4;
          y += s;
     }
     cout << y;
     system("pause");
     return 0;
}
0
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 100
10.01.2014, 17:15  [ТС] 13
а то то всегда выдаёт 1 это нормально?
0
162 / 162 / 42
Регистрация: 29.05.2010
Сообщений: 435
10.01.2014, 21:41 14
Цитата Сообщение от mx_sagat Посмотреть сообщение
а то то всегда выдаёт 1 это нормально?
Видимо, Вы слишком большое значение e вводите. Введите, например, 0.001, думаю, должно посчитать нормально.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2014, 21:41
Помогаю со студенческими работами здесь

Вычислить бесконечную сумму с заданной точностью ε (ε > 0). Считать, что требуемая точность достигнута, если вычислена сумма нескольких первых слагаем
Вычислить бесконечную сумму с заданной точностью ε (ε &gt; 0). Считать, что требуемая точность...

Вычисление приближённого значения функции суммированием n первых членов ряда Тейлора
Нужно решить задачу на Pythone, сама пыталась, ничего не получается. Условие: Напишите функцию...

Определить количество членов ряда, которые дают заданную точность
Известно равенство: $$\prod_{k=2}^{\infty} \left(1 - \frac{1}{k^{2}}\right)=\frac{1}{2}$$ ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru