задания к лабораторным. Практикум по численным методам и положение о вычислительной практике Для студентов специальностей Статистика иМатематические методы в экономике
Скачать 0.59 Mb.
|
Пример решения задачи Решить систему нелинейных уравнений методом простой итерации. sin( 0,6) 1,6; 3 cos 0,9. x y x y − − = ⎧ ⎨ − = ⎩ Отделение корней производим графически. Графики построим с помощью стандартных функций MATLAB. 27 Из графика видим, что система имеет одно решение, заключенное в области : 0 0,3; 2, 2 1,8 D x y < < − < < − Убедимся в том, что метод итераций применим для уточнения решения сис- темы, для чего запишем ее в следующем виде: 1 2 1 ( , ) cos 0,3; 3 ( , ) sin( 0,6) 1,6. x x y y y x y x ϕ ϕ ⎧ = = + ⎪ ⎨ ⎪ = = − − ⎩ Так как 1 0 x ϕ ∂ = ∂ , 2 cos( 0,6) x x ϕ ∂ = − ∂ , 1 1 sin 3 y y ϕ ∂ = − ∂ , 2 0 y ϕ ∂ = ∂ , то в области D имеем 1 2 cos( 0,6) cos 0,3 0, 2955 1 x x x ϕ ϕ ∂ ∂ + = − ≤ = < ∂ ∂ 1 2 1 1 sin sin( 1,8) 1 3 3 y y y ϕ ϕ ∂ ∂ + = − ≤ − < ∂ ∂ Таким образом, условия сходимости выполняются. Вычисления производим по формулам 1 1 1 cos 0,3; 3 sin( 0,6) 1,6. n n n n x y y x + + ⎧ = + ⎪ ⎨ ⎪ = − − ⎩ За начальное приближение примем 0 0,15 x = , 0 2 y = − 28 Имеем 2 2 ( , ) sin(2 ) 1, 2 0, 4; ( , ) 0,8 1,5 1. F x y x y x G x y x y = − − − ⎧ ⎨ = + − ⎩ Составим таблицу: n n x n y 0,6 n x − sin( 0,6) n x − cos( ) n y 1 cos( ) 3 n y 0 0,15 –2 –0,45 –0,4350 –0,4161 –0,1384 1 0,1616 –2,035 –0,4384 –0,4245 –0,4477 –0,1492 2 0,1508 –2,0245 –0,4492 –0,4342 –0,4382 –0,1461 3 0,1539 –2,0342 –0,4461 –0,4313 –0,4470 –0,1490 4 0,1510 –2,0313 –0,4490 –0,4341 –0,4444 –0,1481 5 0,1519 –2,0341 –0,4481 –0,4333 –0,4469 –0,1490 6 0,1510 –2,0333 –0,4490 –0,4341 –0,4462 –0,1487 7 0,1513 –2,0341 –0,4487 –0,4340 –0,4469 –0,1490 8 0,1510 –2,0340 Ответ: 0,151 x ≈ , 2,034 y ≈ − Задача 2 Составить и отладить подпрограмму для решения системы нелинейных уравнений методом Ньютона. Варианты 1. 2 2 2 tg( 0.4) ; 0,6 2 1, 0, 0. xy x x y x y ⎧ + = ⎪ ⎨ + = > > ⎪⎩ 2. 2 2 sin( ) 1,6 0; 1, 0, 0. x y x x y x y + − = ⎧ ⎨ + = > > ⎩ 3. 2 2 2 tg( 0,1) ; 2 1. xy x x y ⎧ + = ⎪ ⎨ + = ⎪⎩ 4. 2 2 sin( ) 1, 2 0, 2; 1. x y x x y + − = ⎧ ⎨ + = ⎩ 5. 2 2 2 tg( 0,3) ; 0,9 2 1. xy x x y ⎧ + = ⎪ ⎨ + = ⎪⎩ 6. 2 2 sin( ) 1,3 0; 1. x y x x y + − = ⎧ ⎨ + = ⎩ 7. 2 2 2 tg ; 0,7 2 1. xy x x y ⎧ = ⎪ ⎨ + = ⎪⎩ 8. 2 2 sin( ) 1,5 0,1; 1. x y x x y + − = ⎧ ⎨ + = ⎩ 9. 2 2 2 tg ; 0,8 2 1. xy x x y ⎧ = ⎪ ⎨ + = ⎪⎩ 10. 2 2 sin( ) 1, 2 0,1; 1. x y x x y + − = ⎧ ⎨ + = ⎩ 11. 2 2 2 tg( 0, 2) ; 0,6 2 1. xy x x y ⎧ + = ⎪ ⎨ + = ⎪⎩ 12. 2 2 sin( ) 1,5 0,1; 1. x y x x y + = − ⎧ ⎨ + = ⎩ 13. 2 2 2 tg( 0, 4) ; 0,8 2 1. xy x x y ⎧ + = ⎪ ⎨ + = ⎪⎩ 14. 2 2 sin( ) 1, 2 0,1; 1. x y x x y + = − ⎧ ⎨ + = ⎩ 15. 2 2 2 tg( 0,1) ; 0,9 2 1. xy x x y ⎧ + = ⎪ ⎨ + = ⎪⎩ 16. 2 2 sin( ) 1, 4 0; 1. x y x x y + − = ⎧ ⎨ + = ⎩ 17. 2 2 2 tg( 0,1) ; 0,5 2 1. xy x x y ⎧ + = ⎪ ⎨ + = ⎪⎩ 18. 2 2 sin( ) 1,1 0,1; 1. x y x x y + = − ⎧ ⎨ + = ⎩ 19. 2 2 tg( ) 1; 2 1. x y xy x y − − = − ⎧ ⎨ + = ⎩ 20. 2 2 sin( ) 1; 3 4 x y xy x y − − = − ⎧ ⎪ ⎨ − = ⎪⎩ 29 Ход решения 1. Отделить корни посредством построения графиков. Для этого нужно вы- разить заданные функции в виде ( ) y x и построить их с помощью встроенных функций MATLAB. 2. Вычислить частные производные и составить матрицу Якоби. 3. С помощью приведенной в лекциях схемы алгоритма составить функ- цию для нахождения корней. Составить вызывающую программу, обращающую- ся к функции столько раз, сколько корней имеет система уравнений. Входными параметрами в функцию являются начальные приближения и вектор p=(x,y), являющийся нулевым при входе в подпрограмму. 4. Оформить в отчет текст программы, составленной функции, привести исходные данные, построенный график и полученный ответ. 30 Задание 6. МАКСИМАЛЬНОЕ ПО МОДУЛЮ СОБСТВЕННОЕ ЧИСЛО Составить и отладить подпрограмму для нахождения максимального по мо- дулю собственного числа матрицы, описанным в лекциях итерационным процес- сом. Ход решения 1. Составить согласно приведенному в лекциях алгоритму подпрограмму. 2. Ввести матрицу, соответствующую варианту, в программу и вызвать для нее выполнение подпрограммы. 3. С помощью функции [q,w]=eig(a); где q – вектор собственных чи- сел, w – матрица, каждая строка которой – собственный вектор, a – исходная мат- рица. 4. Сделать выводы. Варианты 1. 1,7 2,8 0,3 2,8 1, 2 0,6 0,3 0,6 1,5 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 2. 1,7 0, 4 2,8 0, 4 3, 2 1, 2 2,8 1, 2 0,5 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 3. 2,3 1, 4 0,6 1, 4 1,7 0,5 0,6 0,5 1,3 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 4. 2,3 3,5 1, 4 3,5 0, 4 0,6 1, 4 0,6 1,3 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 5. 0,6 1,3 1,7 1,3 2,5 0,8 1,7 0,8 1, 4 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 6. 3,7 0,3 1, 2 0,3 2, 4 0,8 1, 2 0,8 1,5 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 7. 3, 2 0,5 1, 2 0,5 1, 4 2,3 1, 2 2,3 0,6 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 8. 4,1 0, 4 1,3 0, 4 1, 2 1,7 1,3 1,7 0,5 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 9. 2,3 0,7 0,6 0,7 3, 4 1, 2 0,6 1, 2 1,7 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 10. 1,5 0,8 2,9 0,8 3, 4 2, 2 2,9 2, 2 0, 4 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 11. 1,8 2, 4 0,5 2, 4 1,3 0,7 0,5 0,7 1,6 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 12. 0,7 1,5 3, 2 1,5 2,3 1,3 3, 2 1,3 0, 4 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 13. 2, 4 3,5 0,7 3,5 1, 2 0, 4 0,7 0, 4 1,3 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 14. 2,3 1,7 0,8 1,7 0,5 1, 2 0,8 1, 2 1,9 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 15. 2, 4 1,3 0,5 1,3 0,8 2, 4 0,5 2, 4 3,3 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 16. 1,5 2,3 0, 4 2,3 1, 4 2,5 0, 4 2,5 0,8 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 17. 3, 4 1,3 2,3 1,3 0,6 1, 2 2,3 1, 2 0,5 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 18. 2,5 1, 2 0,8 1, 2 3, 4 0,5 0,8 0,5 1, 2 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 19. 2,6 1, 4 0,7 1, 4 0,9 1,5 0,7 1,5 0,3 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 20. 3,6 0,5 1, 2 0,5 0,8 2,3 1, 2 2,3 1,6 A ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ 31 Задание 7. РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ Используя метод Эйлера, составить таблицу приближенных значений инте- грала дифференциального уравнения ( , ) y f x y ′ = , удовлетворяющего начальным условиям 0 0 ( ) y x y = на отрезке [ , ] a b ; шаг 0,1 h = . Все вычисления вести с четырьмя десятичными знаками. Решить данную задачу с помощью Matlab, составив про- грамму для нахождения решения с помощью метода Рунге-Кутта. Ход решения 1. Решить уравнение методом Эйлера. 2. Составить программу для решения дифференциального уравнения. Ре- шение записать в виде таблицы с шагом h 3. Вывести график решения, соответствующий полученной таблице. Варианты 1. [ ] 0 cos , (1,8) 2,6, 1,8; 2,8 . 5 y y x y x ′ = + = ∈ 2. [ ] 0 cos , (1,6) 4,6, 1,6;2,6 . 3 y y x y x ′ = + = ∈ 3. [ ] 0 cos , (0,6) 0,8, 0,6;1,6 . 10 y y x y x ′ = + = ∈ 4. [ ] 0 cos , (0,5) 0,6, 0,5;1,5 . 7 y y x y x ′ = + = ∈ 5. [ ] 0 cos , (1,7) 5,3, 1,7; 2,7 . y y x y x π ′ = + = ∈ 6. [ ] 0 cos , (1, 4) 2,5, 1, 4; 2, 4 . 2, 25 y y x y x ′ = + = ∈ 7. [ ] 0 cos , (1, 4) 2,5, 1, 4; 2, 4 . y y x y x e ′ = + = ∈ 8. [ ] 0 cos , (0,8) 1, 4, 0,8;1,8 . 2 y y x y x ′ = + = ∈ 9. [ ] 0 cos , (1, 2) 2,1, 1, 2; 2, 2 . 3 y y x y x ′ = + = ∈ 10. [ ] 0 cos , (2,1) 2,5, 2,1;3,1 . 11 y y x y x ′ = + = ∈ 11. [ ] 0 sin , (1,8) 2,6, 1,8; 2,8 . 5 y y x y x ′ = + = ∈ 12. [ ] 0 sin , (1,6) 4,6, 1,6;2,6 . 3 y y x y x ′ = + = ∈ 32 13. [ ] 0 sin , (0,6) 0,8, 0,6;1,6 . 10 y y x y x ′ = + = ∈ 14. [ ] 0 sin , (0,5) 0,6, 0,5;1,5 . 7 y y x y x ′ = + = ∈ 15. [ ] 0 sin , (1,7) 5,3, 1,7;2,7 . y y x y x π ′ = + = ∈ 16. [ ] 0 sin , (1, 4) 2, 2, 1, 4; 2, 4 . 2,8 y y x y x ′ = + = ∈ 17. [ ] 0 sin , (1, 4) 2,5, 1, 4; 2, 4 . y y x y x e ′ = + = ∈ 18. [ ] 0 sin , (0,8) 1,3, 0,8;1,8 . 2 y y x y x ′ = + = ∈ 19. [ ] 0 sin , (1,1) 1,5, 1,1; 2,1 . 3 y y x y x ′ = + = ∈ 20. [ ] 0 sin , (0,6) 1, 2, 0,6;1,6 . 11 y y x y x ′ = + = ∈ Пример решения задачи Решим уравнение sin 2, 25 y y x ′ = + с начальными условиями 0 (1, 4) 2, 2 y = на от- резке [1, 4; 2,5] x ∈ Метод Эйлера с уточнением заключается в том, что каждое значение 1 1 ( ) k k y y x + + = , где ( ) y x – искомая функция, а 1 0 ( 1) k x x h k + = + + , 0,1, 2... k = , определяется следующим образом. За начальное приближение принимаем (0) 1 ( , ) k k k k y y hf x y + = + , где ( , ) ( , ) f x y y x y ′ = Найденное значение (0) 1 k y + уточняем по формуле ( ) ( 1) 1 1 1 ( , ) ( , ) 2 i i k k k k k k h y y f x y f x y − + + + ⎡ ⎤ = + + ⎣ ⎦ ( 1, 2,... i = ). Уточнение продолжают до тех пор, пока в пределах требуемой погрешности два последовательных приближения не совпадут. Все вычисления удобно проводить, составив следующие таблицы: • основную таблицу, в которой записывается ответ; • таблицу, в которой выполняется процесс последовательных приближе- ний; • вспомогательную таблицу, в которой вычисляются значения функции ( , ) k k f x y 33 k k x k y ( , ) k k k f f x y = k hf 0 1,4 2,2 2,229257493 0,22292575 1 1,5 2,42292575 2,380471541 0,23804715 2 1,6 2,6609729 2,525613965 0,2525614 3 1,7 2,9135343 2,662182542 0,26621825 4 1,8 3,17975255 2,787611046 0,2787611 5 1,9 3,45851366 2,899432911 0,28994329 6 2 3,74845695 2,995473371 0,29954734 7 2,1 4,04800429 3,074048772 0,30740488 8 2,2 4,35540916 3,134144791 0,31341448 9 2,3 4,66882364 3,175543653 0,31755437 10 2,4 4,98637801 3,19887626 0,31988763 1 k + 1 k x + k y ( ) 1 i k y + k f ( ) 1 i k f + ( ) 1 i k k f f + + ( ) ( ) 1 2 i k k h f f + + 1 1,5 2,2 2,422925749 2,22925749 2,38047154 4,60972903 0,230486 2 1,6 2,422 2,660972903 2,38047154 2,52561397 4,90608551 0,245304 3 1,7 2,661 2,9135343 2,52561397 2,66218254 5,18779651 0,259389 4 1,8 2,914 3,179752554 2,66218254 2,78761105 5,44979359 0,272489 5 1,9 3,180 3,458513659 2,78761105 2,89943291 5,68704396 0,284352 6 2 3,459 3,74845695 2,89943291 2,99547337 5,89490628 0,294745 7 2,1 3,748 4,048004287 2,99547337 3,07404877 6,06952214 0,303476 8 2,2 4,048 4,355409164 3,07404877 3,13414479 6,20819356 0,310409 9 2,3 4,355 4,668823643 3,13414479 3,17554365 6,30968844 0,315484 10 2,4 4,669 4,986378009 3,17554365 3,19887626 6,37441991 0,318721 k x y 2, 25 y sin 2, 25 y sin 2, 25 y y x ′ = + 0 1,4 2,2 0,977777778 0,82925749 2,22925749 1 1,5 2,42292575 1,076855889 0,88047154 2,38047154 2 1,6 2,6609729 1,182654624 0,92561397 2,52561397 34 3 1,7 2,9135343 1,294904133 0,96218254 2,66218254 4 1,8 3,17975255 1,413223357 0,98761105 2,78761105 5 1,9 3,45851366 1,537117182 0,99943291 2,89943291 6 2 3,74845695 1,665980867 0,99547337 2,99547337 7 2,1 4,04800429 1,799113016 0,97404877 3,07404877 8 2,2 4,35540916 1,935737406 0,93414479 3,13414479 9 2,3 4,66882364 2,07503273 0,87554365 3,17554365 10 2,4 4,98637801 2,216168004 0,79887626 3,19887626 Ответом являются значения ( ) k y x , полученные в первой таблице. 35 ЗНАКОМСТВО С MATLAB Арифметика в MATLAB В MATLAB есть основные арифметические операции: «+» (сложение), «–» (вычитание), «*» (умножение) и «/» (деление). Степень обозначается через «^», так что, набрав в командно строке >> 5*5+12^2 и нажав клавишу Enter, получим ans= 169 При нажатии Enter после набора строки, она отправляется на выполнение. Законы старшинства операций встроены, но в сомнительных случаях рекоменду- ется пользоваться круглыми скобками. Например, для строки >> 8*(1/(5-3)-1/(5+3)) ans= 3 Также реализованы элементарные функции, известные по работе с кальку- лятором. Например, >> sqrt(5^2+12^2) и >> exp(log(1.7)) Для числа π MATLAB имеет встроенное значение 3,1415926... π = Для этого нужно набрать pi. |