Exp(x), Решить с помощью цикла |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Exp(x), Решить с помощью цикла |
strelec025 |
18.09.2010 15:59
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Целью решения задачи, приведенной в табл. 3, является вычисле-
ние заданной функции с некоторой погрешностью EPS путем вычисле- ний указанного бесконечного ряда. Величину EPS изменять в диапазоне 0,01..0,00001 пpи одном значении аpгумента. Для проверки правильности вычислений сpавнить значение полученной суммы pяда со значением библиотечной функции. Я какбы написал программу, которая сравнивает числа с точностью до сотых, но вот при x=1 и x=2 проблем не возникает, а как x=3 у меня выходит ошибка то что на ноль делить нельзя. Помогите пожалуйста. var s,x,i:integer; y:real; |
volvo |
18.09.2010 16:32
Сообщение
#2
|
Гость |
Цитата Помогите пожалуйста. Пожалуйста. Тебе явно не хватает емкости типа Integer, попробуй описать переменную s не как Integer, а как Real, т.е.:var x, i: integer; s, y: real;, что получится? P.S. А по-хорошему надо бы и X описывать как вещественное. |
strelec025 |
18.09.2010 16:38
Сообщение
#3
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Пожалуйста. Тебе явно не хватает емкости типа Integer, попробуй описать переменную s не как Integer, а как Real, т.е.: var x, i: integer; s, y: real;, что получится? P.S. А по-хорошему надо бы и X описывать как вещественное. О, спасибо. Теперь заработало. Ну теперь у меня еще 2 вопроса есть: 1. Зачем X как вещественное? 2. Как сделать чтобы считал экспонент, при неположительной степени? |
volvo |
18.09.2010 17:06
Сообщение
#4
|
Гость |
Цитата 1. Зачем X как вещественное? Потому что областью определения показательной функции ax (ex - ее частный случай) является множество действительных чисел. Понимаешь, действительных, а не целых...А вообще мне кажется, что твоя задача решается вот так: Как самому написать функцию Exp(x)? Цитата Как сделать чтобы считал экспонент, при неположительной степени? В программе по ссылке нужно кое-что добавить. Подумай, что именно... |
strelec025 |
18.09.2010 17:18
Сообщение
#5
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Я незнаю пока про функции ничего и поэтому строку
Код function _Exp(x: double): double; не понял.А вообще нам нужно решить эту задачу, как раз примерно так как я изначально написал. Ну может попроще как-то если еще возможно. Добавлено через 9 мин. ...В программе по ссылке нужно кое-что добавить. Подумай, что именно... а типо логарифм от неположительного числа не существует да? а как тогда в степень возводить то еще число? |
TarasBer |
23.09.2010 19:19
Сообщение
#6
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
> y:=y+exp(ln(x)*i)/s; {= y+x^i/i!}
Я категорически протестую. Использовать экспоненту для вычисления экспоненты - это не решение, это читерство. Тогда проще сразу написать exp(x). x^i считай также, как i!, то есть наращивая в каждой итерации на новый сомножитель. -------------------- |
Текстовая версия | 5.06.2024 11:36 |