Лабораторная работа
«Аппроксимация методом наименьших квадратов функции заданной таблицей на Паскале (Pascal)»
- 9 страниц
1. Постановка задачи 3
2. Схема алгоритма. 4
3. Текст программы на Паскале 5
4. Результаты расчёта 8
5. Вывод 8
6. Список литературы 9
1. Постановка задачи
Функция y=f(x) задана таблицей 1
Таблица 1
Исходные данные.
Требуется аппроксимация по методу наименьших квадратов функции заданной таблицей 1.
2. Схема алгоритма.
Pascal.
3. Текст программы на Паскале
program apr;
const
n=12;
type
TArrayXY = array[1.2,1.n] of real;
TArray = array[1.n] of real;
var
SumX,SumY,SumX2,SumXY,SumX3,SumX4,SumX2Y,SumLnY,SumXLnY: real;
OPRlin,OPRkvadr,OPRa1,OPRa2,OPRa3:real;
a1lin,a2lin,a1kvadr,a2kvadr,a3kvadr,a1exp,a2exp,cexp:real;
Xsr,Ysr,S1,S2,S3,Slin,Skvadr,Sexp:real;
Kkor,KdetLin,KdetKvadr,KdetExp:real;
i:byte;
const
ArrayXY:TArrayXY=(( begin
SumX:=0.0;
SumY:=0.0;
SumXY:=0.0;
SumX2:=0.0;
SumX3:=0.0;
SumX4:=0.0;
SumX2Y:=0.0;
SumLnY:=0.0;
SumXLnY:=0.0;
{ Вычисление сумм x, y, x*y, x^2, x^3, x^4, (x^2)*y, Ln(y), x*Ln(y) }
for i:=1 to n do
begin
.
.
SumLnY:=SumLnY+ln(ArrayXY[2,i]);
SumXLnY:=SumXLnY+ArrayXY[1,i]*ln(ArrayXY[2,i])
end;
{ Вычисление коэффициентов }
OPRlin:=0.0;
a1lin:=0.0;
a2lin:=0.0;
a1kvadr:=0.0;
OPRkvadr:=0.0;
a2kvadr:=0.0;
a2kvadr:=0.0;
a1exp:=0.0;
a2exp:=0.0;
OPRlin:=n*SumX2-SumX*SumX;
a1lin:=(SumX2*SumY-SumX*SumXY)/OPRlin;
a2lin:=(n*SumXY-SumX*SumY)/OPRlin;
OPRkvadr:=n*SumX2*SumX4+SumX*SumX3*SumX2+SumX2*SumX*SumX3- SumX2*SumX2*SumX2-n*SumX3*SumX3-SumX*SumX*SumX4;
a1kvadr:=(SumY*SumX2*SumX4+SumX*SumX2Y*SumX3+SumX2*SumXY*SumX3- SumX2*SumX2*SumX2Y-SumY*SumX3*SumX3-SumX*SumXY*SumX4)/OPRkvadr;
a2kvadr:=(n*SumXY*SumX4+SumY*SumX3*SumX2+SumX2*SumX*SumX2Y-SumX2*SumX2*SumXY-n*SumX3*SumX2Y-SumY*SumX*SumX4)/OPRkvadr;
a3kvadr:=(n*SumX2*SumX2Y+SumX*SumXY*SumX2+SumY*SumX*SumX3-SumY*SumX2*SumX2-n*SumXY*SumX3-SumX*SumX*SumX2Y)/OPrkvadr;
a2exp:=(n*SumXLnY-SumX*SumLnY)/OPRlin;
cexp:=(SumX2*SumLnY-SumX*SumXLnY)/OPRlin;
a1exp:=exp(cexp);
{ Вычисление средних арифметических x и y }
Xsr:=SumX/n;
Ysr:=SumY/n;
S1:=0.0;
S2:=0.0;
S3:=0.0;
Slin:=0.0;
Skvadr:=0.0;
Sexp:=0.0;
Kkor:=0.0;
KdetLin:=0.0;
KdetKvadr:=0.0;
KdetExp:=0.0;
for i:=1 to n do
begin
S1:=S1+(ArrayXY[1,i]-Xsr)*(ArrayXY[2,i]-Ysr);
S2:=S2+sqr(ArrayXY[1,i]-Xsr);
S3:=S3+sqr(ArrayXY[2,i]-Ysr);
Slin:=Slin+sqr(a1lin+a2lin*ArrayXY[1,i]-ArrayXY[2,i]);
Skvadr:=Skvadr+sqr(a1kvadr+a2kvadr*ArrayXY[1,i]+a3kvadr*ArrayXY[1,i]*ArrayXY[1,i]-ArrayXY[2,i]);
Sexp:=Sexp+sqr(a1exp*exp(a2exp*ArrayXY[1,i])-ArrayXY[2,i]);
end;
{ Вычисление коэффициентов корреляции и детерминированности }
Kkor:=S1/sqrt(S2*S3);
KdetLin:=1-Slin/S3;
KdetKvadr:=1-Skvadr/S3;
KdetExp:=1-Sexp/S3;
{ Вывод результатов }
.
WriteLn('Коэффициент детерминированности (квадратическая аппроксимация) ',KdetKvadr:2:5);
end.
4. Результаты расчёта
Квадратичная функция
a1= 9.02747
.
.
Коэффициент корреляции -0.98381
Коэффициент детерминированности (квадратическая аппроксимация) 0.99769
5. Вывод
Программа работает верно. Полученные результаты удовлетворяют требованию.
1. Бородич Ю.С. и др. Паскаль для персональных компьютеров: Справ. Пособие / Ю.С.Бородич, А.Н.Вальвачев, А.И.Кузьмич. – Мн.: Выш. шк.: БФ ГИТМП «НИКА», 1991. – 365 с.
2. Вальвачев А.Н., Крисевич В.С. Программирование на языке Паскаль для персональных ЭВМ ЕС: Справ. пособие. – Мн.: Выш.шк., 1989. – 223 с.: ил.
3. Офицеров Д.В. и др. Программирование на персональных ЭВМ: Практикум: Учеб. Пособие / Д.В.Офицеров, А.Б. Долгий, В.А.Старых; Под общ. ред. Д.В.Офицерова. – Мн.: Выш.шк., 1993. – 256 с.
4. Немнюгин С.А. Turbo Pascal: практикум – СПб: Питер, 200. – 256 с.:ил.
5. Пантелеева З.Т. Графика вычислительных процессов: Учеб.пособие. – М.: Финансы и статистика, 1983. – 167 с., ил.
6. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. – М.: «Нолидж», 1997. – 616 с., ил.
7. Фигурнов В.Э. IBM PC для пользователя. Изд. 7-е, перераб. и доп. – М.: ИНФРА – М, 1997. – 640 с.: ил.
Готовые решение задачи на языке Паскаль
К работе прилагается все исходники (Pascal) и отчет (Word)
Тема: | «Аппроксимация методом наименьших квадратов функции заданной таблицей на Паскале (Pascal)» | |
Раздел: | Информатика | |
Тип: | Лабораторная работа | |
Страниц: | 9 | |
Цена: | 600 руб. |
Закажите авторскую работу по вашему заданию.
- Цены ниже рыночных
- Удобный личный кабинет
- Необходимый уровень антиплагиата
- Прямое общение с исполнителем вашей работы
- Бесплатные доработки и консультации
- Минимальные сроки выполнения
Мы уже помогли 24535 студентам
Средний балл наших работ
- 4.89 из 5
написания вашей работы
682 автора
помогают студентам
23 задания
за последние сутки
10 минут
среднее время отклика
Курсовая работа
«Аппроксимация табличных данных алгебраическими полиномами методом наименьших квадратов (Pascal)»Лабораторная работа
«Метод половинного деления на Паскале (Pascal)»Шпаргалка
«Вопросы ГАК»Лабораторная работа
«Метод метода хорд и касательных на Паскале (Pascal)»Дипломная работа
«Совершенствование лексических навыков на основе использования функционально-смысловых таблиц на младшем этапе обучения иностранному языку»