Научная статья на тему 'РОЗРОБКА АЛГОРИТМУ ТА МіКРОПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ДЛЯ ЛОКАЛіЗАЦії ТОЧОК ПЕРЕТИНУ КВАДРИК'

РОЗРОБКА АЛГОРИТМУ ТА МіКРОПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ДЛЯ ЛОКАЛіЗАЦії ТОЧОК ПЕРЕТИНУ КВАДРИК Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
90
35
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНТЕЛЛЕКТУАЛЬНЫЕ СЕНСОРЫ ВЕКТОРНЫХ ВЕЛИЧИН / МИКРОКОНТРОЛЛЕР / ОТДЕЛЕНИЕ КОРНЕЙ / ЛОКАЛИЗАЦИЯ / КВАДРИКА / ARM / INTELLIGENT SENSORS OF VECTOR QUANTITIES / MICROCON- TROLLER / LOCATION OF ROOTS / SEPARATION / QUADRIC

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Марусенкова Т.А., Горман Д.О.

В работе показана актуальность проблематики создания библиотечных функций локализации решений систем нелинейных уравнений, в том числе для встроенного программного обеспечения. Предложен алгоритм локализации точек пересечения кривых и поверхностей второго порядка, реализованный на микроконтроллере STM32F407VG с учетом требований MISRA. Реализация алгоритма может быть использована в микропрограммном обеспечении интеллектуальных сенсоров векторных величин

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Development of algorithm and embedded software for separation of intersection points of quadrics

The relevance of developing the re-used functions for separation of solutions to nonlinear equations to apply in embedded software of intelligent sensors was shown in the paper. Analysis of existing mathematical libraries has revealed the lack of a single approach to separation of solutions to equations and software implementations of root location algorithms. Testing of existing library functions for clarification of solutions to nonlinear equations and their systems using numerical methods (Newton, chords and dichotomy), the results of which confirm that the possibility to find all solutions with a given accuracy depends on the initial approximation was performed. The algorithm for the separation of intersection points of quadrics (second order surfaces), equations of which are often used to describe field characteristics of sensors, included in intelligent sensors of vector quantities was proposed. The algorithm is implemented as a function by the C language in compliance with the MISRA C standard for the STM32F407VG microcontroller, included in the STM32F4Discovery debug board. Testing of the function developed has shown that it allows to find all the numeric fields, containing the intersection points of quadrics, after which approximate solutions can be clarified using one of the known methods. Developed function can be used to extend mathematical libraries for solving nonlinear equations adapted to ARM family microcontrollers.

Текст научной работы на тему «РОЗРОБКА АЛГОРИТМУ ТА МіКРОПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ДЛЯ ЛОКАЛіЗАЦії ТОЧОК ПЕРЕТИНУ КВАДРИК»

Литература

1. Тевяшев, А. Д. Стохастические модели и методы оптимизации режимов работы газотранспортных систем [Текст] /

A. Д. Тевяшев // Технологический аудит и резервы производства. - 2013. - Т. 6, № 4 (14). - С. 49-51. - Режим доступа: http://journals.uran.ua/tarp/article/view/19647/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-3_3

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.15587/1729-4061.2015.42609|

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

Т. А. Марусен кова

Кандидат техшчних наук, асистент* E-mail: tetyana.marus@gmail.com Д. О. Горман*

E-mail: hordon@ya.ru *Кафедра програмного забезпечення Нацюнальний уыверситет '^bBiBCb^ пол^ехнка" вул. С. Бандери, 12, м. Львiв, УкраТна, 79013

1. Вступ

Сучасний стан розвитку техшки характеризуемся зростаючою значушдстю штелектуальних сенсорiв

[1-3] завдяки ряду 1хшх характеристик, зокрема, са-мокалiбруванню та самодiагностицi. 1нтелектуальний сенсор е самостшним, лопчно завершеним пристроем, здатним обробляти даш, зiбранi з давачiв тих чи шших

©

величин, що входять до иого складу, перетворювати 1х за заданими математичними моделями, та представ-ляти результати у вигляд^ зручному для користувача. Вщомими прикладами iнтелектуальних сенсорiв е "електронниИ шс", "електронниИ язик" та складов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х уточнюють.

"Мозком" 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 (Ь) < 0.

Зокрема, якщо на промiжку [а; Ь], знаходяться три кореш, але не виконуеться умова f (а) ■ f (Ь) < 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внянь вигляду a11x2 + 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 ïxrnx систем.

4. Опис методики локалiзащï точок перетину квадрик

Нехай маемо систему щонайменше трьох рiвнянь, що описують поверхн другого порядку, тобто рiвнянь вигляду:

аих2 + а22у2 + а33 z + 2а12хУ + 2a23yz +

+2a13xz + 2a14x + 2a24y + 2a34z + a44 = 0 . (1)

Для локалiзацiï точок перетину поверхонь (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]ç[x12;x22 ]ç ...[x1N'x2N ] ,

Y=[уН;У21 ]п[У12;-У22 ]ç ...[y1N;y2N] ,

Z = [z11 'Z21] Ç[Z12>Z22 ]ç ...[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 < 0, паралелепшед перетинаеться поверхнею другого порядку. Якщо для вах штерва-лiв [ci;di] справджуеться умова ci ■ di <0, у даному паралелепiпедi може мicтитиcя розв'язок, а шакше вш гарантовано не мктить точок перетину квадрик.

Недолжом запропонованого пiдходу е те, що лока-лiзованi промiжки необов'язково мктять шуканi розв'язки, однак, не буде втрачено жодноï облаcтi, що мктить розв'язки.

Запропонований алгоритм локалiзацiï розв'язюв системи рiвнянь, що описують поверхш другого порядку, реалiзований у виглядi функцiï згiдно з вимогами MISRA C на мiкроконтролерi STM32F407VG архггек-тури ARM, встановленого на вщлагоджувальнш платi STM32F4Discovery, в середовишд Keil ^Vision 5.

5. Оцшювання релевантностi розробленого алгоритму i функцп локалiзацiï точок перетину квадрик

Оцшювання дощльносп застосування розробленоï функцп стльно з кнуючими бiблiотечними функщ-ями, що реалiзують чиcельн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ï;

2) промiжки, знайдеш графiчним методом;

3) промiжки, визначеш з дуже грубим наближен-ням, "на око".

Для б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 знаходження корешв рiвняння

8x6 - 10x5 - 7x4 - 9x3 - 5x2 + 3x = 0,

а в табл. 2 - результати аналогiчноï перевiрки для системи рiвнянь

-35x2 + 64x + 12у - 52z = 0,

• 98x2 - 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.00117

Метод хорд х=0.3322 F(x)=-0.0001

Метод дихотомй [-1; -0.5] (коректний пром1жок з одним розв'яз-ком, знайдений функщею локатзацй) х=-0.7334 F(x)=-0.01508 Ус методи дали правильний результат.

Метод Ньютона х=-0.73327318 F(x)=0

Метод хорд х=-0.73215496 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.01498 F(x)=0.0005

Метод хорд х=-0.02823 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 знаходження точок перетину трьох квадрик

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.46290 у=1.66790 z=-0.3290

Х0=-0.1 У0=5 zo=2 х=-0.46290 у=1.66790 z=-0.32900

хе[-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.66797 z=-0.3290

Х0=-3 У0=8 zo=2 х=-0.4629 у=1.66797 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нноï cпоcтерiгаетьcя у випад-ках, якщо сформований промiжок мктить декiлька розв'язкiв (буде знайдено лише один) або ж для меж промiжку [a;b] порушена умова F (a )■ F ( b)< 0. У ви-падку розв'язання системи нелшшних рiвнянь з трьо-ма змiнними багатомiрним методом Ньютона один з розв'язюв гарантовано буде знайдений, однак, у« iншi лишаться незнайденими.

Для вах числових областей, знайдених розробленою функщею локалiзацiï точок перетину квадрик, вдавало-ся правильно провести уточнення розв'язюв за умови, що розв'язки наcправдi мктилися в цих областях.

На третьому етат перевiрялаcя вщповщшсть роз-робленоï функцiï вимогам MISRA C.

Результати тестування показали працездатшсть i дощльшсть розробленоï функцiï локалiзацiï точок перетину квадрик.

7. Висновки

Проаналiзовано математичш бiблiотеки функцiй, що реалiзують чисельш методи (переважно, метод Ньютона, метод хорд i метод дихотомп) для розв'язання нелшшних рiвнянь i '¿хшх систем. Проведено тестування залежносп результатiв роботи цих функцш ввд пере-даних '¿м параметрiв. У процеci перевiрки ряду бiблiо-течних функцiй виявлено, що коректшсть результатiв ïхньоï роботи залежить вщ того, наcкiльки правильно

сформовано цей параметр. Якщо задано промiжок, який не мктить шуканих розв'язкiв або ж, навпаки, мктить бiльше шж один розв'язок, буде одержано хибний результат, що доводить необхвдшсть у програмних реаль зацiях функцш, яю б дозволяли коректно локалiзувати розв'язки. Виявлено вiдcутнicть унiфiкованого тдходу до локалiзацiï розв'язкiв нелiнiйних рiвнянь i ïхнiх систем, а також готових програмних реалiзацiй.

Запропоновано алгоритм локалiзацiï точок перетину поверхонь другого порядку i '¿хнього частин-ного випадку - кривих другого порядку, що був ре-алiзований та верифiкований для мжроконтролера STM32F407VG на оcновi архиектури ARM (у cкладi плати STMF4Discovery) в cередовищi Keil ^Vision 5 з дотриманням стандарту MISRA С.

Результати апробацп розробленоï функцп дозво-ляють стверджувати, що вона може бути використана для формування 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зацiï розв'язк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-468660-1.50014-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 "CAD in Machinery Design. Implementation and Educational Issues". - Lviv, 2014. - P. 101-103.

12. Горман, Д. О. Алгоритм в^шення корешв полшо1шальних функцш для мiкроконтролерiв на 0CH0Bi ARM [Текст] / Д. О. Горман, Т. А. Марусенкова, I. Ю. Юрчак // XIII Мiжнародна науково-техшчна конференщя CADSM "Досвщ розробки та застосування приладо-технолопчних САПР в мшроелектрошщ". - .nbBiB-Поляна, 2015. - С. 50-52.

i Надоели баннеры? Вы всегда можете отключить рекламу.