- •Требования к выполнению лабораторних работ
- •Тема 1. Аппроксимация функций по методу наименьших квадратов (мнк)
- •Лабораторная работа № 1
- •Метод наименьших квадратов
- •В случае аппроксимации полиномами
- •Теоретические сведения
- •Лабораторная работа № 2
- •Определить невязки аппроксимации.
- •Проверить вычисления с помощью встроенных функций.
- •Варианты лабораторных работ
- •Тема 2. Численное интегрирование. Приближенное вычисление определенного интеграла Лабораторная работа № 3 Приближенное вычисление определенных интегралов»
- •Теоретические сведения.
- •1. Методы прямоугольников.
- •2. Метод трапеций.
- •3. Метод Симпсона.
- •4. Апостериорные оценки погрешностей по Рунге и Эйткену.
- •Вычисление определенного интеграла с помощью встроенной функции.
- •Программный блок, реализующий приближенное вычисление определенного интеграла.
- •Программный блок вычисления апостериорных погрешностей вычислений.
- •Варианты заданий
- •Лабораторная работа № 4 Приближенное вычисление определенных интегралов
- •Содержание отчета
- •Теоретические сведения
- •Тема 3. Численное решение интегральных уравнений Лабораторная работа № 5 Приближенное вычисление интегральных уравнений Фредгольма и Вольтерра
- •Теоретические сведения.
- •Лабораторная работа № 5 метод гаусса решения систем линейных алгебраических уравнений (слау)
- •Постановка задачи
- •Содержание отчета
- •Теоретические сведения
- •Примеры выполнения заданий
- •Пример вычислений в пакете mathcad.
- •Программная реализация метода Гаусса для решения слау в пакете matlab.
- •Варианты лабораторных работ
- •Лабораторная работа № 5 итерационные методы решения системы линейных алгебраических уравнений (слау)
- •Постановка задачи
- •Содержание отчета
- •Теоретические сведения
- •Пример выполнения заданий
- •Решение системы методом простой итерации.
- •Пример расчета в пакете mathcad.
- •Программная реализация метода простой итерации для решения слау в пакете matlab.
- •Встроенные функции пакетов mathcad и matlab
- •Для приближенного решения систем линейных
- •Алгебраических уравнений
- •Пакет mathcad
- •Пакет matlab
- •Тема 3. Интерполяция и приближение полиномами Лабораторная работа № 6 интерполяционный многочлен лагранжа
- •Постановка задачи
- •Изучить теоретические сведения.
- •Теоретические сведения
- •Пример выполнения заданий
- •Построение полинома Лагранжа для таблично заданной функции.
- •Построение полинома Лагранжа в пакете mathcad.
- •Пример построения полинома Лагранжа в пакете matlab.
- •Пример использования узлов Чебышева.
- •Пример вычисления погрешности интерполирования.
- •Варианты лабораторных работ
- •Лабораторная работа № 7 интерполирование для таблиц с постоянным шагом. Численное дифференцирование. Обратное интерполирование
- •Постановка задачи
- •Содержание отчета
- •Теоретические сведения
- •Пример выполнения заданий
- •Построение первой формулы Ньютона в пакете mathcad.
- •Пример программ для вычислений по первой формуле Ньютона в matlab.
- •Обратное интерполирование с помощью полинома Ньютона в пакете mathcad.
- •Решение задачи обратного интерполирования
- •Варианты заданий
- •Лабораторная работа № 8 интерполирование кубическими сплайнами
- •Постановка задачи
- •Содержание отчета
- •Теоретические сведения
- •Пример выполнения заданий
- •Построение кубического сплайна в пакете matlab.
- •Построение кубического сплайна в пакете mathcad.
- •Варианты лабораторных работ
- •Варианты лабораторных работ (окончание)
- •Встроенные функции интерполирования Пакет mathcad
- •Пакет matlab
- •Библиографический список
- •Содержание
- •Тема 1. Приближенное решение алгебраических
- •Тема 2. Приближенное решение систем линейных
- •Тема 3. Интерполяция и приближение полиномами……50
Вычисление определенного интеграла с помощью встроенной функции.
>> syms x
>> I = double(int((x^2-6.5)/(x^3+sin(7.8*x)),3.6,5.4))
>>
I =
0.26649340577279
Программный блок, реализующий приближенное вычисление определенного интеграла.
function res = f(x);
res = (x^2+1.8)/(x^3+7.9);
end
----------------------
function res = Integral(str, a , b, n);
%str - methods name, a,b - distance, n - number of points
h = (b-a)/n;
Sum = 0;
switch (str)
case 'Simpson'
q1=0; q2=0;
for i = 1:n-1
if (mod(i,2)==1)
q1 = q1+f(a + i*h);
else q2 = q2+f(a + i*h);
end;
end;
Sum =(h/3)*( f(a) + 4*q1 + 2*q2 + f(b));
case 'Trapezium'
for i = 1:n-1
Sum = Sum + f(a + i*h);
end;
Sum = (h/2)*( f(a) + 2*Sum + f(b));
case 'LeftRectangles'
for i=1:n-1
Sum = Sum + h*f(a + i*h);
end;
Sum = h*f(a) + Sum;
case 'RightRectangles'
for i=1:n-1
Sum = Sum + h*f(a + i*h);
end;
Sum = h*f(b) + Sum;
case 'MediumRectangles'
for i=1:n
Sum = Sum + h*f(((a + (i-1)*h)+(a + i*h))/2);
end;
otherwise
error('This is impossible value')
end
res = Sum;
return
Программный блок вычисления апостериорных погрешностей вычислений.
function res = Priori_Error(str,a,b,n);
switch (str)
case 'Simpson'
R = abs(Integral(str,a,b,n)-Integral(str,a,b,0.5*n))/15;
case 'Trapezium'
R = abs(Integral(str,a,b,n)-Integral(str,a,b,0.5*n))/3;
case 'LeftRectangles'
R = abs(Integral(str,a,b,n)-Integral(str,a,b,0.5*n));
case 'RightRectangles'
R = abs(Integral(str,a,b,n)-Integral(str,a,b,0.5*n));
case 'MediumRectangles'
R = abs(Integral(str,a,b,n)-Integral(str,a,b,0.5*n))/3;
otherwise
error('This is impossible value')
end;
res = R;
return
Результаты вычислений
>> format long
>> IS = Integral('Simpson',3.6,5.4,12)
IS =
0.26649801994399
>> IT = Integral('Trapezium',3.6,5.4,12)
IT =
0.26635817701576
>> ILR = Integral('LeftRectangles',3.6,5.4,12)
ILR =
0.26584089261870
>> IRR = Integral('RightRectangles',3.6,5.4,12)
IRR =
0.26687546141281
>> IMR = Integral('MediumRectangles',3.6,5.4,12)
IMR =
0.26656137337914
>> Priori_ErrorIS = Priori_Error('Simpson',3.6,5.4,12)
Priori_ErrorIS =
1.040388407134533e-005
>> Priori_ErrorIT = Priori_Error('Trapezium',3.6,5.4,12)
Priori_ErrorIT =
1.398429282359707e-004
>> Priori_ErrorILR = Priori_Error('LeftRectangles',3.6,5.4,12)
Priori_ErrorILR =
9.368131817630854e-004
>> Priori_ErrorIRR = Priori_Error('RightRectangles',3.6,5.4,12)
Priori_ErrorIRR =
9.775561234709462e-005
>> Priori_ErrorIMR = Priori_Error('MediumRectangles',3.6,5.4,12)
Priori_ErrorIMR =
7.211080710719149e-005
Приближенное
вычисление определенных интегралов"
Исходные
данные:
;
Промежуток
интегрирования [a,b] :
1.
Табулирование функции на заданном
промежутке [a,b].
2.
Вычисление определенного интеграла с
помощью
стандартной
функции.
3.
Программный блок, реализующий вычисление
приближенного значения определенного
интеграла. 1.
Формула Симпсона. 2.
Формула трапеций. 3.
Формула средних прямоугольников. 4.
Формула правых прямоугольников. 5.
Формула левых прямоугольников.
Результаты
вычислений для шага h и 2h
4.
Вычисление апостериорной погрешности
приближенного вычисления определенного
интеграла по формулам 1-5. Программный
блок
-g(u)
- исходная функция; -x
- вектор узловых точек; - вычисляет
значения
-ой
производной функции g(u) в
узловых
точках.
,
где
- порядок метода;
5.
Априорные погрешности приближенного
вычисления определенного
интеграла по формулам 1-5. -
g(x) - подынтегральная функция; -
x - узловые точки; -
k - порядок метода N;
