Файл: Лабораторная работа 1. 3 Основы теории погрешностей 3 Лабораторная работа 2. 11 Основы теории погрешностей 11.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.12.2023

Просмотров: 243

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Лабораторная работа №2.

«Основы теории погрешностей»

Лабораторная работа №3-4.

«Решение нелинейных уравнений»

Лабораторная работа №5.

«Решение систем линейных алгебраических уравнений»

Лабораторная работа №6.

«Метод прогонки для трехдиагональных систем»

Лабораторная работа №7.

« Использование итерационных численных методов для решения СЛАУ»

Лабораторная работа №8.

« Использование итерационных численных методов для решения СЛАУ»

Лабораторная работа №9.

«Численное решение алгебраических проблем собственных значений»

Лабораторная работа №10.

«Интерполирование. Интерполяционные формулы»

Интерполяционная схема Эйткена

Лабораторная работа №11.

« Интерполирование. Интерполяционные формулы»

Лабораторная работа №12.

«Аппроксимация, построение аппроксимирующих кривых»

Лабораторная работа 13.

«Численное дифференцирование функции. Методы дифференцирования»

Лабораторная работа №14.

« Численное интегрирование функции»

Список использованной литературы


Х5= λ5= n5=1

Х4=δ4*Х5+ λ4= d4*Х5+ n4= 0

Х3=δ3*Х4+ λ3= d3*Х4+ n3= 1

Х2=δ2*Х3+ λ2= d2*Х3+ n2=-1

Х1=δ1*Х2+ λ1= d1*Х2+ n1=1


  1. Определим невязку

>> A=[1,1,0,0,0;-1,1,-1,0,0;0,2,-2,1,0;0,0,1,-2,1;0,0,0,2,2]

>> B=[0;-3;-4;2;2]

>> X=[1;-1;1;0;1]

>> R=B-A*X

R =

0

0

0

0

0

Невязка равна нулю (т.к округлений вовремя вычислений не было) => найдено точное решение.

Содержание отчета:

1. Титульный лист.

2. Цель лабораторной работы.

3. Исходные данные, указываемые в задании и необходимые для достижения поставленной цели.

4. Расчетная часть: описание выполнения задания.

5. Выводы и анализ полученных результатов.
Контрольные вопросы:

  1. Суть метода прогонки.

  2. В каких случаях возможно решение систем уравнений методом прогонки?

  3. С помощью, какой функции в MatLab можно вычислить определитель матрицы?

  4. С помощью, какой функции в MatLab можно ввести матрицу?

  5. Что значит решить СЛАУ?

  6. Какие матрицы называются трехдиагональными?




Лабораторная работа №7.

« Использование итерационных численных методов для решения СЛАУ»



Цель работы: сформировать у студентов представление о итерационных численных методах решения СЛАУ, ознакомить с методом Якоби, научить использовать данные методы с использованием MatLab.
Задание: Решить СЛАУ методом Якоби, как в ручную, так и в MatLab. Обеспечить точность нахождения корней на уровне =10-4.
Варианты заданий:

№ варианта

Система уравнений

1



2



3



4



5



6



7



8



9



10



11



12



13



14



15





Теоретический материал:
Дана система линейных алгебраических уравнений вида:


Приведем СЛАУ к эквивалентному виду:



, .

При таком способе приведения исходной СЛАУ к эквивалентному виду метод простых итераций носит название метода Якоби.

В векторно-матричной форме

.

В качестве нулевого приближения вектора неизвестных примем вектор правых частей или . Тогда итерационный процесс будет иметь вид:



Достаточным условием сходимости является диагональное преобладание матрицы , т.е. (для каждой строки матрицы модули элементов, стоящих на главной диагонали, больше суммы модулей недиагональных элементов). Очевидно, что в этом случае меньше единицы и, следовательно, итерационный процесс сходится.
Пример решения СЛАУ методом Якоби в MatLab :

1. Создадим М-фаил yakobi.m

function X=yakobi(A,B,X0,delta,Imax)

% Итерация Якоби.

% A - невырожденная матрица коэффициентов

% размером n x n;

% B - вектор-столбец свободных членов;

% X0 - вектор-столбец начального приближения;

% delta - допустимая относительная погрешность;

% Imax - максимальное число итераций;


% X - приближенное решение линейной системы AX = B.
n=length(B);

err=5*delta;

X=X0;

ct=0;

while err>delta

Xp=X;

for i=1:n

X(i)=(B(i)-A(i,[1:i-1,i+1:n])* Xp([1:i-1,i+1:n]))/A(i,i);

end

if max(abs(X0))==0

error('Следует изменить начальное приближение')

break

end

err=max(abs(X-Xp))/max(abs(X0));

ct=ct+1;

Xe(ct,:)=[X' err];

if ct>Imax

error('Требуемое число итераций слишком велико')

break

end

end

Xe

ct
2. Далее в командной строке последовательно набираем команды, приведенные ниже.

A=[ 2 -1 1; 4 -6 1; -2 1 8];
B=[2; -4; 16];
X0=[1; 2; 2];
X=yakobi(A,B,X0,1e-5,1e2)

Первая из них задает матрицу коэффициентов А размером 3 на 3, вторая – вектор-столбец свободных членов В размером 3 на 1, третья – вектор-столбец начального приближения Х0 размером 3 на 1 и четвертая осуществляет запуск итерационного процесса Якоби с заданными параметрами.
3. Полученные результаты будут представлены на экране монитора в следующем виде:

Xe =

1.0000 1.6667 2.0000 0.1667

0.8333 1.6667 2.0417 0.0833

0.8125 1.5625 2.0000 0.0521

0.7813 1.5417 2.0078 0.0156

0.7669 1.5221 2.0026 0.0098

0.7598 1.5117 2.0015 0.0052

0.7551 1.5068 2.0010 0.0025

0.7529 1.5036 2.0004 0.0016

0.7516 1.5020 2.0003 0.0008

0.7509 1.5011 2.0001 0.0005

0.7505 1.5006 2.0001 0.0002

0.7503 1.5003 2.0000 0.0001

0.7501 1.5002 2.0000 0.0001

0.7501 1.5001 2.0000 0.0000

0.7500 1.5001 2.0000 0.0000

0.7500 1.5000 2.0000 0.0000

0.7500 1.5000 2.0000 0.0000
ct =17
X =

0.7500

1.5000

2.0000

где первые три столбца матрицы Хе представляют собой приближения переменных х1, х2, х3 к решению, четвертый столбец – погрешности приближений, ct – число итераций, Х – вектор результата.

Таким образом, решение системы с относительной погрешностью 10-5 и с использованием начального приближения х(0) = [1, 2, 2] методом Якоби было получено за 17 итераций.
Содержание отчета:

1. Титульный лист.

2. Цель лабораторной работы.

3. Исходные данные, указываемые в задании и необходимые для достижения поставленной цели.

4. Расчетная часть: описание выполнения задания в среде MatLab.

5. Выводы и анализ полученных результатов.
Контрольные вопросы:

  1. Суть метода Якоби?

  2. В каких случаях возможно решение систем уравнений методом Якоби?

  3. С помощью, какой функции в MatLab можно вычислить определитель матрицы?

  4. С помощью, какой функции в MatLab можно ввести матрицу?

  5. Что значит решить СЛАУ?



Лабораторная работа №8.

« Использование итерационных численных методов для решения СЛАУ»



Цель: сформировать у студентов представление о итерационных численных методах решения СЛАУ, ознакомить с методом Зейделя, научить использовать данные методы с использованием MatLab.

Задание:

  1. Найти для матрицы коэффициентов число обусловленности и оценить близость матрицы к вырожденной.

  2. Решить СЛАУ методом Зейделя, как в ручную, так и в MatLab. Обеспечить точность нахождения корней на уровне e=10-4.

Варианты задания см. в лабораторной работе №7.

Теоретический материал:

Числа обусловленности матрицы определяют чувствительность решения системы линейных уравнений к погрешностям исходных данных. Следующие функции MatLab позволяют найти числа обусловленности матриц.

  • cond(X) — возвращает число обусловленности, основанное на второй норме, то есть отношение самого большого сингулярного числа X к самому малому. Значение cond(X), близкое к 1, указывает на хорошо обусловленную матрицу;




  • с = cond(X.p) — возвращает число обусловленности матрицы, основанное на р-норме: norm(X.p)*norm(inv(X),p), где р определяет способ расчета:

    • р=1 — число обусловленности матрицы, основанное на первой норме(т. е. самую большую из сумм абсолютных значений элементов матрицы по столбцам.);

    • р=2 — число обусловленности матрицы, основанное на второй норме;

    • p= 'fro' — число обусловленности матрицы, основанное на норме Фробе-ниуса (Frobenius) norm(A, 'fro') = sqrt(sum(diag(A'A));

    • р='inf' — число обусловленности матрицы, основанное на норме неопределенности.


Метод простых итераций довольно медленно сходится. Для его ускорения существует метод Зейделя, заключающийся в том, что при вычислении компонента