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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2010, 10:07   #1
Laplas
Пользователь
 
Регистрация: 02.10.2009
Сообщений: 25
По умолчанию сплайн-интерполяция

доброго времени суток!! уважаемые, помогите код исправить, прога не правильно считает..
Код:
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
#include <conio.h>
#define n 10

double func (double x)
{
return (cos(x));
}
int main(int argc, _TCHAR* argv[])
{double x[n],y[n],xo=0.0,xf=1.0,s[n],X,h;
double A[n], B[n], pb[n],pc[n],pa[n], pd[n];
double a[n],b[n],c[n],d[n];
int i,j,k=10;
FILE *t;
h=(xf-xo)/n;
for (i=0;i<=n;i++)
{
x[i]= xo + h*i;
}
y[0]=1.;
for (i=1; i<=n; i++)
{
y[i]= func(x[i]);
}
for(i=0;i<=n;i++)
{
printf ("\n %f \t %f",x[i],y[i]);
} 
pb[1]=1.; pc[1]=0.; pa[1]=0.;pc[1]=0.; //матричные коэффициенты
for (i=2;i<=n;i++)
{
pa[i] = pc[i] = h;
pb[i]=2*h;
pd[i]= 3*( (y[i]- y[i-1])/h - (y[i-1]- y[i-2])/(2*h) );
}
A[1]=-pc[1]/pb[1]; //прогонка
B[1]= pd[1]/pb[1];

for(j=2;j<n;j++)
{
A[j]=-pc[j]/(pa[j]*A[j-1] +pb[j]);
B[j]=(pd[j] - pa[j]*B[j-1])/(pa[j]*A[j-1] +pb[j]);
}
c[k]=(pd[k]-pa[k]*B[k-1])/(pb[k]+pa[k]*A[k-1]);
for (i=k-1; i>=1; i--)
{
c[i]=A[i]*c[i+1]+B[i];
}
for(i=1;i<=n;i++)
{
a[i]= y[i-1];
d[i]= (c[i+1]-c[i])/3.;
b[i]= (y[i]- a[i]-3/c[i]*h*h-d[i]*h*h*h)/h;
}

for(j=1; j<=n; j++)
{X = x[j];
s[j]= a[j] +b[j]*(X-x[j-1])+c[j]*(X-x[j-1])*(X-x[j-1])+d[j]*pow((X-x[j-1]),3);
printf ("\n %f ",s[j]);
}
t = fopen("text.txt","wt");
for (i=1; i<n; i++)
{
fprintf(t,"\n%f \t%f \t%f",x[i],y[i],s[i]);
}
fclose(t);
getch();
return 0;
}
Laplas вне форума Ответить с цитированием
Старый 12.05.2010, 12:46   #2
mrChester
Я
Форумчанин
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Сообщений: 693
По умолчанию

Ты бы хоть коментарии написал, как в этом рабираться? Что именно неправильно считает? Границы интерполирования?
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.
mrChester вне форума Ответить с цитированием
Старый 12.05.2010, 15:09   #3
Alex_sim
Форумчанин
 
Аватар для Alex_sim
 
Регистрация: 18.02.2010
Сообщений: 164
По умолчанию

Оформи хорошо код,а то не разобрать
и напиши что не правильно считает))
Alex_sim вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интерполяция изображений(Сплайн интерполяция)?????) Danyla Помощь студентам 0 13.04.2010 09:08
интерполяция Laplas Общие вопросы C/C++ 6 06.03.2010 12:03
Помогите разобраться со сплайн-интерполяцией! SStone Microsoft Office Excel 1 04.12.2008 00:00