Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика.docx
Скачиваний:
31
Добавлен:
24.03.2015
Размер:
184.14 Кб
Скачать

Метод дихотомии.

Самым простейшим из методов уточнения корней является метод половинного деления, или метод дихотомии, предназначенный для нахождения корней уравнений, представленных в видеf(x)=0.

Пусть непрерывная функция f(x) на концах отрезка [a,b] имеет значения разных знаков, т.е.f(a)f(b) 0 (рис. 1), тогда на отрезке имеется хотя бы один корень.

Возьмем середину отрезка с=(a+b)/2. Если f(a)f(c) 0, то корень явно принадлежит отрезку от aдо (a+b)/2 и в противном случае от (a+b)/2 до b.

 

Поэтому берем подходящий из этих отрезков, вычисляем значение функции в его середине и т.д. до тех пор, пока длина очередного отрезка не окажется меньше заданной предельной абсолютной погрешности (b-a)<.

Так как каждое очередное вычисление середины отрезка c и значения функции f(c) сужает интервал поиска вдвое, то при исходном отрезке [a,b] и предельной погрешности  количество вычислений n определяется условием (b-a)/2n<, или n~log2((b-a)/). Например, при исходном единичном интервале и точности порядка 6 знаков (~ 10-6) после десятичной точки достаточно провести 20вычислений (итераций) значений функции.

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

Решение систем линейных уравнений.

Методы Якоби и Гаусса-Зайделя.

Метод Гаусса подробно (по шагам) выполняется только в учебных целях, когда нужно показать, что Вы это умеете. А чтобы решить реальную СЛАУ, лучше применить в Excel метод обратной матрицы или воспользоваться специальными программами, например, этой

Метод Гаусса

Краткое описание.

  1. Решаю систему уравнений: A*X=B, где A - квадратная матрица n-го порядка, X,B - вектора

  2. К матрице A справа приписываю вектор B. Получаю расширенную матрицу A

  3. В дальнейшем A обозначает расширенную матрицу (n строк, n+1 столбец)

  4. Aij - обозначает элемент матрицы, находящийся на i-й строке и j-м столбце

  5. Делю 1-ю строку на A11, т е A'1j = A1j/A11 (j = 1..n+1). В результате A'11 = 1. A' обозначает преобразованную строку

  6. Преобразую остальные строки по формуле: A'ij = Aij - A'1j*Ai1 (i = 2..n; j = 1..n+1)

  7. В результате 1-й столбец в строках 2..n заполнится нулями

  8. Отметим, что все эти преобразования не нарушают правильность уравнений

  9. Аналогичные действия проводим для обнуления 2-го столбца в строках 3..n, то есть:

  10. Делю 2-ю строку на A'22, т е A''2j = A'2j/A'22 (j = 2..n+1). В результате A''22 = 1. A'' обозначает резельтат 2-го преобразования строки

  11. Преобразую остальные строки по формуле: A''ij = A'ij - A''2j*A'i2 (i = 3..n; j = 2..n+1)

  12. В результате 2-й столбец в строках 3..n заполнится нулями

  13. Аналогичные действия проводим далее

  14. В результате левые n столбцов матрицы A превращаютс в верхнюю треугольную матрицу, т е ниже главной диагонали находятся только нули (а на главной диагонали - единицы) - см Рис 1. На этом рисунке вектор B - слева, S - номер шага

  1. Затем выполняется "обратный ход", начиная с нижней строки, из которой можно вычислить Xn = Bn/Ann, например: Х4 = 9,55741/68,6388 = 0,13924 (рис. 1)

  2. Затем можно вычислить X3 = (0,9065 - 2,40919*0,13924) = 0,57059

  3. Затем из второй строки: X2 + 2,83562*X3 + 8,17808*X4 = 2,47945 вычисляю X2, и т д

Соседние файлы в предмете Информатика