• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

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

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите с задачей. Ряд Тейлора.

  • Автор темы Автор темы Wardler
  • Дата начала Дата начала

Wardler

Ученик
Регистрация
27 Сен 2010
Сообщения
9
Реакции
0
Баллы
0
Помогите с задачей. Ряд Тейлора.

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

Помогите решить.. Пожалуйста
 

Вложения

  • Безымянный.webp
    Безымянный.webp
    3.5 KB · Просмотры: 3,074
с точностью Экспоненты*
 
Язык программирования какой?
 
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью ряда Тейлора, на интервале от значения х_нач до х_кон с шагом dx с точностью Эбсилан. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и количество просуммированных членов ряда.

Помогите решить.. Пожалуйста

Будем считать, что утаённый от нас язык программирования - Паскаль. Но прежде всего - одна ремарка. В бытность мою студентом, наш преподаватель математики предупредил сразу, что за незнание латинского и греческого алфавитов будет гнать с экзамена без пощады и жалости. И был, с моей точки зрения, абсолютно прав. Это я к тому, что греческая буква называется "эпсилон", а вовсе никакой не "Эбсилан". А теперь - программа:
Код:
CONST
 Eps=0.0001;
VAR
 Xbeg,Xfin,DX,SUM,X:REAL;
 N:WORD;
 Nx,i:INTEGER;

PROCEDURE SUMS(Xs:REAL; Var S:REAL; Var Ns:WORD);
 VAR
   a:REAL;
 Begin
   a:=1;
   S:=1;
   Ns:=0;
   Repeat
    Inc(Ns);
    a:=-a*SQR(Xs)/Ns;
    S:=S+a;
   Until Abs(a)<Eps;
 End;

BEGIN
 Write('Xbeg= ');
 ReadLn(Xbeg);
 Write('Xfin= ');
 ReadLn(Xfin);
 Write('DX= ');
 ReadLn(DX);
 WriteLn;
 WriteLn('         Results of calculation:');
 WriteLn('    X          SUM         N   Exp(-Sqr(X))');
 WriteLn;
 Nx:=ROUND((Xfin-Xbeg)/DX);
 X:=Xbeg;
 For i:=0 to Nx do
  begin
   X:=DX*i;
   SUMS(X,SUM,N);
   WriteLn(X:8:5,'     ',SUM:7:5,'     ',N:3,'     ',Exp(-SQR(X)):7:5);
  end;
 ReadLn;
END.
Несколько пояснений:
1. Точность, она же пресловутый эпсилон, она же (в программе) Eps задана в виде константы.
2. Вводится сначала МЕНЬШАЯ граница диапазона Х, затем - бОльшая.
3. Последняя колонка дана для сравнения: в ней вычислено точное значение разлагаемой в ряд функции.
 
Владимир, большое вам спасибо.. с языком программирования не ошиблись.. насчет "эпсилон" учту, буду учиться и вникать:tehnari_ru_657:.. надеюсь больше вас не потревожу :tehnari_ru_674:
 
А, черт - сейчас посмотрел и заметил ошибку. Вместо 6-й снизу строки
X:=DX*i;
надо
X:=Xbeg+DX*i;
Виноват!
 
не пойму..( почему не получается к примеру задать xbeg=50 ; xfin=70 ; xd(шаг)=0.5 - выдает ошибку
 
не пойму..( почему не получается к примеру задать xbeg=50 ; xfin=70 ; xd(шаг)=0.5 - выдает ошибку
Ну Вы размахнули! Это же Exp(-2500)! С такими аргументами, боюсь, компьютеру не справиться. Вы уж поскромнее что-нибудь - типа Xbeg=0, Xfin=1, DX=0.1 ну и т.п. попробуйте.
P.S. И обязательно исправьте, как сказано выше.
 
Как я понял эта формула a:=-a*SQR(Xs)/Ns взята из условия? Т.е. exp(-sqr(x))= (((-1)^n)*(x^2*n))/n!
 
Как я понял эта формула a:=-a*SQR(Xs)/Ns взята из условия? Т.е. exp(-sqr(x))= (((-1)^n)*(x^2*n))/n!
Не понял - в чем вопрос? Ну да, это разложение функции exp(-sqr(x)) в ряд Тейлора в окрестности х=0.
 
Вообще я хотел спросить как Вы получили эту формулу.
 
Вообще я хотел спросить как Вы получили эту формулу.

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