Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> тригонометрическая интерполяция 
:(
    Опции темы
ePeBaH
Дата 4.12.2006, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 4.12.2006

Репутация: нет
Всего: нет



не могу разобраться в чем не правильно составил алгоритм, help me plz
забыл сказать что это четная тригонометрическая интерполяция

Код

program interpolayciay;

var yx,ab:array [1..100] of real;
    n,i,j,t:integer;
    d,res,sum,k:real;
    out:text;



procedure load_File;

var
f,bf: text;

begin

assign(f,'y.txt');
reset(f);


assign(bf,'a.txt');
reset(bf);


writeln('Vvedite n:');
read(n);

k:=0;

for i:=1 to n do
  begin
    readln(f,k);
    yx[i]:=k;
  end;

k:=0;

for i:= 1 to n do
 begin
  readln(bf,k);
  ab[i]:=k;
 end;

close(f);
close(bf);
end;



Begin
load_File;
assign(out,'out.txt');
rewrite(out);
sum:=0;

for t:=0 to 10 do
 begin

    for i:=1 to n do
        for j:=1  to n do
            if j<>i then
             sum:=sum + ab[i]*(cos(t) - cos(yx[j])) / (cos(i)-cos(j));

    writeln(out,t,' ',sum);
    writeln(sum);
 end;
readln;
end.


PM MAIL   Вверх
ePeBaH
Дата 6.12.2006, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 4.12.2006

Репутация: нет
Всего: нет



парни что никто не может помочь(((((
PM MAIL   Вверх
ePeBaH
Дата 8.12.2006, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 4.12.2006

Репутация: нет
Всего: нет



блин, я в шоке, форум программистов а нет ни одного ответа
этот вопрос сам разобрался ловите


ЗЫ проверить результат можно с помошью мат лаба, построить график по файлу out1.txt,
вот код на matlab

пользуйтесь наздоровье))

Код

function dкaw
         load out.txt
         index = 1:1:1000
         x=out(index,1)
         re_f=out(index,2)
         plot(x,2*cos(x)/5,'k-')
         plot(x,re_f,'k-') 






Код

program interpolayciay;

type
TReal1DArray = array[0..100] of real;

var
    f,x:TReal1DArray;
    n,i,j:integer;
    d,t,k,res:real;
    out:text;


function FIn( n:Integer; x:TReal1DArray; F:Treal1Darray; t:real):real;
var
tf:Treal1DArray;
i,j:integer;
begin
    for i:= 0 to n do
    tf[i]:=f[i];

    N := N-1;
    j:=0;

    while j<=n-1 do
    begin
        i:=j+1;
        while i<=n do
        begin

            tf[i] :=  ( ( cos(t)-cos(x[j]) ) *F[i] - ( cos(t) - cos(x[i]) ) *F[j]) / ( cos(x[i]) - cos(x[j]) );
            Inc(i);

        end;
        Inc(j);
    end;
    FIn:=tf[n];
end;


procedure prover;
var
prov:text;
i,j:integer;
jj:real;
begin
assign(prov,'out1.txt');
rewrite(prov);
i:=0;
while  i<10 do
begin
jj:=2*cos(i)/5;
i:=i+2;
writeln(prov,jj);
writeln(jj);
end;
close(prov);
end;

procedure load_File;

var
ff,bf: text;
begin
assign(ff,'f.txt');
reset(ff);
assign(bf,'x.txt');
reset(bf);


writeln('Vvedite n:');
read(n);

for i:=0 to n do
  begin
    readln(ff,k);
    f[i]:=k;
  end;


for i:= 0 to n do
 begin
  readln(bf,k);
  x[i]:=k;
 end;

close(ff);
close(bf);
end;



Begin
{prover;}
load_File;
assign(out,'out.txt');
rewrite(out);

t:=0;


while t<10 do
begin
res:=FIn(n,x,F,t);
t:=t+0.01;
writeln(out,t,' ',res);
writeln(res);

end;


readln;
end.

PM MAIL   Вверх
ePeBaH
Дата 10.12.2006, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 4.12.2006

Репутация: нет
Всего: нет



я извеняюсь за монолог в этой теме))) но в моюм втором коде проги есть небольшая ощибка: если вести значение точек тригонометрической функции то погрешность вычисления получается 0.1(приемлимо), а если вести какую нибудь другую(EX корень из x) то значения получаются не предсказуемые!!!! помогите разобраться, это либо теория такая или неправильно закодил алгоритм

Это сообщение отредактировал(а) ePeBaH - 10.12.2006, 01:16
PM MAIL   Вверх
antoine
  Дата 23.12.2010, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 23.12.2010

Репутация: нет
Всего: нет



Скажи пожалуйста ,я тоже с толкнулся с этой проблемой , можешь помочь ? 
Построить интерполяционный тригонометрический многочлен, аппроксимирующий функцию, заданную в точках
    таблицей значений

Вариант 1    1.00; 1.803; 3.085; 4.776; 6.434; 7.347; 7.027; 5.652; 3.897; 2.381; 1.347; 7.422; 0.419; 0.256; 0.176; 0.142; 0.136; 0.155; 0.209; 0.324; 0.554

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0514 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.