Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Задача по С++

290
14 января 2013 года
Patr1ot
458 / / 09.02.2008
Добрый день!
Ткните носом как это решать пожалуйста:
9. Разработать алгоритм интерполяции значений функции методом сплайнов. В качестве тестового примера использовать функцию Рунге.

Алгоритм интерполяции значений функции методом сплайна нашел, как сделать ее работу через функцию Рунге?

Код:
cout.setf(ios::left);
 int i, n;
double max,max2,dK,oc,x1,A,B,h,x[N],a[N],b[N],c[N],d[N],y[N],mu[N],m[N],S3[N];
A=0;
B=3.141592653589;
max=0;
max2=0;
  cout<<"============================================================="<<endl;
  cout<<"|   n    |      max      |     d ocenka  |         dk       |  "<<endl;
 for(n=5;n<=10240;n=2*n)
 {h=(B-A)/n;
  for(i=0; i<=n; i++)
  x[i]=A+i*h;
  a[0]=a[n]=1;
  b[0]=c[n]=0;
  d[0]=-sin(A);
  d[n]=-sin(B);
  for(i=1; i<n; i++)
    { a[i]=2*h/3;
       b[i]=h/6;
       c[i]=h/6;
       d[i]=(sin(x[i+1])-2*sin(x[i])+sin(x[i-1]))/h;
     }
  y[0]=-b[0]/a[0];
  mu[0]=d[0]/a[0];
  for(i=1; i<=n; i++)
     { y[i]=-b[i]/(a[i]+c[i]*y[i-1]);
       mu[i]=(d[i]-c[i]*mu[i-1])/(a[i]+c[i]*y[i-1]);
     }
  m[n]=mu[n];
  for(i=n-1; i>0; i--)
     m[i]=y[i]*m[i+1]+mu[i];
  for(i=1; i<=n; i++)
    {x1=x[i-1]+h/2;
     S3[i]=((x[i]-x1)*sin(x[i-1])+(x1-x[i-1])*sin(x[i]))/h+(pow((x[i]-x1),3)-h*h*(x[i]-x1))*m[i-1]/(6*h)+(pow((x1-x[i-1]),3)-h*h*(x1-x[i-1]))*m[i]/(6*h);
    }
  max=fabs(S3[1]-sin(x[0]+h/2));
  for(i=1; i<=n; i++)
     { x1=x[i-1]+h/2;
       if(fabs(S3[i]-sin(x1))>max) max=fabs(S3[i]-sin(x1));
     }
  if(n>5)
    { dK=max2/max;
      oc=max2/16;
    }
  if(n==5)cout<<"|"<<setw(8)<<n<<"|"<<setw(15)<<max<<"|"<<setw(15)<<"-"<<"|"<<setw(18)<<"-"<<"|"<<endl;
  if(n>5)cout<<"|"<<setw(8)<<n<<"|"<<setw(15)<<oc<<"|"<<setw(15)<<max<<"|"<<setw(18)<<dK<<"|"<<endl;
 max2=max;
}
getch();}
1
14 января 2013 года
kot_
7.3K / / 20.01.2000
ты серьезно думаешь, что кому то нечего делать, как разбираться в твоем коде, догадываясь что и как ты имел ввиду?
Вот тебе описание интерполяции в том числе и по Рунге. И впредь подобный вопросы должны располагаться в разделе для студентов.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог