endarrow="block">
arg (m, j) = (arg (m, j)-s)/arg (m, m)
v: stroke>
Рис.14. Блок-схема алгоритму функції В«holessВ»
В
Текст програми реалізує апроксимацію методом найменших квадратів
// min_square.cpp: main project file.
# include "stdafx.h"
# include
# include
# include
# include
# define size 20
using namespace System;
using namespace std;
// оголошення прототипів функцій
void matrix (double [] [size], int, double []);/* обчислює значення матриці методом Холесского, включає в себе дві функції: holess, і res */
void holess (double [] [size], int);
void res (double [] [size], int, double []);
// функція побудови матриці Грама
void gram (double [] [size], double [] [size], int, double [] [size]);
// початок основної програми
int main ()
{
/* оголошені змінні: в масиви "х" і "у" накопичуються табличні значення аргументів і функції. У масив "з" зберігаються значення коефіцієнтів (результат рішення матриці Грама). Масив "а" зберігає матрицю Грама, "у1"-значення функції, отримані шляхом обчислення апроксимує многочлена. s-зберігає проміжні результати обчислення функції апроксимується многочленом. р-невязка.n-кількість табличних значень аргументів */
В
double x [size] [size], y [size] [size], c [size], a [size] [size], y1 [size], s, p;
int n;
cout <<"Enter quantity of knots of interpolation N =";// введення n
cin>> n;
cout <В
for (int i = 1; i <= n; i + +)// початок циклу вводу табличних значень
{
cout <<"Inter x (" <
cin>> x [i] [1];/* табличні значення аргументу зберігаються в першому
стовпці багатовимірного масиву "х" */
for (int j = 0; j <= (n-1); j + +)
x [i] [j] = pow (x...