- •Требования к выполнению лабораторних работ
- •Постановка задачи
- •Содержание отчета
- •Теоретические сведения
- •Примеры выполнения заданий
- •Расчет в пакете mathcad
- •Постановка задачи
- •Содержание отчета
- •Постановка задачи.
- •Выводы. Теоретические сведения
- •Примеры выполнения заданий
- •Уточнение корня комбинированным методом.
- •Пример вычислений по методу хорд в пакете mathcad.
- •Пример реализации модифицированного метода
- •Варианты лабораторных работ
- •Лабораторная работа № 3 решение алгебраических и трансцендентных уравнений методом простой итерации
- •Постановка задачи
- •Содержание отчета
- •Постановка задачи.
- •Теоретические сведения
- •Примеры выполнения заданий
- •П ример решения трансцендентного уравнения в пакете mathcad.
- •Пример расчета в пакете matlab.
- •Встроенные функции пакетов mathcad, matlab для приближенного решения уравнений Пакет mathcad
- •Пакет matlab
- •Постановка задачи
- •Содержание отчета
- •Теоретические сведения.
- •Выводы. Теоретические сведения
- •Примеры выполнения заданий
- •Пример вычислений в пакете 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
Пример выполнения заданий
Решение системы методом простой итерации.
Необходимо привести заданную систему к виду, пригодному для применения метода итераций и метода Зейделя. Найти приближённое решение системы с помощью метода простой итерации. Вычисления прекратить при выполнении неравенств
( ).
Дана система:
;
; (5.5)
.
Система не содержит уравнений с коэффициентами, модули которых больше суммы модулей остальных коэффициентов уравнений. Путём элементарных преобразований приводим заданную систему к такому виду:
(2)+(3) ;
(2)-(1) ; (5.6)
(3)-(1) .
Перед каждым уравнением системы (5.6) указано, каким способом получено каждое уравнение этой системы из уравнений исходной системы (5.5).
Решим первое уравнение системы (5.6) относительно , второе – относительно , третье – относительно :
; ; (5.7)
.
Методы простой итерации и Зейделя применимы для решения системы (5.7). Находим приближённое решение системы методом простой итерации. Возьмём в качестве нулевого приближения столбец свободных членов:
; ; .
Подставляя , , в правую часть системы (5.7), получаем , , и т.д. Вычисления заносим в таблицу:
|
|
|
|
|
0,7504 |
-0,4004 |
1,3077 |
|
0 ,9951 |
-0,9159 |
1,7378 |
|
1,0707 |
-1,0860 |
1,9505 |
|
1,1871 |
-1,1800 |
2,0105 |
|
1,2094 |
-1,1857 |
2,0842 |
|
1,2207 |
-1,2191 |
2,0970 |
|
1,2274 |
-1,2233 |
2,1068 |
Расчеты можно закончить, так как выполняются следующие неравенства:
;
;
.
Решение системы методом простой итерации таково:
;
;
.
Пример взят из пособия С.В. Михайленко «Прикладная математика» [4].
Пример расчета в пакете mathcad.
Функция iter для приведенной системы из n линейных уравнений находит методом простой итерации вектор решений X1. В программном блоке используется В – вектор свободных членов для исходной системы, А – приведенная матрица коэффициентов, – точность, k: – счетчик количества итераций:
Программная реализация метода простой итерации для решения слау в пакете matlab.
Входные параметры: U – расширенная матрица коэффициентов, eps – требуемая точность решения.
Function res = Jakobi(U,eps);
%проверка 1
[n, m] = size(U);
if (n ~= m-1)
error ('Неверно задана система');
end;
%приведение системы к диагонально доминирующему виду
for j=1:m
for i=1:n
U1(i,j)=-U(i,j)/U(i,i);
end
end
U=U1;
%матрица А
A=U(1:n,1:m-1);
for i=1:n
A(i,i)=0;
end
%матрица B
B=-U(1:n,m);
%====================================================
%проверка 2
if rank(A) ~= rank(U)
error('Система не совместна');
end;
%вывод матриц
A
B
%сумма по строкам
norm1=zeros(n,1);
k=1;
for i=1:n
for j=1:m-1
norm1(k)=norm1(k)+abs(A(i,j));
end
if k<4
k=k+1;
end;
end
%матрица сумм по строкам
norm1;
%первая норма по строкам
max_norm1=max(norm1);
%сумма по столбцам
k=1;
norm2=zeros(n,1);
for j=1:m-1
for i=1:n
norm2(k)=norm2(k)+abs(A(i,j));
end
if k<4
k=k+1;
end
end
%матрица сумм по строкам
norm2;
%вторая норма по строкам
max_norm2=max(norm2);
%нахождение третьей нормы
%нахождение суммы элементов матрицы А
sum=0;
for i=1:n
for j=1:m-1
sum=sum+A(i,j)*A(i,j);
end
end
% третья норма
max_norm3=sqrt(sum);
%вывод значений норм матрицы А
max_norm1
max_norm2
max_norm3
%===================================================
%проверка условия сходимости метода итераций
if ( (max_norm1>1) && (max_norm2>1) && (max_norm3>1))
error('Введенная матрица не является диагонально преобладающей')
end;
%====================================================
%итерационный процесс
k=0;
X0=zeros(n,1);
X0=B;
X1=zeros(n,1);
for i=[1:n]
%нахождение суммы для Х1(i)
sum=0;
for j=[1:m-1]
sum = sum + ( A(i,j) * X0(j) );
end
X1(i)=sum + B(i);
end
while ( abs( X0(i) - X1(i) ) > eps )
X0=X1;
for i=[1:n]
%нахождение суммы для Х1(i)
sum=0;
for j=[1:m-1]
sum = sum + ( A(i,j) * X0(j) );
end
X1(i)=sum + B(i);
end
k=k+1;
end
%====================================================
%вывод вектора решений
X1
%вывод числа итераций для выполненияусловия точности
k
%=====================================================
return