Progress-servis55.ru

Новости из мира ПК
44 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Метод простой итерации matlab

Программная реализация метода простой итерации для решения СЛАУ в пакете MATLAB

Входные параметры: U – расширенная матрица коэффициентов, eps – требуемая точность решения.

Function res = Jakobi(U,eps);

error (‘Неверно задана система’);

%приведение системы к диагонально доминирующему виду

error(‘Система не совместна’);

%сумма по строкам

if k 1) && (max_norm2>1) && (max_norm3>1))

error(‘Введенная матрица не является диагонально преобладающей’)

%нахождение суммы для Х1(i)

sum = sum + ( A(i,j) * X0(j) );

while ( abs( X0(i) — X1(i) ) > eps )

%нахождение суммы для Х1(i)

sum = sum + ( A(i,j) * X0(j) );

%вывод вектора решений

%вывод числа итераций для выполненияусловия точности

ВСТРОЕННЫЕ ФУНКЦИИ ПАКЕТОВ MATHCAD И MATLAB

ДЛЯ ПРИБЛИЖЕННОГО РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ

АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ

Пакет MATHCAD

Решение систем линейных уравнений – довольно распространенная задача. Для системы линейных уравнений, заданной в матричном виде AX=B, вектор решения можно получить из очевидного выражения X=A-1B, или, например, из решения системы уравнений с проверкой на невырожденность матрицы:X:=if(|A|,A -1 B,0).

Следует обратить внимание на то, что пакет содержит и встроенную функцию решения линейных систем lsolve(A,B), где А– матрица коэффициентов, а В – вектор свободных членов. Пример использования предложенных методов показан на рис. 5.1.

Рис. 5.1. Примеры решения системы

Для решения систем уравнений, систем неравенств, смешанных систем служат решающие блоки. Структура решающего блока:

начало | Given

тело | несколько конструкций вида АВ1 оп АВ2

(оп – некоторая операция отношения, причём для написания знака равенства используется особый «жирный» знак равенства, который находится на панели инструментов; знак присваивания в теле решающего блока не используется)

конец | FIND (список) или MINERR (список).

Список – это перечень переменных, которые необходимо найти.

С помощью FIND ищут точное решение; если оно отсутствует, то возникает ошибка. Посредством MINERR всегда будет найдено решение, минимизирующее невязку ограничений. Переменная ERR– величина ошибки.

Читать еще:  Matlab работа с файлами

Перед решающим блоком необходимо задать начальные условия для всех искомых переменных, можно в векторном виде. Соответственно, в теле решающего блока можно использовать запись уравнений в матричном виде. Максимальное количество уравнений в системе доведено до двухсот. Часто приходится решать системы уравнений при наличии определенных ограничений. Таким образом, в теле решающего блока могут быть одновременно как равенства, так и неравенства. Пример такой системы приведен ниже:

Given

find (x,y) =

Для последующего использования результатов необходимо так организовать конец:

В теле решающего блока нельзя строить графики, выполнять вычисления.

Итерации производятся до тех пор, пока ôERRô£ TOL. Если встречается седловая точка и не известно, куда направлен градиент, то выдается сообщение not converging (не решаемо). Количество итераций ограничено. Возможно сообщение об ошибке вида did not find solution (не найдено решение).

При возникновении таких ошибок можно:

– изменить точность – TOL;

– заменить начальные условия;

– заменить find на minerr и получить приближенное решение.

Однако при использовании функций findи minerrнужно проявлять осторожность и обязательно предусматривать проверку решений, т.к. нередки случаи, когда решение может оказаться ошибочным.

Для получения другого решения можно поменять начальные условия, для уточнения – уменьшить TOL.

Пакет MATLAB

Рассмотрим две системы линейных уравнений: АХ=В и ХА=В. В MATLAB такие системы решаются без вычисления обратной матрицы. Два типа матричного деления / и используются для этих двух ситуаций, когда неизвестная матрица стоит слева или справа от матрицы коэффициентов:

Х=АВ соответствует решению АХ=В;

Х=В/А соответствует решению ХА = В.

При этом должны выполняться условия соответствия размерностей матриц X, А, В. Напомним, что для варианта Х=АВ матрица X должна иметь то же количество столбцов, что и матрица В, и то же число строк, сколько столбцов у матрицы А. Для Х=В/А эти условия обратны.

Читать еще:  Size matlab функция

Алгебраические свойства оператора / можно вывести из соотношения(В/А)’ = (А’В’).

Матрица не обязательно должна быть квадратной, она может быть размером mхn. При этом существуют следующие варианты:

· m = n – квадратная система, возможно нахождение точного решения;

· m > n – переопределенная система, решение ищется с помощью метода наименьших квадратов;

· m n и ранг матрицы равен n, то каждое из трех следующих выражений вычисляет X по методу наименьших квадратов:

Х=АВ

Х=рinv(А)*В

Х=inv(А’*А)*А’*В

В противном случае решение Xпо методу наименьших квадратов не единственно и существует множество векторов, минимизирующих norm(A*X-B).Решение, вычисленное с помощью Х=АВ,– базовое решение, имеющее не больше r ненулевых компонент: r=rank(A). Решение, вычисленное с помощью Х=рinv(А)*В,– это решение с минимальной нормой X.

Метод простой итерации для решения СЛАУ

Решить систему линейных уравнений методом простой итерации и матричным методом

Никак не могу разобраться, помогите решить.

Добавлено через 4 минуты
Приближённые значения, которые у меня получились в матКАДЕ
2 1.92 1.907
3 3.19 3.188
5 4.92 4.917

Добавлено через 16 минут
И вообще можно ли решить СЛАУ в среде MatLab? Может я зря пытаюсь?

Matlab M
20.04.2014, 12:33

Метод простой итерации для решения СЛАУ
Решить систему линейных уравнений методом простой итерации в matlab A = ; B = ; Никак не.

Метод простой итерации для решения СЛАУ
Помогите, плиз, решить задачу по численным методам. А то на листочке решить могу, а в MatLab’е.

Метод Якоби для простой итерации
Ребят, помогите пожалуйста написать код для того чтобы число итераций было такое количество.

Метод для решения СЛАУ
Вообщем есть такая система на картинке. Нужно ее решить каким-либо способом, не важно. Пробовал.

23.04.2014, 16:592

Решение

хотя проверить можно спомошью встроенной решалки систем fsolve (описание)

Matlab M

Результат тот же

Добавлено через 54 минуты
А вот и метод простых итераций удался
*вся загвоздка — привести систему к нужному виду: расставить по диагонали максимальные элементы, а затем «причесать»

Matlab M
Matlab M
26.04.2014, 19:38 [ТС]3
26.04.2014, 19:38
26.04.2014, 19:38

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Метод простой итерации
Створити програму на внутрішній мові середовища matlab, що реалізує метод простої ітерації Создать.

Метод простой итерации
Здравствуйте,у меня почему то косячно работает кодfunction simp_iter clc ee=1e-5; ii=0; a=0;.

Метод простой итерации
как это сделать в MatLab.

Реализовать процесс решения методом простой итерации системы линейных уравнений
ребята, срочно нудна помощь. нужно реализовать решение в матлаб. Задание указано на рисунке.

Ссылка на основную публикацию
Adblock
detector