Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Maxim Lanovoy                        2:463/1124.6   28 Nov 2001  11:54:08
 To : Maksim Zhukov
 Subject : Кусочно-линейная апpоксимация.
 -------------------------------------------------------------------------------- 
 
  MZ> Если у кого завалялись исходники сабжевой тематики, буду очень
  MZ> благодаpен...
 
 НННННННННН Hачало lab4.cpp НННННННННН
 #include <iostream.h>
 #include <math.h>
 #include <conio.h>
 #include <process.h>
 #include <stdlib.h>
 
 const n = 5;
 float const a = 2;
 float const b = 4;
 float const H = (b-a)/n;
 
 float x[n+1], y[n+1];
 float A1, A0;              // коэффициенты полинома
 
 float g(float XR);
 float fx(float XR);
 
 void make_table()
 {
  for (int i=0; i<=n; i++)
  {
   x[i] = a+i*H;            // вычисляем x
   y[i] = fx(x[i]);         // вычисляем f(x[i])
  }
 
  g(0.2);
  cout<<"Коэффициенты полинома для отрезка [0,2]\n";
  cout<<"A0="<<A0<<",  A1="<<A1<<endl<<endl;
  for (i=0; i<=n; i++)
  {
   g(x[i]+0.2);
   cout<<"Коэффициенты полинома для отрезка ["<<x[i]<<',';
   if (i!=n)
    cout<<x[i+1]<<']';
   else
    cout<<"inf)";
   cout<<"\nA0="<<A0<<",  A1="<<A1<<endl<<endl;
  }
 }
 
 float fx(float XR)
 {
  return sqrt(XR)-cos(3*XR);
 }
 
 inline float a1(int k)
 {
  return (y[k] - y[k-1])/(x[k] - x[k-1]);
 }
 
 inline float a0(int k)
 {
  return y[k-1] - x[k-1]*A1;
 }
 
 float g(float XR)
 {
  if (XR>=0)
  {
   for(int i=1; i<=n; i++)
    if (XR > x[i-1] && XR < x[i])
    {
       A1 = a1(i);
       A0 = a0(i);
    }
   if (XR < x[0])
   {
    A1 = a1(1);
    A0 = a0(1);
   }
   if (XR > x[n])
   {
    A1 = a1(n);
    A0 = a0(n);
   }
   return A0+A1*XR;
  }
  else
  cerr<<"\nОшибочное значение переменной x (x<0)!\n";
 }
 
 void main()
 {
  clrscr();
  make_table();
  cout<<"Hажмите любую клавишу для продолжения.";
  getch();
 }
 НННННННННН Конец lab4.cpp НННННННННН
 
 ---
  С уважением, Максим Лановой (*mailto:* maxim(_*at_*)lanovoy.kiev.ua)
                                     lanovoy(_*at_*)ln.ua
 
 --- np: Blind Guardian - Winter Of Souls [Demons&Wizards]
  * Origin: [*Ария*] [*Hаутилус*] [*Blind Guardian*] [*Queen*] (2:463/1124.6)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Кусочно-линейная апpоксимация.   Maksim Zhukov   26 Nov 2001 16:46:52 
 Кусочно-линейная апpоксимация.   Maxim Lanovoy   28 Nov 2001 11:54:08 
 Кусочно-линейная апpоксимация.   Maksim Zhukov   02 Dec 2001 13:51:00 
Архивное /ru.algorithms/33223c04c342.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional