Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2009, 18:31   #1
katris
Пользователь
 
Регистрация: 25.10.2009
Сообщений: 22
Вопрос ВЫчисление функции с помощью разложения в ряд.

Я, кажется, уже писала... Прошу простить, но мне никак не разобраться.
Поэтому хочу обратиться за помощью вновь.

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

Вот такая формула:sin.jpg

Нам объясняли, как это сделать. Я всё делала так, как объясняли. Вышло вот так:
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
SysUtils;

var xn,xk,dx,e,x,s,h,k:real;
F:extended;
a:integer;

begin

writeln ('xn='); readln (xn);
writeln ('xk='); readln (xk);
writeln ('dx='); readln (dx);

x:=xn;

while x<=xk do

begin

s:=x;
f:=1;
h:=x;
e:=0.001;
a:=1;
k:=k+1;

while (1/a)>=e do begin f:=f*(k+1)*(k+2);
if (a mod 2 = 0) then h:=h*sqr(x)
else h:=-h*sqr(x);
s:=s+(h/f);
a:=a+1;
end;

writeln ('x=',x:4:2,' f=',s:4:2,' n=',n:4:1);

x:=x+dx;

end;
readln;

end.
Нужно это решить двумя способами: с циклом while и циклом repeat. Я тут привела только первый выриант... так как думаю, если хорошо разобраться с одним, сделать воторой труда не составит.

Но почему-то у меня не получается, чтоб значения были верными - при каких-то значениях получается синус больше единицы, чего ведь быть не может...

Может мне кто-нибудь помочь найти ошибки?.. Или сделать какие-то поправки, дополнения?.. В общем, очень хотелось бы разобраться...

Последний раз редактировалось katris; 05.11.2009 в 18:38. Причина: забыла указать язык - Pascal или Delphi...
katris вне форума Ответить с цитированием
Старый 03.03.2013, 17:26   #2
DANGER999
Новичок
Джуниор
 
Регистрация: 03.03.2013
Сообщений: 1
По умолчанию

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

Вычислить значение тригонометрических функций на основе разложения в ряд Маклорена
1) Вычислить с заданной точностью значения тригономентрических функций sin(x),cos(x) при x принадлежащем [x0,x1];
2) Оценить погрешности вычислений
3) Провести сравнение точности вычислений тригонометрических функций с использованием стандартных функций пакетов MathCad или Matlab(при разных значениях х)

заранее огромное спасибо.
DANGER999 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) для x изменяющихся.... EVIL Помощь студентам 3 22.11.2009 02:37
Вычисление функции разложением ее в ряд 5nizza77 Паскаль, Turbo Pascal, PascalABC.NET 1 15.10.2009 10:55
Вычисление функции с помощью разложения в ряд LaraKiller Общие вопросы C/C++ 2 11.10.2009 20:05
Вычисление функции заданной в виде разложения в ряд StudeHt Паскаль, Turbo Pascal, PascalABC.NET 2 02.05.2009 20:08
Вычисление значений тригонометрических функций на основе разложения в ряд Маклорена Gangzta Помощь студентам 3 10.01.2009 15:47