РОЗРОБКА АЛГОРИТМУ ТА МіКРОПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ДЛЯ ЛОКАЛіЗАЦії ТОЧОК ПЕРЕТИНУ КВАДРИК

Тип работы:
Реферат
Предмет:
Физико-математические науки


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Литература
1. Тевяшев, А. Д. Стохастические модели и методы оптимизации режимов работы газотранспортных систем [Текст] /
A. Д. Тевяшев // Технологический аудит и резервы производства. — 2013. — Т. 6, № 4 (14). — С. 49−51. — Режим доступа: http: //journals. uran. ua/tarp/article/view/19 647/17337
2. Shuanggen, J. An improvement of GPS height estimations: stochastic modeling [Text] / J. Shuanggen, J. Wang, P. -H. Park // Earth, Planets and Space. — 2005. — Vol. 57. — P. 253−259. doi: 10. 1186/bf03352561
3. Shapiro, A. Application of Stochastic Approaches to Modelling Suspension Flow in Porous Media Shapiro [Text] / A. Shapiro, H. Yuan- Skogseid, V. Fasano (Eds.). — Statistical Mechanics and Random Walks: Principles, Processes and Applications. Nova Science Publishers, Incorporated, 2012. — P. 1−36.
4. Тевяшев, А. Д. Оценивание параметров и метрологическая аттестация математической модели неизотермического режима транспорта природного газа по линейному участку магистрального газопровода [Текст] / А. Д. Тевяшев, В. А. Фролов,
B. Б. Коток, О. А. Сендеров // Автоматизированные системы управления и приборы автоматики. — 2005. — Вып. 131. — С. 157−167.
5. Дубницкий, В. Ю. Сравнительный анализ результатов планирования нормативов банковской безопасности средствами классической и нестандартной интервальной математики [Текст] / В. Ю. Дубницкий, А. М. Кобылин // Радиоэлектронные и компьютерные системы. — 2014. — № 5 (69). — С. 29−33.
6. Евдокимов, А. Г. Оперативное управление потокораспределением в инженерных сетях [Текст] / А. Г. Евдокимов, А. Д Тевяшев. — Харьков: «ВИЩА ШКОЛА», 1980. — 144с.
7. Павловский, Ю. Н. Имитационное моделирование [Текст]: учеб. пос. / Ю. Н. Павловский, Н. В. Белотелов, Ю. И. Бродский. — М.: Издательский центр академия, 2008. — 236 с.
8. Koucher, E. Interval Analysis in the Extended Interval Space IR [Text] / E. Koucher // Computing Supplementum. — 1980. -Vol. 2. — P. 33−49. doi: 10. 1007/978−3-7091−8577−33
9. Стоян, Ю. Г. Введение в интервальную геометрию [Текст]: учеб. пос. / Ю. Г. Стоян. — Х.: ХНУРЭ, 2006. — 98 с 10. Вентцель, Е. С. Теория вероятностей. 4-е изд. [Текст] / Е. С. Вентцель. — Москва: Наука, 1969. — 576 c.
В po6omi показано актуальнсть проблематики створення бiблiотечних функцш локалiзацiiрозв'-яз-кв систем нелштних pie^Hb, зокрема для засто-сування у вбудованому програмному забезпечент. Запропоновано алгоритм локалiзацii точок перетину кривих i поверхонь другого порядку, pеалiзо-ваний на мiкpоконтpолеpi STM32F407VG з дотри-манням вимог MISRA. Реалiзацiя алгоритму може бути використана у мкропрограмному забезпечент штелектуальних сенсоpiв векторних величин
Ключовi слова: ттелектуальт сенсори векторних величин, мшроконтролер, вiддiлення коретв,
локалiзацiя, квадрика, ARM
?-?
В работе показана актуальность проблематики создания библиотечных функций локализации решений систем нелинейных уравнений, в том числе для встроенного программного обеспечения. Предложен алгоритм локализации точек пересечения кривых и поверхностей второго порядка, реализованный на микроконтроллере STM32F407VG с учетом требований MISRA. Реализация алгоритма может быть использована в микропрограммном обеспечении интеллектуальных сенсоров векторных величин
Ключевые слова: интеллектуальные сенсоры векторных величин, микроконтроллер, отделение корней, локализация, квадрика, ARM
УДК 004. 4, 519. 688
|DOI: 10. 15 587/1729−4061. 2015. 42 609|
РОЗРОБКА АЛГОРИТМУ ТА М1КРО-ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ДЛЯ ЛОКАЛ1ЗАЦМ ТОЧОК ПЕРЕТИНУ КВАДРИК
Т. А. Марусен кова
Кандидат техшчних наук, асистент* E-mail: tetyana. marus@gmail. com Д. О. Горман*
E-mail: hordon@ya. ru *Кафедра програмного забезпечення Нацюнальний уыверситет '-^bBiBCb^ пол^ехнка& quot- вул. С. Бандери, 12, м. Львiв, УкраТна, 79 013
1. Вступ
Сучасний стан розвитку техшки характеризуемся зростаючою значушдстю штелектуальних сенсорiв
[1−3] завдяки ряду 1хшх характеристик, зокрема, са-мокалiбруванню та самодiагностицi. 1нтелектуальний сенсор е самостшним, лопчно завершеним пристроем, здатним обробляти даш, зiбранi з давачiв тих чи шших
(c)
величин, що входять до иого складу, перетворювати 1х за заданими математичними моделями, та представ-ляти результати у вигляд^ зручному для користувача. Вщомими прикладами iнтелектуальних сенсорiв е & quot-електронниИ шс& quot-, & quot-електронниИ язик& quot- та складовi розумного будинку.
В штелектуальних сенсорах векторних величин, зокрема, магштних, електромагнiтних та електричних полiв, можуть використовуватися давачi з нелшш-ними вихвдними характеристиками, якi залежать вщ однiе'-1 чи декiлькох компонент вимiрюваного вектора. Польовi характеристики ряду сенсорiв е функцiями, що описують кривi або поверхнi другого порядку [4]. Вщтак, важливим етапом обробки даних в штелектуальних сенсорах векторних величин е розв'-язання систем нелшшних рiвнянь з трьома невщомими, кожне з яких е компонентою вимiрюваного вектора. Осюльки аналiтичниИ споаб застосовниИ лише для вузького класу рiвнянь, типово для розв'-язання нелшшних рiв-нянь i '-1хнiх систем програмним шляхом е чисельш ме-тоди, що передбачають вирiшення задачi у два етапи: спочатку знаходять наближеш розв'-язки (проводять вiддiлення корешв), а тодi 1х уточнюють.
& quot-Мозком"- iнтелектуальних сенсорiв, що здшсню-ють обробку даних, е мiкроконтролери. Спостер^а-еться постiИне вдосконалення характеристик мжро-контролерiв рiзних виробникiв та готових бiблiотек для вирiшення типових задач, що виникають при роз-робщ вбудованого програмного забезпечення. Незва-жаючи на те, що чимала юльюсть задач зводиться до розв'-язання систем нелшшних рiвнянь, аналiз мате-матичних бiблiотек, як загального призначення, так i спецiалiзованих для мiкроконтролерiв, виявив ввдсут-нiсть унiфiкованого пiдходу до ввдд^ення розв'-язкiв систем нелiнiИних рiвнянь та бiблiотечних функцiИ, що розв'-язують цю задачу.
2. Аналiз лiтературних даних i постановка проблеми
Огляд кнуючих бiблiотек, що мштять реалiзацiю чисельних методiв для розв'-язання нелшшних рiв-нянь [5−8] показуе, що бшьшшть з цих бiблiотек на-дають функцi'-1 для знаходження корешв нелшшних рiвнянь i 1хшх систем, якi е реалiзацiями методу Ньютона [6], методу половинного дшення або методу хорд. Бiблiотечнi функцп для пошуку нулiв полiномiальних функцiИ однiеi змiнноi потребують, щоб в якостi па-раметрiв 1 м були передан межi числового промiжку, якi мiстить шуканиИ розв'-язок, тодi як для розв'-язання систем полiномiальних рiвнянь вимагаеться передача в якост параметра якогось наближеного розв'-язку системи.
У ходi дослiдження зазначених бiблiотечних функ-цiИ виявлено, що 1хня робота е нестаб^ьною, якщо в якост параметра передано некоректно сформованиИ штервал (недостатньо вузькиИ або такиИ, що мктить декiлька коренiв рiвняння) або недостатньо наближе-ниИ розв'-язок. Крiм того, на числовиИ промiжок [а-Ь], переданиИ як параметр бiблiотечнiИ функцп уточнен-ня коренiв, накладаеться умова f (а) ¦ f (Ь) & lt- 0.
Зокрема, якщо на промiжку [а- Ь], знаходяться три кореш, але не виконуеться умова f (а) ¦ f (Ь) & lt- 0, функщя повертае результат, що корешв на промiжку немае.
Багатомiрний метод Ньютона дозволяе уточнювати наближений розв'-язок системи нелшшних рiвнянь, од-нак, для будь-якого вектора початкових наближень метод зможе знайти лише один розв'-язок (найближчий). Отже, для ввдшукання ycix розв'-язюв необхщно знати кiлькiсть коренiв i промiжки, в яких вони знаходяться.
Слщ зазначити, що використання множини стан-дартних бiблiотек для розв'-язання нелшшних рiвнянь у мiкропрограмномy забезпеченнi обмежуеться тим фактом, що вбудоване програмне забезпечення повинно вщповщати правилам MISRA [9], тодi як значна частина бiблiотечних функцш не е сумшною з MISRA, оскiльки використовуе рекураю або фyнкцii для ро-боти з динамiчною пам'-яттю. Осюльки можливостi мiкроконтролерiв усе ще е обмеженими, зокрема, за обсягом достyпноi пам'-яп, цей факт необхiдно врахо-вувати при розробцi алгоритмiв локалiзацii розв'-язкiв нелiнiйних рiвнянь i iхнiх систем.
Для локалiзацii коренiв типово застосовують гра-фiчний i аналггичний спосiб. Графiчний спосiб не може бути використаний як промiжна ланка в розв'-язанш нелiнiйних рiвнянь в мжропрограмному забезпеченнi, оскiльки передбачае участь людини, а коефiцiенти у системi рiвнянь можуть бути змiнними. Аналиичний спосiб базуеться на загальновiдомих теоремах [6] або ж на специфiчних властивостях того чи шшого класу функцш. Для визначення числа розв'-язюв полшомь альних рiвнянь i '-?хшх систем може бути використаний базис Гребнера [10], однак, застосовшсть цього методу у програмному забезпеченш мiкроконтролерiв обмежуеться його чyтливiстю до точност промiжних обчислень.
Огляд iснyючих бiблiотек показуе вiдсyтнiсть готових функцш для вщд^ення коренiв. У [11] представлено алгоритм ввдд^ення корешв полiномiальних фyнкцiй однiеi змiнноi i мiкропрограмне забезпечення для контролерiв «мейства ARM. У [12] описаний споиб локалiзацii розв'-язкiв системи рiвнянь вигляду a11×2 + a22y2 + a33z2 + a14x + a24y + a34z + a44 = 0 за допомогою обчислення матрицi Сильвестра. Однак, кнуе необ-хiднiсть у розробщ повторно застосовуваних фyнкцiй для знаходження наближених розв'-язюв дов^ьних нелшшних рiвнянь i iхнiх систем, зокрема систем рiвнянь, якi описують поверхш другого порядку i, як частинний випадок,rni другого порядку.
3. Мета та задачi дослщження
Метою роботи е розроблення алгоритму локалiзацii точок перетину поверхонь другого порядку (квадрик) i його реалiзацii для мiкроконтролерiв амейства ARM.
Для досягнення поставленоi мети були поставлен настyпнi завдання:
— аналiз математичних бiблiотек для мжроконтро-лерiв сiмейства ARM та математичних засад i коду бь блютечних фyнкцiй уточнення розв'-язкiв нелiнiйних рiвнянь i iхнiх систем-
— систематизащя математичного апарату, що може слугувати шдгрунтям для розроблення алгоритму локалiзацii точок перетину поверхонь другого порядку, розроблення та реалiзацiя такого алгоритму для мжроконтролера STM32F407VG у складi плати STM32F4Discovery-
— верифжащя розробленого алгоритму та досль дження практичност його застосування стльно з ic-нуючими функцiями уточнення розв'-язкiв нелiнiйних рiвнянь i ixrnx систем.
4. Опис методики локалiзащi точок перетину квадрик
Нехай маемо систему щонайменше трьох рiвнянь, що описують поверхн другого порядку, тобто рiвнянь вигляду:
аих2 + а22у2 + а33 z + 2а12хУ + 2a23yz +
+2a13xz + 2a14x + 2a24y + 2a34z + a44 = 0. (1)
Для локалiзацii точок перетину поверхонь (1), тобто, знаходження числових промiжкiв [х1-х2 ] [у1-у2 ] та [z1-z2 ], що потенцшно мicтять точки перетину, засто-суемо наступний пiдхiд:
1. Знаходимо област [x1i-x2i], [y1i-y2i], [z1i-z2i] ви-значення функцп, що представляе собою лiву частину кожного з рiвнянь (1), де i = 1, N — номер рiвняння в cиcтемi з N рiвнянь (1)
2. Обчислюемо перерiзи
X = [x11'--x21]c[x12-x22 ]c … x1N'-x2N ] ,
Y=[уН-У21 ]п[У12--У22 ]c … y1N-y2N] ,
Z = [z11 '-Z21] C[Z12& gt-Z22 ]c … z1N'-Z2N ] ,
одержуючи таким чином чиcловi промiжки, на яких можуть бути розв'-язки, i вщкидаючи промiжки, на яких розв'-язюв завщомо бути не може. Якщо хоча б один iз отриманих перерiзiв X, Y, Z мштить порож-ню множину, то розв'-язюв системи не шнуе.
3. Знайдеш чиcловi промiжки розбиваемо на N1, N2 i N3 рiвновiддалених промiжкiв, таким чином область xeX, уeY та zeZ може бути представлена як сукупшсть паралелепiпедiв, вершинами яких е вузловi точки, одержанi зазначеним розбиттям числових промiжкiв X, Y, Z. Вибiр значень N1, N2 i N3 залежить вiд сшввщношення довжин промiжкiв X3, Y, Z.
4. Для кожного паралелепшеда перевiряемо, чи вiн перетинаеться уйма поверхнями другого порядку (1). Якщо так, то у даному паралелепiпедi може мштитися розв'-язок, шакше в данш облаcтi гаранто-вано вщсутт розв'-язки системи. Чиcловi промiжки [xj-xk], [у^ук], [zj'-, zk], якi формують область, що потенцшно мштить шуканi розв'-язки системи рiв-нянь, зберiгаемо.
Для визначення, чи поверхня (1) перетинае пара-лелепшед xe[a1-b1 ], у e[a2-b2], ze[a3-b3], застосо-вуемо штервальну арифметику, пiдcтавляючи данi промiжки у рiвняння поверхнi (1):
a11 [a1'--b1]2 + a22 [a2 *'-b2 ]2 + a33 [a3 -b3 ]2 +
+2a12 [a1'--b1 ] [a2 *'-b2 ]+ 2a23 [a2 *'-b2 ][a3'--b3 ] +
+2a13 [a1 — b1] [a3 — b3 ]+2a14 [a1 — b1 ]+
+2 a 24 [ a 2 — b 2 ] + 2 a 3 4 [ a 3 — b 3 ] + a 44.
Якщо для отриманого в результат iнтервал [c-d] справджуеться c¦ d & lt- 0, паралелепшед перетинаеться поверхнею другого порядку. Якщо для вах штерва-лiв [ci-di] справджуеться умова ci ¦ di & lt-0, у даному паралелепiпедi може мicтитиcя розв'-язок, а шакше вш гарантовано не мктить точок перетину квадрик.
Недолжом запропонованого пiдходу е те, що лока-лiзованi промiжки необов'-язково мктять шуканi розв'-язки, однак, не буде втрачено жодноi облаcтi, що мктить розв'-язки.
Запропонований алгоритм локалiзацii розв'-язюв системи рiвнянь, що описують поверхш другого порядку, реалiзований у виглядi функцii згiдно з вимогами MISRA C на мiкроконтролерi STM32F407VG архггек-тури ARM, встановленого на вщлагоджувальнш платi STM32F4Discovery, в середовишд KeilVision 5.
5. Оцшювання релевантностi розробленого алгоритму i функцп локалiзацii точок перетину квадрик
Оцшювання дощльносп застосування розробленоi функцп стльно з кнуючими бiблiотечними функщ-ями, що реалiзують чиcельнi методи для уточнення розв'-язюв нелшшних рiвнянь i '-?хшх систем, проводи-лося наступним чином. Для ш^ш^альних функцiй однiеi змiнноi, систем з двох рiвнянь, що описують кривi другого порядку, та систем з трьох рiвнянь, яю визнача-ють поверхнi другого порядку, спочатку викликалася розроблена функщя i фжсувалися локалiзованi нею чиcловi облаcтi, що потенцiйно мicтять розв'-язки. Дал^ для вciх бiблiотечних функцш уточнення корешв фор-мувалися чиcловi промiжки трьох типiв:
1) промiжки, знайденi в результатi роботи розро-бленоi функцii-
2) промiжки, знайдеш графiчним методом-
3) промiжки, визначеш з дуже грубим наближен-ням, & quot-на око& quot-.
Для бiблiотечних функцш, яю вимагають у яко-ст аргументiв не числового промiжку, а наближено-го розв'-язку рiвняння або системи рiвнянь, бралися середини промiжкiв уciх типiв.
Правильнicть результатiв роботи функцш уточнення корешв встановлювалася звiрянням юлькост знайдених коренiв рiвняння з звiрянням з icтинним числом розв'-язюв на кожному промiжку, а також порiвняння знайдених коренiв з вщомими коренями.
Загалом оцiнювання виконувалося за допомогою 8 вщомих бiблiотечних функцiй, що реалiзовували метод Ньютона, метод хорд i метод дихотомп.
У табл. 1 подано результати опиcаноi вище пере-вiрки дощльност розробленоi функцii на прикладi знаходження корешв рiвняння
8×6 — 10×5 — 7×4 — 9×3 — 5×2 + 3x = 0,
а в табл. 2 — результати аналогiчноi перевiрки для системи рiвнянь
-35×2 + 64x + 12у — 52z = 0,
• 98×2 — 21 = 0,
x2 + 24yz — 38x + 26y — 48 = 0.
Для одновимiрного випадку перевiрялися функ-цп, що застосовують три чисельнi методи, тодi як для випадку розв'-язання зазначено! системи рiв-нянь використовувалася лише бiблiотечна функцiя, що реалiзуe багатомiрний метод Ньютона. Осюль-ки бшьшшть бiблiотечних функцiй реалiзують методи Ньютона, дихотомп або хорд, то результати тестування в табл. 1 згруповаш по вщношенню до цих методiв, а не до! хшх конкретних функцш-реа-лiзацiй.
Таблиця 1
Результати перевiрки доцiльностi розробленого алгоритму на прикладi знаходження нулiв функцп оджеТ змшноТ
Алгоритм Пром1жок Результат алгоритму Висновок
Метод дихотомй [0. 5- 3] (коректний пром1жок з одним розв'-яз-ком, знайдений розробленою функщею локатзацй) х=2. 0148 F (x)=-0. 4394 Ус методи, кр1м методу хорд, дали правильний результат. Методом хорд знайде-но нуль функцй не? з заданого пром1жку.
Метод Ньютона х=2. 015 F (x)=0. 117
Метод хорд х=0. 3322 F (x)=-0. 0001
Метод дихотомй [-1- -0. 5] (коректний пром1жок з одним розв'-яз-ком, знайдений функщею локатзацй) х=-0. 7334 F (x)=-0. 1 508 Ус методи дали правильний результат.
Метод Ньютона х=-0. 73 327 318 F (x)=0
Метод хорд х=-0. 73 215 496 F (x)=-0. 0198
Метод дихотомй [1- 1. 5] (про-м1жок, що не мютить корешв, але був знайдений функщею локалюацп корешв) F (1)=-20 F (1. 5)=-57. 375 р (1). р (1. 5)>- 0 Методи дали правильний результат, що корешв на даному пром1жку немае, осгальки Р (1)-Р (1. 5)>- 0
Метод Ньютона
Метод хорд
Метод дихотомй [-0. 4- 2. 3] (три кореш на пром1жку, пром1жок взято навмання) х=2. 0146 F (x)=-0. 4394 Методами було уточнено лише один коршь? з трьох
Метод Ньютона х=2. 1 498 F (x)=0. 0005
Метод хорд х=-0. 2 823 F (x)=-0. 0885
Метод дихотомй [-1- 0. 25] (два кореш на пром1жку, взято об'-еднаш про-м1жки з кореня-ми, виявленими граф1чним методом F (-1)=12 F (0. 25)=0. 262 р (-1). р (0. 25)>- 0 Методи дали хибний результат, спираю-чись на умову р (-1). р (0. 25)>- 0
Метод Ньютона
Метод хорд
Таблиця 2
Результати перевiрки доцiльностi розробленого алгоритму на прикладi знаходження точок перетину трьох квадрик
Пром1жок Наближен-ня кореня Результат алгоритму Висновок
х0=-0.5 У0=-3.5 zo=-1.5 Х=-0. 4629 у=-3. 2685 z=-1. 4682 Пром1жок з одним розв'-язком, знайдено функщею локал1зацй Розв'-язок знайдений устшно.
хе[-0. 8- -0. 1] уе[-3. 8- -2. 5] ze[-2- -1] х0=-0.8 У0=-3.8 zo=-2 х=-0. 463 у=-3. 269 z=-1. 468 Сформовано пром1жок з одним розв'-язком. Перев1рено результати алгоритму уточнення у середин! пром1жку та на кш-цях. Розв'-язок було знайдено усшшно? з заданою точшстю для уах трьох випадгав.
х0=-0. 45 У0=-3. 15 zo=-1.5 х=-0. 4629 у=-3. 2685 z=-1. 4682
Х0=-0.1 У0=-2.5 zo=-1 Х=-0. 4629 у=-3. 2685 z=-1. 4682
хе[-0. 8- -0. 1] уе[-5- 5] z6[-3- 2] х0=-0.8 У0=-5 zo=-3 х=-0. 4629 у=-3. 2685 z=-1. 4682 Сформовано пром1жок? з двома розв'-язками. Дослщ-жено результат на юнцях та всередиш пром1жку. Розв'-язки були уточнен! устшно. Р1зш значення наближення дали р1зш розв'-язки.
х0=-0. 45 У0=0 z0=-0.5 х=-0. 46 290 у=1. 66 790 z=-0. 3290
Х0=-0.1 У0=5 zo=2 х=-0. 46 290 у=1. 66 790 z=-0. 32 900
хе[-5- -3] уе[-6- 8] z6[-4- 2] Х0=-5 У0=-6 zo=-4 х=-0. 4629 у=-3. 2685 z=-1. 4682 Сформовано пром1жок без розв'-яз- гав. Знайдено два р1зш розв'-язки нав1ть при неправильно заданому пром1жку.
Х0=-4 У0=1 zo=-1 х=-0. 4629 у=1. 66 797 z=-0. 3290
Х0=-3 У0=8 zo=2 х=-0. 4629 у=1. 66 797 z=-0. 3290
Пром1жок вщсутнш, наближений розв'-язок взято навмання Х0=1000 у0=1000 z0=1000 х=0. 4629 у=1. 4733 z=0. 7655 Задано хибний на-ближений розв'-язок. Один з розв'-язгав знайдено усшшно.
6. Апробащя результаив дослщження
Запропонований алгоритм був верифжований у три етапi. На першому етапi в якостi тестових прикла-дiв були вибранi системи рiвнянь, що описують кривi та поверхш другого порядку, точки перетину яких е вь домими. В уах тестових випадках розроблена функцiя гарантовано повертала числовi промiжки, що мктили точки перетину кривих i поверхонь, однак, серед ре-зультатiв роботи функцп траплялися i такi, що на-справдi не мiстили розв'-язюв тестових систем рiвнянь.
На другому етат оцiнювалася доцiльнiсть засто-сування розроблено! функцп як промiжноi ланки у процес розв'-язання систем полiномiальних рiвнянь. Для 8 полiномiальних функцш однiеi змiнноi, 8 систем рiвнянь, що описують кривi другого порядку, та для 10 систем рiвнянь поверхонь другого порядку ви-кликалася розроблена функщя для локалiзацii! х-нiх розв'-язкiв. Вибiрковi результати цього тестування представлен у табл. 1, 2. Як видно з представлених ре-
зультапв, бiблiотечнi функцп для уточнення розв'-язюв нелшшних рiвнянь можуть повертати некоректш результати або ж знаходити не в» розв'-язки в залежно-cтi вiд переданого '-?м наближеного розв'-язку. Зокрема, некоректний результат в робот функцш знаходження нулiв функцш однiеi змiнноi cпоcтерiгаетьcя у випад-ках, якщо сформований промiжок мктить декiлька розв'-язкiв (буде знайдено лише один) або ж для меж промiжку [a-b] порушена умова F (a)¦ F (b)& lt- 0. У ви-падку розв'-язання системи нелшшних рiвнянь з трьо-ма змiнними багатомiрним методом Ньютона один з розв'-язюв гарантовано буде знайдений, однак, у" iншi лишаться незнайденими.
Для вах числових областей, знайдених розробленою функщею локалiзацii точок перетину квадрик, вдавало-ся правильно провести уточнення розв'-язюв за умови, що розв'-язки наcправдi мктилися в цих областях.
На третьому етат перевiрялаcя вщповщшсть роз-робленоi функцii вимогам MISRA C.
Результати тестування показали працездатшсть i дощльшсть розробленоi функцii локалiзацii точок перетину квадрик.
7. Висновки
Проаналiзовано математичш бiблiотеки функцiй, що реалiзують чисельш методи (переважно, метод Ньютона, метод хорд i метод дихотомп) для розв'-язання нелшшних рiвнянь i '-?хшх систем. Проведено тестування залежносп результатiв роботи цих функцш ввд пере-даних '-?м параметрiв. У процеci перевiрки ряду бiблiо-течних функцiй виявлено, що коректшсть результатiв iхньоi роботи залежить вщ того, наcкiльки правильно
сформовано цей параметр. Якщо задано промiжок, який не мктить шуканих розв'-язкiв або ж, навпаки, мктить бiльше шж один розв'-язок, буде одержано хибний результат, що доводить необхвдшсть у програмних реаль зацiях функцш, яю б дозволяли коректно локалiзувати розв'-язки. Виявлено вiдcутнicть унiфiкованого тдходу до локалiзацii розв'-язкiв нелiнiйних рiвнянь i iхнiх систем, а також готових програмних реалiзацiй.
Запропоновано алгоритм локалiзацii точок перетину поверхонь другого порядку i '-?хнього частин-ного випадку — кривих другого порядку, що був ре-алiзований та верифiкований для мжроконтролера STM32F407VG на оcновi архиектури ARM (у cкладi плати STMF4Discovery) в cередовищi KeilVision 5 з дотриманням стандарту MISRA С.
Результати апробацп розробленоi функцп дозво-ляють стверджувати, що вона може бути використана для формування i доповнення бiблiотек математичних функцш, яю реалiзують поширеш чиcельнi методи уточнення наближених значень розв'-язюв нелшшних рiвнянь. Застосування функцп дощльне передуciм в iнтелектуальних сенсорах векторних величин, польовi характеристики яких описуються рiвняннями квадрик.
Недолiком запропонованого алгоритму е те, що з-помiж результапв його роботи можуть бути «па-разитш» промiжки, що наcправдi не мicтять точок перетину квадрик. Однак, цей факт не впливае на результати розв'-язання системи нелшшних рiвнянь, оcкiльки функцп для уточнення корешв не знаходять розв'-язюв на штервалах, де '-?х немае. Плануються подальшi пошуки шляхiв розроблення алгоритмiв i мiкропрограмного забезпечення на '-?хнш оcновi для локалiзацii розв'-язкiв систем рiвнянь, якi описуються довшьними функцiями трьох змiнних.
Лиература
1. Riviere, J. M. Design of smart sensors: towards an integration of design tools [Text] / J. M. Riviere, D. Luttenbacher, M. Robert, J. P. Jouane // Sensors and Actuators A: Physical. — 1995. — Vol. 47, Issue 1−3. — P. 509−515. doi: 10. 1016/0924−4247(94)00952-e
2. Bowen, M. Consideration for the design of smart sensors [Text] / M. Bowen, G. Smith // Sensors and Actuators A: Physical. -1995. — Vol. 47, Issue 1−3. — P. 516−520. doi: 10. 1016/0924−4247(94)00953-f
3. Chaudhari, M. Study of Smart Sensors and their Applications [Text] / M. Chaudhari, S. Dharavath // International Journal of Advanced Research in Computer and Communication Engineering. — 2014. — Vol. 3, Issue 1. — P. 5031−5034.
4. Bolshakova, I. A. Methods of modeling and calibrating 3D magnetic sensors based on splitted Hall structures [Text] / I. A. Bolshakova, R. L. Holyaka, Z. Yu. Hotra, T. A. Marusenkova // Electronics and communications. Electronics and nanotechnologies. — 2011. — Vol. 2, Isuse 61. — P. 34−38.
5. Swanson, D. Signal Processing for Intelligent Sensor Systems with MATLAB [Text] / D. Swanson. — CRC Press, 2011. — 380 p.
6. Deuflhard, P. Newton Methods for Nonlinear Problems [Text] / P. Deuflhard // Affine Invariance and Adaptive Algorithms. Springer Series in Computational Mathematics. — 2004. — Vol. 35.
7. Gay, D. M. Solving systems of nonlinear equations by Broyden'-s method with projected updates, in Nonlinear Programming [Text] / D. M. Gay, R. B. Schnabel. — Academic Press, New York, 1978. — P. 245−281. doi: 10. 1016/b978−0-12−468 660−1. 50 014−1
8. Dennis, J. E. Numerical Methods for Unconstrained Optimization and Nonlinear Equations [Text] / J. E. Dennis, R. B. Schnabel. — Prentice-Hall, Englewood Cliffs, 1983.
9. «MISRA C: 2012 Guidelines for the use of the C language in critical systems» [Electronic source] / Available at: http: //www. misra. org. uk
10. Lauritzen, N. Concrete Abstract Algebra: From Numbers to Grbner Bases [Text] / N. Lauritzen. — Cambridge University Press, 2003. — 252 p.
11. Marusenkova, T. Approach To Roots Separation For Solving Nonlinear Equations On ARM Cortex-Based Microcontrollers [Text] / T. Marusenkova, I. Yurchak // XXII Ukrainian-Polish Conference on & quot-CAD in Machinery Design. Implementation and Educational Issues& quot-. — Lviv, 2014. — P. 101−103.
12. Горман, Д. О. Алгоритм в^шення корешв полшо1шальних функцш для мiкроконтролерiв на 0CH0Bi ARM [Текст] / Д. О. Горман, Т. А. Марусенкова, I. Ю. Юрчак // XIII Мiжнародна науково-техшчна конференщя CADSM & quot-Досвщ розробки та застосування приладо-технолопчних САПР в мшроелектрошщ& quot-. —. nbBiB-Поляна, 2015. — С. 50−52.

ПоказатьСвернуть
Заполнить форму текущей работой