Опубликован: 24.04.2013 | Уровень: для всех | Доступ: свободно | ВУЗ: Уральский государственный экономический университет
Лекция 4:

Решение уравнений

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >

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

Поиск корней при помощи блока Given Find()

При решении систем нелинейных уравнений используется специальный вычислительный блок, открываемый служебным словом — директивой Given — и имеющий следующую структуру:

Given

Уравнения

Ограничительные условия

Выражения с функцией Find()

Find(vl, v2, …, vn) — возвращает значение одной или ряда переменных для точного решения;

Знак равенства в уравнениях вызывается с математической панели БУЛЕВО(Boolean) или с клавиатуры клавишами "CTRL =".

Как и в предыдущем случае, сначала необходимо провести локализацию корней – задание начальной точки, от которой будет происходить поиск решения. Решение ищется методом итераций и при наличии нескольких корней, очевидно, будет найдено лишь ближайшее решение, если оно существует. Блок Given…Find(.) можно использовать и для решения уравнений одним неизвестным.

Пример 4.4

Решить систему уравнений {y-e^{\frac{x}{3}}=0\choose y-x^2-1=0}.

Осуществляется решение системы нелинейных уравнений при помощи блока Given…Find(.) (Рис.4.3).

  • Локализация корней: задаем систему уравнений, строим график.
  • По графику определяем три корня.
  • Задаем последовательно разные начальные значения корней.

y1(x1):=e^{\frac{x1}{3}}

y2(x1):=x1^2+1

Листинг решения примера 4.4

Рис. 4.3. Листинг решения примера 4.4

1 корень

x:=1, y:=1

Given

e^{\frac{x}{3}}-y=0

x^2-y+1=0

Find(x,y)=\begin{pmatrix} 0.354 \\ 1.125 \end{pmatrix}

2 корень

x:=0.1, y:=0.1

Given

e^{\frac{x}{3}}-y=0

x^2-y+1=0

Find(x,y)=\begin{pmatrix} -2.631 \cdot 10^{-9} \\ 1 \end{pmatrix}

3 корень

x1:=20, y1:=100

Given

e^{\frac{x1}{3}}-y1=0

x1^2-y1+1=0

Find(x1,y1)=\begin{pmatrix} 17.015 \\ 290.506 \end{pmatrix}

Поиск корней при помощи блока Given Minerr()

Функция Minerr использует тот же самый алгоритм, что и функция Find. Различие состоит в следующем. Функция Find ищет решение с заданной точностью и, если в результате поиска не может быть получено дальнейшее уточнение текущего приближения к решению, то она возвращает сообщение об ошибке. Функция Minerr возвращает это приближение. Системная переменная ERR дает величину ошибки.

Minerr (vl, v2, …, vn ) возвращает значения ряда переменных для приближенного решения.

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

Пример 4.5

Решить систему уравнений {z^3+9z^2-20z-y=0\choose -2y+6z-25=0}.

Решаем при помощи блока Given…Find(.) (Рис.4.4).

  • Локализация корней: задаем систему уравнений, строим график.
  • Графики имеют точку касания. Функция . Find( ) не решает систему.
  • Функция Minerr() дает приближенное решение. Системная переменная ERR=0.37. Это ошибка определения корня. Проверка показывает максимальную ошибку 0.33.

z^3+9z^2-20z+1-y=0

-2y+6z-25=0

y(z):=z^3+9z^2-20z+1

y1(z):=3z-12.5

 Листинг решения примера 4.5

Рис. 4.4. Листинг решения примера 4.5

z:=1, y:=-1

Given

z^3+9z^2-20z+1-y=0

-2y+6z-25=0

Система не решается:

Система не решается

Рис. 4.5. Система не решается

z:=1, y:=-1

Given

z^3+9z^2-20z+1-y=0

-2y+6z-25=0

Minerr(z,y)=\begin{pmatrix} 1.082 \\ -9.169 \end{pmatrix}

ERR=0.373

Проверка:

z0:=1.082, y0:=-9.169

z0^3+9z0^2-20z0+1-y0=0.332

-2y0+6z0-25=-0.17

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >
Татьяна Швердюк
Татьяна Швердюк
Украина