|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
29.10.2014, 11:55 | #1 (permalink) |
Member
Регистрация: 16.03.2013
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Решить систему методом Ньютона
x^2+Y^2-1=0 sin(x+y)=1,5x+0,2 Беру производные 2x 2y ) Правильно? cos-1,5 cosy И еще можете объяснить как правильно подобрать x0 и y0? |
29.10.2014, 11:55 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
По этим ссылкам размещены темы которые имеют сходства с вашей Решить систему дифференциальных уравнений Ошибка в методе Ньютона Решить систему линейных уравнений методом Зейделя |
29.10.2014, 12:17 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Зачем так сложно? Просто из первого уравнения выражаете у через х, подставляете во второе и полученное уравнение решаете. Метод описан здесь: К вопросу о численном решении алгебраических уравнений.
|
29.10.2014, 15:40 | #3 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ладно уж, распишу решение.
Из первого уравнения находим: y = ±Sqrt(1-x²) Отсюда сразу видим, что область допустимых значений х есть -1 ≤ х ≤ +1 Подстановка у во второе уравнение даёт: 1.5*x + 0.2 - Sin(x ± Sqrt(1-x²)) = 0 Рассмотрим два случая: со знаком "+" и со знаком "-". 1. Со знаком "+". Для определения приближенного значения корня построим график функции f(x) = 1.5*x + 0.2 - Sin(x + Sqrt(1-x²)) Он выглядит так: поэтому в качестве исходного значения выберем х = 0.5. Программа на Турбо Паскале: Код:
Const Eps=0.0001; Var x,y:Real; Function F(z:real):Real; begin F:=z*1.5+0.2-Sin(z+Sqrt(1-z*z)); end; Function G(z:real):Real; begin G:=1.5-Cos(z+Sqrt(1-z*z))*(1-z/Sqrt(1-z*z)); end; Procedure EQRoot(e:real; var R:real); var x1,x2,d:real; begin x1:=0.5; Repeat x2:=x1-F(x1)/G(x1); d:=abs(x1-x2); x1:=x2; Until d<e; R:=x2; end; Begin EQRoot(Eps,x); y:=Sqrt(1-x*x); Writeln('x = ',x:6:4); Writeln('y = ',y:6:4); Readln End. х = 0.5205 у = 0.8539 2. Со знаком "-". График: Исходное значение х = -0.8 Программа: Код:
Const Eps=0.0001; Var x,y:Real; Function F(z:real):Real; begin F:=z*1.5+0.2-Sin(z-Sqrt(1-z*z)); end; Function G(z:real):Real; begin G:=1.5-Cos(z-Sqrt(1-z*z))*(1+z/Sqrt(1-z*z)); end; Procedure EQRoot(e:real; var R:real); var x1,x2,d:real; begin x1:=-0.8; Repeat x2:=x1-F(x1)/G(x1); d:=abs(x1-x2); x1:=x2; Until d<e; R:=x2; end; Begin EQRoot(Eps,x); y:=-Sqrt(1-x*x); Writeln('x = ',x:6:4); Writeln('y = ',y:6:4); Readln End. х = -0.7906 у = -0.6123 Всё!!! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|