Сандық әдістер туралы мәлімет
Осы есептеу-графикалық жұмысы (бұдан әрі-ЕСЖ) талап етіледі бағдарламасын жасау үшін сызықты емес теңдеулер жүйесін шешудің әдісі дәйекті итерация кері матрица Якоби.
Әдістің мәні келесі:
Болсын шешуді талап жүйесі сызықты емес алгебралық немесе трансцендентных теңдеулер:
Fя41я0(Хя41я0,Хя42я0,…,Хя4пя0)=0; i=1,2,…,n,
бастапқы жақындату шешімі:
Хя50я0=(хя41я50я0,хя42я50я0,…хя4пя50я0).
Есептеу схемасы сатылған әдісі мыналардан тұрады:
Басында итерациялық процесс матрица H полагается тең бірлік:
Ня50я0=E.
Содан кейін k=0,1,…
1. Формула
Ря5к я0=я5 я0-я5 я0Ня5к я0*я5 я0F(Хя5кя0);
2. Орналасқан
Хя5к+1 я0=я5 я0Хя5к я0+я5 я0tя5kя0*Ря5кя0.
Бастапқыда tя5kя0=1. Содан кейін арқылы дәйекті бөлу tя5kя0 2 табамыз мұндай tя5kя0 үшін орындады теңсіздік:
є F(Хя5к+1я0) є < є F(Хя5кя0) є
Итерационный процесі аяқталады шарты орындалған кезде:
є F(Хя5к+1я0) є < E,
мұнда E — берілген дәлдігі.
3. Анықталады
Уя5кя0= F(Хя5к+1я0) — F(Хя5кя0)
4. Орналасқан жаңа жақындату матрицалар:
Ня5к+1 я0=я5 я0Ня5к я0-я5 я0(Ня5кя0*Уя5к я0-я5 я0Ря5кя0*tя5kя0)я5 я0*я5 я0(Ря5кя0)я5Т я0*я5 я0(Ня5кя0)я5Т я0/я5 я0((Ря5кя0)я5Т я0*я5 я0Ня5кя0*Уя5кя0)
және қайтадан қайталанады есептеу процесі 1-тармағы.
Бағдарламасымен жұмыс істеу тәртібі
Бұл ЕГЖ түрінде ұсынылған 3 орындалатын модульдер: OBRJ.M, OBRF.M және FUN1.M.я0 Шешімімен алға қойылған міндеттерді айналысады модулья1 OBRF.Мя0, ал қалған екі көмекші болып табылады: 1OBRJ.M — бас модуль, онда енгізілетін кіріс мәліметтер шығарылады есептеу нәтижесін, ая1 FUN1.M — модуль, деп жазады пайдаланушы және ол қайтарады есептелген сол жақ бөліктері үшін қажетті теңдеулер.
Бас бағдарламасы қойылады бастапқы жақындау түрінде векторының X0 сондай-ақ сұралатын рұқсат етілген қате. Содан кейін шақырылады модулья1 OBRJ.M,я0 және іске асырады шешім осы теңдеулер жүйесінің әдісімен дәйекті итерация кері матрица Якоби. Өз ішіндегі осы модуль бойынша қажеттілік тудырады функциюя1 FUN1.Мя0 алатын, деп жазады пайдаланушы.
Жұмыс сипаттамасы бағдарламалар
Осыған байланысты бұл курстық жұмыс 3 бөлімнен тұрады, онда сипаттау, оларды бір-бірлеп (басып шығару деректер модульдер-қосымшада келтірілген):
1.я1 OBRJ.M
Бас модулі
Кіріс мәліметтер: жоқ.
Шығу мәліметтері: жоқ.
Тілі: PC MathLab.
Операциялық жүйе: MS-DOS 3.30 or Higher.
Түсініктемелер модулінің мәтіні
«Стандартты» бас-модуль. Осы модульде қойылады бастапқы мәндерін түрінде вектор, мысалы:
Хя40я0=[0.4 0.9]
Сондай-ақ, осы модульде сұралатын рұқсат етілген қате, экран тазартылады, сондай-ақ жүргізіледі басқа да дайындық іс-әрекеттер.
Содан кейін жүреді шақыру модуляя1 OBRF.Мя0 алынған кіріс деректер. Формат шақыру осы модуль сипатталған (бұдан әрі-сипаттамасында ең модуль).
Кейін есептеулер бас бағдарламасына қайтарылады нәтижелері есептеулер негізінде құрылады кестелер сондай-ақ шығарылады бағалау бойынша шығындар машиналық уақытқа және тез.
1 OBRF.M
Есептеу модулі
Кіріс мәліметтер:
FunFcn — аты функциялары, написанной пайдаланушы, ол вычисляет сол жақ бөліктері үшін талап етілетін жүйенің жұмыс нүктесінде.
X0 — вектор-жол, айқындайтын бастапқы мәндерін (бастауыш жақындату).
E — рұқсат етілген қате.
Шығу мәліметтері:
Tout — Баған итерация («Уақыт»)
Xout — Бағандар мәндерінің есептелген әрбір кезеңінде әрбір итерация
DXout — Бағандар қателіктердің әрбір компонентінде, есептелген, белгілі бір кезеңде
Тілі: PC MathLab
Операциялық жүйе: MS-DOS 3.30 or Higher
Түсіндірме мәтін модулі:
Осы «есептеу» модулі іске асырады әдісі дәйекті итерация кері матрица Якоби. Жалпы құрылымы шақыру осы модуль:
[Tя4outя0,Xя4outя0,DXя4outя0]=OBRF(FunFcn,Хя40я0,E);
Маңызы бар әрбір параметрлерін сипатталды жоғары.
Бастапқы кезеңде бұл модульде инициализируются ішкі айнымалылар (мысалы, пернетақта бірлік матрица H сәйкес зерделегенде X0) қалыптастырылады (негізінде бастауыш мәндерінің) бастапқы элементтері матрицаларды Tout,Xout,DXout.
Содан соң бұл функция, және көптеген басқа да сандық әдістері, түрі бар:
While ҚАТЕ > РҰҚСАТ етілген ҚАТЕЛІКТЕРІ
Оператор1
Оператор2
………
………
ОператорN
End
Ішінде осы цикл пайда, есептеулер ішкі айнымалы Ря5кя0 әрбір қадамда K, формула бастауыш жақындату Хя5к+1я0. Бастапқы t=1 (итерация нөмірі, ал ішкі параметр!). Содан кейін, кезекті цикл While…End егер єF(Хя5к+1я0)є < єF(Хя5кя0)є t=t/2 және тағы да тасымайтын, Хя5к+1я0. Кезде кезекті Хя5к+1я0 табылған, тасымайтын Уя5кя0, содан кейін жаңа матрица жақындату H. Итерационный процесс аяқталады, егер єF(Хя5к+1я0)є < E. Егер бұл шарт орындалмаса — итерационный процесі жалғасуда қайтадан.
Қалыптастыру демалыс мәндері-матрицаларды ішінде жүріп осы цикл, сондықтан ешқандай қосымша іс-қимыл талап етілмейді, яғни аяқталуымен осы цикл аяқталады және өзі функция.
3.я1 FUN1.M
Модуль, вычисляющий сол жақ бөлігінде
Кіріс мәліметтер:
X — вектор-жол, задающий нүктесін есептеу үшін әрбір компонентінде.
Шығу мәліметтері:
FF — вектор-жол, возвращающий маңызы бар әрбір компоненттері белгілі бір нүктесінде
Тілі: PC MathLab
Операциялық жүйе: MS-DOS 3.30 or Higher
Түсіндірме мәтін модулі:
Түптеп келгенде, мәтін осы модуль талап етпесе. Онда қолданушы іске асырады теңдеулер жүйесін, ол жатады) шешімімен. Яғни кіру X мәні бұл функция қайтарады сол жақ бөлігінде әрбір теңдеуі. Жалғыз ғана қойылатын талап осы модуль — сақтау форматын, яғни кіріс және шығыс деректер түрінде ұсынылуы тиіс вектор-жолдар.
Салыстырмалы талдау және бағалау тез.
Салыстырмалы талдау көрсеткендей, бұл әдіс бар жаман емес сходимостью, өйткені попробованный қарапайым итерация әдісі с параметрі мүлдем бас тартты сходиться осы. Алайда, жақсы қолайлы салыстыру үшін дискретті Ньютон әдісі, өйткені бұл әдістер іс жүзінде бірдей бұл дәлдігі бойынша шығындар.
1. Әдісі дәйекті итерация кері матрица Якоби
Операциялардың саны: 682
Шапшаңдық: 0.11 секунд
2. Әдісі дискретті Ньютон
Операциялардың саны: шамамен 990
Шапшаңдық: 0.22 секунд
Көрсетілгендей жоғарыда келтірілген деректер, бұл екі әдісті өте жақын бір-бірімен, бірақ Ньютон әдістері дискретті көп күрделі іске, алайда, бар жақсы сходимостью, мысалы, бастауыш мәндері Хя50я0=[2.0 2.0]; әдісі дәйекті итерация кері матрица Якоби қазірдің өзінде орындай алмайды, ал дискретті Ньютон әдісі жалғастыруда жаман емес. Алайда Ньютон әдісі көп шығынды талап етеді, машина уақыт және сондықтан, әдісін таңдау кезінде қажет олардың нақты жағдайларын, міндеттері және егер белгілі болса, өте дәл жақындату және талап етілетін жылдамдығы есептеулер, онда мұндай шарттарға тамаша әзірлеген әдісі дәйекті итерация кері матрица Якоби.
Қорытындылар
Осы ЕГЖ әзірленіп, жүзеге асырылды әдісі дәйекті итерация кері матрица Якоби арналған шешімдер жүйесі сызықтық емес теңдеулер. Бағдарлама жүзеге асырылған тілінде PC MathLab емес, оңтайлы болып табылады, бірақ, берілген тапсырманы орындайды және теңдеулер жүйесін шешеді. Іске асырылған әдісі ешқандай айырмашылығы жоқ жоғары сходимостью және талап өте дәл бастауыш жақындау, бірақ өте тез сходится — дәл шешімі бар болады ұсына есептеу үшін күрделі сызықты емес теңдеулер жүйесін болған жағдайда өте дәл бастауыш жақындау және болуына уақытша шектеулер.
Әдебиеттер тізімі
1. О. М. Сарычева. «Сандық әдістер экономикадағы. Дәрістер жинағы», Новосібір мемлекеттік техникалық университеті, Новосибирск, 1995.
2. Д. Мак-Кракен, У. Дорн. «Сандық әдістер және программалау Фортране», Баспасы «Мир», М. 1977.
3. Н.С.Бахвалов. «Сандық әдістер», Баспасы «Ғылым», 1975ж.