Построение кубического сплайна функцииПлан 1 вывод расч тных формул 2 текст программы 3 тестирование.Текст программы. include lt iostream.h gt include lt fstream.h gt include lt conio.h gt include lt math.h gt include lt dos.h gt include mat vec.h классы для работы с матрицами и векторами include progonka.h решение системыур-ний для 3-х диагональных матриц include funct.h второстепеннные функции программы рисование и т.д. корень программыvoid spline float step,int dop, int n, double amp x,double amp y,double
amp x1,double amp y1 int k 0 matrica Sp n,n-1 for int i 1 i lt n-1 i Sp i,n 3 y i-1 - 2 y i y i 1 pow step,2 Sp i,i 4 if i lt n-1 Sp i,i 1 1 if i gt 1 Sp i,i-1 1 float tmp progonka Sp,tmp решение системы уравнений методом прогонки см. файл progonka.h vectora n ,b n 1 ,c n ,d n вычисление коэф-тов многочленов b 1 0 b n 1 0 for int index 0 index lt n-1 index b index 2 tmp index delete tmp
for i 1 i lt n i d i y i-1 a i b i 1 - b i -3 step c i y i -d i - pow step,2 b i pow step,3 a i -step i 0 построениеграфика сплайна при помощи полученный коэф-тов см. выше for i 0 i lt n i for int j 0 j lt dop j x1 k x i j step dop y1 k pow x i -x1 k ,3 a i 1 pow x i -x1 k ,2 b i 1 x i -x1 k c i 1 d i 1 k x1 n dop x n y1 n dop y n void main intn,dop double step cout lt lt Введите количество интервалов cin gt gt n cout lt lt
Введите количество доп. т. на интервале cin gt gt dop cout lt lt Введите шаг интервала cin gt gt step dop double x, y, x1, y1 initial x,y,x1,y1,n,dop int i 0 while i lt n 1 расч тпервоначальных значений функции x i i-n 2 step y i cos x i pow x i ,2 i spline step,dop, n, x,y,x1,y1 init interface n, dop,x,y,x1,y1 delete x,y,x1,y1 closegraph ifndef FUNCT H define FUNCT H include lt graphics.h gt инициализация графикиvoid init int
D,M D DETECT M 5 initgraph amp D, amp M, рисование графикафункции и сплайнаvoid paint int Fx,intFy,int key,int n, int dop, double amp x,double amp y,double amp x1,double amp y1 int i 0, a, b a getmaxx 2 b getmaxy 2 setfillstyle 0,0 bar 0,0,a 2 1,b 2 1 setcolor 5 if key 1 key 3 while i lt n line x i Fx a, -y i Fy b, x i 1 Fx a, -y i 1 Fy b i i if key 2 key 3 i 0 setcolor 3 while i lt n dop line x1 i Fx a, -y1 i Fy b, x1 i 1 Fx a, -y1 i 1 Fy b i i setcolor 10 line getmaxx 2,0,getmaxx 2,getmaxy
line 0,getmaxy 2,getmaxx ,getmaxy 2 функция дляприближения удаления и масштабирования по осям графиковvoid interface int n, intdop, double amp x, double amp y,double amp x1, double amp y1 int c 16, z 16 char key 0 while key ! 27 if key 75 c c 4 if key 72 z z 4 if key 77 c c-4 if key 80 z z-4 if key 45 z z-4 c c-4 if key 61 z z 4 c c 4 if c lt 0 c 0 if z lt 0 z 0 if key s paint c,z,2,n,dop,x,y,x1,y1 else if key f paint c,z,1,n,dop,x,y,x1,y1 else paint c,z,3,n,dop,x,y,x1,y1 key getch
Инициализациядинамических массивовvoid initial double amp x,double amp y,double amp x1,double amp y1, int n, int dop x new double n 1 y new double n 1 for int i 0 i lt n 1 i y i 0 x i 0 x1 new double n dop 1 y1 new double n dop 1 for i 0 i lt n dop 1 i x1 i 0 y1 i 0 endif ifndef MAT VEC H define MAT VEC H include lt stdlib.h gt include lt iostream.h gt класс матрицclass matrica public const int Column, String кол-во столбцов и строк матрицы matrica int column, int string matrica
private float WW matrica const matrica amp rhs matrica amp operator const matrica amp rhs public float amp operator int i, int j friend ostream amp operator lt lt ostream amp out, constmatrica amp matr friend istream amp operator gt gt istream amp in, constmatrica amp matr конструкторmatrica matrica intcolumn, int string Column column , String string WW new float string if !WW cout lt lt n Не хватаетпамяти конструктору matrica n exit
EXIT FAILURE for int i 0 i lt string i WW i new float column if !WW i cout lt lt n Не хватает памятиконструктору matrica n exit EXIT FAILURE for int j 0 j lt column j WW i j 0 деструкторmatrica matrica for int i 0 i lt String i delete WW i delete WW операция доступа кэлементуfloat amp matrica operator int i, int j if i gt 0 amp amp i lt String amp amp j gt 0 amp amp j lt
Column return WW i - 1 j - 1 else cout lt lt n Ошибка доступа кэлементу lt lt i lt lt , lt lt j lt lt ! n exit EXIT FAILURE вывод матрицы в потокostream amp operator lt lt ostream amp out, matrica amp WW for int i 1 i lt WW.String i for int j 1 j lt WW.Column j out lt lt WW i, j lt lt out lt lt endl return out lt lt ввод матрицы из потокаistream amp operator gt gt istream amp in, matrica amp WW for int i 1 i lt
WW.String i for int j 1 j lt WW.Column j in gt gt WW i, j return in класс векторовclass vector public vector int column vector const int Column кол-во элементов вектора private float vect vector constvector amp rhs vector amp operator const vector amp rhs public float amp operator int i friend ostream amp operator lt lt ostream amp out, const vector amp vec friend istream amp operator gt gt istream amp in, const vector amp vec кнструктор vectorvector vector intcolumn
Column column vect new float column if !vect cout lt lt endl lt lt n Нехватает памяти конструктору vector! n exit EXIT FAILURE for int i 0 i lt Column i vect i 0 деструкторvector vector delete vect операция доступа кэелементуfloat amp vector operator int i if i gt 0 amp amp i lt Column return vect i - 1 else cout lt lt n Ошибка доступа к элементу вектора - lt lt i exit
EXIT FAILURE вывод вектора в потокostream amp operator lt lt ostream amp out, vector amp vec for int i 1 i lt vec.Column i out lt lt vec i lt lt return out lt lt endl ввод вектора из потокаistream amp operator gt gt istream amp in, vector amp vec for int i 1 i lt vec.Column i in gt gt vec i return in endif ifndef PROGONKA H define PROGONKA H include mat vec.h int progonka matrica amp mat, float amp x x new float mat.
String if !x return 0 int i, y mat.Column, n mat.String vector h n , d n d 1 - mat 1, 2 mat 1, 1 h 1 mat 1, y mat 1,1 for i 2 i lt n - 1 i d i mat i, i 1 mat i, i-1 d i-1 -mat i, i h i mat i, y -mat i,i-1 h i-1 mat i,i-1 d i-1 mat i, i h n mat n, y -mat n,n-1 h n-1 mat n,n-1 d n-1 mat n, n x n-1 h n for i n - 1 i gt 1 i x i - 1 d i x i h i return 1 endifТестирование Зеленымцветом график функции построенный в пределе от 5 до 5, с шагом 1.Краснымцветом график сплайна,
полученный при интерполировании исходного графика,прич м дополнительно построено всего 3 точки на каждом интервале.
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |
Реферат | Радиационная защита предприятия |
Реферат | 1984 Essay Research Paper In George Orwell |
Реферат | Сигиберт Хромой |
Реферат | Кнессет |
Реферат | Испанский язык в США |
Реферат | Финансовый менеджмент и ПК |
Реферат | Деспио Шарль |
Реферат | Бек-Назаров, Амбарцум Иванович |
Реферат | Ибрагим-паша |
Реферат | Клин – один из древнейших городов России |
Реферат | Насер, Гамаль Абдель |
Реферат | Неграждане Эстония |
Реферат | Позитивная социология Огюста Конта |
Реферат | Оттар |
Реферат | Сигиберт I |