Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 26.10.2016
Сообщений: 5
1

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

26.10.2016, 05:35. Показов 2979. Ответов 5

Author24 — интернет-сервис помощи студентам
Всем привет! Есть одна задача, решить не получается от слова совсем.
Текст приведен на скриншоте.
Единственное что у меня получилось описать это саму функцию, код под спойлером.
Если поможете решить - буду сильно благодарен
Кликните здесь для просмотра всего текста

Pascal
1
2
3
4
5
6
c:=exp((2*n-1)*ln(x));   //ÂÎÇÂÅÄÅÍÈÅ Â ÑÒÅÏÅHÜ
k:=x;
 For i:=1 to (N-1) do
   k:=k+(c/(2*n-1));      //k - znacheniye f-cii
   
 writeln (k :5 :3);
Миниатюры
Вычислить значение функции разложенной в ряд и сходящейся в указанной области  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2016, 05:35
Ответы с готовыми решениями:

Вычислить значение функции F(x), разложенной в ряд и сходящейся в указанной области
Вычислить значение функции F(x), разложенной в ряд и сходящейся в указанной области.

Вычислить значение функции F(x), разложенной в ряд и сходящейся в указанной области
Помогите написать программу в Pascal Вычислить значение функции F(x), разложенной в ряд и...

Вычислить значение функции, разложенной в ряд и сходящейся в указанной области
Вычислить значение функции F(x), разложенной в ряд и сходящейся в указанной области. Помогите...

Вычислить значение функции F(x), разложенном в ряд и сходящейся в указанной области
Вычислить значение функции F(x), разложенном в ряд и сходящейся в указанной области Функция: ...

5
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
26.10.2016, 12:30 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Тему нужно оформлять так.
Вычисление функции, заданной в виде суммы бесконечного ряда необходимо выполнить тремя способами
- с заданной погрешностью EPS(F1(x));
- с заданным числом К первых членов ряда (F2(x)) ;
- по аналитической формуле (F(x)).
Функция sh(x), область сходимости |x|<1
Разложение в ряд:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{n=1}^{\infty}\frac{{x}^{2n-1}}{(2n-1)!}=x+\frac{{x}^{3}}{3!}+\frac{{x}^{5}}{5!}+\frac{{x}^{7}}{7!}+...
Результаты свести в таблицу вида:
Вычислить значение функции разложенной в ряд и сходящейся в указанной области

Для формул есть редактор под окном сообщений.
Еще раз увижу задание на картине, что нарушает правила форума, которые нужно почитать, удалю тему.
1
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
26.10.2016, 13:38 3
Но в задании 2 ошибки.
1. х не ограничено, а любое число
2. не 2n-1, а 2n+1.
Не верите, посмотрите хотя бы здесь.
https://ru.wikipedia.org/wiki/Ряд_Тейлора

Поскольку в таблице есть графа № думаю что нужно посчитать при разных x,eps,k.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
uses crt;
function f(x:real):real;
begin
f:=(exp(x)-exp(-x))/2;
end;
function f1(x,eps:real):real;
var t,s:real;
    n:integer;
begin
n:=0;
t:=x;//нулевой член ряда
s:=t;//сума при  n=0
while abs(t)>=eps do//пока очередной член больше точности
 begin
  n:=n+1; //увеличиваем номер
  t:=t*x*x/(2*n*(2*n+1));//домножаем на x^2 и делим на факториал очередного нечетного числа
  s:=s+t; //суммируем
 end;
f1:=s;
end;
function f2(x:real;k:integer):real;
var t,s:real;
    i:integer;
begin
t:=x;
s:=t;
for i:=1 to k do
 begin
  t:=t*x*x/(2*i*(2*i+1));
  s:=s+t; 
 end;
f2:=s;
end;
var n,i,k:integer;
    x,eps:real;
begin
writeln('------------------------------------------------------------------------');
writeln('| № |   EPS   |  x  |   F1(x)   |K-число членов|   F2(x)   |   F(x)    |');
writeln('------------------------------------------------------------------------');
eps:=0.1;
x:=0;
k:=5;
n:=7;
for i:=1 to n do
 begin
  writeln('|',i:2,' |',eps:9:7,'|',x:4:0,' |',f1(x,eps):11:5,'|',k:9,'     |',f2(x,k):11:5,'|',f(x):11:5,'|');
  x:=x+1;
  k:=k+10;
  eps:=eps/10;
 end;
writeln('------------------------------------------------------------------------');
end.
1
0 / 0 / 0
Регистрация: 26.10.2016
Сообщений: 5
27.10.2016, 07:42  [ТС] 4
Cпасибо! А можно прикрутить ввод всех переменных (x, eps, др., кроме N) с клавиатуры? И как это сделать лучше?
Про создание темы понял, прошу прощения
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
27.10.2016, 08:13 5
Лучший ответ Сообщение было отмечено KsenoBit16bit как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
uses crt;
function f(x:real):real;
begin
f:=(exp(x)-exp(-x))/2;
end;
function f1(x,eps:real):real;
var t,s:real;
    n:integer;
begin
n:=0;
t:=x;//нулевой член ряда
s:=t;//сума при  n=0
while abs(t)>=eps do//пока очередной член больше точности
 begin
  n:=n+1; //увеличиваем номер
  t:=t*x*x/(2*n*(2*n+1));//домножаем на x^2 и делим на факториал очередного нечетного числа
  s:=s+t; //суммируем
 end;
f1:=s;
end;
function f2(x:real;k:integer):real;
var t,s:real;
    i:integer;
begin
t:=x;
s:=t;
for i:=1 to k do
 begin
  t:=t*x*x/(2*i*(2*i+1));
  s:=s+t;
 end;
f2:=s;
end;
var n,i:integer;
    k:array[1..10] of integer;
    x,eps,y1,y2,y3:array[1..10] of real;
begin
repeat
write('Сколько вычислений выполнить от 1 до 10 n=');
readln(n);
until n in [1..10];
for i:=1 to n do
 begin
  writeln('Введите данные для рпсчета ',i);
  write('x=');
  readln(x[i]);
  write('k=');
  readln(k[i]);
  repeat
  write('0<eps<1 eps=');
  readln(eps[i]);
  until(eps[i]>0)and(eps[i]<1);
 end;
clrscr;
writeln('------------------------------------------------------------------------');
writeln('| № |   EPS   |  x  |   F1(x)   |K-число членов|   F2(x)   |   F(x)    |');
writeln('------------------------------------------------------------------------');
for i:=1 to n do
writeln('|',i:2,' |',eps[i]:9:7,'|',x[i]:4:0,' |',f1(x[i],eps[i]):11:5,'|',k[i]:9,'     |',f2(x[i],k[i]):11:5,'|',f(x[i]):11:5,'|');
writeln('------------------------------------------------------------------------');
end.
1
0 / 0 / 0
Регистрация: 26.10.2016
Сообщений: 5
27.10.2016, 14:46  [ТС] 6
Огромное спасибо!
0
27.10.2016, 14:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2016, 14:46
Помогаю со студенческими работами здесь

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

Построение графика функции, разложенной в ряд Фурье
День добрый! Нужна помощь с разложением функции в ряд Фурье. С Matlab знакомство пока на уровне...

Составить программу вычисления функции, разложенной в ряд
1-х+х^2-...+(-1)^(n-1)*х^(n-1), сходящихся на |х| &lt; 1

Составить программу вычисления значения функции, разложенной в ряд
Составить программу вычисления значения функции, разложенной в ряд (сумму ряда). В формулах –...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru