@Lord_North

Проблема с методом итерации для нахождения корней системы уравнений?

Привет. Меня зовут Petyr.
Код написан в среде WX Maxima.
Есть система нелинейных уравнений :
f_1(x,y)=sin(x + y) − 1,1x + 0, 2 = 0;
f_2(x,y)=x^2 + y^2 - 1=0;
Из графика ниже видно, что данная система имеет четыре корня
5e59102d06765860525421.png
В качестве начального приближения можно взять x1 = 1, y1 = 0.5 и x2 = 1, y2 = -1
Попробуем решить нашу систему относительно x и y:
x = (sin(x+y)-0.1*x+0.2);
y = sqrt(1-x^2);
Зададим соответствующие функции:

g1(x,y):= (sin(x+y)-0.1*x+0.2);
g2(x,y):=sqrt(1-x^2);


Зададим точность и начальное приближение:

x:1; y:0.5; epsilon:10^(−5); n:0;

Запускаем цикл, условие прекращения цикла: расстояние между двумя последовательными
приближениями меньше эпсилон.

unless (float(g1(x,y))−x)^2+(float(g2(x,y))−y)^2<epsilon^2 do
(x0:float(g1(x,y)),y0:float(g2(x,y)),x:x0,y:y0,n:n+1);


Но в итоге maxima считает очень долго и так и не дает ответ. Может проблема в сходимости функций?
Cходимость гарантируется, когда

L0 * f(штрих)(x)>0, где
L0=1/f(штрих)(x0)

L(f1)=-1.657908226985588*del(-0.5) (del - дифференциал)
L(f2)=0.6666666666666669*del(-0.5)

Любая помощь и подсказка будет оценена.
  • Вопрос задан
  • 25 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы