Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Не правильно работает курсовая работа

Автор: Kalipsoo 18.12.2007 17:38

mega_chok.gif
Добрый всем день. Как любой студент в зачётную сессию сдаю курсовую работу, но вот беда... я её сделал и проверил на "эталонном примере" sin(x), в результате получил правильный ответ,чем был очень доволен. Но вот на защите преподаватель попростил найти интеграл от x с нижней границей интегрирования 1 и верхней 4, в реузьтате ответ шокировал, получилось 3.5 хотя должно быть 7.5. Помогите пожалуйста, ибо уже не знаю, что и где нужно поправить, чтобы получить точное значение.

Значит
Курсовая работа "Нахождение определённого интеграла методом Чебышева"

Program itsabeatifullife;
uses crt;
const n=5;
k=-0.832498; {polucheni iz tabl}
l=-0.374541;
z=0.0;
type aa=array[1..n] of real;
var x,y:aa;
f:text;
a,b,h,int:real;
{zapolnenie Xov v massive x[5]}
procedure vvod(var a,b:real; var c:aa);
var i:integer;
t:aa;
Begin
t[1]:=k;
t[2]:=l;
t[3]:=z;
t[4]:=l;
t[5]:=k;
For i:=1 to n-1 do
c[i]:=((b+a)/2+(b-a)/2*t[i]); {zapolnenia po etoi forule}
For i:=n-1 to n do
c[i]:=1 - c[n+1-i]; {a 4 and 5 po formule 1-x}
end;

{Zapolnenie Yov d massive y[5]}
procedure Raschet(var a,b:real; var x:aa; var y:aa; var int:real);
var i:integer; h:real;
Begin
int:=0;
for i:=1 to n do
y[i]:=sin(x[i]); {fucntion}
h:=(b-a)/n;
For i:=1 to n do
int:=int+y[i]*h;
end;

BEGIN
clrscr;
writeln('Kursovay rabota- Raschet integrala methodom Chebisheva ');
writeln('Nachalo ');
writeln('VVedite granichy integrorivania a,b');
readln(a,b);
vvod(a,b,x);
Raschet(a,b,x,y,int);
{Delaem zapis v file}
Assign(f, 'p1.txt');Rewrite(f);
writeln(f,int);
close(f);
writeln(int);
readkey;
end.


А мой преподователь просит найти интеграл от х( нижней границей интегрирования 1 и верхней 4), то есть если вспомнить математику получаем x*x/2. Затем подставляем границы, получается (4*4/2)-(1*1/2)=8-1/2=7.5 .
А по моей програме получается, что заменяя y[i]:=sin(x[i]) на y[i]:=x[i] и затем вводя a=1 b=4 получается значение 3.5 ((
Что делать с этим я не знаю....

Автор: Kalipsoo 20.12.2007 14:16

Ок, так никто не помогает. Формулирую вопрос по-другому. У кого-нибудь есть нормальная теория по матетамтике, касательно метода Чебышева. В основном интересуют формулы с ракладкой"что какая букавка значит". Просьба в поисковик не отправлять, я уже там посмотрел.
И ещё вопрос. Если кто знаком с этим методом, объясните мне, как высчитывается t(t-итое),для произвольной функции.

Заранее спасибо....

Автор: Lapp 20.12.2007 14:43

Цитата(Kalipsoo @ 20.12.2007 10:16) *

нормальная теория по матетамтике, касательно метода Чебышева.

Я понимаю, что тебя в конечном итоге интересует программа, но все же советую тебе спросить это в разделе Математика.. А потом вернешься сюда.

Автор: volvo 20.12.2007 14:44

Посмотри приложенную вот тут программу: http://alglib.sources.ru/integral/chebyshev.php , там как раз без лишних наворотов все делается...