|
|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/33223c04c342.html, оценка из 5, голосов 10
|