ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.11.2023
Просмотров: 14
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Федеральное государственное автономное образовательное учреждение
высшего образования
Национальный исследовательский ядерный университет "МИФИ"
____________________________________________________
НОВОУРАЛЬСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ
Кафедра Автоматизации управления
Лабораторная работа №6
Вариант – 9
по дисциплине «Вычислительные методы и решения инженерных задач»
по теме «Аппроксимация нелинейной зависимостью»
Исполнители: студенты Рыжков П.А. ___________
группа ЭН-21Д
Руководитель: Орлова И.В.
___________
Новоуральск 2023
1. Задание
В задаче необходимо:
-
свести исходную зависимость y = f (x) к линейной; -
методом наименьших квадратов найти параметры полученной линейной
зависимости для заданных опытных данных {xi ,yi }, i= 1, 2, 3;
-
вычислить коэффициенты с и d исходной зависимости; -
вычислить сумму квадратов отклонений исходной зависимости от опытных данных.
, | x | 0.1 | 0.3 | 0.5 |
y | 14.35 | 36.45 | 92.63 |
2. Блок схема алгоритма
| |
3.Текст программы
program Lab6;
const n=3;
type mas=array[1..3] of real;
var i:byte;
c,d,a,b,f:real;
x,y,z,t:mas;
{------------------------------------------------------}
procedure APPROXIM(x,y:mas; n:integer; var a,b:real);
var i:byte;
p,q,w,v:real;
begin
p:=0; q:=0;v:=0;w:=0;
for i:=1 to n do
begin
p:=p+x[i];
v:=v+y[i];
q:=q+x[i]*x[i];
w:=w+x[i]*y[i];
end;
a:=(w*n-p*v)/(q*n-p*p);
b:=(v-a*p)/n;
end;
{------------------------------------------------------}
begin
x[1]:=0.1; x[2]:=0.3; x[3]:=0.5;
y[1]:=14.35; y[2]:=36.45; y[3]:=92.63;
for i:=1 to n do
begin
z[i]:=ln(y[i]);
t[i]:=x[i];
end;
APPROXIM(t,z,n,b,a);
c:=exp(a);
d:=4*b/ln(10);
f:=0;
for i:=1 to n do f:=f+sqr((c*exp(ln(10)*((d/4)*x[i])))-y[i]);
f:=sqrt(f);
writeln('c=',c:3:2,' d=',d:3:2,' f=',f:3:8);
end.
4. Данные для тестирования
Ввод:
, | x | 0.1 | 0.3 | 0.5 |
y | 14.35 | 36.45 | 92.63 |
Ответ:
c = 9.00; d = 8.10; f = 0.00950149