жизнь аутиста (2) (Лабораторные + чутка типовых за 1-2 семеcтр)
Описание файла
Файл "жизнь аутиста (2)" внутри архива находится в следующих папках: Лабораторные + чутка типовых за 1-2 семеcтр, 1 сем. Документ из архива "Лабораторные + чутка типовых за 1-2 семеcтр", который расположен в категории "". Всё это находится в предмете "математические модели физических процессов" из 2 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. .
Онлайн просмотр документа "жизнь аутиста (2)"
Текст из документа "жизнь аутиста (2)"
Национальный исследовательский университет
«Московский энергетический институт»
Кафедра математического моделирования
Лабораторная работа №3
Решение СЛАУ прямыми методами. Теория возмущений
Группа: ТФ-13-14
Студент: Панфилов Д.С.
Вариант №30
Преподаватель: Амосова О.А.
Москва 2015
Задача 3.2. Дана матрица Найти число обусловленности матрицы в зависимости от порядка матрицы.
|
| Метод |
3.2.30 | 3.2 | LU-разложение |
Элементы матрицы вычисляются по формуле:
|
|
3.1.30 |
|
Решение задачи:
Задача 5.2 Дана функция . Приблизить функцию методом интерполяции, используя многочлен Лагранжа . Степень многочлена N подобрать таким образом, чтобы максимальная величина погрешности на отрезке не превышала заданной величины . Используя встроенную процедуру cspline , приблизить функцию кубическим сплайном S при числе отрезков N, найденном выше. Построить графики многочлена, сплайна, точечный график исходной функции и графики погрешностей. Затем решить ту же задачу для функции
Решение задачи.
1.Зададим функцию на отрезке [-5;5] и начальную степень многочлена N=30
2. Составим таблицу значений функций в (N+1) точке отрезка [-5;5] с постоянным шагом
3. Напишем процедуру, выполняющую вычисление значения многочлена Лагранжа степени n в произвольной точке t отрезка [a;b]
4. Применим заданную процедуру для нашей таблицы значений и построим график исходной функции и приближающего многочлена Лагранжа степени n=30
5. Сформируем массив погрешности интерполяции RL, построим график его функции и найдем максимальное значение погрешности в этом массиве . Если значение max будем превосходить заданную погрешность eps=0.001 , подобрать минимальное значение N, при котором многочлен Лагранжа , будет приближать с данной точностью.
RL=|F-Ln| max(RL)=0.007
В ходе выборки было получено минимальное значение n=47, при котором
Max(RL)=7.919^10(-5)
6. Используя встроенную процедуру cspline, вычислим массив значений сплайна PS=S(x) при n=47.
7. Построим графики функций RL и RS
В итоге получено, что многочлен Лагранжа приближает функцию с более высокой точностью, чем встроенная процедура Mathcad’а.
Задача 5.3 Найти точки минимума и максимума многочлена Лагранжа из задачи 5.2 с точностью eps=0.001 методом золотого сечения.
Теоретические основы
Решение задачи.
-
Составим процедуру определения значения приближающего многочлена Лагранжа для заданной таблицы значений x/y в точке t .
-
Запрограммируем алгоритм для нахождения максимума и минимума методом золотого сечения.
-
Протабулируем функцию на отрезке
В итоге получим 2 отрезка унимодальности функции. [-5,0]; [0,5].
Для 1 отрезка с E=0.001.
Min= -5
Max=0
Для 2 отрезка
Min=0
Max=5
Функция достигает своего максимума и минимума в концах отрезка
-
Проверим результаты эксперимента.
Построим график функции многочлена Лагранжа и применим стандартные процедуры для нахождения минимального и максимального значения на отрезке [-5,5]
-
Текст программы.
Program Lab_5_2;
Uses crt;
Type vec=array[1..47] of real;
var y,x:vec;
an,bn,h,f1,f2,MAX,MIN,x1,x2,a,b,eps:real;
i,j,n:integer;
Function F(var x,y:vec;n:integer;t:real):real;
var i,j:integer;
p,s:real;
begin
s:=0;
For i:=0 to n do
begin
P:=1;
For j:=0 to n do
begin
If i<>j then
begin
P:=P*((t-x[j+1])/(x[i+1]-x[j+1]));
end;
end;
S:=S+y[i+1]*P;
end;
F:=s;
end;
BEGIN
n:=46;
writeln('Vvedit a,b,Eps');
readln(a,b,eps);
writeln;
an:=a;
bn:=b;
h:=(b-a)/n;
For i:=0 to n do
begin
x[i+1]:=a+i*h;
y[i+1]:=exp(sin(x[i+1])*ln(0.7))*x[i+1];
end;
x1:=a+(2/(3+sqrt(5)))*(b-a);
x2:=a+(2/(1+sqrt(5)))*(b-a);
f1:=F(x,y,n,x1);
f2:=F(x,y,n,x2);
While abs((b-a))>=eps do
begin
If f1 > f2 then
begin
a:=x1;
x1:=x2;
f1:=f2;
x2:=a+(2/(3+sqrt(5)))*(b-a);
f2:=F(x,y,n,x2);
end
else
begin
a:=x2;
x2:=x1;
f2:=f1;
x1:=a+(2/(1+sqrt(5)))*(b-a);
f1:=F(x,y,n,x1);
end;
end;
MAX:=b;
a:=an;
b:=bn;
x1:=a+(2/(3+sqrt(5)))*(b-a);
x2:=a+(2/(1+sqrt(5)))*(b-a);
f1:=F(x,y,n,x1);
f2:=F(x,y,n,x2);
While abs(b-a) >= eps do
begin
If f1 < f2 then
begin
b:=x2;
x2:=x1;
f2:=f1;
x1:=a+(2/(3+sqrt(5)))*(b-a);
f1:=F(x,y,n,x1);
end
else
begin
b:=x1;
x1:=x2;
f1:=f2;
x2:=a+(2/(1+sqrt(5)))*(b-a);
f2:=F(x,y,n,x2);
end;
end;
min:=b;
writeln('Max na otrezke ':10,max);
writeln('Min na otrezke ' :10,min);
END.