Форум программистов, компьютерный форум CyberForum.ru

ряд Тейлора - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
sovershenstvo
0 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 125
13.09.2012, 20:26     ряд Тейлора #1
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, от xнач до xкон с шагом dx с точностью ε. Таблицу снабдить загаловком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.
Миниатюры
ряд Тейлора  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2012, 20:26     ряд Тейлора
Посмотрите здесь:

Ряд Тейлора C++
Ряд Тейлора C++
ряд Тейлора C++
ln - ряд Тейлора C++
вычислить функцию с помощью разложения в ряд.(Ряд Тейлора) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cmath
Модератор
 Аватар для cmath
2415 / 1634 / 132
Регистрация: 11.08.2012
Сообщений: 3,252
Завершенные тесты: 5
14.09.2012, 07:27     ряд Тейлора #2
Напишу только код вычисления arcctg с точностью http://www.cyberforum.ru/cgi-bin/latex.cgi?\varepsilon, остальное как-нибудь сами)):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <math.h>
 
const float pi = 3,1415...// и т.д.))
 
float Arcctg(float x, float eps)
{
float y = pi/2, z;
int i = 0;
while(fabs(z)>eps)
{
z = pow(-1;i)*pow(x;2*i+1)/(2*i+1);
y+=z;
i++;
}
return y;
}
Thinker
14.09.2012, 09:13
  #3

Не по теме:

Hydrogen, для таких целей тип float (всего 4 байта) мало, лучше double, а еще лучше long double. и еще лучше, конечно, запоминать информацию предыдущего шага, чтобы заново не возводить в степень

cmath
Модератор
 Аватар для cmath
2415 / 1634 / 132
Регистрация: 11.08.2012
Сообщений: 3,252
Завершенные тесты: 5
14.09.2012, 09:15     ряд Тейлора #4
Цитата Сообщение от Thinker Посмотреть сообщение
Hydrogen, для таких целей тип float (всего 4 байта) мало, лучше double, а еще лучше long double
Конечно, никто не спорит. Только если точность высокая не нужна, то можно и float)
Thinker
14.09.2012, 09:17
  #5

Не по теме:

ну, смотрите сами, просто это признак хорошего тона и осознание, что типа float мало)

cmath
Модератор
 Аватар для cmath
2415 / 1634 / 132
Регистрация: 11.08.2012
Сообщений: 3,252
Завершенные тесты: 5
14.09.2012, 09:23     ряд Тейлора #6
Кстати double и long double на современных компьютерах - одно и тоже. Я на своем смотрел кол-во байт при помощи sizeof и получал одинаковые значения.

Добавлено через 4 минуты

Не по теме:

Цитата Сообщение от Thinker Посмотреть сообщение
Не по теме:
ну, смотрите сами, просто это признак хорошего тона и осознание, что типа float мало)
Если не нужна высокая точность, то зачем загружать процессор? У меня была ситуация, когда с числами надо было проделывать 1000х1000х100 операций и использование float вместо double серьезно увеличило скорость работы и снизило кол-во затраченной оперативной памяти хехе)))
З.Ы. я float написал кст только для примера, можете заменить на double, если вам надо обеспечить большую точность

Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
14.09.2012, 09:25     ряд Тейлора #7
Цитата Сообщение от Hydrogen Посмотреть сообщение
Если не нужна высокая точность, то зачем загружать процессор?

Не по теме:

не знаю-не знаю, я наоборот думаю, что в этом примере нужна очень высокая точность, ибо эпсилон может быть достаточно маленьким, да и аргумент x тоже)

cmath
14.09.2012, 09:27
  #8

Не по теме:

Цитата Сообщение от Thinker Посмотреть сообщение
ибо эпсилон может быть достаточно маленьким)
так и замените на double и забейте на предыдущие посты)))

Thinker
14.09.2012, 09:30
  #9

Не по теме:

Hydrogen, да Вы не обижайтесь, просто обсуждаем как лучше. кстати у Вас строчка
const float pi = 3,1415;
не скомпилируется)

cmath
14.09.2012, 09:33
  #10

Не по теме:

Цитата Сообщение от Thinker Посмотреть сообщение
Hydrogen, да Вы не обижайтесь, просто обсуждаем как лучше. кстати у Вас строчка
const float pi = 3,1415;
не скомпилируется)
L.O.L. я оставил многоточие как намек, что надо что-то дописать))) а обижаться - не обижаюсь, я не обидчивый

dima koz
 Аватар для dima koz
23 / 17 / 1
Регистрация: 05.06.2012
Сообщений: 72
Записей в блоге: 5
14.09.2012, 09:37     ряд Тейлора #11
Цитата Сообщение от Hydrogen Посмотреть сообщение
использование float вместо double
Читал в умных книжках(может даже у Страуструпа), что предпочтительнее использовать double вместо float, так же было там сказано , что лучше(предпочтительнее) int ,чем short.
cmath
14.09.2012, 09:39
  #12

Не по теме:

Цитата Сообщение от dima koz Посмотреть сообщение
Читал в умных книжках(может даже у Страуструпа), что предпочтительнее использовать double вместо float, так же было там сказано , что лучше int ,чем short
ага... но:
Цитата Сообщение от Hydrogen Посмотреть сообщение
когда с числами надо было проделывать 1000х1000х100 операций
и того 800мб оперативной памяти L.O.L.

dima koz
 Аватар для dima koz
23 / 17 / 1
Регистрация: 05.06.2012
Сообщений: 72
Записей в блоге: 5
14.09.2012, 09:43     ряд Тейлора #13
Цитата Сообщение от Hydrogen Посмотреть сообщение
ага... но:
Цитата Сообщение от Hydrogen Посмотреть сообщение
когда с числами надо было проделывать 1000х1000х100 операций
и того 800мб оперативной памяти L.O.L.
скорее всего был использован не оптимальный алгоритм(чаще всего в этом причина), вроде этого:
Цитата Сообщение от Hydrogen Посмотреть сообщение
pow(-1;i)*pow(x;2*i+1)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2012, 09:50     ряд Тейлора
Еще ссылки по теме:

C++ Ряд Тейлора С++
ряд Тейлора C++
C++ Ряд Тейлора

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

Или воспользуйтесь поиском по форуму:
cmath
Модератор
 Аватар для cmath
2415 / 1634 / 132
Регистрация: 11.08.2012
Сообщений: 3,252
Завершенные тесты: 5
14.09.2012, 09:50     ряд Тейлора #14
Цитата Сообщение от dima koz Посмотреть сообщение
вроде этого:
Ну да, можно переписать pow(-1,i) как i%2==1 ? z = -pow(x,2*i+1)/(2*i+1) : z = pow(x,2*i+1)/(2*i+1);
но в моем случае был алгоритм, использующий 3 цикла для заполнения матрицы числами, вычесленными по формулам, зависящим от индексов i,j и параметра k))
Yandex
Объявления
14.09.2012, 09:50     ряд Тейлора
Ответ Создать тему
Опции темы

Текущее время: 11:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru