MATLAB 7 5-94157-494-0

Около 1100 книг в которых рассмотренны все аспекты комьютерной и околокомьютерной тематик. 101 Reasons To Switch To The

328 86 137MB

Russian Pages 1104 Year 2005

Report DMCA / Copyright

DOWNLOAD PDF FILE

Recommend Papers

MATLAB 7
 5-94157-494-0

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

ро г И л Ае с к а н д л е Ен

ь  рие фну А

в р  См ирон

а  См иронв

в а

С а н т к - Пе т е р б у

г

«БХ-В еПт рбгу

» 2005

УД ББ

К   681.3.06 К   32.973.26- 018.2 7А 3zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA и ер н уф А в   И .  Е . ,  онСирм в   А .  Б . ,  он ивСрм а   Е . Н . 7А 3 

M ATLAB  7. -   С П б .

:  Б ХВ - П е т р б ур г

,  2005.  -   1104 с : и л

.

ISBN   5- 94157- 494- 0

Книг а   п о св ящ ен а   п р и м ен ен и ю   п а к ет а   MATLAB  и   ег о   р а с ш и р е н и й (Toolbox)  лд я   р е ш е н и я   раз ли ч н ы х   м а ет м а ит ч е с к и х ,  э к о н о м и ч е с к и х   з а дч , а   ргдиу .х   П о др о б н о з ад ч   м а те м а ти ч е с к о й   фи з и к и ,  о б р а б о тк и   да н н ы х   и   р яд р а с м о тр е н а   рабо т а   с   м ас и вам и ,  о п и с а н ы   воз м ож н ост и   в ы с о к ру о в н е в о й  и н и з к о ру в н е в о й   гр а фи к и .  З н а ч и те л ь н ы й   объе м   м а те р и а л а   о вт е д н   вы ч и сли те л ь н ы м   з адч ам :  р е ш е н и ю   ру а в н е н и й ,  с и с те м   ли н ей н ы х   и   н ели н ей н ы х ур а в н е н и й ,  и н те гр и р о в а н и ю ,  а п р о к с и м а ц и и   ф ун к ц и й ,  р е ш е н и ю   с и с ет м о бы к н о в ен н ы х   ди ф е р н ц и а л ь н ы х   ру а в н е н и й   и   ру а в н е н и й   в   ч а с нт ы х  п р о и з в о дн ы х ,  з адч м   о п ти м и з а ц и и   и   рабо т е   с   р аз р еж ен н ы м и   м а тр и ц а м и . м   яз ы к е   и   п ри н ц и п ы И з ло ж ен ы   осн ов ы   п р о гр а м и р о в а н и я   н а   в с рт о е н н о э ф е к ти в н о г о   н ап и сан и я   п р и ло ж ен и й   в   MATLAB,  в о п р о с ы   и н ет г р а ц и и  с MS  Word  и  MS Excel. О п и сан ы   воз м ож н ост и   р асш и р ен и й   Toolbox.  П р и в е д н о   м н о ж е с вт о й   лд я   с а м о с т я е л ь н о й   р а б о ыт .  Д л я  уодбсвт а   ч и а те л й п р и м ер о в   и   з адн и те к с т ы   п ро г ам м   собран ы   н а  п р и л а г ем о м   к о м п а к т- д и с к е .zyxwvutsrqponmlkjihgfedcbaZ ялД

  х ын а у ч

 ртинокваб,

  йе,ав тлдепор

 в о рен ижн

  и   в т н е о су д

Б п у Гр

Г в ан л ы З ам З ав о Р ак т д е К о м п ь ю е р тн а К о р ек т Д и з ай З ав Л и ц енз о Фр м а "БВ- Х "ргбеу т П н а р С и то - э п и д е м и о л г е ч с о к

а  октв г дп

й   о а к тр д е

р  

.  лавгн о .  ракедц и е

о   о р ка т д е й   я   к в ре с т н   о бл ж к

а  

 Динб о  в оне ме С Н ьи а т л Ни я а т л я г р оИ а йН и к л о

и   м  

я  И Д  №  02429 о т  24.07.00. Попдисна 1 т  70x100 / i6-   та че П ь   с н яа е т о ф . Усл и р аТ ж   5000 э кз . Зак з  № 13 0 ,  194354, С- тнка ербтгуП

е  злюкаечни о т  11.11.2004 г . внаыд о  Феднроаль в  сер ф е  зща ит ы  пра в  перлбоит в  ОА 190005, С- тнка ербтугП

  укваодн К   а к в б о Ры

ийгр о Гр кй е с л А

р   .  п рои з всотд

:

Е к и а нт р е Е в г и н ей

а  

р  

н а т п еч О

I S B N   5- 94157- 494- 0 

и  иаяинзд

о   с  гоыв т О  "Тниесхчак

Д У К   681.3.06 К   32.973.26- 018.2

е  н а  прцоикуд

 йв онир м С   а кш в р о е П  ьинкваоулр ыЦ

zyxwvutsrqponmlkjihgfedcbaZY

 Т ксвирхе о  в  пта че . печ

ь  30.03.05. . л . 89,01.

, ул

. Есени а

ю  №

 77.99.02.953.Д.006421.11.0 4 й  п о  здонар у я   еч л о в а к .

й  сб о жул й  и  богалпичу х  дипаозвт

, 5Б .

в я   н ки га

, Изм йа ло вс ик

" й  п р .

°  ирефн уА © Оормфнел и е

, 29.

в  И . Е. , Смирн о , ив тьсле азд

в  А . Б. , С ми рн ов о  "БВ-Х "гр убПе т

а  Е . Н . , 2005 , 2005

лОг а в е и н

е

и не д В в

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE

е  

1

81. О zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  назн ач ен и и  и  в о з м о ж н о сят х   п а к ет а   MATLAB и  ег о  р асш и р ен и й   82. О  соедрж ан и и   кн и г и  

ЧС А Т

Ь  I. О с н о в

в а лГ

ы   Р Б АО Т

а  1. и ш йе тсоП р

Р або ч а р и А ф м ие т ч е с к и

Ы  В  M ATLAB 

19

я  

21

е и н е лс  вчи ы

а   MATLAB  е   в ы ч и с л ен и я   П р о с етй ш и е  вы ч и слен и я   Ф орм ат ы   вы вод а   р е з л у ь ат а  вы ч и слен и И сп о ль з о в ан и е  э лем н атрн ы х   н уф к ц и В ср т о е н ы е  э лем н атр н ы е  фн у кц и и   Т р и г о н о м е рт и ч е с к и е , ги п ербо ли ч еск и Э к с п о н ен ц и а л ь н а я  фн у к ц и я , л о га р и фм ы Ф ну кц и и  дл я  р а б о т ы   с  к ом п лек сн ы м О к гр л еу н и е   и  осат к   о тде л е н и я .  И сп о ль з о в ан и е  п ерм н ы х   С о р ха н е н и е  и  восатн о в лен и е  р аб о ч е й П росм от р  и  алдену и е   п ер м н ы х , в ы б о Э феки т в н а я  р а б о т а   и з  к о м а н нд о й  срток З а дн и я  дл я   сам о стяель н о й   работ ы  

в а лГ

я   с р ед

а  2. Рбоат

В вод О б р ащ ен и П р и м ен ен и П о э л ем н т ы П о с рт о е н и П о с рт о е н и м Ун о ж ен и

а  с м а в  мис а

,  слож ен и

С к а л яр н о В ек отр н о В н ше н е В во

д  м арти ц Р аз ли ч н ы О б р а щ ен и оЛ г и ч е с к о

1 10

и  

21 24 24 й   25 й   28 33 е  и  обрант ы е  к  н и м  фн у кц и и   33 , септ н ы е  фн у кц и и   ,  34 и  ч и слам и   34 34 35   с рд е ы   38 р   и ме н  п ерм н ы х   42 и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ   (Command History)  44 48



е  и  выч и атн и е  в ек отр е  к  э лем н ат м   в е к от р а   е  фн у кц и й  о б р а б о тк и  дан н ы е  о п ер ац и и  с  в ек от р ам е  таб л и ц ы   з н а ч ен и й  фн у кц и е  гр а фи к о в  фн у кц и и  онд о е  в ек от р в   е  п ро и з в едн и е   е   п р о и з в е дн и е   е  п ро и з в едн и е   , п ро сейт ш и е  о п ер ац и и е  сп ос б ы   в од а   е  к  э лем н ат м   м ар т и ц   е   и н ед к с и р о в а н и е  

50

в   х  к  в ек отр а

м  

и   и   й   п ер м н о

 

й  

51 57 59 62 65 70 75 75 76 77 78 78 79 81

IV 

гл Оа в е н и

С л о ж ен и е в  септ н П ер м н о ж ен и

, в ы ч и атн и е

, умн ож ен и е

, тр а н с п о н и р о в а н и

а  3. В а ве н в о р у о к с ы

я к и  граф

П о с рт о е н и Д и а гр а м П р е с да т в л е н и Д и а гр а м Г и с от г р а м П р е сд а т в л е н и и  фн у к ц и Г р а фи к

и Г р а фи к Г р а фи к И з м ен ен и О фо р м л е н и Г р а фи к

Г р а фи к

и Т р ме х н ы К о н р ут н ы О фо р м л е н и П оворо П о с рт о е н и П о с рт о е н и

нА и м и р о в ан н ы Р абот В ы во В ы во Н ес к о л ь к В и з а луи з а ц и З а дн и

а  с  н еск о ль к и м д  гр а фи к о д  н еск оль к и

я  дл

а  

и  

  н уф к ц и и   й  о т  э лем н от х  к  м арти ц а

и  

:  в   м а рт и м  

ц  

84 .86 86 87 89 89 91 91 92 93 97 99 99 101 102 105 109 109 109zyxwvu 112

а  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF W orkspace  112 ы   116 е   в ек от р н ы х   а дн ы х   116 ы   в е к от р н ы х   а дн ы х   116 ы   в ек от р н ы х   адн н ы х   122 е   м арт и ч н ы х   ад н н ы х   126 й   129  фн у к ц и й  онд о й   п ер м н о й   129 и  в  ли н ей н о м  м асш атб е   129 и  в  ло гар и фм и ч еск и х   м а с ш атб х   132 е  св о й ст в  ли н и й   133 е  гр а фи к о в   135 и   п а р м ерт и ч е с к и х   и  ксоуч н о- з адн ы х   н фу к ц и й   137  фн у к ц и й  дву х  п ерм н ы х   140 е   гр а фи к и  фн у кц и й   140 е  гр афи к и   145 е  гр афи к а   148 т   гр а фи к а , и з м ен ен и е  точ к и  о б з о р а   153 е  п ар м ерти ч еск и   з а дн н ы х   п о в е нр х о с е т й   и  ли н и й   156 е  освещ ен о й  п о в енрх о ст и   159 е   гр а фи к и .  161 и  гр а фи к а м и   162 в  в  оедтль н ы е   окн а   163 х   гр а фи к о в  н а  онд и  ос и   165 о  гр а фи к о в  в  онд о м   гр а ф и ч е с к о м   окн е   166 я   в е к от р н ы х   п о ле й   169 я  с а м о с т яел ь н о й   работ ы   174

е  гр а фи к о ы   и  ги сот гр а м

Г р а фи к

е

ь  

е  м арти ц ы  и  в ек от р а   Р ше не и е  си ест м   л и н ей н ы х   р а ув н е н и й   С ч и ыт в а н и е  и  з ап и с ь  дан н ы х   Бл о ч н ы е   м арт и ц ы   К о н с рт и у р о в а н и е  бло ч н ы х   м а рт и ц   В ы ел д н и е   блоков.. .  а дл еУн и е   срт о к  и  сот л б ц о в   З а п о л н ен и е  м арт и ц  п р и  помщ и  и н екдсац и С о з ад н и е   м а рт и ц  сп ец и аль н о г о   ви д а   В и з а луи з а ц и я   м а рт и ц   П о э л ем н т ы е  о п ер ац и и  и  в срто ен н ы е П о э л ем н т ы е  о п ер ац и и  с  м арти ц ам В ы ч и с л ен и е   м еат и ч еск и х   н фу к ц и П р и м ен ен и е  фн у кц и й  о б р а б о тк и   ад н н ы Г р а фи к и  фн у к ц и й  дву х  п ерм н ы х   З а дн и я  дл я  с ам о с т яел ь н о й   работ ы   З а дн и я  н а  в ек отр ы   З а дн и я  н а  м арти ц ы   в а лГ

е  и  в о з в едн и

zyxwvuts

в  и з  о к н

гл Оа в е н и

Vzyxwvutsrqp

 

в а лГ

а  4. Иа н в и т к а ре т н

Г р а фи ч е с к и Р е ад к о т С в о й с вт

я  сде р

е  о бъ ек т

а  дл

я и не по р тсо

я о к и ф гра

ы  

р   гр а фи к о а   о с ей

в  

, п опд и с , з а го л в о к   е   о ф р м л ен и е , р а з м ект а   и  скет и  и  з а го л в о к   С в о й с вт а  ли н и й  и  п овенрх осет й   С в о й с вт а   ли н и й   С в о й с вт а   п о в е нр х о с е т й   Д о п о л н и ет л ь н ы е   э л ем н т ы   о ф р м л ен и я   О бз о р   гр а фи к о в  и  п овенрх осет й   И з м ен ен и е  м асш атб ,  оп релдн и е  з н ач ен и К ам ер а  дл я  о б з о р а   гр а фи ч е с к о г о   о б ъ ек т П ан ел ь   и н с рм т у е н о т в   к а м ер ы   С о р ха н е н и е , э к сп о р т  и  п еч ат ь   З а дн и я  дл я  сам о стяель н о й   работ ы   Ц в е то в П о пд и с

в а лГ

а  5. М - л й фа

Р або т Н а с рт о й к Ти п

Р а з н о в и нд о с т

Р а з б и ен и е Д и а г н о с ти к З а дн и

а  6. М до ет

ы и не лс чи  вы

е  урав н ен и

М и н и м и з ац и М и н и м и з ац и пУ р ав л ен и

Е  

е  фн у кц и

е  вес е   э к с рт е м у о

х  к о р н е я  фн у кц и я  фн у кц и м  вы ч и слен и

х   р ау в н е н и й  п о л и н о м в   н фу к ц и и  о нд о и  н есколь ки

и   й   а   й   й  п ер м н о х   п ер м н ы й  

205 209 212 212 215 218 219 220 225 225 227 228 232 234 234 237 239

243

й   е  п р о и з в о л ь н ы

е   о дх

т  

241

й   е   и  а н о н и м н ы

Н о а хж е д н и

и   и  

й  в  MATLAB 

е  фн у кц и

Р еш ен и В ы ч и с л ен и

, п о в р о

м   и   а р мгу е н ат м и   а р м гу е н а тм

Я   И  П Р О Г Р М А М И Р О В Н А И

И с л е од в а н и В срт а и в а е м ы Р ше не и

й  фн у к ц и а  

177 178 183 184 186 187 187 190 191 196 196 197 199 201 204 205

Ь  II.  В Ы ЧИ С ЛЕ Н И

в а лГ

а  

ы  

а  в  р еда к от р е   М - айф ло в   и  р е да к то р а   М - афй л о в   ы   М - фа й л о в   Ф а й л - п р о гр а м ы   с У ат н о в к а   е пт у й   К о м ан д ы  дл я  усатн о в к и   е пт у й   Ф а й л - н фу к ц и и   Ф а й л - н фу к ц и и  с  онд и м   он в д х ы м   а рм гу е н о т Ф а й л - н фу к ц и и  с  н еск оль к и м и  вондх ы м Ф а й л - н фу к ц и и  с  н еск оль к и м и  вы ондх ы м и  фн у кц и й   П о н ф ду к ц и и   В л о ж ен ы е   н уф к ц и и   П р и в а нт ы е  фн у кц и и    М - айф л а  н а  я ч е й к и . .  а   М - аф й л о в   я  дл я  сам о стяель н о й   работ ы  

ЧСА Т

176 zyxwvutsrqpon

в  

й   х  

243 ....243 246 246 252 253 253 255 258

WzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  

П о ли н о м

З а дч

Р ше не и

З а дн и в а лГ

zyxwvutsr

о   о  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA / plot  262 е  фн у к ц и й , з ави сящ и х   о т  п а р м ерт о в   264 е  фн у кц и й   265 В ы ч и с л ен и е   о п р е лд н ы х   и н етг р а л о в   265 В ы ч и с л ен и е  дво й н ы х   и н етг р а л о в   268 В ы ч и с л ен и е   н ек о тр ы х   и н етг р а л о в   269 И н ет г р а л ы , з ав и сящ и е  о т  п а р м ерт а   269 И н ет г р а л ы  с  п ерм н ы м   нв е р х и м   п р е л до м   271 ы  и  и н етр п о ляц и я   271 О п ер а ц и и  с  п о л и н о м а и   271 м Ун о ж ен и е , делн и е , слож ен и е  и  в ы ч и атн и е   271 В ы ч и с л ен и е   п р о и з в о нд ы х   273 И н ет р п о л и р о в а н и е  и  сглаж и в ан и е   274 П р и б л и ж ен и е  п о  модет у  н аи м ен ь ш и х  к в а др от в   ...274 И н ет р п о л я ц и я  сп лай н ам и   276 И н ет р п о л я ц и я  дмвуерн ы х  и  м н о г м ерн ы х   адн н ы х   278 и   л и н ей н о й  алгебр ы   281 С и емс т ы   р уа в н е н и й , о п редли ет ,  о б р ащ ен и е   м а рт и ц   281 С и ем с т ы  с  п ло х о   о сб лу в е н н ы м и   м а рт и ц а м и   283 П е р о п р е дл н н ы е  и  н еод п редл н н ы е   с и ме т ы   285 Р еш ен и е  си ест м   п р и  п о м щ и  фн у кц и и  linsolve  287 О б р а щ ен и е   м а рт и ц   290 С о б с вт е н н ы е   ч и сл а  и  в екотр ы   м а рт и ц ы , фн у кц и и  м арти ц   290 е  ди фер н ц и аль н ы х   р ау в н е н и й   293 Р ше не и е  з адч и   К ош и   293 Р ше не и е  урав н ен и и   Ло тк и —Во л ь те р ы   298 В ы бо р   с о л в ер а   лд я  реш ен и я  з адч и   К ош и   300 пУ р ав л ен и е   п р о ц ес о м  реш ен и я   301 З а дн и е  то ч н о с т и   в ы ч и с л ен и й  и  ш аг а   и н ет г р и р о в а н и я   303 пУ р ав л ен и е   вы вод м   р е з л уь ат о в   307 З а дн и е   м а рт и ц ы   Як о б и  дл я  п овы ш ен и я  э фекит в н о ст и  в ы ч и слен и й   312 З а дч и  с  и з в еснт ы м и   п а р м е рт а м и   314 С и ес м т ы , н е  разреш ен н ы е  о нт о с и етл ь н о   п р о и з в о нд о й , 316 ид ф е р н ц и а л ь н о - а л ге б р а и ч е с к и е   р ау в н е н и я   Р ше не и е  ди фер н ц и аль н ы х   р ау в н е н и й   с  з ап аз ыд в аю щ и м   а р мг у е н от м   323 Р ше не и е  гр ан и ч н ы х   з ад ч   330 С ем х а   р еш ен и я   330 П рост й  п р и м е р  гр а н и ч н о й  з адч и   333 В оз м ож н ост и   с о л в ер а   bvp4c, уп р ав лен и е   в ы ч и с л ен и ям и   335 Г ран и ч н ы е  з адч и   с  н еи з веснт ы м и   п а р м е рт а м и   337 Р еш ен и е  з адч и   с  о с о б ен н о сьт ю   н а  гр ан и ц е   342 я  дл я  с ам о с тяель н о й   работ ы   345zyxwvut

оБ л е И с л е од в а н и И н ет г р и р о в а н и

гл Оа в е н и

е  п о др б н

а  7. У и щ юя л ва р п

О п е р а от р Цик Цик О п е р а от р с лУ о в н ы

е и ц к у  кр тс но

ы   ц и кл а   л  for  л  while, сму и р о в а н и ы   в етл н и й   о п е р а то

и  як ы з

е   р я од я   р  //  

в  

и н а в оа р ми м ра  пг о р

я  



347

347 347 357 361 361

гл Оа в е н и

VIIzyxwvutsrqpon

 

П р о в ер к О р га н и з а ц и

а   о вн д х ы

х   а р мгу е н от в   362 я   в е тл н и я   366 р zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   switch  371 д  и з  фай л- нфу к ц и , о п е р а то р   return  374 е  и  п ро длж ен и е   ц и к ло в   375 а   и с к л ю ч и е л ть н ы х   с и ацу т и й   377 е   в ы р а ж ен и я   с  м ас и вам и   и  ч и слам и   379 и   онт о ш ен и я   ..379 е   о п ер а ц и и  с  ч и слам и   и  м ас и вам и   380 т   л о ги ч е с к и х   и  ари фм иет ч ск и х   о п ер а ц и й   383 я  дл я  сам о стяель н о й   работ ы   384zyxwvutsrqp

О п е р а то В ы ох П ре ы в ан и О б р а б о тк оЛ г и ч е с к и О п ер а ц и оЛ г и ч е с к и П р и о р и те З а дн и в а лГ

а  8. Ок тоба рб

Р абот

а ы н  да

а   с о  срто к ам П р о с ет й ш и

е  о п ер ац и В во С ер в и с н ы

д  и  сц еп лн и

М ас и в

ы   ср т о е   фа й л е   фа й л а ь  в  тек сотв ы ь  срто

Т е к с от в ы О кт р ы ит З ап и с З ап и с Ф о р м а тн ы П р о с ыт М ас и в

ы и н а в о р ми м  ра г о р п

я   в  MATLAB 

е  фн у кц и к   ы  

и  с о  срто к ам е  срто к   и  дл я  р а б о т , сч и ыт в ан и е й   фа й

и   ы   с о  срто к ам   адн н ы

П р и л о ж ен и П рост Ф орм и рован и О р га н и з а ц и Ф а й л - н фу к ц и Ф ну кц и П е р м а н е н нт ы Р ер к с у и в н ы Ди ало г в а Точк П ри м е З а дн и а  9. Д а н р о т п и р кс е

О сн о в

ы  дес к р и п от р н о С в о й с вт Ф ну кц и С в о й с вт С в о й с вт

и  

х   и  з а к р ы ит

е   фа й л а

 

л  

к   й   вы во д   ы   р  и  м ас и в р  

е   р кс у т ы   с кр т у ы   ч яе к   ы   к ср у т е   фа й л - н фу к ц и й  дл я  р а б о т ы   м ас и в ам ь  дан н ы х   м ас и в о в   ск р у т р  в  тек сотв ы е   и н фо р м а ц и и  и з  тек сот в г о и  с  м ас и вам и   с рк т у р   ы   чя е к   я  с  и н ертфй со м   и з  к о м а н нд о й й   п р и м ер , п р о г ам а- к аль к уяот е  и  и сп о лн ен и е  к о м а н д , фн у кц и я   вы вод а   е кт с о в ы х   р е з л уь а то и  с  п ерм н ы м   ч и сло м   а р мгу е н от и  о т  фн у кц и й   е  п ер м н ы е   е   н фу к ц и и   я   о л т а кд а   п р о гр а м м   и   о с ат н о в а ,  п о ш а го в е   в ы п о л н ен и р  ди а л о г в о й   о л т а кд и   я  дл я  сам о стяель н о й   работ ы  

М ас и в С о з ад н и З ап и с С ч и ыт в а н и О п ер ац и М ас и в

в а лГ

х  и м е  пи р

и  

я к и  граф

й   гр а фи к и . а   гр а ф и ч е с к и х   о б ъ е к от и  set и  get, тщеку и а   о се й   а   ли н и й  и  п о в ернх о сет

а  

и   ск р у т й   фа й а  

  фа й л   срт о к и р  

р   л  

  я  eval  в   в   ,  , 

е   п ро г ам

ы  

386

386 386 386 388 390 392 393 396 397 399 403 ....408 408 413 414 416 420 421 427 428 432 437 437 446 450 455 467 467 471 477 480

.  в   е   о б ъ ек т

ы   й  

480 481 481 482 486

VIII 

гл Оа в е н и

к У а з етл

и   н а  о бъ ек т ы   489 е  свой ст в  ли н и й  и  осе й   489 е   ли н и й  гр а фи к о в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ   ,  492 е   и  о ч и скт а   о б ъ е к от в   493 е  к о м а н д  hold, clay elf и  reset н а  св о й свт а   окн а  и  осе й   494 е   и н фо р м а ц и и  о  свой свта х   гр а ф и ч е с к и х   о б ъ е к от в   495 е  указ етл й ,  п ри м ер ы   497 е  св о й ст в  в  армгуен ат х   гр а ф и ч е с к и х   н уф к ц и й   499 е  о к о н , осе й  и  тек ст а   500 е  графи ч еск и х   ок н  и  осе й   500 д   ет к с о в й   и н фо р м а ц и и   509 е  о бъ ек т ы   522 я  о б ъ ек от в   523 т   Root  524 т   Figure  (графи ч еск о е  о к н о )  525 е  о б ъ ек т ы   (Core Objects)  527 ы   Rectangle  и  Line, блок- ем сх ы   и  ди а гр м ы   527 т   Patch, ц в еот е   о ф р м л ен и е  о б ъ ек от в   531 е  о б ъ ек от в ,  о бъ ек т   Light  (и остч н и к  свает )  541 е   о б ъ е к ат м и , к о п и р о в а н и е , п ои ск , ск ры т е   к у а з ет л и   545 ы   hggroup  и  hgtransform  553 е  о бъ ек т ы   (Plot Objects)  557zyxwvut

И з м ен ен и Д о б ав лен и а лд е н У и В л и ян и П о чл у е н и И сп о ль з о в ан и З а дн и Р а з м ещ ен и Р а с п о л ж ен и В ы во Г р а фи ч е с к и И ер а и х О б ъ ек О б ъ ек Ба з о в ы О б ъ ек т О б ъ ек О с в ещ ен и п У р а в л ен и О б ъ е к ы т - г пр у Р и со в ан н ы

Ь  III.  П Р И Л О ЕЖ Н И

Ч СА Т

в а лГ

а   10.  пиц ниПр

С р ед П р о гр а м и р о в а н и в а лГ

ы  си на дзо

П р о гр а м и р о в а н и Ф л а ги П е р к л ю ч а е тл

, р а м к С п и ск

И з м ен ен и В з а и м о ед й с в т и С п ос б П о р я од

  И Н ТЕ Р Ф Е Й С О

М

 

й  с  GUI 

564 568 а  

и   о б ъ е к от в   м   я  и  ег о  р еда к ит р о в а н и в   и  и х  в ы р а в н и в а н и е   п о сдк а з к и  и  п и к от гр а м е  э лем н от в   и н е рт ф й с и   и  

и   ы  с к р о л и н г а   ь   в од а   е тк с а   а   п р и л о ж ен и я   е  р а з м ер о в   п р и л о ж ен и е   п р и л о ж ен и ы   п р о гр а м и р о в а н и к   о б хд а  э лем н от

561

563

й   е с й  ифе ре т н

е   с в о й с вт а м а   н а д  п ри лож ен и е к  п р и ло ж ен и ы  о б ъ ек от

З ап с у Р а з м ер В сп лы в аю щ и

С в о й с вт

М

я и не ж о л  пи р

е  со бы ит

а  11. К и н а в о р и у р тс н о

П ол с О бласт

Я   с   Г Р Ф А И Ч Е С ИК

а   G U I D E 

пУ р ав л ен и Р абот

zyxwvutsr

я   я  с о  сроед я   с о б ы ит в   п у р а в л ен и

575

е   е   ы   а  

й   MATLAB  й   я   к лав и ш е й    

..575 577 577 579 581 582 582 586 593 598 600 602 602 605 606 607

гл Оа в е н и

IXzyxwvutsrq

 

в а лГ

а   12. Ды во го ла и

е  он к

а  и  мен

ы   ид а л о г в ы х   ок н   Окн о  п вотедрж н и я   Окн а  о кт р ы ит я  и  сорахн ен и Окн о  с  со бщ ен и е м  о б М ен ю  гр афи ч еск о г о   окн а Р е ад к о т р   м не ю   П р о гр а м и р о в а н и е  п ну кот О фо р м л е н и е  мне ю   П ну кт ы   м не ю  с  флаг м Р а з е д л и е тл ь н ы е   ли н и пУ о р яд ч ен и е   м не ю   К о н етк с н о е  мне ю  о б ъ ек от С о з ад н и е  к о н етк сн о г о С в яз ы в а н и е  к о н етк сн о г П р о гр а м и р о в а н и е  к о н етк сн о г

ю и не ж о  пл и р

.609 zyxwvutsrqpo

я  

609 609 611 613 614 614 617 618 619 .....620 621 622 623 624 624

Ви д

в а лГ

а  13. П и н а во р и м ра го р

С о б ы ит П р и л о ж ен и К а к   в ы з ы в а ю ст С о б ы ит С о б ы ит С о б ы ит С о з ад н и С в о й с вт П ре ы в ан и И з м ен ен и

Ч СА Т

а  

ю  

и   с о тян и и  

я  

в     м не о   м не

ю  в  р еадк от р ю  с  о бъ екот о   мн е

е   м   ю  

й  

627

я  графи ч еск и

х   о б ъ е к от в   627 я  п чолену и я   ASCII- к о д а   си м в о л а   628 я   п н о фу д к ц и и  о б р а б о кт и   с о б ы ит й   630 е  ButtonDownFcn  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA634 е  ButtonDownFcn осе й   634 е  ButtonDownFcn ли н и и   637 е  п ри ло ж ен и й  с  G U I бе з  срде ы   G U ID E  638 а   о б ъ е к от в ,  п олез н ы е  п р и  прогр а м и р о в а н и и   с о б ы ит й   641 е  о б р а б о тк и   с о б ы ит й   641 е  фо рм ы  крусо р а   642 е  дл

а  14. и неР ш

П рост

в   мне

е  си т ыбо

Ь  IV.  И С П О ЛЬ З О В НА И

в а лГ

я   фа й л е  

 о ш и бк  

Е   TOOLBOX  И  Р Е Ш Е Н И

е  за д

ч о ксе ч и т а мме т а

Х   А Д ЗА

и  

О п и сан и Э л и п ит ч е с к о П ер м ен н ы П ар б о ли ч ес к о П ри м е З а дч С и емс т П а р м е рт К о н с рт и у р о в а н и Г е о м р ти ч е с к и З а дн и

.  е   о бласт и   я  и  гран и ч н ы х   с лоув и й   я   р е з л уь а т а     PD E Toolbox    ы  и  п р а в я   ч аст ь   р ау в н е н и я   е   р ау в н е н и я   й  з адч и   е  з н ач ен и я   х   р ау в н е н и й   и   и  уп р ав лен и е   п р о ц ес о м  реш ен и   о бласт и   ы   и  

Ч  

643

645

й  п р и м е

П о с та н о в к С р ед О п р е лд н и Р еш ен и

р   а  з адч и .... а  pdetool, к о н с ртиу р о в а н и е   р ау в н е н и е  и  в и з алуи з ац и е  в о з м о ж н о сет й е  урав н ен и е е  к о э фи ц и ен т е  и  ги п ер бо ли ч еск о р  н есатц и о н а р н о а   н а  со бсвтен н ы ы  ди фер н ц и аль н ы ы   р т и а н л г уя ц и е  гео м ерти е   п ри м и т в е  сркут ы  о б лас т

й к  фии з

Е   П Р И Н Д АЛ К Ы

я  

645 646 646 649 652 654 655 656 657 658 661 661 663 665 665 666

zyxwvutsr

гл Оа в е н и

К о м п о з и нт ы И сп о ль з о в ан и

е  м аетр и ал е  ск те е  фн у кц и

И сп о ль з о в ан и З а дн и Т р и а н л г уя ц и Г р ан и ч н ы С о л в ер В и з а лу и з а ц и Р ше не и Ф ну кц и

в а лГ

е  гео м ерти

я   и  к о э фи ц и ен т

ы  уравн ен и

а  15. ы н еж Ррза

е ц и р т ма

а  с  р аз р еж н н ы м а   р ах н е н и

С о з ад н и О п ер а ц и З а дч



я  

ы  

С о з ад н и Г е о м р ти

С ем х

в    

ы  

692

и   м а рт и ц а м

и  

и  ли н ей н о

х   м а рт и

ц   и   м а рт и ц а м

й  алгебр я   м арт и

и  

ы   ц  

р   е  си ест

м   р ау в н е н и

а  16.  и ц а з и м и т Оп

й   и  и с лоедван и

е   с п екрт

а  17. С ы н ь ло в м и

718

е и не  лс чи ы в

е   п ер м н ы ы  и  в екотр я   с  си м в о ль н ы м е  п р есдатв лен и ,  п р ео б р а з о в а н и

е  

и   о гр а н и ч е н и я м

й  

и  



я  

е  п ер м ен н ы О п р е дл н и М а рт и ц В ы ч и с л ен и Г р а фи ч е с к о п У р о щ ен и е

а  

я  

Optimization  Toolbox  иЛ н е й н о е  и  н ели н ей н о е  п р о гр а м и р о в а н и иЛ н е й н о е  п р о гр а м и р о в а н и е   К в а д р ти ч н о е   п р о гр а м и р о в а н и е   Н ел и н ей н о е  п р о гр а м и р о в а н и е   Н ел и н ей н ы е  з адч и   З адч а   о  досит ж ен и и   гр а н и ц ы   М и н и м и з ац и я  фн у кц и и  с  п облеуск о н еч н ы м М и н и м ак сн а я  з адч а   Р еш ен и е  н ели н ей н ы х  урав н ен и й   М ео т д   н а и м ен ь ш и х   к в а д р то в   П о дб р   п а р м е тр о в   П а р м е рт ы   о п ит м и з а ц и и   П р и м ер ы   Р ше не и е  си емст ы   н ел и н ей н ы х   р ау в н е н и П ри м е р  п р и ло ж ен и я  с  GUI.....  

С и м воль н ы

692 692 694 699 703 703 708 716

я   е  р аз р еж н н ы и  с  р аз р еж н н ы м

Ф а к то р и з а ц и П р о фа й л е Р еш ен и

в а лГ

668 669 670 670 678 680 682 685 686 688 689 689zyxwvuts

я   е  услови

я   р е з л у ь ат а   е  м оедль н о й   з а дч и   и   PD E Toolbox  е  гео м рти ч еск и х   п ри м и т во я   о бласт и   и  три ан лгяуц и я

Р або т

в а лГ

ы   и   й  PD E Toolbox  и   о бласт и  

е  и  фн у кц и х   и  фн у кц и

751

и   й  и  р а б о т

а   с  н и м

и  

ы   и   п ер м н ы м е   н уф к ц и е  и  вы ч и слен и

718 718 718 721 724 727 ...727 728 731 733 735 736 739 741 742 746

и   й   е  в ы р аж ен и

й  

751 751 754 756 758 760

гл Оа в е н и

XIzyxwvutsrqpo

 

Р еш ен и З а дч С му и р о в а н и П р е дл ы Р еш ен и Р еш ен и в а лГ

е  з ад и   л и н ей н о

ч   й  алгебр е  и  р аз л о ж ен и

, ди фер н ц и р о в ан и е  уравн ен и е  ди фер н ц и аль н ы

а   18. Р боат

С п лай н

й   и  сиест

а  с о м а н  сй а л п

ы  и  форм

763 763 767 ....769 775 778zyxwvutsrq

ы   е  в  р я д   е  и  и н етгр и р о в ан и м   х   р ау в н е н и

е   й   и  сие ст

м  

и   в  Spline Toolbox 

784

ы  и х  п рсеадтвл н и

я   784 я   фо р м а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG  (р- р )э м р фо   785 а   (р аз ло ж ен и е  п о  баз и сн ы м  сп лай н ам )  785 И н ет р п о л я ц и о н н ы е  сп лай н ы   786 П о с рт е н и е  кбиу ч еск о г о   сп лай н а   786 С та н д а р тн ы е   к р а ев ы е   с л о ув и я   786 О п ер а ц и и  н а д  сп лай н ам и   788 П о с рт е н и е  сп лай н а  дл я  векотр- нфу кц и и   790 П рои з воль н ы е  к р аев ы е  услови я   792 И сп о ль з о в ан и е  сп лай н о в  в  5- форм е   795 С гл а ж и в а ю щ и е   сп лай н ы   802 И н ет р а к ит в н о е  п о срт ен и е  кри вы х   807 П р и л о ж ен и е  splinetool  809 С п лай н ы  дл я  п о в енрх о сет й   814 К с оу ч н о - п о л и н о м и а л ь н а 5- фо р м

в а лГ

а   19. Пи неж и лб и р

П р и л о ж ен и С о з ад н и П р е вд а р и е т л ь н а

х   и  поб до

е  Curve Fitting Tool и а   ад н н ы х  дл я я   о б р а б о тк а   а дн ы е  дан н ы х   и з  таб л и ц я  фи ль ртац и я  таб л и ч н о е  таб ли ч н ы х   н уф к ц и е  п ри бли ж ен и й   ь  к ач есвт а   п р и б л и ж ен и ы   ап ро к си м ац и и  дл я  п о бд р е   с о б втен н о й   п а р м ерт и ч е с к о з   п о срт е н н ы х   п р и б л и ж ен и е   м н о ж е св т

И с к л ю ч ен и Н ач ль н а П р и б л и ж ен и С о з ад н и К о н тр о л Ти п О п р е дл н и н А али в а лГ

е ы дн а

а  20. Ри не ш

Ф ну кц и

е и ксе ч  эи мо н к

и  дл П р е сда т в л е н и Ф ну кц и

Р а с ч ет Р а с ч ет Р а с ч ет Д и с к о н нт ы К пу он н ы П о р ф те л ь н ы П о срт е н и О п ит м а л ь н ы Д о п о л н и ет л ь н ы

я  р а б о т

х  а даз

в   в  Curve Fitting Toolbox 

р о р те  пм а р а

 ег о  срсведт  п ри бли ж ен и я х   ы   й   н фу к ц и й  

а   ; 

и  

й   а   п а р м е рт о

в   й   мле о д

и  

й  

,  ч  

и   и  врем н е м   и  и  да т  в  MATLAB  я   ч и сл а  дн е й   жмде у  датм и   х   п отко в   ю   к р е ид о т в   м   ц ен ы м  бмуаг м   ы   и   з  р и ск о в ы х   а к ит в о в   й  гр ан и ц ы  ри ск о в ы х   а к ит в о   вы бо р   п о р ф е лт я   е   о гр а н и ч е н и я  п р и  ан али з е   п о рф е лт

е  акит в е  о б л и га ц и й  ан али е  э фекит в н о й

820 821 824 824 826 829 829 832 836 840 845 848

ы   с  да т м

е   в р ем н и  оп релдн и ы   ен д еж н ы ы   п о  о бслжуи в ан и ы   п о  до л г в ы

819



в   й  

849 849 852 856 864 867 867 871 881 883 887 896

ИХ

 

ЧСА Т

Ь  V.  ДО П О ЛН И Т Е ЛЬ Н Ы

Е   В О З М ОН Ж О С Т

а  21. Сз я в

в а лГ

zyxwvuts

гл Оа в е н и

П б лу и к а ц и М - кн и г

в   работ

911 zyxwvutsrq

ы  

911 914 914 917 920 921 922 923 925 927

и  

С о в м е сн т а К о н ф и рг у и р о в а н и О бм е О б р а щ ен и Ф ну кц и

а   MATLAB и  со з адн и е   М - кн и г и   а   чя е к   е   М - к н и ог й   я   работ а   в  MATLAB и  MS Excel  е   MS Excel  н   да н н ы м и   ж мд е у   MATLAB и  MS Excel  е   к  о сн о в н ы м   н уф к ц и я м   MS Excel  Link  и  MS Excel  Link 

а  22.  и ц а з и н ре М д о

П ри м е М о едр н и з а ц и

я и не ж о л и пр

р  п р и ло ж ен и С о р ха н е н и П е р ох д

в а лГ

909

ь  MATLAB и  MS  Office 

я   р е з л у ь ат о Н а с рт о й к Г рп у и р о в к п У р а в л ен и

в а лГ

И   M ATLAB 

я  дл я   п р и л о ж ен и е   п р и л о ж ен и к   фо р м а т

а  23. и не ш ыП во

с кУ о р е н и

й  с  GUI вис ре

и  5.3 

929

я  MATLAB 5.3  я   я   в  фо р м ат е   FIG  м   FIG и  М  

е тсо н ь ле т и до  пвз ио р

929 931 932 934

и и не ж  по л и р

й  M ATLAB..... 

е   работ

ы   М - фа й л о в , э к о н о м и я  п ам ят е  о п ер ац и и   я   п а м ят и   е   п а м ят и   п о д  м ас и в ы   С в яз ь   MATLAB с  дргиу м и   яз ы к а м и   п р о гр а м и р о в а н и К о н ф и рг у и р о в а н и е   MATLAB Compiler  П рост й   п р и м ер , слож ен и е  дву х   ч и се л   Р або т а   с  к о м п лек сн ы м и   п ер м н ы м и   О бм е н   м ас и в ам и   ад н н ы х   с кУ о р ен и е   работ ы   п р и  испо ль з о в ан и и   ц и к ло

и  

938 938 941 944 946 947 948 952 954 958

П о э л ем н т ы Э кон ом и В ы ел н д и

П Р И ЛО ЕЖ Н И

я  

в  

Я  

и не ж о л и П р

961

е  1. Оы н во нс

пУ р ав л ен и П о ч л уе н и пУ р ав л ен и пУ р ав л ен и М а н и п луи р о в а н и О п е р а от р оЛ г и ч е с к и П о б и то в ы оЛ г и ч е с к и П р о гр а м и р о в а н и К о н с рк т у ц и С ер в и с н ы

е   с р ео д й е   сп рав о ч н о е   с р ое д е   п ер м н ы м

938

е д  кн а мо

,  фай л ам

ы  и и ц к н  фу

и   и  п ер м н ы м

й   и н фо р м а ц и и   й   MATLAB  и   е   фа й л а м и  и  к а т л о га м ы   и  сп ец и аль н ы е   си м в о л ы   е   о п ер ац и и  и  о п ер а от р ы   е   о п ер ац и и   е   н фу к ц и и   е     яз ы к а   е   н фу к ц и и  и  п ер м н ы е  

и  MATLAB и  Toolbox 

963

и  

и  



963 963 964 967 969 971 972 973 978 981 981 982

гл Оа в е н и

И н ет р а к ит в н ы О б ъ е к нт о - о р и е н ит р о в а н н о Ф ну к ц и Двои чн ы Ф ну к ц и Ф ну кц и

й  во и  дат е  и и  дл и  дл е  и  графи ч еск и , з ап и с

е Чнт и е Г р а фи ч е с к и О п ер а ц и О б р а б о тк П р ео б р аз о в ан и П р ео б р аз о в ан и Р абот

а  с С о з да н и О п ер а ц и

М а етм и ч е с к и С п ец и ал ь н ы П р ео б р аз о в ан и Р ше не и

е М а рт и ч н ы Р ше не и Р еш ен и В ы ч и с л ен и П ои с И н ет р п о л я ц и М и н и м и з ац и Д и ф ер н ц и р о в ан и И н ет г р и р о в а н и Р еш ен и

Г р а фи к

к

а И н ет р а к ит в н а Д вм у е р н ы Т р ме х р н ы В и з а луи з а ц и В и з а лу и з а ц и О фо р м л е н и п У р а в л ен и

и не ж о л и П р

е  и  п р ео б р а з о в а н и

и   е   фа й л ы   я  работ ы   с  м ас и вам и   ч яе к я  работ ы   с о  срктуам и   е  фай л ы   ь  и  п р ео б р а з о в а н и е  з квуо ы е  фай л ы   и  с о  срто к ам и   а   ср т о к   я   "срто к а- ч и сло "  е  си емст ы   с ч и л ен и я    м арти ц ам и  и  м ас и вам и   е  м арти ц  и  м ас и во в   и  с  м ас и вам и   е   н фу к ц и и   е  фн у кц и и   е  к о р ди н а т    р аз ли ч н ы х   м ае т и ч е с к и х   з ад ч й  ан али з   е  сп екрталь н ы х   з ад ч   е  ли н ей н ы х   р уа в н е н и й , р аз л о ж ен и е   н уф к ц и й  о т  м арти ц     корн е й   я  и  п ри бли ж ен и е  дан н ы х   я  и  о п ит м и з ац и я   е  и  к о н еч н ы е  р аз н о с т е   е  ди фер н ц и аль н ы х   р ау в н е н и й  и  в и з алуи з ац и я   ад н н ы х   я   с р ед а  дл я  п о срт ен и я  и е   гр а фи к и   е   и  к о н рутн ы е   гр а ф и к и   я   в еко тр н ы х   п о ле й   я   н уф к ц и и  н а  н еп р ям огуль н о е  гр а фи к о в   е   ви од м   гр а фи к а , к а м ер а  

е   ит п о

ы  и  врем н

 тек сотв ы

е  2. Ои нас и п к р у т а лре т и

д   е   п р о гр а м и р о в а н и

З вк у о ы

ос и п С

XIIIzyxwvutsrqpon

 

е - т к а п кксмои д ы  

а  

 

х   ад н н ы

х  

 

е  и  о б р ащ ен и

е   м а рт и

ц  

и    и  сиест

м  

 р еад к ит р о в а н и

я   гр а фи к о

й   о бласт

и  

в  

в  

984 986 986 987 995 999 1003 1003 1004 1007 1007 1011 1015 1016 1016 1018 1019 1019 1024 1025 1025 1028 1029 1032 1033 1035 1036 1037 1038 1039 1039 1039 1040 1046 1061 1065 1068 1072zyxwvutsrq 1081 1082

в е В д ин

е

В1 . О  на зн еч ни MATLAB и  е г

и  и  возм носжт я о  ра сшире н

й

х  паект

а

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM

Н аз ван и е  MATLAB  явлсет я   с о к р а щ ен и е м   о т   Matrix  Laboratory,  и  п ер в о н а ч аль н о   п ак е т   MATLAB  р а з р а б ты в а л с я   к а к   с р е вд т о   од сп у т а   к   б и б л и о ет ка м   п р о гр а м м   LIN P ACK  и  EISPACK,  п р енд аз н ач ен н ы х   л д я   м а рт и ч н ы х   вы ч и с л ен и й .  П а к е т   MATLAB  со з ад н   к о м п ан и е й   M ath Works  о к о л о   дв а ц а т ле т   н а з а д .  Р а б о т а   се о т н   ч не у ы х   и  п р о гр а м и с то в   н ап р ав лен а  н а  п о с т ян н о р ас ш и р ен и е   ег о   в о з м о ж н о с ет й   и   с о в е р ш е н с вт о а н и е   з ал о ж ен н ы х   а л го р и т м ов . В  н асотящ е е  врем я  MATLAB  явлсет я   м ощ н ы м  и  ун и в ер саль н ы м   с р ед вс т о м   р еш ен и я   з адч ,  в о з н и к а ю щ и х   в   раз ли ч н ы х   о б л а с ят х   ч ел о в еч с к о де я т л ь н о с и т .  С п ек т р   п р о б лем ,  и с леодв ан и е   котры х   м ож е т   бы т ь   що с у е т й   (Toolbox),  овха ыт в а ет :  м ат в л ен о   п р и   п ом щ и  MATLAB  и  ег о   р ас ш и р ен и ри чн ы й   ан али з , о б р а б о кт у   с и гн а л о в   и  и з о б р а ж ен и й , з адч и   м а ет м а ит ч е с к о фи з и к и ,  о п ит м и з а ц и о н н ы е  з а д ч и ,  фи н ан со в ы е  з а д ч и ,  о б р а б о кт у   и   ви зау ли з ац и ю   да н н ы х ,  р а б о т у   с   к а р от г р а ф и ч е с к и м и   и з о б р аж ен и ям и , н ей р о н н ы сиет , н ечкту ю   л о ги к у   и  м н о г е  дргоу е .  О к о л о   сор к а   с п ец и ал и з и р о в ан н ы т   бы т ь   вы бороч н о   с аут н о в л е н ы   в м ес т е   с   MATLAB  п о   жлеа Toolbox  м о гу н и ю   п о л ь з о в а те л я .  В   со ат в   м н о ги х   Toolbox  вохяд т   п р и л о ж ен и я   с  гр афи ч е с к и м   и н е тр ф й с о м   п о л ь з о в а те л я ,  к о т р ы е   о б ес п еч и в аю т   б ы с рт ы й   и   н а гл я д н ы й   од су т п   к   осн овн ы м   нф у к ц и я м . П а к е т   Simulink,  п о сатв ляем ы й   в м ес т е M ATLAB,  п р енд аз н ач е н   л д я   и н те р а к ти в н о г о   м о ед л и р о в а н и я   н ел и н ей н ы ид н а м и ч е с к и х   с и е мт , со стящ и х   и з  сатн адр нт ы х   блоков . О бш и рн а я   и   о д уб н а я   сп рав о ч н а я   с и емт а   MATLAB  с п о с б н р и т ь   п о рт е б н о с т и   к а к   н а ч и н а ю щ е го , та к   и  до с та о ч н о   о п ы тн о г ет л я .  П о л н а я  ги п ер тк сот в а я   и н фо р м а ц и о н н а я  си есмт а   (н ке )  со едр ж и т   о п и сан и е   в с рт о е н н ы х   н фу к ц и й   и   д о с та о ч н п р и м ер о в   и х   и сп о ль з о в ан и я .  С сы лк и   п о з в о л яю т   п е р о их д т и м ею щ и м   о нт о ш е н и е   к   и з ч уа е м о у   воп росу ,  ч т о   о б легч ае н ы й   п ои с к   и н е рт ю с у щ е й   и н фо р м а ц и .  Д о сут п   и з   к о м а н дн о к р а кт и м   с в ен д и я м   о   в с рт о е н н ы х   н фу к ц и я х   о б ес п еч и в а е т с рт о г о   вы бор а   н ж ун о г о   вари ан т а   о б р ащ ен и я   к  фну к ц и ям ч ну ы м   р а б о тн и к а м ,  п р о в ядщ и м   с а м о с т яе л ь н ы е   и с л е од в а н и я ю ст я   п о л ез н ы м и   п р и лаг ем ы е   к  п ак ет у   э л е к рт о н н ы е  к н и г т   сп рав о ч н у ю   с и ем т у Дан н ы е   кн и г и   н е  то л ь к о   б уд л и р ю у до г о   Toolbox,  н о   и  с о едр ж а т   ет о р ит ч е с к и е   с в ен д и я   и   м ает и ч е с к у

а   од ув л е т о о   п оль з ова

и е й й е х  с х -

а  ан гл и й с к о м  яз ы о   боль ш о е   ч и сл о ь   к   р а з де л а м , т   с а м о с т яе л ь й   с рт о к и  к   воз м ож н ост ь   бы . И н ж ен ер а м  и  н а ,  о к а з ы в а и  в   фо р м а т е  P D F .   M ATLAB  и   каж ю   ба -



zyxwvutsrq

В ве н д и

з у ,  н ео б хид м ы е   лд я   о с з н а н н о г о   и сп о ль з о в ан и я   о п и с ы в аем ы х   с р е дв т С п рав о ч н а я   с и с е тм а   с н а б ж ен а   с ы лк ам и   н а   кн и г и   и   с ат ь и ,  п о св ящ ен н ы е р еали з о в ан н ы м   а л г о р и тм а м   в   MATLAB  и  Toolbox,  ч т о   п о з в о л яе т   и с ло е д в а етл ю   и  р а з р а б о тч и к у   с о б вт ен н ы х   а л г о р и тм о в   в н и к н ту ь  в  ст у ь   едл а . MATLAB  о б л а д е м ер н ы х   и  трмех р н ы з в ан ы   с о к р а ти м ен ,  п о лчуен и срт о е н и я  гр а ф и к о ли з ац и и   да н н ы х л а ем ы м   образ ом ли н и й   и  п о в ернх о с етй в к л ю ч ен и я   в   о чт е б р аж ем ы х   гр а фи к о п о рд а з м у е в а т   п р и ем а и  п р о г р а м и р о в а н и я

т   ох р ш х   ад н н ы х ь   си у л е   к а ч е свт н н ы в   п о з в о л яе .  К р о м : р аз м ещ ен и

о   р а з в и ыт м .  В ы с о к руо в н ев ы

и   в о з м о ж н о с ят м

и   в и з аул и з а ц и е   гр а фи ч е с к и

я   д о   м и н и м уа ,  о б ес п еч и в а я х   р е з л у ь ат о в .  И н те р а к ти в н а т   о б й ит с ь   бе з  гр афи ч еск и х   нфу к ц и е  то г о ,  о н а   жслиу т   и  дл я   о ф р м л ен и я  п о ясн яю щ и х  н апд и сей , з а д н и , с л о в м , дл я   п очлуен и я   и з о б р аж ен и я т   и л и   с ат ь ю .  П о л н ы й   од су т п   к   и з м ен ен и т   н и з к ору в н ев ы е   нф у к ц и , п р и м ен ен и в   ад ю п о н и м ан и е   п ри н ц и п о в   к о м п ь ю ет р н о й   гр а фи к .

е  фн у к ц и

я   п о л ь з о в а ет л

я   с р ед й я  р ез луь ат я   ц в ет , п р и го дн о г ю   св о й ст и  

. -

и   ву д и  п ри ,  е т м   а   лд я   п о  дл я   ви за у а   же а   и  сит л о   лд в   от е   котры и   в л а е дн и

н е

В   MATLAB  р е а л и з о в а н ы   к л а с и ч ес к и е   ч и с л ен ы е   а л г о р и тм ы   р еш ен и ру а в н е н и й ,  з а д ч   л и н ей н о й   а л ге б р ы ,  н оахж едн и я   з н ач ен и й   о п р е дл н н ы и н те г р а л о в ,  а п р о к с и м а ц и , р еш ен и я   си е т м   и л и   о е д тл ь н ы х   ид ф е р н ц и аль н ы х   ру а в н е н и й . Д л я   п ри м ен ен и я  б аз о в ы х   в ы ч и с л и ет л ь н ы х   в о з м о ж н о с ет д о с та о ч н о   з н ан и я   осн овн ы х   ч и с л ен ы х   м ео т д в   в  р а м к а х   п р о гр а м ы   хе т н и ч ес к и х   в зу о в .  Р еш ен и е   с п ец и а л ь н ы х   з адч ,  р а з му е стя ,  н ев о з м о ж н о   бе с о в т ес ю у щ е й   ет о р е ит ч е с к о й   п о д г то в к и ;  в п р о ч е м ,  св едн и я ,  и з ло ж ен н ы е   в   сп рав о ч н о й   с и емт ,  о к а з ы в а ю ст я   н ео ц ен и м ы м   п о сд п о р ь е м   л д я   же лаю щ и х   с а м о с т яел ь н о   р а з о б р а ть с я   в   обш и рн ы х   в о з м о ж н о с ят х   п ак ет M ATLAB. П рост с о б вт е н н ы с я   о гр о м н ы п о з в о л яе п р ав лен н ы

й   в с рт о е н н ы

й   яз ы е   а л г о р и тм ы м   м н о ж е свт о

т   д о с та о ч н е  н а  р еш ен и

к   п р о гр а м и р о в а н и я   п о з в о л яе т   л е гк о   с о з ад в т .  П р о с то а   яз ы к а  п р о гр а м и р о в а н и я   к о м п е н с и ре т у м   н фу к ц и й  MATLAB  и  Toolbox.  Д а н н о е   с о ч е ат н и о   б ы с рт о   р а з р а б ты в а т ь   э ф е к ит в н ы е  п р о г р а м ы е  п р ак ит ч еск и  в аж н ы х   з адч .

я я х е я х й з а ь е

,  н а -

В и з а ул ь н а я   с р ед а   G U I D E  п р енд а з н а ч ен а   лд я   н а п и с а н и я  п р и л о ж ен и й   с   гр а фи ч е с к и м   и н е тр ф й с о м   п о л ь з о в а те л я .  Р а б о т а   в   с р ед е   G U I D E  п р о с та ,  н п р е дп о л а г е т   в л а ед н и е   о сн о в ам и   п р о гр а м и р о в а н и я   и  де с к р и п то р н о й   гр а фи к и .  Н а л и ч и е  о п р едл н н о г о   н ав ы к а  р а б о т ы   в   с р ед е   G U I D E  п р еод сатв л я е т   воз м ож н ост ь   с о з ад т ь   в и з а ул ь н у ю   с р де у   л д я   п р о в е дн и я   с о б вт е н н ы х   ис с л е до в а н и й ,  ч т о   з н а ч и те л ь н о   о б л е гч а е т   работ у   и   щс у е св т н о   экон оми в р ем я .

о т

В ве н д и

3__zyxwvutsrqp

 

О б ъ е к нт о - о р и е н ит р о в а н н ы й   п о хд п еч и в а е т   с о в р ем н н у ю   э ф ек ит в н у ч о еу т м   с п ец и ф к и  р еш аем о й   з адч до п о л н е н и е   к   щ с у ю ев с ту щ и м   к лас в ен н ы е  с о  св о и м и   м е о т ад м и .

,  з ало ж ен н ы ю   е тн х о л г и и   р а з р а б о тч и м   и ме

й   в   о сн о в ю   п р о гр а м и р о в а н и я к   п р и л о ж ен и т   воз м ож н ост

MATLAB  п р ек р а с н о   и н е тг р и рес ту я   с о   м н о ги м и   п р и л о ж ен и ям п р о гр а м и р о в а н и я .  С в яз ь  MATLAB  и  MS Word  о бесп еч и в ае н ап и сан и я   в   р е д а к то р е   MS  Word  и н етр а к ит в н ы х   д о к м у е н от в мы х   М - к н и г ,  о с н о в ан н ы х   н а   с п ец и а л ь н о м   ш абло н е ат ю щ и й   с  М - к н и го й , м ож е т   з а п с ук а т ь   блок и   к о м ан д в ен н о   и з   од к м у е н т а   MS  Word,  п ри ч е м   р е з л у ь ат о т б р а ж е тс я   в  М - кн и ге . Д а н н о е  сресвдт о   п р ек р ас н о э л е к рт о н н ы х  о чт ео в   и  учебн ы х   п ос би й .

у   MATLAB,  обес

.  С й   M ATLAB  в ь   с о з ад в т ь   со б т и   и   с р е ад м т   воз м ож н ост ,  ат к   н а з ы в а е

.  П о л ь з о в а те л ь ,  р а б о   MATLAB  н еп о средт т   в ы п о л н ен и я   к ом ан  п о хди т   лд я  с о з адн и

и ь д я

Н а д с тр о й к а   MS  Excel  Link,  п о сатв л яем а я   в м ес т е   с   M ATLAB,  щсу есвтн о р ас ш и р яе т   воз м ож н ост и   MS  Excel,  о бесп еч и в а я   о д су т п   п о л ь з о в а ет л я   к н фу к ц и я м   MATLAB  и   Toolbox.  П о дг то в к а   ад н н ы х   о щ с у е св т л я я   н еп о с р е вд т н н о   в  э л ек рт о н н ы х  та б л и ц а х ,  а  о б р а щ ен и е  к  фн у к ц и я м  п р о и з в о ди т с я  л и б о   и з  яче к  р а б о ч е г о   л и с ат , л и б о   в   м л е оу д ,  н ап и сан н о м  н а  Visual  Basic (VBA).  MATLAB  Builder  for  MS  Excel  п о з в о л яе т   р еали з о в ы в ат ь   а л г о р и тм ы MATLAB в  ви д е  С О М - о б ъ ек от в   и  и с п о л ь з о в а т ь   и х  в  п р и ло ж ен и я х  н а   VBA. И н фо р м а ц и я ,  рхан ящ аяс я   в   баз х   ад н н ы х   м н о ги х   п о п л уя р н ы х   ф о р м а то в , м ож е т   бы т ь   и м п о р ти р о в а н а   в   MATLAB,  н ж у ы м   о браз о м   о б р а б о та н а  и и с л е од в а н а   п р и   п ом щ и   н фу к ц и й  M ATLAB,  а   з ает м   э к с п о р ти р о в а н а  в  ка ю  баз у   ад н н ы х . Д л я   о б м ен а  дан н ы м и  и сп о ль з юу ст я   к о м ан д ы юк у - л и б о   г ру д яз ы к а  з а п р о с в   SQL.  П о дер ж и в а ест я , в  ч а с нт о с ит , связ ь   с  Microsoft  Access, Microsoft  SQL Server, Oracle.  И м ест я  п р и ло ж ен и е  с  гр афи ч ес к и м  и н етрфй сом , к о т р о е   о б л е гч а е т   работ у   п о л ь з о в а ет л й ,  н е  з н а к о м ы х   с  яз ы к о м  з а п р о со в   SQL. С и м в о л и ч ес к и е щ ей с я   я рд о м   п ак ет ди ф е р н ц и р о в а н и е н и е  р я до в , п ои с н и е  в ы р аж ен и й л д я   п р о в е дн и я ч и с л ен и я   с  п р о и з в о л ь н о в   Maple,  м огу т (к р о м е   гр а фи ч е с к и х яз ы к е  Maple.

  в ы ч и с л ен и

я   в   MATLAB  о с н о в ан а   Maple.  Р еш ен и е  урав н ен и , в ы ч и слен и е   п р едл о в ,  р а з л о ж ен и к  р еш ен и я  ди ф ер н ц и аль н ы х  —  в о т   да л ек о   н е   п о лн ы й   п ер ч н   а н а л и т ч ес к и х   в ы к л а од к   и   р а с ч е то в й  то ч н о с ть ю .  П о л ь з о в а те л и   н а п р ям у ю   о б р а щ а ть с я   к о   в се )  и   в ы з ы в а т ь   п р о ц ер уд ы

ы   н а   б и б л и о те к ,  яв л ю й   и  си семт , и н те гр и р о в а н и е  и е   в   р я д   и   см у и р о в а   р уа в н е н и й   и  си семт ,  пу ро щ е ь   в о з м о ж н о с ет й   MATLAB .  П о дер ж и в а ю ст я   вы , и м ею щ и е  о п ы т   работ ы м   н фу к ц и я м   да н н о г о   п ак ет а ,  н а п и с а н н ы е   н а   в с рт о е н н о м



В ве н д и

zyxwvutsrq

П ро г ам н ы й   и н ер тф й с  п ри лож ен и я  (API) реали зе у т   с в яз ь   с р ед ы   MATLAB с   п р о гр а м а м и ,  н ап и с ан н ы м и   н а   С ,  F ortran  и л и   Java.  Би б л и о те к а   п ро гр а м н о г о   и н е тр ф й с а   п о з в о л яе т   в ы з ы в ат ь   и м ею щ и ес я   м л оу д и   н а   С , F ortran  и л и  Java  и з  сред ы   и л и  п р о гр а м м   MATLAB,  о б р а щ а ть с я   к  фн у к ц и я м MATLAB  и з   п р о гр а м м   н а  С   и л и   F ortran, ощсу есвтля ь   обм е н   да н н ы м и  ме и   п р о гр а м а м и .  С р едс вт а   MATLAB жд у   п р и л о ж е н и я м и  MATLAB  и  дргиу м Builder  for  COM  п р енд аз н ач ен ы   лд я   п р е о б р а з о в а н и я   п р о гр а м м   MATLAB  в С О М - о б ъ е к ыт , до псут н ы е   в  дргиу х  п р и ло ж ен и ях . Дл

я   р а з р а б о кт

п ри ч е п р о гр а м и р о в а т П о дв п о л ь з о в а ет л з н ан и м и рован и я я в л ес т р а з б и р а ть с и з м ен ят од п с у к а е м о ди ф и к а ц и й

м   п р о ц ес

и   и н ре т - п р и л о ж не и с   с о з ад н и я   п р и л о ж ен и ь   в  MATLAB требсту

н  MATLAB  Web  Server, й  MATLAB  соза д я   д о с та о ч н о   п рост —  к р о м е   м уе н и я я   то л ь к о  з н а н и е  о с н о в  H TM L.

я   и от

г   в ы ш ес к аз ан н о м у ,  м о ж н о   с е дл а т ь   вы вод ,  ч т о   н а ч и н а ю щ и й ь   M ATLAB  м ож е т   в   п р о ц ес е   работ ы   с о в е р ш е н с вт о а т ь   св о и я   к а к  в   о б л а с т и   м о ед л и р о в а н и я   и  ч и слен ы х   м е от д в ,  ат к   и   п р о гр а м ,  и   в и з аул и з а ц и и   ад н н ы х .  О гр о м н ы м   п р е и м щ у е с вт о м   M ATLAB я   о тк р ы то с ь   к о ад ,  ч т о   аде т   в о з м о ж н о с т ь   о п ы нт ы м   п о л ь з о в а ет л я м я   в   з а п р о гр а м и р о в а н н ы х   а л г о р и мт а х   и ,  п р и   н ео б хди м о с ит , ь   и х .  В п р о ч ем ,  р а з н о б р а з и е   н абор а   н фу к ц и й   M ATLAB  и   Toolbox т   р еш ен и е   б о л ь ш и н с вт а   з ад ч   бе з   к а и - х л и б о   п р е вд а р и е т л ь н ы х .

Дале е   м ы   п ер ч и с л и м   осн овн ы е   воз м ож н ост и   Toolbox.  Четн и е   э и т х   е д вс н и й  в ы  м ож ет е  со п р о в ж адт ь   з а п с к уо м  дем о н сртац и о н н ы х  фай ло в   MATLAB. Д л я   э то г о   е с лу д т   з а п с уи т ь   MATLAB  и   в   м ен ю zyxwvutsrqponmlkjihgfedcbaZYX   Help  в ы б р а т ь   пну к т MATLAB  Help.   П о яв л яест я   окн о   и н ет р а к ит в н о й   сп рав о ч н о й   с и с етм ы , в  ле в о й   ч аст и   кот рог о   н а   в к лад е   Demos  соедр ж аст я   р а з де л ы   M ATLAB  и Toolboxes.  Щ ел ч о к   мы ш ь ю   п о  н аз в ан и ю  р а з де л а   п р и в о ди т   к  ег о   р а с к р ы ти ю и   о т б р аж ен и ю   с о де р ж и м о г о   п о рд а з ед л о в   в   п рав о й   ч аст и   окн а  с п р а в о ч н о й с и ем т ы   (р и с . В 1) . П о с м о тр и те ,  н а п р и м е р ,  о б з о р   баз о в ы х   гр а фи ч е с к и х   в о з м о ж н о с ет й   п ак ет , котры й   с о ед р ж и с т я   в  п ордз ела х   Graphics  и  3- D Visualization.  К  п р и м ер у , в п о др а з де л е   Graphics  п ер й ид т е   к   пн у кт у   Functions  of  Complex  Variables   и  з а п с и ут е   с о вт ес ю у щ у ю   д е м о н с рт а ц и ю   п р и   п ом ощ и   дв о й н о г о   щ ел ч к а мы ш ь ю   п о   н аз ван и ю   п ну кт а   и л и   щ ел ч к а   мы ш ь ю   п о   с ы лк е   Run  this demo в в е нр х е м   п рав о м   лг у у   о к н а   сп рав о ч н о й   с и е мт ы .  В   п о яв и в ш ем с я   окн е  Functions of  Complex Variables  н а ж и м а й т е   кн оп к у  N ext, п р и  э от м   срт о яс я  гр а фи к и   н фу к ц и й  к о м п л ек с н ы х   п ер м ен н ы ,х   а   сам и   в ы р аж ен и я   лд я   н ф у к ц и й  в ы в о дя с т я   в   з а го л в к е   гр а фи к о в .  О б р а ти е   в н и м ан и е   н а   ет к с о в у ю   о бласт ь п о д  г р а ф и к о м , в   к о т р о й   о т б р а ж ю тс я   т е   к о м а н ды , к о т р ы е   н ад о   в ы з в ат ь в  M ATLAB дл я   п о члуен и я   п одбн ы х   р е з л у ь та о в .

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

В ве н д и

i  Ve i w Go Favote i s  Desktop Wnidow Hep l File  Ed» # 

Contents] Index] Search Demos ]

#4

tle: |  MATLAB Demos

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO

О   Getting Started with Demos

M A T L A B  D e m o s tU Mathemactis • U G t raphcis M at hem at ic s CU 3-D Visualization Mathematical operations, functions, and data analysis. i2j Programmnig •Јj Desktop Toosl  and Deveo lpment Envrionm* ­h­sj Creatn i g Graphcial User Interfaces B?sjc Matrix ­Oil External Interfaces Ф-   •Јj Gae l ry Јj Other Demos (2J New Features in Verso i n 7 ~ф  MATLAB Report Generator й   *ф.  Toolboxes +:- ф.  Bioinformatics [   Йг- ф  Communications *  - 4k Control System +  ф,  Curve Fitting i  &~фк  Data Acquisition \   'ф~*ф.  Database +™^fo Filter Design |   fe- ф   Filter Design HDL Coder   ; i ±:- *ф.  Financial + - ф.  Fixed- Point !   lp- фь  Fuzzy Logic

MATLAB

'EFI.fo.L3fjec.traJ... Analysis

Population

Non- linear Function

Single Precision Math Example

Graphs and  Matrice

Inverse? oH  M j , : ,

Р си

Matriy Manipulation

zyxwvutsrqponmlk

. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  В 1 . О к н о  с п р а в о ч н о й  си емст ы  с о  ссы лк ам и

н а  дем о н с рт а ц и о н н ы

е  фай л

ы

Н ек о т р ы е   воз м ож н ост и   MATLAB  п р есдатв лен ы   в и д е о м о н с рт а ц и я м и , н ап р и м ер :  и с п о л ь з о в а н и е   и н ет р а к ит в н о й   с р ед ы   л д я   п о с рт е н и я   гр а фи к о в а   Graphics),  соз ад (п н у к т  Interactive  Plot Creation  with the Plot Tools  п о др а з дел н и е   п р и л о ж ен и й   с   гр а фи ч е с к и м   и н е рт ф й с о м   (пн у к т   Creating  a  GUI  with GUIDE  п о др а з де л а   Creating  Graphical  User  Interfaces).   Е сл и   в ы   р а б о та л и  в п р еж н и х   в ер с и я х   MATLAB,  т о   в а м   ок асжт у я   п о л ез н ы м и   в и де о б з о р ы   но в ы х   в о з м о ж н о с ет й   с р е ыд ,  р е да к то р а ,  гр а фи к и   и   п р о гр а м и р о в а н и я ,  к о т е   New Features  in Version 7. р ы е  соедр ж аст я   в  п о рд аз едл Двой н о й   щ ел ч о к   мы ш ь ю   п о  р аз едл у   Toolboxes  п р и в о ид с к а   п о др а з де л о в .  Т ем ы   к а ж од г о   п о др а з де л а   о в х а ыт в а ю ск и   в а ж н ы е   з адч и ,  к о т р ы е   м о гу т   бы т ь   р еш ен Toolbox.  Р аз муестя ,  в о з м о ж н о с т и   Toolbox  н е  и сч ер п ы в аю ст ным и   в   де м о н с р т а ц и я х .  Д ал е е   п р и в е дн о   к р а тк о Toolbox. ^  лД

я  тог н а   ш ав е

Пр и м е ча ни о   об ч т ы  узн ьат м   к о м п ь ю ре т

е  

ы   пр е   о п и сан и

т   к  р а с к р ы ти т   м н о ги и   п ом щ

ю  сп и е   п р а к ит ч е и   да н н о г я   п р е с да т в л е н е   н ек о т р ы

о х

^ , каки ,  оачтдсн

е  инме

о  Toolbox вяод х т  в  уна тс овк у   MATLAB о   з и ап с т у ь   MATLAB  и   в   коман д о й



zyxwvutsrqp

В ве н д и

р о к тс с тя д

е  (обоз н ачне о я  н аз вн и

й  си молв я  вес

С р е сдв т а   о б р а б о тк и   с и гн а л о м ср т у е н т ы   лд я   р е ш е н и Processing  Toolbox: •   ге н е р а ц и я

, и м п о р

•   р а з р а б о тк а к о н еч н о

м   » )  н абрт х   Toolbox  с  укзан и е

х  дп ну отсы я   з ад

в   со бран ч   о б р а б о тк

ы   в   н ес к о л ь к и и   с и гн а л о

т   с и гн а л о в

;

т   и  э к с п о р

,  а н а л и

з   и  п р и м ен ен и й   а х р к те р и с ти к о й

й  и м п луь сн о

•   к о н с тр и у р о в а н и

е   ц и фр о в ы

ь   . Вы ов .

-

х   Toolbox.  Ба з о в ы е   ин в   н а о х яд с т я   в   Signal

х   ф и л ь рт о

в   с  к о н еч н о

й   и  бсе

-

;

е   ан алог вы

•   п рео браз о в ан и я с и гн а л о в

ь   ver  и  н ажт м   и х  вреси й

х   ф и л ь тр о в

,  с п е к тр а л ь н ы

; й   ан али

з   и   с та и с ти ч е с к а

я   о б р а б о тк

а

;

•   м о де л и р о в а н и

е   п а р м е рт и ч е с к и

х   в р ем н н ы

х   р я до в

.

В  со сат в   Signal  Processing  Toolbox  вохид т   н ес к о л ь к о   п р и л о ж ен и й   с  гр афи ч е ск и м   и н ет р ф й с о м ,  п р енд аз н ач ен н ы х   лд я   о б л е г ч н и я   од с п у т а   к   н фу к ц и я м Toolbox.  Д а н н ы е   п р и л о ж ен и я   п о з в о л яю т   и м п о р ит р о в а ьт ' ,  в и з аул и з и р о в а т ь и   и с л е од в а т ь   с и гн а л ы ,  и з чуат ь   с п ек т р   с и гн а л о в ,  и н тер а к ти в н о   с о з да в т ь ф и л ь рт ы   с  з а д н н ы м и   а х р к те р и с ти к а м и .  Бо ле е   ш и роки е   воз м ож н ост и   лд я к о н с тр и у р о в а н и я   ф и л ь рт о в   п р е од с а т в л я ю т   Filter  Design  Toolbox  и   Filter Design  H D L Coder.  Р а з р а б о тк а м   ан али з  в ы с о к ч а с то н ы х   ц еп й  м о гу т   бы т ь о щс у е св т л н ы   в   R F Toolbox.  Д л я   п о срт ен и я   м о елд й   си е т м   н а  о с н о в е  э кс п е р и м е н ат л ь н о   п о чл у е н н ы х   ад н н ы х   ж с л иу т   System  Identification  Toolbox. П р и   и с л е од в а н и п о л ез н ы м   в ей в лнет ы Toolbox. л А г о р и мт н фу к ц и

и   и  о б р а б о тк й   ан али з

ы   о б р а б о тк и  к о т р о г т  и  э к с п о р

•   г е о м е рт и ч е с к и п оворот

;

•   о б р а б о тк

й   со бран

т  гр а фи ч ес к о

з   и з о б р аж ен и й

,  н а п р и м е

, н а п р и м е р

•   р а з р а б о тк

а   л и н ей н ы

•   и д с к р ен т ы

е  п р ео б р а з о в а н и я

•   о п ер ац и

и   н а д   с о не д и м

; р   та к и е

й   и н фо р м а ц и

а   и з о б р аж ен и й

я   о ч ен ь и   Wavelet

: й  и н фо р м а ц и

е   с ат и с ит ч е с к о

й   о к а з ы в а е тс ь   с р в е дт а м

ы   в   Image  Processing  Toolbox,

т   о сщ у е с в т и ь

е   о п ер ац и

•   п о лч у е н и

в   и  и з о б р а ж ен и о   п р о едл а т

й   м ож н

и   и з о б р аж ен и о   п о з в о л яю

•   и мп ор

•   ан али

е   с и гн а л о , к о тр ы

,  к а к   и з м ен ен и

и  о б   и з о б р а ж е н и , н оахж едн и

: и з м ен и

е   гр а н и е  к о н рт асн о сит

х   ф и л ь тр о в

е   р аз м ер о

в  и

; ц  и н етн с и в н о сит , п ри м ен ен и

; е  фи л ь рт о в

;

; , в  ч аснт о сит и   э л е м н ат м и

, бы срто ;

е   п р ео б р аз о в ан и

е   Ф р уь е

;

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

В ве н д и

П zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   работ а   с  к а р то й   ц в е от в ; •   раз ли ч н ы

е  м еотд

ы   п р е сда т в л е н и

•   п р ео бр аз о в ан и

е  ти п о

я   ц в е от

;

в  и з о б р а ж ен и й

.

В   с о ат в   Image  Processing  Toolbox  вохид т   н ес к о л ь к о   д е м о н с рт а ц и о н н ы х п р и ло ж ен и й ,  овхаыт в аю щ и х   р еш ен и е   з ад ч   о   н о а хж е д н и и   гр а н и ц   и з обра ж ен и й ,  фи л ь рт а ц и и   и   р а з р а б о тк и   ф и л ь тр о в ,  сж аит и   и з о б р аж ен и я .  Д л я   р а б о т ы   с   к а р от г р а ф и ч е с к и м и   и з о б р а ж ен и ям и   и м се т я   о е д тл ь н ы й   M apping Toolbox.  П о лчуен и е   в и де о и н ф о р м а ц и и   о т   в н еш н и х   с р ут о й с т в   м ож е т   бы т ь в ы п о л н ен о  ср есдвтам и   Image Acquisition  Toolbox. т   о щ с у е св т и ь   и м п о р ти р о в а н и С р ед а   MATLAB  п о з в о л яе лог вы х   ад н н ы х   с  и с п о л ь з о в ан и е м   с о в м е с ит м о г р а б о тк у   и   э к с п о р ти р о в а н и е . Д л я   о бм ен а   да н н ы м Toolbox  и  Instrument  Control  Toolbox,  н фу кц и бо т у   с  о б о рдув а н и е м   и з в е сн т ы х   п р о и з в о ди е т л й Д л я   с а ти с т ч е с к о й   о б р а б о тк и   и н фо р м а ц и ск оль к о   Toolbox.  Ф ну к ц и и  и  п р и ло ж ен и роки й   с п ек т р   с а ти с т ч е с к и х   з ад ч   и  р еал и з юу н и я .  Д о спут н о   бо ле е   вд а ц а т и   к л а с и ч ес к и и м ею с т я   н фу к ц и и  р асп р едл н и я  в ер о янт о с т в е р о я тн о с ти , в ы ч и слен и я   м о е н от в   р а с п р е дл н и р а с п р едл н и я . О с н о в н ы е  клас ы   с а ит ч е с к и в а н ы  п р и  п о м щ и  Statistics  Toolbox,  в к л ю ч а я •   и с л е од в а н и

е  ли н ей н ы

х   м о едл й

•   п а р м е рт и ч е с к о у   г и п о те з

•   п лан и рован и П   з адч

и  и   а н а л и з а   ад н н ы х   и м сет я   не я   Statistics  Toolbox  п о к р ы в а ю т  ши т   осн овн ы е   м ое т д ы   и х   р еш е х   р ас п р едл н и й ,  лд я   н и х и   (и  о б р а тн о й  к  н ей ) , п л о нт о с т и й   и  ген ер ац и и   вы борк и  и з т   бы т ь   и с л ое д х   з ад ч   м о гу :

;

е  о ц ен и в а н и е

•   п р о в ер к

е   ц и фр о в ы х   и   ан а о   с  PC о б о р ду в а н и я ,  и х   о б т   D ata  Acquisition и   ж с л ау и   котры х   п о де р ж и в а ю т   ра .

;

; е  э к с п ер и м ен ат

и   к л а с ет р н о г

; о   ан али з

Statistics  Toolbox  соедр ж и гр а фи к о в   и  п р и ло ж ен и з н ач ен н ы е  дл я   и зч еун и з о в ан и е м  р егр с и о н н о

т   н або я   с  гр афи ч ес к и я   р а с п р е дл н и й   м о ед л и

а   и  др р   н фу к ц и

я   о б р а б о тк

•   п а р м е рт и ч е с к о

е   и  н еп а р м ерт и ч ес к о

й   лд

я   п о с рт е н и

м   и н е рт ф й с о й   и  а п р о к с и м а ц и

я   с а ти с т ч е с к и м   п о л ь з о в а те л я и  да н н ы

х ,  п рнед а х   с  и сп о ль

-

.

П р и б ли ж ен и е   ад н н ы х   раз ли ч н ы м Toolbox  и  Spline Toolbox,  п р еод сатв л яю щ и •   п р е дв а р и е т л ь н а

.

и   сп о с бам

и   р еали з о в ан х   ю с лу е д щ и

а   ат б л и ч н ы

е   в о з м о ж н о с ти

х   ад н н ы

х  д о  п р и б л и ж ен и я

е   с гл а ж и в а н и е

;

о   в   Curve  F itting : ;

8_ 

zyxwvutsrqp

В ве н д и

П  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ап ро к си м ац и я  с  и с п о л ь з о в ан и е м   л и н ей н ы х   и  н ели н ей н ы х   м о е дл й , п ри ч е м   и м се т я   б и б л и о те к а   ш и рок о   р а с п р о с рт а н е н н ы х   м о е лд й   и   п у р де с м о рт е н а   воз м ож н ост ь   с о з ад н и я   с о б вт е н н ы х ; •   с о ут й ч и в ы

е   м ео т д

•   в ы ч и с л ен и

е  р а з л и ч н ы

•   ан али

ы   п о дб р х   к р и етр и е

з  да н н ы х

•   и н ет р п о л я ц и

я  - л  сглаж и в ан и

•   те н з о р н о с п л а й н - нф у к ц и й

, ди ф ер н ц и р о в а н и е

в   в   к суо ч н о - п о л и н о м и а л ь н о й   фо р м ы  в  дрюгу

;

е   пр

и  с п л а й н о в

е   п р о и з в о дн ы х

и  п о м щ

е   п р о и з в едн и

е   сп лай н о

я   зу ло

в  с п л а й н а

в   лд

я   к о н с тр и у р о в а н и

е   и   5- фо р м е

,

;

в   и  о от б р а ж ен и

о   р ас п о л ж ен и

; й   фо р м

,  и н етгр а л о

р   о п ти м а л ь н о г

;

, и н те гр и р о в а н и е

е   сп лай н о е   и з  о нд о

•   вы бо

; в   п р и б ли ж ен и й

:  э к с тр а п о л я ц и я

•   п р е сд а т в л е н и п р ео бр аз о в ан и

•   в ы ч и с л ен и

а   п а р м е тр о в

-

й   о т  с п л а й н о в

;

; я   м н о г м ер н ы

х

;

•   рац и он аль н ы

е  с п л а й н ы

П   п р и м ен ен и р ен ц и аль н ы

;

е   сп лай н о х   руа в н е н и й

в   лд

я   р еш ен и

я   н ел и н ей н ы

х   о б ы к н о в ен н ы

х   и д фе

-

.

П р о блем ы , в о з н и к а ю щ и е   в  р а з л и ч н ы х   о б л а с ят х   экон ом и к и  и  фи н а н с о в , м о уг т   б ы т ь   и с л е од в а н ы   п р и   п ом щ и   с п ец и ал и з и р о в ан н ы х   а л г о р и тм о в   не ск о ль к и х   Toolbox:  F inancial,  Financial  D erivatives,  G AR C H ,  Financial  Time Series,  D atafeed  и   Fixed- Income.  П ер ч и сли м   осн овн ы е   з адч и ,  р еш ен и е   ко то р ы х   м ож е т   бы т ь   в ы п о лн ен о   н фу к ц и я м и  и  п р и л о ж ен и ям и  да н н ы х   Toolbox: •   в ы ч и с л ен и фи н а н с о в ы н о м   и  с п о т в о

е   и   ан али х   а к ит в о м   ры н к ах

•   п р о в едн и

е   ан али з

•   п о дб о н а  р а з л и ч н ы

з   ц ен ы в   (о сн о в н ы ; а  дл

р   и   о ц ен и в ан и

я   п о р фте л я м

е   с рт а е г и ;

х   ры н к ах е   ри ск ам и

, и х  в ы яв лен и

•   в ы ч и слен и с ти ц и о н н ы з а те л й

е   п отко х   п р о е к то в

в   п л а ет ж ,  а н а л и

и   и   ч в у с т и ет л ь н о с т х   и   п р о и з в о нд ы

я   пу р ав л ен и

•   пу р а в л ен и

•   п р о е к ти р о в а н и н ы е  о п е р а ц и

,  од хн о с т

й   е ж дх и р о в а н и

х   ц ен ы

х   бм у а г

и   ц ен ы

х  бму а г

и   о е д тл ь н ы )  н а   сроч ;

я   (срт аохв н и я

е  и  о ц ен и в а н и е

х -

)  о п ер а ц и

й

;

й   и   и х   ан али з з   и  п р о г н о з и р о в а н и

,  в   то м   ч и сл е   э к о н о м и ч еск и

е   о ц ен к

а   и н ве х   п ока

-

; е   с о атв н ы ;

х   фи н а н с о в ы

х   и н с рт м у е н от в

,  в к л ю ч а

я   в алю т

-

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

В ве н д и

П   м о де л и р о в а н и м а ет и ч е с к о н и е  к о р ел яц и •   к а л ь к л уя ц и в ан н ы м   од х СШ А   и  К а н а ды П   и м п о р ти р о в а н и ед н и л и ч е с вт

е   и  о ц ен и в ан и й   с ат и с ит к и и  о б р а б ты в а е м ы я   ц ен ы ,  од хн о с т м   п о   м ео т ид к а ;

е  в о л а ит л ь н о с т ,  п р о в ер к х   с ч л уа й н ы и   и   ч в у с т и е тл ь н о с т м   сАо ц и ац и

е   с а ит ч е с к и е   н а   и х   осн ов а   и н д и к а то р о в

и   в р ем н н ы

х   ад н н ы о   ан али з

е   не т х и ч е с к о г

х   р я до в   м е о т ад м х   г и п о те з ,  в ы яв ле ; и   а к ит в о в   с  фи к с и р о и   ц ен ы х   бм у а

а   с а ит ч е с к и х   п р о ц ес о в и   и н с р т уи д х   с   фи н а н с о в ы а   с   п р и в л еч н и е

х   ры н ко м   боль ш ог

•   п о дб

е  и  к в а др ти ч н о

х  ли н ей н ы м   ч и сло е   м е о т ыд

е   п р о гр а м и р о в а н и е

ю   н ел и н ей н ы

•   э л е к рт о с ат и к

. п   к   вы ь   и н ег т

е

ь   з ад , р е ш а т

ь я  с

й   ма п а к е ат м

и х

х   п ре ,  воах

с   з адч

-

й   пр

и   н али ч

и   н ел и н ей н ы

х   о гр а н и ч е

-

; е  з а д ч

я   п у р г о с ит

-

х  и  н ели н ей н ы м   н е и з в е сн т ы .  К лас

и   и  з адч

и   о  досит ж ен и

и  ц ели

.

Partial  D ifferential  Equations  Toolbox  (PD E  Toolbox)  с о з да ,  о п и с ы в а ем ы х   ди ф е р н ц и а л ь н ы м з ад ч   м а те м а ти ч е с к о й   фи з и к и н ен и ям и   и  с и сетм а и   в   ч а с нт ы х   п р о и з в о дн ы х ,  м еот д м   к о н еч н ы то в .  Р еш ен и е   з ад ч   з н а ч и те л ь н о   п у р о щ а е тс я   б л а г о да р я   гр а фи ч е с к и м   и н те р ф е й с о м ,  к о т р о е   п о з в о ляе т   л е гк о   и   н а г л я дн в и т ь   в с е   э та п ы   р еш ен и я   з ад ч   м е от д м   к о н еч н ы х   э л е м н то област и   и   гр а н и ч н ы х   с ул о в и й   д о   в и з ау л и з а ц и и   р е з лу ь т а м ож е т   бы т ь   л е гк о   н а с тр о е н о   н а   о п р едл н н ы й   к лас с   р еш аем ы п ри м е р  та к и х , к а к : •   ет о р и

о   ко

;

х   н уф к ц и

р   п а р м е тр о в

•   м и н и м ак сн ы

г

.

Optimization  Toolbox  н ац ел н  н а  реш ен и е  о сн о в н ы з ад ч   о п ти м и з а ц и , п ри ч е м   лд я   з а д ч   с  б о ль ш и с у мд о р т е н ы   в ес ь м а   э ф е к ит в н ы е   с п ец и а л ь н ы ыт в а е м ы й  да н н ы м  Toolbox,  в к л ю ч ает : •   м и н и м и з ац и н ий ;

-

в   и   п рове

К а к   м ы   ж у е   пу о м и н а л и ,  MATLAB  п оедр ж и в ае т   си м в о ль н ы е   в ы ч и с лен и я Symbolic  M ath  Toolbox  соедр ж и т   нфу к ц и ,  о бесп еч и в аю щ и е   од с у т ч и с л и етл ь н о м у   р яд у   M aple.  П о ль з ясу ь   и ми , в ы   м ож ет :  п р о и з в о ди т ри рован и е   и   см у и р о в а н и е ,  в ы ч и с лят ь   п р елд ы   и   н ао х и д т ь   р аз ло ж ен и нфу к ц и й   в  р я д , уп р о щ а т ь   в ы р аж ен и я , н аохид т ь   о п р е д л и ет л и ,  р е ш а т ч и   н а   с о б вт е н н ы е  з н а ч ен и я , п р и м ен ят ь  р а з л и ч н ы е   п р ео бр аз о в ан и я а л ге б р а и ч е с к и е   и   ид ф е р н ц и а л ь н ы е   р уа в н е н и я ,  п р о в ди т ь   в ы ч и с л ен и лю бо й   то ч н о с ть ю ,  с л о в м ,  и с п о л ь з о в а т ь   вс е   в о з м о ж н о с т и   си м воль н о ет м а ит к и   Maple.  И н етр ф й с   с   Maple  и   вохядщ и м и   в   ег о   с о а т в   м ож е т   бы т ь   н ал ж е н   с р е дв т а м и   Extended  Symbolic M ath  Toolbox.

•   л и н ей н о

и

; а   и  м а гн и то с а ти к а

;

н   дл

я   р еш ен и

я

и   руа в х   э л ем н п р и ло ж ен и о   о щс у ес т в  —  о т   з а д н и .  П р и л о ж е н и х   з ад ч

ю  с я е ,  н а -

10 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   • 

zyxwvutsrq

В ве н д и

О zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   те п л о п р о в о д н о с ть ; •   ет о р и

я  ди фзу и

.

Н е с та ц и о н а р н ы е   п р о ц ес ы   о т б р а ж а ю тс я   пр гр а фи к о в .  В  с о с та в   PD E Toolbox  в ох дя т   с о л в ер з ад ч   и  з а д ч   в   а д п ти в н о м   р еж и м е .  В о з м о ж н о с т н и ч и в а ю ст я   в ы ш еп ер ч и слен н ы м и   ти п а м и   з адч нфу к ц и и   м о гу т   бы т ь   и сп оль з ован ы   лд я   р е ш е н и воль н о й  р а з м е р н о с ти .

и   п омощ и   ан и м и рован н ы ы   лд я   р е ш е н и я  н ел и н ей н ы и   P D E  Toolbox  н е   о гр а ,  в   ч а с тн о с ти ,  в с тр о е н н ы я   си ет м   ру а в н е н и й   п рои з

PD E  Toolbox  яв л ест я   о хр ш и м   к о м п а к нт ы м   п а к еот м   л д я   о чб у е н и я   о сн о в а м   м еот д а   к о н еч н ы х   э л е м н от в   и   в ен д и я   в   к о н е ч н о э л е м н нт ы е   п а к еыт О дн а к о   с ер ь ез н ы е   и н ж ен ер н ы е  п р ак ит ч ес к и е  з адч и   в р я д   л и   м о гу т   бы т ь   ре ш ен ы  в  н ем , п о с к о л ь к у   о н  п о едр ж и в а е т   то л ь к о   оид н  ти п   к о н еч н ы х  э лем н то в —  л и н ей н ы е   рт е г у о л ь н ы е .  Д о   2003 г .  в   со ат в   M ATLAB  вохид л о   п ри л о ж ен и е   F EM LAB,  к о т р о е   з ае т м   с а тл о   о ед т л ь н ы м   п р о гр а м н ы п р о к ду т м ,  н о   F EM LAB  м ож е т   бы т ь   с аут н о в л е н   и   к а к   п р и л о ж ен и MATLAB.  F EM LAB  п о з в о л яе т   м о де л и р о в а т ь   вд м у е р н ы е   и  тр емх р н ы е   за да ч и ,  о п и с ы в аем ы е   ид ф е р н ц и а л ь н ы м и   р уа в н е н и я м и   в   ч а с нт ы х   п рои з вод ных : п ер н о с , теч н и я , уп ргоуст ь   и  э л ек рт о м а гн еит з м .

х х е . м е -

С ел у д т   п о д ч е р к н ьт у ,  ч т о   MATLAB  и   ег о   р а с ш и р ен и я   м о гу т   с   с п оу ех м п р и м е н я ьт с я   дл я   и н т е р а к т и в н о г о   м о ед л и р о в а н и я   и   ан али з а   н ел и н ей н ы х с и е тм ,  и с л еод в ан и я   с уот й ч и в о с ит ,  р а з р а б о тк и   ц и фр о в ы х   и   ан ало г в ы х си е т м   с в яз и ,  п ер адч и   и   р ха н е н и я   и н фо р м а ц и .  М н о ги е   п р а к ит ч е с к и е   за да ч и ,  в о з н и к а ю щ и е   в   о бласт и   н еч к то й   л о ги к и   и   н ей р о н н ы х   с е тй ,  м о гу т бы т ь   р еш ен ы   с   и сп о ль з о в ан и е м   с о в т ес ю у щ и х   Toolbox.  В   7- у ю   в ер си ю MATLAB  в к лю ч е н   Bioinformatics  Toolbox,  п р едн а з н а ч ен н ы й   лд я   р е ш е н и я н ек о т р ы х  з а д ч , леж ащ и х   н а  сыт к е  б и о л ги и  и  и н ф о р м а ти к и . В   н ач ал е   в едн и я   м ы   пу о м ян лу и   п ак е т   Simulink,  п о с та в л я е м ы й   в м ес т е  с M ATLAB,  к о т р ы й   сжл уи т   л д я   и с л е до в а н и я   н ели н ей н ы х   ди н а м и ч е с к и х с и с ет м .  О н   ох р о ш о   и н ет г р и р е у ст я   в   с р ед у   M ATLAB  и   р а с ш и р я е т   е е   воз м о ж н о с ти .  Н а п р и м е р , с о ч е та н и е   Simulink  и   Signal  Processing  Blockset  п о з в о ляе т   в   д оу б н о й   с р ед е   р а з р а б а ты в а т ь   а л г о р и тм ы   о б р а б о тк и   с и гн а л о в  и ген ер и р о в а т ь   к о д   н а   С .  О б з о р   в о з м о ж н о с те й ,  п р е до с та в л я е м ы й   Simulink, з ан и м ае т   мн ог о   м е с та —  м ы   о ст ы л а е м   з а и н те р с о в а н н ы х   ч и та е л й   к  н е ск оль к и м   к н и га м   [2, 5].zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

2В . О  с оед раж ни Р а з м у е ст я в с е   с р е двт а и с л е од в а тл

и  кинг ,  о гр а н и ч е н н о с т ,  к о т р ы я   и  и н ж ен ер а

и

ь   о б ъ ем а   кн и г и   н е   п о з в о л яе е   M ATLAB  и   Toolbox  п р едо с атв л яю .

т   п о др о б н т   в   р ас п о р яж ен и

о   о п и сат

ь е

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

В ве н д и

П ер в а сан О б ъ яс н ен р аж ен и й ит ч е с к и ав Гл

я   ч аст ы   рабоч а

ь   кн и г я   с р ед о   и сп о ль з о в ан и ,  и з м ен ен и е  фну к ц и

и   п о с в ящ ен а   и   п р и ем е  фо р м а т

а   осн ова ы   э ф е к ит в н о

м   работ

ы   в   MATLAB.  В zyxwvutsrqponmlkjihgfedcb  гаве л  1 о п и й  р а б о т ы   и з   к о м а н дн о й   с тр о к и . х   и   в ы ч и с л ен и е   а р и ф м е ит ч е с к и х   вы а   ч и се л   и  о сн о в н ы е  в с рт о ен н ы е   м ае т -

е   п ер м н ы а   вы вод

.

 2 к н и г и  п о др о б н о  р а з ъ яс н яе т рам и ,  в к лю ч а я   о сн о в ы   в и з а ул и з а ц и б ен н о с т и  п р есдатв лен и я  да н н ы х  в  в и д то р о в ,  да ю т   п о л ь з о в а ет л ю   бо ле е   б о л ь ш и н с вт о м   яз ы к о в   п р о гр а м и р о в а н и я с р е дт в   н у и ф ц и ре у т   работ у   с  м ас и в ам н ой . О ствуи е   н ав ы к о в  о п е р и р о в а н и м н о г ч и с л ен н ы м  з арнтду ен и я м   адж

ав Гл

 3  н ац ел н

в ы с о к ру о в н е в о п о в е рн х о с е т м ощ н ы м ны н ы та о

а   н а   о чб у е н и е й   гр а фи к и   лд я й   и   в е к от р н ы х   п о л ей и   в о з м о ж н о с ят м и   в и з а ул и з а ц и х   раз ли ч н ы х   ти п о в , в к л ю ч а  к о м а н ды , сжлуащ и е   лд я   о р г а н и з а ц и в   с  ц ель ю   п о чл уе н и я  хо р ш

И н те р а к ти в н а ад н н ы е , н е  п ри бега а к ит в н о й   с р ед щ и х  г р а ф и к о в н и п луи р о в а н и с то р о н . Э т и  в о п р о с ы о п и сан ы  в  гаве л

 п р и н ц и п и   в е к от р н ы е   м ас и в о ш и роки

ы  р а б о т ы   с  м а рт и ц а м и   и  в ек от х   и   м а рт и ч н ы х   да н н ы х .  О со , в  ч а с нт о с ит , м а рт и ц  и  век е   воз м ож н ост и   п о   с р ав н ен и ю  с .  Н а б о р   с п ец и а л ь н ы х   нфу к ц и й  и и   ад н н ы х , дела я   е е   о ч ен ь  э фекит в я  с  м ас и в ам и  в  MATLAB  п р и в о ди т  к е  п р и  реш ен и и  сам ы х   п р о с ыт х   з адч .

  ч и а ет л   п о с рт о е н и .  П а к е я   и   п о с рт о е н и о   ч и ате м ы

я   с в о б нд о м у   в л а е дн и я   ди а г р м м   и  ги с то гр а м т   MATLAB  о б л а д е и   о нд о м е р н ы х   и   м н о г м ер н ы е   гр а фи к о в   нф у к ц и й и  и  о фо р м л ен и я  гр афи ч ес к и х  гр а фи к о в .

ю   с р е двт а м

и , л и н и й

т   ч р ез в ы ч ай н

, о

х   ад н . П р и в ед х   р ез л ьу

-

я   с р ед

а   л д я   п о с рт о е н и я   гр а фи к о в   п о з в о л яе т   в и з ау л и з и р о в а т ь я   к  к о м ан ад м   MATLAB.  К ро м е  то г , и н мсртуен т ы  и н ерт ы   м о гу т   бы т ь   и сп о ль з о в ан ы   л д я   р е д а к ти р о в а н и я   щ с у ю ве с т я   н а  н и х   о б ъ ек от в   и  м а , и з м ен ен и я  свой ст в   все х  соедрж ащ и сх я   гр а фи к о м ,  в   ч а снт о сит ,  лд я   о с м о тр а   п о в е рн х о с т и   с о   в се х , а  так ж е   э к сп ор т  гр афи ч еск и х   р е з л у ь ат о в   и  и х   п еч ат ь  4.

Р абот а   и з  к о м а н дн о й  с тр о к и , р аз му е стя к о   лд я   р е ш е н и я   п р о с ыт х   з адч .  В ы о х т . е . п р о гр а м м   и  фну к ц и й , соедр ж ащ и х M ATLAB.  Н а п и с а н и е  о сн о в н ы х   ит п о н фу к ц и й ) в о   в срт о ен н о м   р е д а к то р е ю ст я   н а  ди ск е  и  з ап сук аю ст я   н а  в ы п о л н ен и н фу к ц и и   M ATLAB,  ч т о   п о з в о л яе т MATLAB  и   с о з адв т ь   с о б вт е н н ы аль н ы х   з адч .  Бо ле е  то г о ,  п о адв л яю щ е Toolbox  и м ею т   о кт р ы ыт й   код ,  он а д е т   о п ы нт о м у   п о л ь з о в а ет л ю   ну и к аль н у

,  н е  о ч ен ь   о д бу н а   и  п о хди т   от л ь д   со ти т   в   и сп о ль з о в ан и и   М - фа й л о в ,   нжу ю   п о с л е од в а е т л ь н о с т ь   к ом ан д в   М - фа й л о в   (фа й л - п р о г а м м   и  фай л   раз обран о   в   ав ег л  5.  М - фай л ы   с о р ха н я е  та к   ж е , к а к  и  дргиу е  к о м а н д ы  и   р ас ш и р ят ь   н або р   с ат н д а р нт ы х   с р е дт в е   п а к ет ы   п р о гр а м м   лд я   р еш ен и я   с п ец и е   б о л ь ш и н с вт о   н фу к ц и й  M ATLAB  и и   з а п р о гр а м и р о в а н ы   в   М - фа й л а х ,  ч т о ю   воз м ож н ост ь   р а з б и р а ть с я   в   ос -

12 

б е н о ся т н и ю  слож н ы

х   р еали з ац и

и   а л г о р и мт о х   с п ец и а л ь н ы

х   з адч

в   и  и з м ен ят .

В от р а я   ч аст ь   кн и г и   п о с в ящ ен а   бо ле ч и с л ен ы х   м е от д в   и   п р о гр а м и р о в а н и гр а м и р о в а н и е   в   MATLAB  н е  требу н и м ат ь   п ри н ц и п ы   а л г о р и тм и з а ц и гр а м и р о в а н и я   н а   о нд о м   и з   а л г о р и мт и ч е с к и и л и   Pascal,  л егк о   освоя т   в с рт о е н н ы н а  м и н и м а л ь н о м   н абор е   к о н с рт к у ц и й Р еш ен и е   к л а с и ч ес к и MATLAB  рт еб ут о б ъ ем е   п р о гр а м ций ,  и н те гр и р о в а н и р ы , о б ы к н о в ен н ы ве  6.  В ы ч и с л и етл ь н ы п о лч у е н и е   р е з л у ь та пу р а в л ен и я   о хд ав ег л  6. ав Гл

zyxwvutsrq

В ве н д и

е   сло ж н ы

е   о сн о в н ы я   о п е р а то р

-

м   —  п ри м ен ен и ю х   а л г о р и тм о в .  П р о т   с п ец и а л ь н ы х   з н ан и й , до с та о ч н о   по .  П о л ь з о в а те л и ,  и м ею щ и е   оп ы т   п ро х   яз ы к о в ,  н а п р и м е р ,  Basic,  С й   яз ы к   п р о гр а м и р о в а н и я ,  о с н о в ан н ы й .

м   воп роса

х   к о н с р тк у ц и ы   в етл н и

е   и н ед к с и р о в а н и т   с о к р а ит

ь   о бъ е

,  те к с то в ы м

,  св яз ан н ы и   гр а фи ч е с к и

  п р и   п ом ощ и   н фу к ц и й , з н а н и й , к а к   м и н и м у м  в й   и   м и н и м и з ац и я  фн у к е   з ад ч   ли н ей н о й   а л ге б  си ест м   раз обран ы   в zyxwvutsrqponm  га- л т   и х   н а с рт о й к у   н а  з а д н и е   р яд а   оп ц и й   лд я в   ат к ж е   о с в е щ а ес т я  в

й   яз ы к я   и   ц и к лов е   в   п р и м ен ен и м   п р о гр а м

и   фа й л а м и   и   сп ец и аль н ы м к   и   с рт к у р   —  п р о де м о н с тр и р о в а н х   п р и м ер ах .  В   э от й   ж е и   в з а и м о д е й с тв и я   п р о гр а м е   и н ет р ф й с а   и з   к о м а н дн о й   с тр о к и т   ч и та е л я   о   п ри н ц и п а х   н ап и сан и м   в о х дн ы х   и   в ы о х дн ы х   а р г му е н т о в о   нф у к ц и й  M ATLAB  до п су к а ю е   к   ним .  едлУ н о   вн и м ан и е   е   слож н ы х   а л г о р и тм о р   M ATLAB  с о дер ж и т   н або р   с р едт е   котры х   ат к ж е   п о яс н ен о  в  гаве л

и   яч е

Р а з р а б о тк а   в   M ATLAB  п р о гр а м н ован а   н а   пу р а в л ен и и   с в о й с вт а м б о т ы   п р о гр а м ы .  Хо р о ш о   н ап и сан н а п о л ь з о в а те л я   д о р а б о тк и   гр а фи ч е с к и и н ет р а к ит в н о й   с р ед ы   л д я   р е д а к ти р о в а н и

ь   к  реш е

ю   с о б вт ен н ы

х   з ад ч   ч и с л ен ы м и   м ео т а д и , в   олти ч и е   о т   п р о гр а м и р о в а н и я к   корн е ы   н е хт и ч е с к и х   в зу о в .  П о и с е   и   и н те р п о л и р о в а н и е ,  реш ен и х   ид ф е р н ц и а л ь н ы х   р уа в н е н и й  и е   а л г о р и тм ы   MATLAB  до п сук а ю а   с  о п р едл н н о й   от ч н о с ьт ю  и м   в ы ч и с л ен и й .  Д а н н ы й   кру г   в о п р о с

  7  со едр ж и т   о п и сан и н и я   M ATLAB,  в к л ю ч а ск и е   о п ер ац и и   и   л о ги ч е с к о то р ы е   з а ч с ут ю   п о з в о л яю э ф е к ит в н о с ьт . Р абот а   с о   с тр о к а м и н ы х  —  м а с и в а м н еск о ль к и х   с о д е р ж а те л ь н ы ш и й   сп ос б   о р га н и з а ц и в а ет л м   н а   осн ов ав ыг л  8  и н ф о р м и р юу п ер м ен н ы м   ч и сло л яю щ е е   б о л ь ш и н с тв саль н о е   о бр ащ ен и ф ну к ц и й .  П р о г р а м и р о в а н и о тл а д к и .  Р е да к то гр а м ,  и с п о л ь з о в а н и

ь   и х , п р и с п о с а б л и в а яс

а   п р о гр а м и р о в а .  О п и с ан ы   л о ги ч е и   к   м ас и в ам ы   и   п овы си т

, к о ь   е е

и   ти п а м и   да н а   в   ав ег л  8  н а   гл а в е   оп и са н   п р о с ет й ы   M ATLAB  с   п о л ь з о .  Н е с к о л ь к о   р а з де л о в я   ф а й л - фн у к ц и й  с ,  п о с к о л ь к у   п о да в т   и м ен н о  та к о е   ну и в ер с о з да н и ю   р е к ру с и в н ы х в   н е р дк о   тр е б у т   и х в   лд я   о т л а д к и   п ро  8.

х   с   в и з аул и з а ц и е й   да н н ы х х   о б ъ е к от в   п р ям о   в   о дх я   п р о гр а м а   н е   до л ж н а   тр е б о в а т х   р е з л у ь та о в ,  к   п р и м ер у ,  п р и   п о м о щ я   гр а фи к о в .  M ATLAB  яв л сет

,  ос е   ра ь   о т и я

В ве н д и

13 zyxwvutsrqpon

 

о б ъ е к нт о - о р и е н ит р о в а н н о с рт о е н ы   в   н ек о т р у од с у т п   к   с в о й свт а с р е двт а м и   д е с к р и п от р н о л ен и я   с в о й с вт а м с в о й с вт .  П р о с ты н ы е   в о з м о ж н о с ти п р о гр а м м  в  си есмт

й   с и с е тм о й ,  вс е   ег о   гр афи ч ес к и е   о б ъ ек т ы   вы ю   и ер а их ю   и   и м ею т   о п р е дл н н ы е   с в о й с вт а .  П о л н ы й х   о б ъ е к от в   э ф е к ит в н о   р е а л и з е с ут я м   в се х   г р а ф и ч е с к и  ав Гл  9  р а с к р ы в а е т   п ри н ц и п ы   пу р ав й   гр а фи к и .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH и   гр а фи ч е с к и х   о б ъ е к от в   и   с о е др ж и т   о п и сан и е   осн овн ы х  9,  дем о н с рт и рюу т   осн ов е   п р и м ер ы ,  п р и в едн н ы е   в   ав ег л ,  и м ею щ и ес я   в   р ас п о р яж ен и и   р а з р а б о тч и к а   гр а фи ч е с к и х е   MATLAB.

Т р е ьт я   ч аст ь   кн и г ад н и я   п р и л о ж ен и G U I D E .  П р о с то а с ре т у я   п о ет н ц и а л о Toolbox.  Р а з р а б о тк в   с р ед е   G U I D E  з а н и м а е к о р яе т  п р о в едн и е В   ав ег л э л е м н от С елуд е т  п о н и м а н и

и   п р е нд а з н а ч е н й   с   гр а фи ч е с к и   п р о гр а м и р о в а н и м   в ы ч и с л и ет л ь н ы а   п р и л о ж ен и т   н ем н о г  и с леод в ан и й

 10  н а   п р и м ер е   п ростг о   п р и л о ж ен и в   и н е тр ф й с а   в   окн е   п р и л о ж ен и т  и м ет ь   в  в и уд , ч т о   о б р а б о тк а   с о б ы ит я  о сн о в  дес к р и п от р н о й  гр а фи к и

Ч и та я  гаву л  11, в ы   п р о д л ж и т н я я   ег о   и н е тр ф й с  фл а г м и скрол и н г а  и  п р о гр а м и р у все х  э лем н от в  уп р а в л ен и я О  то м , к а к  с н абид т от м   ч и с л е   к о н ет к с нт ы м и ж ен и е м   в о   м н ог И з м ен ен и е  сркту ав Гл ет л ь н ы п р и м ер э ит м

а   л д я   п о э ат п н о г о   о ч б уе н и я   п р о ц ес у   со з м   и н е тр ф й с о м   п о л ь з о в а ет л я   в   с р ед я   и  р а б о т ы   в   с р ед е   G U ID E  к о м п ен си х   и   в и з а ул ь н ы х   с р е тд в   M ATLAB  й  с  гр афи ч еск и м   и н е тр ф й с о м   п о л ь з о в а ет л о   в р ем н и , н о   щсу евстн о   о б л е гч а е т   и  ус .

 13, з а в ер ш а ю щ а е   с в енд и , щ елч к и  с о б ы ит ям и

е   работ , п ер к л ю ч аетл ям и я   и х  с  учоет .

ь   с о б с вт е н н о

у   н а д   с о з ад н н ы

я   ох р ш ю  та к   ж е  о п и с а н

я   рт е ь я   о   п р о гр а м и р о в а н и а   мы ш ь ю   ил .

ю   ч аст и   н а ж ит

в   пу р а в л е н и

о   п р о м ду а н н о о  в  э от ь   к н и ги и   с о б ы ит я   к лав и ш и

, соедр ж и

. я   ртеб у

и   ок н ам и о   работ й   с рт к у о .

е   с в о й с вт

 9.

а   и  п о л с а м й   работ , м ен ю ы   с  п р и л о й   м ен ю

т   н ек о т р ы й   гр а фи ч е с к и , и  р яд

-

, п о п о л и   в од

й  гл а в е

я

я

ы  в  гаве л

я  с о гл а с о в а н н о е  ди а л о г в ы м  12. Уод б свт

и

с   р аз м ещ ен и е   с о б ы ти й

е  и з ло ж ен

,  о б л а с ятм

я   в   ав ег л

м   о п р е дл я ст ы   м не

н   п р о ц ес

м   п р и л о ж ен и ем

м   о б ес п еч н и

е  п р и ло ж ен и , с о б щ аест

Ч е вт р ат я   ч аст ь   кн и г н ек о т р ы х   с п ец и а л ь н ы м о ж н о ст и   Toolbox  ш ат ь   з адч и   м а ет м а ит ч е с к о п р о и з в о нд ы х   м ео т д ш ен и я  з а д ч   в   с р ед е р и и   о б л а с ти ,  з а д н и

я   п о к аз а я   и   п р о гр а м и р о в а н и й   э л е м н от , к о т р ы

е

и ы , в .

е   до п о л н и х   о б ъ е к то в , св яз ан н ы

, н а х  с

и   п о с в ящ ен а   п р и м ен ен и ю   Toolbox  лд я   и с леод в ан и я х   з адч .  ав Гл  14  р а с к р ы в а е т   п ер д   ч и ате л м   воз Partial  Differential  Equations  (PD E),  п о з в о л яю щ ег о   ре ,  о п и с ы в аем ы е   руа в н ен и ям и   в   ч а сн т ы х й   фи з и к и м   к о н еч н ы х   э л е м н от в . Д е та л ь н о   раз обран ы   э ат п ы  ре   pdetool  с  гр афи ч ес к и м   и н ет р ф й с о м : о п и с а н и е   ге о м т е   р уа в н е н и я   и   гр а н и ч н ы х   с ул о в и й ,  р а з б и ен и е   о бласт и

J_4 

В ве н д и

zyxwvutsrq

с ек т о й ,  п ои с к   п р и б ли ж ен н о г о   р еш ен и я   и   в и з а ул и з а ц и я   р е з л у ь ат .  Р а з о бран ы   п р и м ер ы   с ат ц и о н а р н ы х   и   н е с ат ц и о н а р н ы х   з адч .  С елуд т   и м ет ь  в в и уд , ч т о   ср ед а   pdetool  ли ш ь   о б л е гч а е т   о д су т п   к  б о л ь ш о м у   н або р у   н фу к ц и й PD E  Toolbox.  Н еп о с р едвт н н о е   и сп о ль з о в ан и е   да н н ы х   н фу к ц и й   в   со б т в ен ы х   п р о гр а м а х   п о з в о л яе т   п р о в ди т ь   бо ле е   сло ж н ы е   и с л е од в а н и я  п о с р а в н ен и ю   с   в о з м о ж н о с ят м и   pdetool.  В   связ и   с   эит м   в zyxwvutsrqponmlkjihgfedcbaZYX   ав ег л  14  п р и в едн о о п и сан и е  ф о р м а то в   п р е сд а т в л е н и я   да н н ы х ,  св яз ан н ы х   с  р еа л и з а ц и е й   м еот д а к о н еч н ы х   э л е м н от в   в   PD E  Toolbox,  и   р а з о б р а н ы   п р и м ер ы   и сп о ль з о в ан и я н фу к ц и й   Toolbox. Р еш ен и

е  м н о ги х   с о в р ем н ы х   сло ж н ы х   з ад ч   ч и с л ен ы м и   м е о т ад м и   п ри во т   к  та к   н а з ы в а ем ы м   р аз р еж н н ы м   м а тр и ц а м , т . е .  м а тр и ц а м ,  соедр ж ащ и м д о с ат о ч н о   м н ог о   н л ев ы у х   э л е м н от в .  Р а б о т а   с  р а з р еж н н ы м и   м а рт и ц а м и  в MATLAB  с  то ч к и   з р ен и я  п о л ь з о в а етл я   п р о и с о х ид т   п р а к ит ч е с к и   ат к   ж е , к а к и   с  о б ы ч н ы м и .  Р аз р еж н н ы е   м а рт и ц ы   п р и н а лд е ж а т   с п ец и ал ь н о м у   к лас у ,  в котро м   обы ч н ы е   м а рт и ч н ы е   о п ер ац и и   п е р о п р е дл н ы   в   с о вт ес и и  с о с п ец и ф к о й   р аз р еж н н ы х   м а рт и ц . Глав  15 п о ясн яе т   м е сх у   рха н е н и я ,  соз ад н и е  и  о п ер ац и и   с  р а з р еж н н ы м и   м а тр и ц а м и .  П р о фа й л е р   M ATLAB  п о з в о л я е т   о чт е л и в о   в ы яв и т ь   п р е и м щ у е св т а   ч е ут а   с рк т у ы   м а рт и ц ы   п р и  реш ен и и з ад ч   л и н ей н о й   а л ге б р ы   и  м а тр и ч н о г о   ан али з а ,  н а п р и м е р  та к и х ,  к а к  фак от ри з ац и я   м а тр и ц . ид

Р еш ен и е  р а з л и ч н ы х   ит п о в   л и н ей н ы х   и  н ели н ей н ы н а   осн ов е   нфу к ц и й  Optimization  Toolbox  р а з о б р а н и сп о ль з о в ан и е   о п ит м и з а ц и о н н ы х   а л г о р и тм о рт е б у т   п о н и м ан и я  м еотд в   и  умен и я  р а б о та П р и в ед н   п ри м е р   р еш ен и я   боль ш о й   с и ем т ед л ь н ы й   р а з де л   ав ыг л  16  п освящ е н   н ап и сан и и н е рт ф й с о м   п о л ь з о в а те л я   лд я   р еш ен и я   п р а к ит ч е с к бор е   п а р м е тр о в . И с л е д о в а те л и а н а л и т ч ес к и щ и х   р а с ч е то в воль н ы е тл ь   и м е н а   о бч у е н и пу р о щ е н и е ед л ь н ы ит ч е с к о р я ды ,  ид ф е р н ц и а л ь н ы

,  ч ь я   р а б о т х   в ы к л аод ,  н ес о м н ен н о е   в ы ч и с л ен и я   о сн о в ан т  до сут п   к о  все е   п о л ь з о в а ет л ,  п р е о б р а з о в а н и е   р а з де л ы   да н н о м   в и ед ,  в к лю ч а н оа х ж е д н и е   п р едл о х   р уа в н е н и

х   о п ти м и з а ц и о н н ы о   в  гаве л в   лд я   р еш ен и ь   с  р а з р еж н н ы м ы   н ел и н ей н ы ю   п р и л о ж ен и и   в аж н о

х   з ад ч  16. Э ф ек ит в н о е я   сло ж н ы х   з ад ч и   м а тр и ц а м и . х   руа в н е н и й .  От я   с   гр а фи ч е с к и м й   з адч и   о   п од -

а   с о п р яж ен а   с   п р о в е дн и е м   боль ш ог о   к о л и ч е с вт а к   и   п ро г ам и ро в ан и е м   ле м у о д й   л д я   с о в тюе у ,  з аи н етр сюу т я   Symbolic  M ath  Toolbox.  С и м ы   н а   м ощ н о м   яр д е   Maple,  п р и   э от м   п о л ь з о в а м   р ес у а м   M ATLAB.  ав Гл  17 э от й  к н и г и   н ац ел н а я   работ е   с   си м воль н ы м и   в ы р аж ен и ям и ,  в к л ю ч а я е   и   в ы ч и с л ен и е   с   п рои з воль н о й   то ч н о с ть ю .  От й   гл а в ы   о п и сы в аю т   н ехт и к у   р еш ен и я   з ад ч   в   ан али я   м а рт и ч н ы й   ан али з ,  сму и р о в а н и е ,  р а з л о ж е н и е  в в   н фу к ц и й   и   и н те г р и р о в а н и е ,  п о и с к   р еш ен и я й   и  си есмт .

В ве н д и

15zyxwvutsrqpo

 

ав ег л  18 р ас м арти в аест я   п р и б л и ж ен и е   и н е тр п о л я ц и о н н ы м и  и   сглаж и ваю В  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA щ им и   сп лай н ам и   в   Spline  Toolbox.  С п лай н ы   м о уг т   бы т ь   с к о н с р ит у о в а н ы  в од - ф о р м е   и  Б- форм е . О п и сы ваю ст я   воз м ож н ост и   з а дн и я   р аз ли ч н ы х   гр а н и ч н ы х   с лоув и й   и  и х   в ли ян и е  н а   отч н о ст ь   ап р о к си м ац и . Осжатебду я   к лю ч е в о й   м о ен т  в  соз адн и и  5- сп лай н о в  —  к р ант о ст ь   з у ло в .  С рсведт а   Toolbox  п о з в о л яю т   п р и бли ж ат ь   н уф к ц и и   с  р аз ли ч н о й   пе с т н ь ю   гл а кд о с и т .   П р и в о ядс т я п р и м ер ы  п о срт ен и я  кри вы х  и  п овнерх ост й   с  п о м щ ь ю  сп лай н о в . В оз м ож н ост и   ап ро к си м ац и F itting Toolbox,  и з л а г ю ст н о й   о б р а б о тк и   да н н ы х о т да х   лд я   н а ч л ь н о п а р м е рт и ч е с к и х   м ер е  р а ц и о н а л ь н о п оз воли т   ч и ат е л ю ж и в аю щ и м и   сп лай н ам и ка к   п р о в ес т и   ан али нф у к ц и , и н етгр и р о в а н и ав Гл

х   нф у к ц и й , р е а л и з о в а н н ы  19. О п и с ы в аю ст я   сп ос б ,  о с н о в а н н ы е  н а  р егр с и о н н о м   ан али з й   ф и л ь рт а ц и и  дан н ы х .  Р а з о б р а н ы   с о з ад н и м о елд й   и   и сп о ль з о в ан и е   о нд о й   и з   с а т н да р н т ы й  и л и  ч асит ч н о й   м су ы  р яд а   Ф р уь е .  М а те р и а   вы п олн и т ь   н е п а р м е рт и ч е с к о е   п р и б л и ж ен и , л и б о   и н ет р п о л я ц и о н н ы м и   м е о т ад м и з   р е з л у ь ат о в ,  в к лю ч аю щ и й   э к с рт а п о л я ц и е  и  ди ф ер н ц и р о в а н и е  п о лчуен н о г

е   в   Curve х   ме х х   н а   п ри л   э от й   г л а в ы е  л и б о   с лг а .  П о яс н яе тс , ю   та б л и ч н о й о  п р и б л и ж ен и я .

ы   п р е вд а р и е т л ь е   и  дргиу е   с о б вт е н н ы

 20 з н а к о м и т  ч и ател я   с  в о з м о ж н о с ятм и  реш ен и я  э к о н о м и ч ес к и х   з ад в   Financial  Toolbox.  Р ас м ортен ы   воп рос ы   ан али з а   п отко в   п л а е тж й   в  р а з ли ч н ы х   с фе р а х   б и з н ес а .  И л ю срт и реуст я   п р и м ен ен и е  фн у к ц и й  Toolbox  лд р а с ч е то в ,  св яз ан н ы х   с  о б р ащ ен и е м   кп у о н ы х   и  бескпу о н ы х   о б л и га ц и й . Н п р и м ер е   м о е дл ь н ы х   з ад ч   ед м о н с р т и р ю у с т я   воз м ож н ост и   п о   пу р а в л е н и п о р фт е л я м и   ри ск о в ан н ы х   ц ен ы х   бм у а г .  Р а с м а рт и в а ю ст я   раз ли ч н ы е   ви д о гр а н и ч е н и й   н а   с о ат в   п о р фте л я   и   п о яс н яю ст я   п рави л а   фо р м и р о в а н и я и сп о ль з о в ан и я  эит х  о гр а н и ч ен и й . П о с л е дн я гу т   б ы т

ав Гл

и  та б л и ч н ы я   в  гаве л

, п я та ь   п о л ез н

, ч аст ы  ч и аетля

ь   кн и г

и  овхаыт в а е м   с  р а з л и ч н ы м

т   н ес к о л ь к и  уро в н ям

о  в о п р о с о в и   п о д г то в к и

, к о т р ы

е  м о

ч я а ю ы  и -

.

 21  р а с к а з ы в а е т   о б   а в от м а ит ч е с к о й   ге н е р а ц и и   о чт е о в   и   о   работ е  с M ATLAB в  п о п луяр н ы х   фо р м а т х   MS Word, MS Power  Point, H TM L и  Т еХ . И н те г р и р о в а н и е   MATLAB  с  MS Word  п о з в о л яе т   с о з да в т ь   в   MS  Word  и н ет р а к ит в н ы е   од к м у е н т ы   (М - к н и г )  лд я   п р есдатв лен и я   п о с ат н о в к и   з адч и , м ео т д в   и  р ез луь ато в   р а с ч е от в   в   н а г л я нд о й   фо р м е   с   и сп о ль з о в ан и е м   в се х в о з м о ж н о с ет й   м ощ н ог о  те к с то в г о   р е д а к то р а   MS Word  и  сред ы   M ATLAB. ь Ч и ат е л ь   М - кн и г и   м ож е т   з а п с ук а т ь   блок и   к о м ан д   MATLAB  и   п о лчуат т  п р ям о  в  М - кн и ег . Р аз ед л   "Стансяе в мо  рае кт с о в ы й   и  графи ч еск и й  р ез луь ат т ао б  в  MATLAB  u MS  Excel"  авыг л  21  со едр ж и т   и н фо р м а ц и ю  о  к о н фи ргуи ро в ан и и   MS  Excel  и   о р га н и з а ц и и   с о в м е с нт о й   работ ы   в   M ATLAB  и   MS у   с р ое д й   MATLAB  и   та б Excel.  В оз м ож е н   н е  то л ь к о   обм е н   ад н н ы м и   м ж ед ли ц ам и   MS  Excel,  н о   и  в ы з о в   н фу к ц и й   MATLAB,  ка к   и з   чяе к   л и с ат ,  ат к   и и з  п р и л о ж ен и й  н а   VBA.

16 

П о л ь з о в а те л я м с о з ад н н ы м ац и ав Гл п о де р ж и в а е м о г в ер с и ях

,  к о т р ы е   и м ею т   п р и л о ж ен и е   в   M ATLAB  в ерси и   5.3,  н ес о м н ен н о я   о   м о де р н и з а ц и и   п р и л о ж ен и й   в   фо р м а т  22 о п и с ы в а е т   п р о ц ес с  п р е о б р а з о в а н и о   в   MATLAB  5.3,  в   фо р м а , н а ч и н а я  с  ш есотй .

Э ф е к ит в н о е   о п ер и р о в ан и е   с  да н н ы м р а з му е в а т   п р и м ен ен и е   р яд а   п р и ем о в о б жс у а д ю с т я :  р а с п р едл н и е   п а м я ит н ы х   о п ер ац и й   п о   с р ав н ен и ю   с   ц и к л и ч ес к о н ы х   и  в ы б о р   да н н ы х   п о хдя щ е г о о гр а н и ч е н а   то л ь к о   в о з м о ж н о с ят м MATLAB  вохди т   б и б л и о те к а   н фу к ц и гр а м н ы й   и н етр ф й с   п р и л о ж ен и й едн и я   о   M ATLAB  API  и  п р и м ер ы х  яз ы к а х  п р о гр а м и р о в а н и я сан н ы х  н а  дргиу в н еш н и х  млеоуд й   п о в ы ш ае т  э фекит в н о ст О сн овн ы р и ям вы з ов котры

zyxwvutsrq

В ве н д и

е   нф у к ц и ,  п р и в едн а   н фу к ц и х   о б ж с уа д е т

я   с   гр а фи ч е с к и , о к аж ест ,  п р и н яыт я  п р и ло ж ен и т   m/ fig,  к о т р ы

и   боль ш ог ,  к о т р ы , п р еи мщу есвт

м   и н ет р ф й с о м я   п о л ез н о й   в   н овы й  и з  ф о р м а т й   и с п о л ь з ес т у

, й   и н фо р х   в ер с и ях .zyxwvutsrq а  m/ mat, я  в

о   о б ъ ем е   о п и сан о   в с рт о е н н ы

а   в   MATLAB  п од  23.  В   н е ы   в   ав ег л х   п о э л ем н т й   о р га н и з а ц и е й   о б р а б о тк и   ад н   ти п а .  Р а б о т а   п о л ь з о в а ет л я   MATLAB  н и   с р ед ы   и   мл е оу д й   Toolbox.  В   п ак е й   MATLAB AP I,  р еали з юу щ и х   п ро . Глав  23  соедр ж и т   ат к ж е   осн овн ы е   вс е   и н е тр ф й с а   лд я   в н еш н и х   м л о е у дй ,  н ап и . В  р яд е  счлауе в   з а де й с в т о а н и ь  п р и л о ж ен и й   M ATLAB.

и  M ATLAB  и  р я д а   Toolbox,  с гр пу и р о в а н н ы ы   в  ине ж о иплр  1.  К р а тк о е   о п и сан и й   с н а б ж ен о   с ы лк ам и   н а   с о вт ес ю у щ и я   и сп о ль з о в ан и е  дан н ы х  фну к ц и й

а   работ ы   с  к н и го й   в с е   л и с ит н г я   о д бу с в т н ы   н а   п р и лаг ем ы й   к о м п а к - т ид с к , сртку ин  2.  И з л о ж ен и е   м а ет р и а л а   в   кн и г е   с о п р о в ж ад е с т н ек о т р ы х  гл а в   п р и в едн ы  з адн и я  дл я   с а м о с т яел ь н о

Дл

и   п р и в о ид м ы а   котрог

е   раз ли ч н ы е   р а з де л

е   п о   к а ет г о х   в а р и а н то ы   к н и ги

й е т е в , в

. х   п р о гр а м о   о п и сан я   п р и м ер ам и й   р а б о ты

м   з а н ес а   в -е  пж о илр ,  а   в   к о н ц .

е

Дан н а я   кн и г а   н и   в   к о й   м ер е   н е   п р е нт у д т   н а   п олн от у   и з л о ж ен и я .  Д о сат а   о б ъ ем н а , в то ч н о   с к а з а ть , ч т о   од кму ен атц и я   п о  MATLAB  и  Toolbox  в есь м ч а с нт о с ит , о п и с а н и е  PD E Toolbox  соедр ж и т   ок л о  тр есхо т   с тр а н и ц , Optimization Toolbox  —  о к л о   ч е ы т р с е хо т ,  а   о п и с ан и е  Statistics  Toolbox  п р ев о сх т   и м ет ь   в   в и уд ,  ч т о   с п р а в о ч н а я   с и е мт а   по ди т   е д в я ь т с о т   с тр а н и ц .  С елуд з в о л яе т   н е   то л ь к о   н ча у и ь т с я   п р и м ен ят ь   с р евд т а   M ATLAB  лд я   р еш ен и я раз ли ч н ы х   з адч ,  н о  и  р а з о б р а ть с я   в   о с б е н н о с ят х   р еали з о в ан н ы х   м е от д в . О гр о м н о е   к о л и ч е с вт о   с в е дн и й ,  соедр ж ащ и сх я   в   од к м у е н а т ц и и   и   сп рав о ч н о й   с и е мт ,  о к а з ы в а ест я   п о л ез н ы м   л д я   и с л е о д в а тл е й   и   и н ж ен ер о в ,  вла е дю щ и х   о сн о в ам и   работ ы   в   MATLAB.  Н а ч и н а ю щ и й   п о л ь з о в а те л ь   м ож е т п рост о   з а п т уь с я   в   оби ли и   и н фо р м а ц и .  П о э от м у   ч аст о   м ы   п р и в о ид м с ы лк и   н а  р а з дел ы   сп рав о ч н о й   с и ем т ы   лд я   с а м о с т я е л ь н о г о   и з ч уе н и я   ма те р и а л . П р е дл а г е м а котры

е   о х ят

я   в а ш ем т   и з ч уи т

у   в н и м ан и ь   п ри н ц и п

ю   кн и г а   п р е дн а з н а ч е н ы   в ы ч и с л ен и

а   лд й   и   п р о гр а м и р о в а н и

я   е т х   ч и ат е л й

, я   в

В ве н д и

17zyxwvutsrqpo

 

M ATLAB  и  о с в о и т ь   работ ласт и   р еш ен и я   с п ец и ал и з и р о в ан н ы н о   к р о п о тл и в о й   с а м о с т яел ь н о п р о гр а м и р о в а н и я  и  р еш ен и П о л ь з о в а те л я п о яв и в ш и ес к о м п о н ен т м и  окн ами м ен ы ыд ,  в П о яв и л ас в аю щ и м а н ад с в т а   лд п р о с м а тр и в а т

у   в   н ек о т р ы

х   Toolbox.  глбУу ен и е   з н ан и й  в   о б ч   п о рт е б у т   о т   ч и ат е л я   д о с та о ч й   р а б о ты .  С п и со к  л и те р а ту ы ,  к ас ю щ ей с я я  з а д ч   в  M ATLAB,  п ри в ед н  в  к о н ц е  к н и ги . х   з ад

м   п р ые д щ у е й   в ер с и и   MATLAB  уд б т   и н е рт с н ы   н о в ш е с вт а я  в  сьедм о й  в ер с и . Р асш и р ен ы  в о з м о ж н о с т и  р а б о ч е й   с р ед ы   и  е .  С ат л о   о д б ну е е   р а б о та ь   с  н еск о ль к и м и   фа й л а м и   и  гр а фи ч ес к и — о к н а  р е да к то р а   М - фа й л о в , гр афи ч ес к и е   окн а   и  б р азу е р   п ер х   м о гу т   бы т ь   в с рт о е н ы   в   рабо ч у ю   с ру е д .  С орха н и в   ви д   рабоч е й   ср е ы   л е гк о   в о с ат н о в и т е   ег о   в о   в р е м я   юс л у е д щ е г о   с еа н с а   р а б о ты ь   н ова я   п а н ел ь   и н с р тм у е н о т в   лд я   р а з м е щ е н и я   яр лы к о в , о бесп еч и х   б ы с рт ы й   од су т п   к   с о б вт ен н ы м   п р о гр а м а м ,  п р и ло ж ен и я м   и   ко м   M ATLAB.  Р еда к от р   м ас и в о в   и  бр азу е р   п ер м н ы х   с о ед р ж а т   с р ед я   в и з а ул и з а ц и и   да н н ы х ;  к р о м е   то г ,  р е да к то р   м ас и в о в   п о з в о л яе ь   с р тк у ы ,  в  то м   ч и сл е  и  в л о ж ен н ы е .

Г р а фи ч ес к и е   с р е дв т гр а фи к о в   п о яв и л а с ь бю у щ а я   о б р ащ ен и я к о м п о н е н то в ,  к о т р ы фи к о в .  П р и   о ф р м л ен и ск и х   фо р м у л   в   фо р м а т п о пд и с е й , гео м ерти ч еск и о б ъ ек т ы   м о гу т  б ы т ь н ят ь  св о ег о   п о л ж ен и я

а   п р ет п ел и   н ек о т р ы   и н ет р а к ит в н а я   с р ед а   к   гр а фи ч е с к и м   нф у к ц и я м е   м о гу т   бы т ь   и сп о ль з о в ан и   гр а фи к о в   е тп р е   LaTeX  и   до б а в л ен и х   ф и уг р   и  р а з н о г   п р и в яз ан ы  к  то ч к е  с , н а п р и м е р , п р и  в ы б о р

е   и з м ен ен и я я   в и з а ул и з а ц и . Д а н н а ы   лд

  лд

. В м ест

ь   о д п с ук а е т о   род  з а д н н ы м

е   н овы а   с рт е л о к е   н ов г

.  Э т и   к о р ди н а т м о   м а с ш ат б

. т

о   р е д а к то р и   да н н ы х а   с о ед р ж и

я   с р ед я   р е д а к ти р о в а н и я   з ап и с х   о б ъ е к то в

, е

а ,  н е  тре т   ря я   гр а

д

ь   м а ет и ч е :  в ы н о с н ы х и   п о яс н яю щ и е и   и  н е  ме .

И н с рт м у е н т zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Data  Cursor гр а фи ч е с к о г о   окн а   п р е нд а з н а ч е н   лд я   о т б р а ж е н и я к о р ди н а т  то ч е к   гр а фи к о в   п р и   п ом щ и   мы ш и   и  п р и к р еп лен и я  к  н и м  яр лы к о в   с о   з н а ч ен и ям и   к о р ди н а т .  П о с тр о и в   и   оф рм и в   гр а фи к и ,  в ы   и м ет е воз м ож н ост ь   а в от м а ит ч е с к и   с ге н е р и р о в а т ь   код , в ы п о л н ен и е  к о т р о г о   п ри вед т   к   с о з ад н и ю   гр а фи ч е с к о г о   окн а   с   е т м   ж е   с о ед р ж и м ы м .  Д а н н ы й   ко д л е гк о   до б а в и т ь   в   с о б вт е н н о е   п р и л о ж ен и е   и   м о ди ф и ц и р о в а т ь   п о   м ер е   на д о б н о с ти . Н ес к о л ь к ч не н або р

о   и з м ен и л а с ы   о б ъ е к ыт - г р п у ы м   о б ъ е к то в

В   п р о ц ес е   п р о гр а м и р о в а н и н ы м   а н а л и з а то р   код с ку о р е н и я   а л г о р и тм фа й л о в  сн абж е н  усло в н о П р е лд а г е с т м ан

д  яв ляю ст

я   н овы я   яч ей к а м

ь   с р кт у ,  о б л егч а ю щ и

а   гр а фи ч е с к и

х   о б ъ е к то в е   в ы п о л н ен и

.  Т еп р

ь   в  н е е  в к лю х   е дй с в т и

е   о дн о и т п н ы

й  с

. я   и   о л т а кд а   M- Lint, к о т р ы а   и   о п ит м и з а ц и й  то ч к о й   о с та н о в а й   сп о с

б   о р га н и з а ц и и  и  м огу т   бы т

и   п р и л о ж ен и й   п о сд к а з ы в а е и   работ

й   о к а з ы в а е ст т   э ф е к ит в н ы ы   с   п а м я ьт ю

я   п о л ез е  сп о с б .  О лтачд и

ы к   М -

. и   работ ь   в ы п о л н ен

ы   в   М - фай ле ы  в  н ж ун о

—  б л о к й   п о с л е од в а е т л ь

и   ко

-

J8_ 

н о с ит то

. С  эит в   работ

ср т а н е н н ы

м   н о в ш е с вт о м   с в яз а н   о д бу н ы й   сп о с б   п р е сд а т в л е н и я   р е з л ьу а т и   г е н е р и р е ум о г о   о чт е а   в  о дн о м   и з  р а с п р о ы   в  в и д е   а в от м аит ч ес к х  ф о р м а то в  MS Word, MS Power  Point, H TM L и л и  LaTeX.

С р ед а   в и з ау л ь н о г п а н ел ь  дл я  уп р о щ ен и В аш е   п р и л о ж ен и ActiveX- к о м п о н ен ыт П о яв и л и с с нт о с ит ер дж а щ и п о ед р ж и в а ю к у а з ы в а ю ст Р а с ш и р ен вош л и  си семт

zyxwvutsrq

В ве н д и

ь  дв ,  м о гу х   п а р м е рт ы

о   п р о гр а м и р о в а н и я  р а б о т е   с  гр афи ч еск и . а  н о в ы т   бы т

х   ти п ь   и сп о ль з о в ан . С о втсеюу щ и

т   и  п реж н и я   в  к ач есвт и   с о л в ер

ы   и  б а з о в ы ы   лд , н е  разреш ен н ы

И з м ен ен и ви л с ь   н ес к о л ь к Toolbox  и Toolbox.  Toolbox  и н ы х  з адч

я   к о сн ли у с

я   п р е лд а г е

т   р я д   н овы и   и  к н о п к и - п ер к л ю ч аетл и м   е тп р ь   м ож е

ы   с  п ер к лю ч аетлям м   и н е рт ф й с о а   н фу к ц и

т   и сп о ль з о в ат

й  —  а н о н и м н ы е  и  в л о ж ен н ы е ы   лд я  реш ен и я   м а ет и ч е с к и е   в ы ч и с л и е ть н ы е   н фу к ц и б  о б р а щ ен и я  к  н и м , п р и  котр о х   а р г м у е н от в .

й  сп о с е  до п о л н и етл ь н ы е   в ы ч и с л и ет л ь н ы я  реш ен и

х   о б ъ е к от

е   воз м ож н ост я   о б ы к н о в ен н ы х   о нт о с и ет л ь н

и  —  в   со ат й  п р о и з в о дн о й

в  — . ь

. О н и , в  ча х   з адч , со и  MATLAB м   п а р м е рт ы в   MATLAB х   р ау в н е н и й

х   ид ф е р н ц и а л ь н ы о   с а тр ш е

-

.

ь   р яд

а   Toolbox  и  к о м п о н ен т  MATLAB;  бо ле е   то г , поя о   н овы х .  Н а п р и м ер , к р о м е   п у о м ян ы т у х   н ам и   Bioinformatics  Filter Design  H D L Coder  соз ад н  G enetic Algorithm  and Direct Search О н   с о е рд ж и т   н фу к ц и ,  р асш и р яю щ и е   воз м ож н ост и   Optimization  вы ч и сли еть н ы х   н уф к ц и й   MATLAB  лд я  реш ен и я  о п ит м и з ац и о н .

П о др о б н а я   и н фо р м а ц и M ATLAB — к о м п а н и до с п у т н а   д о к м у е н ат ц и д с тв а   п о  и с п о л ь з о в а н и н ы е  в   с п р а в о ч н у ю   с и ем т у р ес у о в   м ы  р ек о м ен уд р а з де л ы ,  с в яз а н н ы е  с Simulink  и  F emLab.  щВ уед и и  о вт еч а ю т   н а  в о п р о с

я  о   н о в ш есвта х   с о е др ж и с т я   н а  сай т е   п р о и з в о ди е т л я и  M ath Works:zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO  http:/ / www.mathworks.com.   Н а  э от м   сай т е е   P D F , так ж е   в ы   м о ж ет е   н ай т и   р ку о в я   в   фо р м а т ю   раз ли ч н ы х   в о з м о ж н о с ет й   M ATLAB,  н е  вк лю ч ен ,  и  го т в ы е   р еш ен и я . И з  рсу к о яз ы ч н ы х   се в т ы х м   сай т   http:/ / matlab.exponenta.ru,   к о т р ы й   с о ед р ж и т  р а з л и ч н ы м и   а с п е к ат м и   работ ы   в   M ATLAB,  Toolbox, е   р а з де л о в   н е  то л ь к о   р аз м ещ аю т   м а те р и а л ы , н о ы   п о л ь з о в а ет л й .

М ы   с  б л а го да р н о с ть ю   п ри м е ш е й   кн и г и  и  п о с ат р ем с я   о вт е и т и   M ATLAB. о х в  в  и зч уен и

м   в аш

и   з ам еч ан и ь   н а  вс

е  в а ш

я   и  п о ж ел а н и и   воп росы

.  Жел а

я   п о  п о в д м   ва

у  н а м  успе

-

Т С ЧА О ВСН

Ь  I Ы  ТО Б АР

В  M ATLAB

2  З ак

.  130

Ы

zyxwvutsrqponmlkjihgfedcbaZYXWVUT

л Га в

а  1

рП о с т е й ш и Дан н а а л ге б р а и ч е с к и нф у к ц и й п рост

е  всилечны я  гл а в

а   п о с в ящ ен х   в ы р аж ен и

.  К о м а н ды ы   е д бу

Ра боч

м  р а б о та

;

•   п а н ел

ь   и н с р тм у е н о т

•   окн а   с  в к л а кд м н ы х  и  усатн о в к

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR

й   с р ед

ы  M ATLAB  и  в ы ч и слен и я м   в с рт о е н н ы х   м а ет и ч е с к и , н е   о ч ен ь   дл и н н ы е ,  п о э т м и   M ATLAB.

м х у   дл

и  р а б о ч е

е  о кт р ы в аест

я   рабоч а

й   с р ед

в   с  к н о п к а м

ы  яв л яю стя

я   с р ед :

и  и  р а с к р ы в а ю щ и м с

я  с п и с к о м

и   Workspace   и  Current Directory  лд и  текщу ег о   к а т л о га ;

о  Command Window,  сжащлу е

е   лд

я  в в о д

а zyxwvutsrqponmlkjihgfedcb   M ATLAB,  и з о -

а  к о м а н

;

я   п р о с м о тр д  и  в ы в о д

а   п ер м ен

П р и   н а ж ит С   ге о  п ом щ ь

а   с о т ян и

я  с  к н о п к о и   н а   кн оп к ю  обсеп чи свтае

-

а   р е з л у ь ат

•   окн о   Command  History,   п р енд а з н а ч ен н о е   лд я   п р о с м о т р а   и   п о в то р н о г в ы п о л н ен и я  р а н е е  в в едн ы х   к о м ан д  (о к н о  Command History  м о ж е н е  п суыт м , есл и  д о  э то г о   п ак е т  M ATLAB и с п о л ь з о в а л с я) ; •   с рт о к

я

а  MATLAB

и  э л ем н атм

•   м ен ю

ю  р а б о ч е

й   с   и сп о ль з о в ан и е х   м ы   н ач н ем ь   и з  к о м а н дн о й  срто к

, с  к о т р ы

е   MATLAB  н а  э к р а н я  н а  р и с .  1.1.

О сн овн ы м

•   окн

а  о п и с ан и

я  с ре д

П р и   з а п с ку б р аж ен н а

я

; о т   бы т

ь

й  Start. у   Start  о кт р ы в а ест я  дуост

п   к о  вес

я   м ен ю м  осн овн ы

,  п р и в едн н о м  свастрде

е   н а   ри с .  1.2. м   MATLAB.

  I. Ос но вы  работы  в  MATLABzyxwv аЧс т ь 22zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA :

ile  Edit  Debug  Desktop  Window  Help

ф  

t\   2i 



Current Directory: fe.MMLAB7\work

Shortcuts  i l  How to Adci  lЈj What's New

Name 

Your  MATLAB  license  will  expire  in  08  d a y a .

[ Size  ) Bytes  [ Class

Please  contact  your  system  administrator  or The  MathWorks  to  renew  this  license.

MATLAB  Help  or  Demos  from  the  Help  menu.

i L Curretit Directory j Workspace I

|  FORMAT  LOW :xp (­2  .5)  *log  (11.3)  / 4 0 . 3 ­ 3 q r t  ( xp ( - 2. 5) *1о д( 11. 3) i o r m a t  l o n g 

л

О.З + ((si

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

r

e 4

хр( - 2.5

)  * l o g ( 1 1 . 3 ) ' 0 . 3 - 3 q r t  (

i o r m a t 

short

x

s i n ( 1 . 3 * p i )  / l o g ( 3  . 4 )  ; sqrt(tan(2.75)/ tanh(2.75) ( x+ y) / ( x- 7) o r i t i a t  l o n g 

e

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA LiL

.  1.1. Рачоб

с иР

Окн

о  Command Window с о с т и

П   з а го л в к

а   с  н аз в ан и е

П   рабо ч е в е р ит к а л ь н ы •   п ол

й   о бласт

я  сдер

т   и з  сю луед щ и

м  о к н

а  и  дмву

и   с  к о м а н дн о й   к рус о р

а  MATLAB х   э л е м н от в

я   к н о п к ам

й   с тр о к о й

zyxwvutsrq

: и  с п р а в

, в   к о т р о

; й   н ао х и д с т

я   м и га ю щ и

й

;

.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC

с  с к р о л и н га

К ^ 

J j J

Пр и м е ча н и

лЕс и  рабоч я   д ер с т о  се у дел т   в  мн е ю ю а дщ е м   н ем ю   н п ук з в о л юя т   о б д а в л ят Ок р т ы е  окн а  в В   п ол е   з а го л в к а   к а ж до г к а   Undock ...  лд я   и з в леч н и

е  

^[

а  MATLAB  вы идляг т  н е  так , ка к  и з ображне о  н а  ри с . 1.1,  Desktop вы брат ь   н п ук т  Desktop Layout,  а  зе та м   в  н ипса т   Default  (П о   молучан и ю ) .  П н у кт ы   н ем ю   Desktop п о ь   н од и м н е ы е   окн а   в   р аб о ч у ю   д ерс у   и л и   б и у р ат ь   их .  мн е ю  ончем т ы  флоагм . о   окн

а  р ядо м   с  к н о п к о я   окн а   и з   рабо ч е

й  з а к р ы ти й   с р ед

я   н а о х ид с т я   кн оп ы   M ATLAB,   сел и   о н

о

л ав Г

 1.  рП о с т ей ш и е

 вчиы с лени я

в с тр о е н о с ру е д раз ли ч н ы

,  и л и   к н о п к а  Dock  ...  лд . В  сю луед щ и х   гл а в х   о п и сан х   окон .

23 zyxwvutsrqpon

В с е   к о м а н ды ,  о п и с а н н ы е  в   э от к е .  С а м   с и м в о л   >> п р и гл а ш ен и р а х ,  н а б и р а т ь   н е  н жун о .  Д л я од у б н о   и сп о ль з о в ат ь   п ол с ы п ер м ещ ен и я   вле о   и л и  в п р а в в ер х   и л и   вн и з .  П р о   и с п о л ь з о в а н и ск аз ан о  до п о л н и те л ь н о .  Е сл и к о м а н дн о г о   окн а  п р о п а л а   к о м а н нд а н аж м и т е  < Enter> . В аж н ч и в а ьт с п олн и л

о   з а п о м н и ть я   н а ж ит е а  эт у   к о м а н д

Пр

и   з а п су к е   с ы лк де м о н с тр а ц и о н н ы й т оэ  гав.е л

й   гл а в е я   к о м а н дн о

я   о де т л ь н о г

о   окн е   ку а з а н н о г

,  е сулд

т   н аби рат

а   в   рабоч у о   с р е двт

ю а   лд

я

й   с рт о й   в   п ри м е   п р о с м о тр а   рабоч е й   о бласт и   к о м а н дн о г о   окн а   ск рол и н г а   и л и   к лав и ш и   < H ome> , < End>  дл я о   и  < P ageU p> ,   лд я   п ер м ещ ен и я т е   к лав и ш   ,zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ   ,   >,  , дл я   то г у   и л и  в ы ч и с л и л а   в ы р аж ен и е

р П и м н ае и ч

дв

я   в с рт а и в а н и о   и сп о ль з о в ан и

ь   в   к о м а н дн о

й   с тр о к и

,  п р и в едн н ы

ы   ил о   ч от б

и  в ы р аж ен и я   од л ж е н   з ак н ы   п р о гр а м а   M ATLAB  вы .zyxwvutsrqponmlkjihgfedcbaZYXWV

е

е   п ак ет а   в  р а б о ч е й   област и   о к н а zyxwvutsrqponmlkjihgfedcbaZYXWVUTS   Command Window  п о я в л я ю тс я и   M ATLAB  Help  и  Demos  дл я   в ы з о в а   сп равоч н о й   с и с ет м ы   ил и х   п р и м ер о в .  О б   и с п о л ь з о в а н и и   с р ед ы   Help  .мс   е ал д  в

Ljfc MATLAB

1

"ф,   Toolboxes Щ   Simulink T{   Blocksets %jl\   Shortcuts j j ^  Desktop Tools @  Web



Щ $  Preferences,.. 1 4  Find Files..,

i2fr  Help

- §- •  DemoszyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ

ф   Start

Рс и

.  1.2. Р аск ры в аю щ е с

п о  к н о п к

я  мне е  Start

ю

24 

аЧс т ь

м р и А ф е т и еч с и к В срт о е н н ы е ли ч н ы ф о р м а от ви д

е силе чн ыв   м а ет м а ит ч е с к и х   в ы р аж ен и й м   вы вод , св о й свтен н ы

рП о с т е й ш и

я

е   н фу к ц и .  MATLAB  п р еод сатв л яе а   р е з л у ь ат .  К о м а н д й  все м   яз ы к а м  п р о гр а м и р о в а н и

е  вслиечн ы

и   п о з в о л яю

 I. Ос но вы

zyxwvutsrqponmlkjihgfedcbaZYXWVUT

т   н а о х ид т т   воз м ож н ост

ы   лд

 в  MATLAB zyxwv

 р аб о т ы

я  в ы ч и слен и

я  р а з

ь   з н ач ен и ь   пу р а в л ен и я   в ы р аж ен и

я  в ы с о к о г

о   руо в н я

я

й   и м ею .

т

я

В ы б ер и т е   в и д  р а б о ч е й   с р ед б ер и т е   в  к о м а н дн о й   с рт о к н о м   окн е  M ATLAB  о т б р а ж ест

ы   "п о  ум о л ч а н и ю " е   1+2 и  н аж м и т я   юс л у е д щ е

,  к а к  б ы л о   о п и сан е   < Enter> . В  р ез луь ат :

о  в ы ш е, е   в  к о м ан д

 на -

»  1 +   2 ans = 3 »  I

Ч т о   с ед л а а   п р о гр а м а   MATLAB?  С н а ч л а   о н а  выч и с л и л а   м су у   1 +  2, з а ет м   з а п и с а л а   р е з л у ь ат т   в   с п ец и а л ь н ю у   п ер м н у ю   ans и  в ы в ел а   е е  з н ач е н и е ,  р а в н о е   3, в  к о м а н дн о е   окн о . П ер м ен н а я  ans а в от м а ит ч ес к и   с о з ад е с т я , к о гд а   в ы ч и с л яем о е   в ы р аж ен и е   н е   п р и с в а и в а е ст я   н ек о т р о й   п ер м ен н о й . И н фо р м а ц и я   о   п ер м ен н о й   ans  сраз у   ж е   п о яв и л а с ь   в   окн е zyxwvutsrqponmlk   Workspace (ри с .  1.3).  В   п ер в о м   с от л б ц е   N ame  з а п и с а н о   и м я  п ер м ен н о й .  С юлуед щ и й с от л б е ц   Value   п о к а з ы в а е т   з н ач ен и е  п ер м ен н о й , есл и  э т о  в о з м о ж н о .  С оедр жи мо е   с то л б ц а   Size, п о  сщ у весут , дем о н срт и реу т   осн овн о й  п р и н ц и п  р а б о т ы M ATLAB.  П р о г р а м а   M ATLABzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML   вес  де аын те пятсав л де р  в  ве ид  маивс.о П ер м ен н а я   ans являсет я   в дм у е р н ы м   м ас и в о м   р аз м ер а   о ид н   н а  оид н   и  за н и м ае т   8 б а й т   п а м я ти , о  че м  св и елдть св у т   с от л б е ц   Bytes.   Н а к о н е ц , в   п о н с л ед м   с от л б ц е   Class  указ н   ит п  п ер м ен н о й  —  double  array,  т . е . м ас и в , с о т ящ и й   и з  чи се л   дв о й н о й   то ч н о с ти .  Лю б о й   с от л б е ц   м ож н о   ск ры т ь  и л и о т б р а з и ть ,  сел и   н а  з а го л в к е   окн а   щ ел к н т у ь   п раво й   кн оп ко й   и   в ы з в ат ь к о н ет к с нт о е  м ен ю .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ^  П о   м о л ч у ан и В  гаве л В   окн га ю щ и

Пр и м е ча ни

е   ю   св

 2 гов рис т

^

е  чи лс а   ю в я ал с т п д р е я  о б  и сп ольз ван и

е  Command Window  н и ж м   к ру с о р м ,  о б о з н а ч а ю щ а я

и  диг ру

е   о вт е ,  ч т

а   р асп о л ж ен о  сред

я   с  двой н о х  ти п о

й   о ч т н ьо с т в  чилес

а   к о м а н дн а а   M ATLAB  г о т в

ю   (double). . я   с рт о к а   с   ми а   к  дал ь н ей -

л ав Г

 1. рП о с т е й ш и е

м   в ы ч и с л ен и ям и   н а о х ид т

25zyxwvutsrqponml

 вчиы с лени я

ши

. М о ж н ь   и х  з н а ч е н и я

о   н аби рат ь   в  к о м а н дн о й   с рт о к е   н овы е   в ы р аж ен и я .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

|Workspace Э йж

И   ?И п

Ш

Я

Bans |

(Value  3 

•zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM DD J____ |  Size ^ Bytes Class 1x1 8 double

, п о лчуаестя :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA »  ans/4.5

ans = 0.6667

» I Ви д ад

, в  к о т р о , усатн о в л ен н о г

м   в ы в о ид с т

Ф ор м а т Т р е б му ы рабо ч е п о яв и ст н овк

ы  вдо в ы й   фо р м а й   с р ед я   ди а л о г в о и  фо р м а т

я   р е з л у ь ат о   в  M ATLAB.  Р ас м о рт и

а  ре лзутьа

т   в ы ч и с л ен и й

, з а в и с и м  п о др б н е

а ислеч ныв

т   вы вод а   р е з л у ь ат а   о п р е дл я с т ы   M ATLAB.  В ы б ер и т е   в   м не ю  File  п н у к е   окн о   Preferences,   и з о б р а ж ен н о а  в ы в о д а   е ус л д т  убеид ьт ся ,  ч т о  в  сп и ск

е  э от

т   о т   фо р м а т т  в о п р о с

а   вы во

-

.

й я   п о л ь з о в а ет л м   и з  мне т  Preferences.  Н а  э к р а н е   н а   ри с .  1.4.  Д л я   аст у е  лев о й  п ан ел и  в ы б р а

ю е н

аЧс т ь

26

пну к в о ид с т

 I. Ос но вы

 работы

 в  MATLABzyxwvu

т  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Command Window  (к а к  п о к а з а н о  н а  р и с . 1.4). З а д н и е   фо р м а т а   п рои з я   сп и ск а  Numeric format п ан ел и  Text display. я  и з  р а с к р ы в а ю щ е го с

«Ш  P references

L

  Keyboard & Indenting HCommand History $]~EditorЈ)ebugger p­Help |  ­Web (—Current Directory (  Workspace h  Array  Editor (­GUIDE !+i­Figure  Copy  Template h­Report  Generator |  Instrument  Control S~5irnulink 1   Virtual Reality  Toolbox

Numeric  display:

loose

Li

fcbG eneralzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Command Window  Preferences |—MAT- FileszyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA !—source Control Text display 1+bFonts Numeric  format: s h o r t 3 r~ Colors

Г У

Г "  VWap lines П   Limit matrix display  width to eighty columns Number of lines in command window  scroll buffer: I Accessibility H*  Arrow  keys navigate  instead of recalling history

OK

с Ри

Р аз б ер

м   п ок

е  онк

Cancel

Apply

Help

о  Preferences   MATLAB

о   н аи бо ле е   ч аст о   и с п о л ь з е му ы е   ф о р м а ты .  В ы б ер и т е я   сп и ск е  Numeric format н а  п ан ел и  Text display ди а л о го в о г о   окн а . З а к р о й т е  ди а л о г в о е   окн о , н аж в   кн оп к у  О К . С ей ч а с   с аут н о в й   то ч к о й   sh ort  лд я  в ы в о д а   р е з л у ь ат о в л е н   к о р тк и й   фо р м а т   с   п лав ю щ е в ы ч и с лен и й ,  п р и  к о т р о м   н а  э к р а н е   о т б р а ж ю тс я   то л ь к о   ч еыт р е   ц и фр ы п осл е   ед с я и т ч н о й   то ч к и .  Н а б е р и т е   в   к о м а н дн о й   с рт о к е   юо / з   и   н аж м и т е < Enter> . Р ез луь ат т   в ы в о ди с т я  в  фо р м а т е   sh o rt :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR short в  р а с к р ы в а ю щ ем с

» 100/3 ans = 33.3333

а   то л ь к

. 1.4.  овиДгла

0003

л ав Г

  1. рП о с т ей ш и е

Э от то л ь к м ож н ч и сл з л уь а т

 вчиы с лени я

27zyxwvutsrqpon

 

т   фо р м а т   вы вод а   с о р ха н и ст я   л д я   в с е х   п о с ю л уе д щ и х   в ы ч и с л ен и й ,  есл и т   с ау т н о в л е н   рд г о у й   фо р м а т .  З а м еьт ,  ч т о   в   MATLAB  в о з о   н е   е д бу а   с и а утц и я ,  к о гд а   п р и   о т б р аж ен и и   сли ш к о м   боль ш ог о   и л и   м алог о а   р е з л у ь ат т   н е   к у л а ыд в а е с т я   в   фо р м а т   sh o rt .  В ы ч и сли т е   10  000/ 3,  р е т   в ы в о ид с т я  в  э к с п о н ен ц и а л ь н о й  фо р м е :zyxwvutsrqponmlkjihgfedcbaZYXWVUTS

»  100000/3 ans = З.З е+00

4

Т о  ж е  сам о

е  п р о и з о й де

т  и  п р

и   1/3000:

и  н оахж едн и

» 1/3000 ans = З.З е- 00

О дн а к в ы ч и с л ен и я о хид т

4

о   п ер в о н ач ль н а

я   с у ат н о в к х   —  лд я   н ебо ль ш и ь   в  ф о р м а т е   sh ort .

а   фо р м а т х   ч и се

л   вы во

а   с о р ха н я е с т д   р е з л у ь ат

я   и  п р и   адл ь н ей ш и а   сн ов а   едбу

х т   п рои с

-

В   п р ые д щ у е м   п р и м ер е   MATLAB  в ы в ел а   р е з л у ь ат т   в ы ч и с л ен и й   в zyxwvutsrqponmlkjihgfe  -нкепэос й ьо н ц и а л .е м р о ф  З ап и с ь   з .з з з з е - 00 4  о б з н ач е т   3.3333 •   10~4  и л и  0.00033333. нА а л о ги ч н о   м ож н о   н аби рат ь   ч и сл а   в   в ы р а ж ен и ях .  Н а п р и м е р ,  п р о щ е   на брат ь   Ю е 9  и л и   le io ,  че м   10 000  000  000,  а   р ез луь ат т   е д бу т   то т   ж е   с а м ы й . П робе л   м же д у   ц и фр а м и   и   си м вол м   е   п р и   в од е   н е   од п с у к а е с т я ,  т . к .  э т о п р и в ед т   к  с о б щ ен и ю  о б  о ш и б к е : »  10 е 9 ??? 10zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  е9 I Error: Missing MATLAB operator.

Е сл и  требсту я   п о лч у и т ь   р е з л у ь ат т   в ы ч и с л ен и й   бо ле е   то ч н о , т о   еслуд т  в ы брат ь   н а   п а н ел и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Text  display  в  р а с к р ы в а ю щ ем с я   сп и ск е  Numeric Format з н а т   е д бу т   о т б р а ж ть с я   в   лд и н н о м   фо р м а т е   с   п лав ю щ е й ч ен и е  long.   Р ез луь ат то ч к о й   long  с  ч еыт р н а дц а ьт ю   ц и фр а м и   п о сл е   ед с я и т ч н о й   то ч к и .  Ф о р м а т ы sh ort  e и  long  e п р едн а з н а ч ен ы  дл я  в ы в о д а   р е з л у ь ат а   в  э к с п о н ен ц и а л ь н о й фо р м е  с  ч еыт р ь м я   и  п янт а дц а ьт ю   ц и фр а м и  п о сл е  десяит ч н о й  то ч к и   с о вте с вт е н н о .  И н ф о р м а ц и ю   о   фо р м а т х   м ож н о   п о л ч у и ьт ,  н а б р а в   в   к о м а н дн о й с рт о к е  к о м ан д у   h elp  с  ар мгу ен от м   format: »  help  format В  к о м а н нд о З адв ат п ом щ

м  о к н ь   фо р м а и   к о м ан д

е  п о яв л ест т   вы вод а   м ож н ы   format.  Н а п р и м е р

я  о п и с ан и

е  к аж од г

о   н е п о с р е дв т н н , дл я   суатн о в к

о   и з  ф о р м а то в о   и з   к о м а н дн о и   дл и н н о г

. й   с рт о к о   с   п лав ю щ е

и   пр

и й

28 

т а ьс Ч

от ч к о

й   фо р м а т

f o r m a t 

а   вы вод

а   р е з л у ь ат о

 I.  в ыонс О

в   в ы ч и с л ен и

й   е с лу д

 ртыоаб т   в ес т

 в  MATLABzyx и   к о м ан д

у

l o n gzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   e  В   ОМК На ДО Й   О С ре Т К :

» 

fo rma t  l o n g  e

» 

1.25/ 3.11

a ns  =

4.019292604501608e- 001

О б р а ти ф о р м а то со ти д о   п р и в ы к н ьт у к а  н а б о р

е   вн и м ан и е в   п роп и сн ы м т   и з  с рт о ч н ы а  к о м а н д

, ч т о   к о м а н д и   б ку в а м и х   бк у в .  К  э от .  MATLAB  р а з л и ч а е ы   п роп и сн ы м и

а   h elp  format  в ы в о ди т   н а   экра н   н аз в ан и е .  О дн а к о   к о м а н да ,  к о т р у ю   н а д о   в е с ит , й  о с о б ен н о с т и  в с рт о ен н о й   сп рав к и  help  н а т   п роп и сн ы е  и  с рт о ч н ы е   бку в ы .  П о п ы т  бкув ам и   п р и в ед т   к  о ш и б к е :zyxwvutsrqponmlkjihg

»  FORMAT LONG E ??? Undefined command/function 'FORMAT'.

Д л я   бо ле е   до у б н о г о   в о с п р и я ит я   р е з л у ь ат а   MATLAB  в ы в о ди т   р е з л у ь ат т в ы ч и с л ен и й   ч ер з   срт о к у   п о сл е   в ы ч и с л яем о г о   в ы р аж ен и я .  О дн а к о   и н о гд а бы в ае т   о д уб н о   р а з м е с ит ь   боль ш е   с рт о к   н а   э к ран е , дл я   ч ег о   е сулд т   в   ид а ь   compact  и з   р а с к р ы в а ю щ е го с я   сп и ск а лог во м   окн е   Preferences  в ы б р а т Numeric display.  Д о б а в л е н и е   ы пст у х   с рт о к   о б е с п е ч и в а ес т я   вы бор м   loose  и з р а с к р ы в а ю щ е го с я   сп и ск а  Numeric display. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

Пр и м е ча н и

е

с В е   по ч н т р м ж е у ы тьсю,  н зеваи с м

с И п о л з ь в а ин э л е м е тн а р ы П р е дп о л ж и м

е   ыв ч ин е л с о  о т  тог

я   MATLAB  п рои з вод й  форм а т  вы вод

, ккао

т   с   й в он д а   ан с т у о в лне

  - он ч т .

е х  фицунк , ч т о  требсту

й я   в ы ч и сли т

- 2.5  л  

ь   з н ач ен и

е  сюлуед щ ег

о   в ы р аж ен и я

:

\о 0. з  _  fsin2.45n + cos3.787I

В в еи д т е   в   к о м а н дн о й   с рт о к е   э т о   в ы р аж ен и MATLAB  и  н а ж м и т е  < Enter> . »  exp( - 2.5) *lo g( 11.3) / 4 0.3  -

е   в   с о вт е с и

( sin ( 2.45*pi)  +   c o s( 3. 78*p i) ) / t a n ( 3. 3) )

и   с   п рави лам

и

л ав Г

 1. рП о с т е й ш и е

О вт е т   в ы в о ид с т ans =

 вчиы с ле ни я

 

я  в  к о м а н дн о

е  о к н о

29 zyxwvutsrqpo

:

- 3.2105 П р и   в од в ы ч и с л ен и рт и г о н о м е рт и ч е с к и р еб л яем ы к л ю ч а ю ст в ам и . Д л

е   в ы р аж ен и я   э к с п о н е н ыт

я   и сп о ль з о в ан ы   в с рт о е н н ы е   н фу к ц и и   M ATLAB  лд я ,  н арту л ь н о г о   л о га р и фм а ,  к в а др тн о г о   корн я  и х   нф у к ц и й . В  сю уледщ е м   пну кт е   п р и в е дн ы   ч аст о   пуот е   м а ет и ч е с к и е   нфу к ц и .  рмгАу ен т ы   н фу к ц и й  з а е   скобки , и м ен а   н фу к ц и й   н а б и р а ю ст я   с рт о ч н ы м и  бк у а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   п   д о с та о ч н о   н абрат ь  p i  в  к о м а н дн о й  с тр о к е .

е   в с рт о е н н ы я   в   к рглу ы я  в в о д а   ч и сл

р иА ф м е и т ч е с к и с в о й с вт е н н о

и   в   MATLAB  вы п олн яю сят у   яз ы к о в  п р о гр а м и р о в а н и я

е   о п ер ац и м  б о ль ш и н свт

•   в о з в едн и

е  в  септ н

ь  —  А ;

•   м у н о ж ен и

е  и  дел н и

е  —  *, / ;

•   с л о ж ен и Дл

е  и  в ы ч и ат н и

я   и з м ен ен и

а   в ы п о л н ен и

ь   к рглу ы

Е сл щ уд е

и   е тп р

е   скобки

ь   рт е б с у

я   а р и ф м еи т ч е с к и

в   е с лу д

х   о п е р а то р о

т о   н е  о б яз а етл ь н з о в а ьт с я   ет м в то р н о г о   з а н ес н и ч и сли т е  да н н о 1.  Н а ж м и т н о е  р а н е

ь   з н ач ен и

е  в ы р а ж ен и я

, п о хж ег

о   н а  п рыед

f  t 

-

t , ) '

t g 3 . 3 

о   сн о в а   н аби рат ь   ег о  в  к о м а н дн о й  срт о к е . М о ж н о  в о с п о л ь о   MATLAB  з а п о м и н а е т   вс е  в в о ид м ы е   к о м а н ды .  Д л я  п о я  и х  в  к о м ан нд у ю   ср т о к у   ж с л ау т   к лав и ш и   ,   . В ы е  в ы р а ж ен и е , п р о едл а в   ю с луед щ и е   ш а ги .

е  в  н ег й   к о р ен

П о лч у а е с т

+

, ч т

е   к лав и ш е  в ы р а ж ен и е

3.  В ы ч и сли т

у   , п р .

о   н е о б х ид м ы ь   н а  в о з в едн и м   ж с л уа т  к лав и ш

е   и з м ен ен н о

и  эот

м   в  к о м а н дн о

й   с рт о к

е   п о я в и ст

я   в енд

е хр ( - 2 . 5 ) *1 о д ( 1 1 . 3 )

е  в ы р а ж ен и е

a n s  = 121.2446

/ ч

-

е   и з м ен ен и я , з ам ен и в   ми н у с  н а  п лю с   и  к вад е   в   к в а др т   (дл я  п ер м щ ен и я   п о  срто к е  с и   >,  , < End> ). , н аж

в  < Enter> .

я

» 

т

р e ( ln ll. 3 ) v  ;  

2.  В н еси т р а тн ы в ы р аж ен и е

,

.

я   в ы ч и сли т

, н а п р и м е

м   п о р я дк е

е  — + , - .

я   п о р я дк

и сп о ль з о в ат

-  в   о б ы ч н о :

0 . 3  +   ( ( s i n (2 . 4 5 * p i )  +   c o s (3 . 7 8 * p i )  ) / t a n ( 3 . 3 ) )  A 2

30 

аЧс т ь

 I. Ос но вы

 работы

 в  MATLAB zyxwvut

Е сл и   н е о б х ди м о   п о лч у и т ь   бо ле е   от ч н ы й   р е з л у ь ат ,  т о   еслуд т   вы п олн и т ь к о м ан д у   format  long  e,  з ает м   н аж и м ат ь   к лав и ш у     д о   ет х   п о р ,  п о к а  в к о м а н нд о й   с тр о к е   н е   п о я в и ст я   рт е б у м о е   в ы р аж ен и е   и   вы ч и сли т ь   его ,  н а ж а в  < Enter> .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA >> format long ezyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA рхе - 2.5)*1о( д 11.3) »  (

Л

0.3  -  sqrt((sin(2.45*pi) + cos(3.78*pi))/tan(3.3))

ans = - 3.2104 97097863031e+000

В ы в ес т воз м ожн а  з ает и  н аж

и   р е з л у ь ат т   п о с л енд е г о   б е з   п о в то р н о г м   п о с м о тр е ь   з н ач ен и в  < Enter> :

о   н а й де н н о г о   в ы ч и с л ен и я

о   в ы р аж ен и . С елуд

е  п ер м ен о

т  и з м ен и т й  ans, н а б р а

я   в   рд г оу ь  ф о р м а в   е е  в  к о м а н дн о

м   фо р м а т т  к о м а н до й й  срто к

е , е

>> format short »  ans ans = - 3.2105 П р и   в ы ч и с л ен и я х   воз м ожн ы   н ек о т р ы е   и с к л ю ч и ет л ь н ы е   с и а ут ц и ,  н ап р и м ер ,  едл н и е   н а   н оль ,  к о т р ы е   в   б о л ь ш и н с вт е   яз ы к о в   п р о гр а м и р о в а н и п р и в о дя т   к   ош и бке .  П р и   елдн и и   п о л ж и те л ь н о г о   ч и сл а   н а   н ол M ATLAB  п о лчуаест я   inf  (б ес к о н еч н о сьт ) ,  а   п р и   едл н и и   о тр и ц а те л ь н о г ч и сл а   н а   н ол ь   п о ч л у а ес т я   - in f  (м и н у с  б ес к о н еч н о сьт )  и  в ы адест я   п р еу д ж е нд и е :

я ь   в о -

»  1/0 Warning: Divide by zero, ans = Inf  ( Пр п уд р е ж д н и е

и   е дл н и

и   н л у я   н а   н о л ь   п о чл у а е с т я   NaN  (н е  ч и сло )  и  та к ж е   в ы ад е с т я   п ре :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

»  /о о Warning: Divide by zero, ans = NaN П р и   в ы ч и с лен и в о з н и к ает с ел :

, н а п р и м е р .  M ATLAB  а в от м аит ч ес к

»  sqrt(- 1.0) ans = 0 + l.OOOOi

,  v- 1  н и к а о и   п е р о хи д

й   ош и бк

и   ил т   в   о бласт

и   п р еуд ж едн и ь   к о м п л ек с н ы

я  н е х   чи -

л ав Г

 1. рП о с т ей ш и е

П р и   н абор п оль з оват н и и  в  септ н

 чвиы с лени я

31 zyxwvutsrqpon

 

е   к о м п л ек с н ы ь   ли б о   i,  л и б ь  н ео б хид м

х   ч и се о   j , а  сам о   з ак лю ч ат

л   в   к о м а н дн о и  ч и сл а   пр ь   в  к рглуы

й   с рт о к и  ум н о ж ен и е  с к о б к и

е   MATLAB  м о ж н о   ис , дел н и и   и  в о з в ед :zyxwvutsrqponmlkjihgfedcbaZ

A

»  (2.1 + 3.2i)*2 + (4.2 + 1.7i) 2 ans = 18.9500 + 20.6800i Е сл и   н е  и с п о л ь з о в а т ед т  то л ь к о   мн и ма

ь   скобки я  ч аст

, т о   мун о ж аьт с ь   и  п очлуи ст

я   и л и  в о з в о ид ьт с й  р ез луь ат

я   н ев р н ы

я   в   се п т н

ь   уб -

:

»  2.1 + 3.2i*2 + 4.2 +zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG  l.li~2 ans = 3.4100 + 6.4000i Дл котры

я   в ы ч и с л ен и

я   к о м п л ек с н о - с о п р яж ен н о г т  н а б и р а т

й  се улд

ь   ср аз

о   ч и сл , бе з   п р о б ел а

у   з а  ч и с л о м

а   п р и м е н я ес т

я   а п о с тр о ф

,

:

»  2 -  3if ans = 2.0000 + 3.0000i Е сл в ы р аж ен и

и   н е о б х ид м е  до л ж н

о   н ай т о   бы т

и   к о м п л ек с н о - с о п р яж ен н о ь   з ак л ю ч ен

е  в ы р а ж ен и е о   в  к рглуы

е  с к о б к и

,  т о   и сохнд о

е

:

»  ((3.2 + 1.5i)*2 + 4.2 + 7.91)' ans = 10.6000 -  10.9000i M ATLAB  п о з в о л яе то в  в срт о ен н ы х   э л е м н ат р н ы >> sin(2 + 3i)

т   и сп о ль з о в ат

ь   к о м п л ек с н ы х  фну к ц и й

е   ч и сл

а   в   к а ч е свт

е   а р м гу е н

-

:

ans = 9.1545 -  4.1689i Ка ка э от н фу к ц и чи т рабо ч е мы п р о с м о тр брат о т

к   з у н а ть , к а к и е  в срт о ен н ы е  э л ем н атр н ы е  фн у к ц и и  м о ж н о  и с п о л ь з о в а т ь  и к   и х   в ы з ы в а ьт ?  Н а б е р и т е   в   к о м а н дн о й   с рт о к е   к о м ан д у   h elp  elfun ,  п р и м   в   к о м а н дн о е   окн о   в ы в о ди с т я   сп и со к   в с е х   в с рт о е н н ы х   э л е м н ат р н ы х й   с  и х   к р акт и м   о п и с ан и ем .  Бо ле е   п о др б н ы е   с вен д и я   м ож н о   п о лу  Help ь   и з  о б ш и р н о й  и н етр а к ит в н о й  с п р а в о ч н о й   с и с е тм ы , в ы б р а в   в   м ен ю zyxwvutsrqponml й   с р ед ы   пну к т   MATLAB  Help.   О кт р ы в а ест я   окн о   сп рав о ч н о й   си е т .  В   лев о й   ч аст и   окн а   н а   в к лад е   Contents   п р и в едн о   е е   о гл а в л е н и е .  Д л я а   с о де р ж и м о г о   к а ог - ли б о   р а з де л а   в   п рав о м   окн е   е с лу д т   вы ь   ег о   н а з в а н и е  в  лев о м   окн е  п р и   п о м щ и   щ ел ч к а   мы ш и . З н а к   "+ " слев а   н аз в ан и я   р а з де л а   ж с л иу т   лд я   о т б р а ж е н и я   ег о   п о др а з де л о в .  Н а й ди т е

аЧс т ь  I. Ос новы  работы 32 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

 в  M ATLABzyxwvutsr

и  п о  к а те го р и я м ) , з ает м   в   п о др а з р а з ед л   Functions — Categorical  List  (Ф ну к ц и е дл е  Mathematics  (М а те м а ти к а )  —  п ну к т zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ   Elementary  Math.   П ер д   в ам и   сп и с о к   ве с х   э л е м н а т р н ы х   м а ет и ч е с к и х   нф у к ц и й ,  и м ею щ и с х я   в   MATLAB (ри с .  1.5).  Щ е л ч о к   п о  ги п ер с ы лк е   с  н аз в ан и е м   н фу к ц и и  п о з в о л яе т   п о чл у и т ь п о лн у ю   и н фо р м а ц и ю   о   н ей .  Д л я   п ерохд а   в п ер д   и   н аз а д   п о   п р о с м о рт е н н ы м  с рт а н и ц а м   сп рав о ч н о й   с и ем т ы   и с п о л ь з йу т е   кн оп к и  с о   с рт ел к а м и .zyxwvutsrqponml

Tteil: E elmenaty r  Maht  :: Func oitns --  Cae tgocrial Lsit M (A TL A B Fun Eelmentary Mah t * Tgrionomecrti Г * Exponenatil * Comp ex l * Round nig and Rema nider * Dsicrete  Maht  (e.g.  P m rie Factors) Tg rionomectri a cos  n Iverse cosnie acosd  n Iverse cosnie, dege res a cosh  n Iverse hyperbo c c il osnie acot  n Iverse coatngent a c o d t   n Iverse coa tngen,t  dege res a a t  A n a y l s s i  a n d F o u e r i r j D a c o h t   n I v e r s e h y p e r b o c c i l o a t n gent P o y l n o m a s i l a c s c  n I v e r s e c o s e c a n t I C tero poord an lo tian a nyd C omop u t.c iscd  n a Iverse cosecan,t  dege res |n i e t  S s e t m C n v e r N o n i e l a r N u m e c r i a l M e h t c a c s c h  n I v e r s e h y p e r b o c c i l o s e cant S p e c a z i e l d M a h t a s e c  n I v e r s e s e c a n t S pa rse M aa c rtin es s asecd  n Iverse secant, dege res M a h t  C o n s t t ec T h  n Ijverse hyperbo c s il ecant & •  Po rga rmm nig and Daaatss y p e s ^ m  n Iverse.snie

Contents Index I Search Demos I гг. ;

• ф   Release  Notes  j Ф   Installation 0   MATLAB ( +b #   Getting Started !+}• - • •$ Examples [+!   Щ   Desktop Tools  and Developrne ш   Щ }  Mathematics  ,+  ^  Programming +  Q  Graphics +  IQ  3- D  Visualization 1+ь1 Щ  Creating Graphical  User Interfc :-   Щ   Functions - -  Categorical List I  i+l- Desktop Tools  and Developme |   $bMathematics {- Arrays  and Matrices |   Linear AlgebrazyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Рис



Пр и м е чан и

М ожн к о н те к с тн о

о   п о л уч и т

. 1.5. О к н

о  и н етр ак ит в н о

й  сп р ав о ч н о

й  си емст

ы

е

е   м ен

ь   б ы с тр ы ю   в   окн

й   д о с ту п   к   и н фо р м ац и е   Command Window. Д л

и   о   ф ун к ц и я  э то г о   н ад

,  и с п о л ь з у о   в ы де л и т

я ь  и м

я

л ав Г

 1.  рП о с т ей ш и е

 вчиы с лени я

и   в   ран е ь   в   м ен

ф ну к ц и вы брат В   с л е д ую щ е

В с тр о е н н ы ски е та к ж ли чн ы м

е   п р и в е де н

ы   част

о   и с п о л ь з уе м ы

е  э л е м е тн а рын е   э л е м е н та р н ы ,  г и п е р б о л и ч е с к и е е   ф ун к ц и и   сп особам и

и   дл

Тр и г о н м е т р и е ч с к е и  обра т ын Ниж о б р а тн ы

е   н абран н о й   ком ан д е   и ,  щ ел к н у в   п раво й   кн оп ко й   мы ш и , ю   п ну к т  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG Help on  S election.

м   р а з де л

с В т р ое ы н

33 zyxwvutsrqp

 

е  фицунк

е   ф ун к ц и ,  э к с п о н е н ц и а л ь н ы я   работ ы   с   ком п лексн ы м .

и

и   M AT L AB  в к л ю ч а ю е   и   ло гар и фм и ч еск и и   чи слам

, гипе рбол иеч с к е  к  ни е   п ереч и слен

т   тр и г о н о м е тр и ч е

е   ф ун к ц и и

и   и   дл

,  а

я   о к р уг л е н и

я   раз

-

е

м иц унк ф

и

ы   в с тр о е н н ы е   к  н и м

.zyxwvutsrqponmlkjihgfedc

е   ф ун к ц и и

е   в   M AT L AB  т р и г о н о м е т р и ч е с к и

е   ф ун к ц и

и  и

:

•   si n ,  co s,  t a n ,  c o t  —с и н у с

,  к о с и н ус

•   sec ,  e sc  —с е к а н с

с   ( se c ( x) =   ——- , csc(x) =   )г т ;zyxwvutsrqponml cos(x)  sin(;t)

, к о с е к а н

, т а н г е н

ќ  asin, acos, atan, acot —ас у н и с к р генс ; ќ  asec, acsc — арксеканс J^  р А г му е н т н ах р а ди а н а х

е  

;

, арктанген

с   и  арккотан

-

. ,zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ

^|

ы   тр и г о н о м е тр и ч е с к и е   тр и г о н о м е тр и ч е с к и

.  О б р а тн ы

В   M AT LAB  в с тр о е н

, арккосинус

, арккосеканс

П р и м е ча н и

с   и   к о та н г е н с

х   нф у к ц и

й  до л ж н е   нф у к ц и

ы   бы т и  в о з в р а щ а ю

ь   в ы р аж ен т   р е з лу ь та

ы   в   р а ди а т   та к ж

е  в

. ы   с л е д юу щ и

е   ги п ер б о л и ч ес к и

е   ф ун к ц и

•   sin h ,  cosh ,  t a n h ,  c o t h  —  г и п е р б о л и ч е с к и та н г е н с ; •   seen ,  c sc h  —  г и п е р б о л и ч е с к и

е   с и н ус е   сек ан

с   и  к о с е к а н с

е   арксекан

е   к  н и м

,  к о с и н ус

,  т а н г е н

с   и   ко

: -

;

•   a sin h ,  aco sh ,  a t a n h ,  a c o t h —г и п е р б о л и ч е с к и а р к та н г е н с   и   а р к к о та н г е н с ; •   a sec h ,  a c sc h  —  г и п е р б о л и ч е с к и

и  и  о б р а т н ы

е   а р к с и н ус с   и  а р к к о с е к а н с

,  а р к о с и н у с .

,

_ЗА  

аЧс т ь

Э с п к о не и ц а л н ь л м оаг р и ф ы

я ицуняк ф е  п ер ч и слен

е  фицунк ы   н аз в ан и

и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML

я  эит

•   ех р  —  э к с п о н ен ц и а л ь н а

х   н фу к ц и

й  в   M ATLAB:

я  фну к ц и я

;

•   log  —  н арут л ь н ы

й   л о га р и фм

;

•   logio  —  едс яит ч н ы

й  л о га р и ф м

;

•   1од 2  —  л о га р и ф

м   п о  о с н о в а н и

•   pow2 —  в о з в едн и

е  ч и сл

а   2 в  сетп н ь

G   sq r t  —  к в а др тн ы

й   к о р ен ь

;

•   nextpow2 —  сетп н ь бли ж ай ш е е   ч и сл

  в   MATLABzyxwvutsrq

  р аб о т ы

,

, ст е п ын

Н иж

  I. Ос новы

ю  2;

,  в   к о т р у о  (бо ль ш е

;

ю   н ад е  и л и  р а в н о

о   в о з в ес т е  армгу ен )ут

и   ч и сл

о   2,  ч от б ,  н а п р и м е

ы   п о чл у и т ь р zyxwvutsrqponmlkji

» nextpow2(1000) ans = 10

Ф и ц ун к

 дл

К  н и

м  о нт о с ят

я  ратоб

ы  с  ком пл есмкны

я  сюлуед щ и

е   н фу к ц и

•   abs,  an gle —  млоуд

ь   г   и  фаз

ч и сл

и  числ а м и   M ATLAB: а   ф   (в  р а ди а н а

х   о т zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR   - п   д о   я )  к о м п л ек с н о г о

а   a + i- b  = r - (cos(p +  z- sin(p);

О   complex  —  к о н сртиу реу т   к о м п л ек с н о мн и мо й   ч а с ит : >> complex(2.3, 5.8) ans = 2.3000 + 5.8000i •   conj  —  в о з в р а щ а е

р О к уг л е н и

е  и  ост а о е  п р и в едн

е   ч и сл

о   п о   е г о   ед й с в т и е т л ь н о

т   к о м п л ек с н о - с о п р яж ен н о

•   imag,  r e a l  —  м н и м а

Н иж

и

ы   п р и м ер

•   fix  —  о к рглуен и »  fix(1.8)  ans  =   1 

е  ч и с л о

я  и  дей свт и етл ь н а

я   ч аст

к  о т  дел ин

; о  ч и с л а

.

я

ы   и сп о ль з о в ан и е   д о   б л и ж ай ш ег

ь   к о м п лек с н о г

й  и

я  эит о   ц ел о г » ans  = - 1

х   н фу к ц и

й  в   M ATLAB:

о   п о  н а п р а в л ен и

ю  к  н лую

:

л ав Г

  1. рП о с т е й ш и е

 вчиы с лени я

35zyxwvutsrqp

 

•   floor,  c e il  —  о к рглуен и н у с  б еск о н еч н о ст и  и л »  floor(3.2)  ans  =   3  •   round —  о к рглуен и

е   д о   б л и ж ай ш ег и  п лю с  б ес к о н еч н о сит

о   ц ел о г :

»  round(4.5) ans = 5 о   е дл н и я   (с о   з н а к о

»  mod(5/ 2)  ans  =   1  •   rem —  о сат к   о т  ц елоч и слен ог

о  делн и

»  mod(5,2) 

sign  —  з н а

к  ч и сла.

П р и м е ча н и

ю   к  м и

-

»  ceil( 3.2) ans = 4 о   ц ело г :

е  д о   б л и ж ай ш ег

»  round(4.1)  ans  =   4  •   mod —  о сат к   о т   ц ел о ч и с л ен н о г та ) :

о   п о   н ап р ав л ен и

»  mod(5,- 2) ans = - 1 я  (с о  з н ак о

м   в то р о г

м  п ер в о г

о   а р м гу е н

-

о   а р мгу е н ат )

:

»  mod(5,- 2)

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

е

В   MATLAB  июсме т я   р н о е в тс ы е   п с ц е и ь л на ы е   и м е т а чк с е   н уф кц и , е   к а :  н цкуфи я   ял ес Б , п оил н ом ы   ж е а нЛ р д а   и  т . д .  П родбн у ю   ин о р ф м ца и ю  с  п ри мае и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  с.м  в ине  пжо илр   1. К ом ан д а  h elp  specfun  вы а д е т   пс и о к  спце иьлна ы х   н у цк ф и й  с  ккират м   о п и сн а и м е . Дл я   еобл е   п р о дб н о й   и н о рм ф ц а и и   с т е уб р т я   н аб р т ь   в   к о м на д о й   р о к тс е   h elp  и   им я н уфкц и . В  и ниреактв о й  сп равочн о й   м е и тс е   ан л ои г ч н ы е   н е ид вс я  со р еж и д т   нп ук т zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Specialized  Math,   окрыт й   ис н о д т х а я   в   п р а з ол е д е   Mathematics  разлед а  Functions  — Categorical List. ак ти

с И п о л з ь в а ни аК

м ож н ост ит ь с в е щ е св т н ы

е  перм е ны к   и   в о   в се

х   яз ы к а х   п р о гр а м и р о в а н и я ь   работ ы   с   п ер м ен н ы м и .  П р и ч е я   о   то м ,  к а и е   з н ач ен и я   е д бу т   п ри н и м ат е   и л и  то л ь к о   ц ел ы е) . Д л я   то г

х ,  в   MATLAB  п р есудм о рт ен м   п о л ь з о в а ет л ь   н е   од л ж е ь   п ер м ен н а я   (к о м п л ек с н ы е о   ч от б ы   п р и с в о и ть , н а п р и м е р

а   воз н   з або

,

, п е -

36_ 

аЧс т ь

е   1.45,  до с та о ч н й   z з н а ч ен и м  M ATLAB  сраз у   ж е  в ы в ед

р ем н н о п р и  эот

о   н ап и сат т   з н ач ен и

 I. Ос но вы

 в  MATLAB zyxwvutsr

 работы

ь   в  к о м а н дн о е  z:

й   с рт о к

е   z= l. 4 5,

»  z  =   1.45 z = •  1.4500 З ес д

ь  з н а к  р а в е н с тв а   и с п о л ь з ес т у я   в  к ач есвт н е   о ч ен ь   од у б н о   п о сл е   к а ж од г о   п ри св аи в ан и П оэ тм у   в  M ATLAB  п р сеудм о ртен а   воз м ож н ост св аи в ан и я  то ч к о й   с  з а п яот й  дл я   п о адв л ен и я окн о .  И м ен е м   п ер м ен н о й   м ож е т   бы т ь   лю ба циф р   бе з   п р о б е л а ,  н ач и н аю щ аяс я   с   бк у в ы р а з л и ч а ю тс я , н а п р и м е р , Mz И  mz яв ляю ст я  дмву л и ч е с вт о   в о с п р и н и м аем ы х   MATLAB  с и м в о л ляе т   63 (так и е  дл и н н ы е  и м ен а  р екд о   бы в аю т

е  оzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO а ртпое  випс.ар ня  Ча с т о я   п о лч у а т ь   ще е   и   р е з л у ь а т . ь   з ав ер ш ат ь   о п е р а то р  п ри  в ы в о д а   р е з л у ь та а   в  к о м а н дн о е я   п о с л е до в а е т л ь н о с т ь   кбу в  и .  С тр о ч н ы е   и   п роп и сн ы е   к б ув ы я   раз н ы м и  п ер м ен н ы м и . К о в   в   и м ен и  п ер м ен н о й   с о а тв   н ж ун ы ) .

В   к а ч е с вт с ю л уе д щ е г

е   п ер м ен н ы

е   пу р а ж н ен и о   в ы р аж ен и я

я   н а   и сп о ль з о в ан и :

х   н а й ди т

е   з н ач ен и

е

sinl З я _i_ tg 2.75 In 3.4 th 2 75 tg 2 75 V th 2 75

sinl З я In3 .4 Н аб ер и т е   п о с л е до в а е т л ь н о с т н и е  н а  точ к у   с  з а п я то л ен и я  в ы в о д а   п р о м е ж от у ч н ы

ь   к ом ан д й   в   п ер в ы

х   в уд х   з н ач ен и

, п ри в едн н у х   о п е р а то р а й  н а  э к р а н

ю   н иж е   (о б р а ти е   вн и м а х   п ри св аи в ан и я  дл я   п оадв ) zyxwvutsrqponmlkjihgfedcbaZYXWVU

»  х  = sin(1.3*pi)/log(3.4) ;

»  у  = sqrt(tan(2.75)/tanh(2.75)zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ ); »  z =  (х  + у )  / (х  -  у ) z = 0.0243 -  0.9997i

П о с л е дн и то г о О б р а ти т окн м ен н о К о н еч н о

, ч от б

й   о п е р а то ы   ср аз

р   п ри св аи в ан и у   п о лч у и т

ь   з н ач ен и

е   в н и м ан и е  н а  то е  Workspace, к а к  п о к а з а н й  ans, к о т р а я   и сп о ль з о в ал с , м о ж н

о  б ы л

я   н е   з а в е р ш а е ст е  и сохнд о г

я   то ч к о

,  ч т о   вс е  в в едн н ы е   п ер м ен н ы о  н а  р и с .  1.6  (в  до п о л н ен и ь  р а н е ) .

о   б ы  в в ест

и  вс ю  формл у

й   с   з а п я то .

о   в ы р аж ен и я

у   и  п о лчуи т

е  сраз е  к  с та н да р тн о

у   п о яв и л и с

ь   то

т   ж е  р ез луь ат

й   лд

я ь  в

й   п ер

т

»  (sin (1.3*pi)/ log(3.4)  +   sq r t ( t a n ( 2. 75) / t a n h ( 2. 75) ) ) / ( sin ( 1. 3*p i) / . . . log(3.4)  -   sqrt(tan (2.75)/ tan h (2.75)))

л ав Г

  1. Пр о с т е й ш и е

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC 37zyxwvutsrqpon

 вчиы с лени я

a n s  = 0. 0243  -   0 . 9997 izyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

File  Edit   Debug Desktop Wnidow Hep l ; it  Directory: [e:WATLAB7\workWork_1  JJ ...I ft] О   GЈ  .  IS  •zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Щ  3 Shortcuts [f] How to Add j>] What's New  j ж

"} Sz ie  |  Bytes  j 'lias? 1x1  16 double (comf 1x1  8  double 1x1  16 double (comf 1x1  16 double (cornf

ans

EB fflx ffly

> >  c o m p l e x ( 2 . 3 ,  5 . 8 )

2 . 3 0 0 0  +   5 . 8 0 0 0 i z  -   1 . 4 5 Current Directory] workspace Г

1.4500 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

•   ( 2 . 1 + 3 . 2 i)*

4.2+ 1.71л 2

}2 . 1 + 3 . 2 i * 2

> >  x  =   s i n ( 1 . 3 * p i )  / l o g ( 3  . 4 ) ;

|  2- 3  i 1 \   ( ( 3 . 2 + 1 .  S i)  *2 + 4 . 2 + 7 . 9 i )  '

> >  7  =   s q r t ( t a n ( 2 . 7 5 ) / t a n h ( 2 . 7 5 ) ) ;

1  - 3 i n  (2+ 3 i)

> >  s  =   ( x+ 7 )  /   ( x - 7 )

h~ ne x t po »2 ( lo o o )

\   co m p lex  ( 2 . 3 ,  5. 8) j 2 

=   1.4  5 0 . 0 2 4 3  -   0 . 9 9 9 7 i

I  x  =   s i n ( 1 . 3 * p i ) / l o g ( 3 . 4 ) ; [  у   =   s q r t ( t a n ( 2 . 7 5 ) / t a n h ( 2 . 7 5 )  ) ; 1

  s  =   ( x + 7 ) /  ( x - 7 )

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

ф   Start I

с иР

Н о   о б р а ти т В о   в то р о с рт о к е п о с ат в л е н

.  1.6. ачоРб

я  сд ер

а  MATLAB пл со

е  в н и м а н и е , н а с к о л ь к м   вари ан т е   фо р м л у , и  п р и ш ло с ь  з а п и с а т ы  тр и  то ч к и . ^  лД

Пр и м е ча ни

я  пн ем ы р е

о  п ерв а я  з ап и с ь  к о м п а к нт е а   н е  п о м ещ ал с ь   в  к о м а н дн о ь  е е  в  дв е  срт о к и , дл я  чег

о  в  к о н ц

х е  и  ясн е е  в то р о й м   окн е   н а  о дн о е  п ер в о й  срт о к

! й и

е   ^]

я  ввод а  дилн ы х  фмуро и   (пдяр о ви т ь  тр и  очкт жи т ь   н боа р  фл муро ы  н н и е   н а   иь к н л о с е х   р о к х а тс в ы п онл и т  кнмоа д у  плсо н е т  тер х  ищ иу д х   п яр о д д

MATLAB  з а п о м и н а е с еа н с а  р а б о ты .  Е сл

е  вн еиыл чс

т   з н ач ен и и   п о сл

е  в в о д

л   ил и  комна д  в  кмона ду , бе з  п ролбев) , н жта ь   и в ша л к а ю щ у е д  л с й   ор к е т с . Та к  нжмо .  MATLAB  ыв чилс е  ни тжа я  н а  < Enter> в н пед лсо  точке) . я   в ес а   п р и м ер а

х   п ер м ен н ы х

ю  скор т

у  е у д елс у    и о  ризамтсе ь т   с в е   ыв н ж е а р и й  скор т е  (в

,  о п р едл н н ы , п р и в едн н о г

о  в ы ш е

, б ы л

т  па тсо  пол др   ыв ж е а р е  и л  окрт

х   в о  в р ем и   п р о ед

и й я -

38 

аЧс т ь

ы   ще е  к ак и е- л и б е  х , т о  селуд

лан ч ен и

о   в ы ч и с л ен и я т  п р о с т

, и  в о з н и к л ь   х  в  к о м а н дн о

о   н абрат

 I. Ос но вы

а   н е о б х ид м о с т й  срто к

 в  M ATLAB zyxwvutsr

 работы

ь   в ы в ес т

и  з н а ь  :zyxwvutsrq

е  и  н а ж т

»  X X = ' - 0.6611 П ер м ен н ы е л ах .  Н а п р и м е р

,  о п р едл н н ы , есл

е   вы ш е ь   н е о б х ид м

и  теп р

,  м о ж н

о   и сп о ль з о в ат о   вы ч и сли т

ь   в ы р аж ен и

ь   и  в   рдгиу е

х   фо р м у

-

sinl.37t In 3.4 т о  до с та о ч н » 

о   в е сит (х   -   у)

А

  ю с ул е д щ у

ю   к о м а н уд

:

(3/ 2)

a n s  = - 0 . 8 1 3 9  +   0 . 3 5 4 7 i

Вы зо

в   н фу к ц и

вы ч и сли т

й   в   M ATLAB  о б л а д е ь   е   '  в о з м о ж н о

»  ( р х е 3.5

, в ы з в а

т   д о с та о ч н о в   н фу к ц и

й   г и б к о с ть ю

.  Н а п р и м е р

ю  ех р  и з  к о м а н дн о

й  с тр о к и

,

:zyxwvutsrqponml

)

ans = 33.1155

Д р гу о

й   сп ос

» 

б  с о с т и

t  =   е х р ( 3 . 5

т  в  и с п о л ь з о в а н и

и  о п е р а то р

а  п р и с в а и в а н и я

:

)

t  = 33.1155

П р е дп о л ж и м н ы е   п р и е сд т э от м   с ч л уа с р ед .

С о хр а н е и С ам ы ват окн П р е д л а г е ст та л о г

,  ч т я   до е л а т е   п о н а до б и с т

о   ч аст

е  и  вос т а онвл е ин

ь   в ы ч и с л ен и ь   в о  в р ем я   с ор ха н и т

й   с  п ер м ен н ы м я   сю л у е д щ е г

о   с еа н с ь   п ер м ен н ы е

е  ра боеч

и   в ы п о лн ен а а   работ ,  о п р едл н н ы

й  сре д

, а   о сатль ы   с  M ATLAB.  В е   в   рабоч е й

ы

й   п рост й   сп о с б   с орха н и т ь   з н ач ен и я   в се х   п е р е м е н н ы х —  и с п о л ь з о ю zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  File   п н у к т   Save Workspace  As.   П р и  эот м   п о яв л ест я   ди а л о г в о е ь   в  м не о   Save  to  MAT- File,   в   к о т р о м   е с ул д т   ку а з а т ь   к атло г   и   и м я   фа й л а . я   с о рха н и т ь   фа й л   в  тщеку е м   к атлог е   (п о  ум о л ч а н и ю   в   п о кд а о   к атлог а   MATLAB).  О с атв ь т е   п ок а   э от т   к а т л о г . е   work  о с н о в н о г

л ав Г

  1. рП о с т е й ш и е

 вчиы с лени я

39 zyxwvutsrqp

 

В   ад л ь н е й ш е м   едбу т   о б ъ яс н ен о ,  к а к   суатн а в л и в а т ь   пту и   к   к а т л о га м   в MATLAB  лд я   п о и ск а   фа й л о в .  одУб н о   да в т ь   фа й л а м   и м ен а ,  с о едр ж ащ и е а д т у   р а б о ты ,  н ап ри м ер , work20- 01- 04. В ы п олн и т е zyxwvutsrqponmlkjihgfedcbaZYXWVUT  Save  (С роанх и ьт) .  MATLAB с орха н и т   р е з л у ь ат ы   работ ы   в   фа й л е   work20- 01- 04.mat.  Т еп р ь   м ожн о   за кры т ь   M ATLAB  онд и м  и з  сю улед щ и х   сп ос бов : •   вы брат

ь   в  м не

•   н аж т

ь   к лав и ш

•   н абрат

ю  File  п н у к

и   < C trl> + < Q> ;

ь   к о м ан д

•   н аж т з а го л в к а

т  Exit MATLAB;

у   e xit  в  к о м а н дн о

й  срто к

е  и  н а ж т

ь  < Enter> ;

ь   н а   кн оп к у   з а к р ы ти я   окн а   MATLAB  в   п р ав о м   в не р х м   лг у у   е г о .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

  Пр и м е ча н и е   ^] \ ^zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA П м н ре ы см о т м ца и

р   и эт и  о  пнмер ы

е  в  фйа л х   й а ф ол

х   с  ршса инер в  в  лю об м   о в к е ст х  и  и х  з н аче и хя

м   mat хнрас тя м   о а к р ед т .

я   в  двои чн о е   н е  дас

м   ви е д т   н и као

. П ро й  и н орф

-

В   ю с лу е д щ е

м   с еа н с е   работ ы   л д я   в о с ат н о в л е н и я   з н ач ен и й   п ер м ен ы х   сле е уд т  о тк р ы т ь   фа й л  work20- 01- 04.mat п р и  п о м щ и  п о пд ну к т а   Open м не ю  File. Т еп р ь  вс е  п ер м ен н ы е , о п р едл н н ы е  в  п р о ш л о м   с еа н с е , салт и   до с п ут н ы м и . И х   м ож н о   и сп о ль з о в ат ь   в о   вн ов ь   в о ид м ы х   к о м а н да х .  С орха н и т ь   и   в о с ат н ови т ь   п ер м ен н ы е   с р ед ы   м ож н о   ат к ж е   с   п ом щ ь ю   кн оп о к  Load data file  и Save   н а   п ан ел и   и н с ртм у е н от в   окн а   Workspace.   Д л я   ск р ы ит я   и л и   от браж е н и я   п а н ел и   и н с р тм у е н о т в   окн а   н ад о   в ы з в ат ь   к о н ет к с нт о е   м ен ю ,  щ елк н у в п рав о й   кн оп ко й   н а   з а го л в к е .  П р и   в о с атн о в лен и и   п ер м н ы х   п осл е   вы бор а   фа й л а   лд я   и х   з а г р з у к и   в о з н и к ае т   ди а л о г в о е   окн о ,  и з о б р а ж ен н о е  н а р и с .  1.7,  п о з в о ляю щ е е   п р о с м о рт е ь   з н а ч ен и я   п ер м н ы х   и   о мт е и т ь   фл а га м и  те , к о т р ы е  се улд т   з а г р з у и ть . М ожн о   с орха н и т ь   з н а ч ен и я   о нд о й   и л и   н ес к о л ь к и х   п ер м ен н ы х .  Д л я   э то г о в ы б ер и т е   п ер м ен н ю у ,  щ елк н у в   мы ш ь ю   п о   е е   и м ен и  в   ок н е  Workspace.   Д л я вы бор а   н ес к о л ь к и х   п ер м н ы х   и сп о ль з йу т е   с а т н ад р н т у ю   к ом би н ац и ю Windows —  щ елч о к   л ев о й   кн оп ко й  м ы ш и   с  уердж ан и е м   к лав и ш    и л и .  З ает м   н а   в ы е дл н и и   с ед л а й т е   п рав ы й   щ ел ч о к   мы ш ь ю   и   в ы б ер и т е пну к т   Save  As  в   к о н етк сн о м   м ен ю .  О кт р ы в аест я   ди а л о г в о е   окн о   Save  to MAT- File,  в  к о т р о м  се луд т  в ы б р а т ь   и м я  фа й л а . О б р а ти Двой н о в о с ат н о в л е н и

е   вн и м ан и е й   щ ел ч о

к   мы ш ь ю  з ап и с ан н ы

, ч т о   с о з адн н ы й   фа й л   п о яв и л с ю   в  э от м   о к н е  п о   срто к х  в  н ег о  п ер м н ы

я  в   о к н е  Current Directory. е   с  и м ен м   фа й л а   п р и в о ди т  к х  в  р а б о ч е й   сред .

Ча с т ь   I.  Осыовн  ра бот ы  в  M ATLAB 40zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA *kzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Import WizardzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Select variables to import using checkboxes ! zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  '(*  Create variables matching preview. i Г  Cr;::^r: .  •  :",;• •. ; .V ,   .   i  '  ", , .* 1  С  «>*^ - :,• • ;•-  f>, ,. •: V.'M-   r.r- ;".:v Variables in e:WIATLAB7\workVnatlab4.mat import

Bytes

class 8 double 8 double У 16 double z FzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 16 doublezyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK 1x1 1x1 1x1 1x1

с иР

.  1.7. Довигла

л д я  внеалвиотс С орха н е н и п олн и т В  к о н ц

е   в се х   п ер м ен ы ь   и   и з   к о м а н дн о е  сеан с а  р а б о т

я  пн емы р е х   и   в о с ат н о в л е н и й   с тр о к и .  Д л я   э то г ы   с  MATLAB  н ео б хид м

е  онк х  сд е р

о ы  Workspace е   рабоч е

о   ж с л уа о   вы п олн и т

й   с р ед т   к ом ан д

ы   м ож н о   вы ы   save  и   load. ь   к о м ан д у zyxwvutsrqponml

»  save work20- 01- 04 Р а с ш и р ен и с р ед с ч и ыт в а н и

е   м ожн

о   н е   к у а з ы в а ть ,  MATLAB  с орха н и ы   в   фа й л е   work20- 01- 04.mat.  В   н ач л е   с ю л уе д щ е г я  п ер м ен н ы х  се улд т  ввест и   к о м ан д у

т   п ер м ен н ы о   с еа н с

е   рабо ч е а   работ

й ы   лд

я

»  load work20- 01- 04 Бо л е е  п о др о б н ы е   с в ен д и я   о  к о м а н да х   save  и  load  м о ж н о   п о л ч у и ьт ,  н а б р а в в  к о м а н дн о й  с рт о к е  h elp  save  и л и  h elp  load.  В  и н те р а к ти в н о й  с п р а в о ч н о й с и е мт е   вс я   и н фо р м а ц и я   о б   э и т х   к о м а н да х   н оа х и д с т я   в   п ну к т е   Opening, Loading, Saving Files  п о др а з дел а   File I/ O  р а з де л а   Functions — Categorical List. В   M ATLAB  и м ест я   воз м ож н ост з л у ь ат ы   в   ет к с от в ы й   фа й л е гк о   п р о ч и та ь   и л и   р асп еч ат ед н и я   ж р ун а л а   сж л уи т   к ом ан д

л   (вест

ь   з ап и сы в ат ь   и с п о л н яем ы и   ж р ну а л   р а б о ты ) ,  к о т р ы ь   и з   те к с то в г о   р е д а к то р а а   diary.  В  к ач есвт е   а р гм у е н т

е   к ом ан д ы   и  р е й   п от м   м ож н о .  Д л я   н а ч л а   ве а   к о м ан д ы   d iary

л ав Г

  1. рП о с т ей ш и е

 вчиы с лени я

т   з адт

е с ул д б и р аем ы э от

ь   им е   ад л е , н а п р и м е р

т  фа й л

41 zyxwvutsrqpo

 

я   фа й л а

,  в   к о т р о ы   и  р ез луь ат

  к о м ан д

м   е д бу т   р ха н и ьт с ы   и х   и с п о л н ен и ь   к ом ан

, п о с л еод в аетл ь н о с т

я   ж р ну а л   р а б о ты .  Н а т   з а п и с ы в а ьт с я  в я  буд д zyxwvutsrqponmlkjihgfedcbaZYXWV

»  diary d20- 01- 04.txt »  al = 3; »  а 2 = 2.5; »  а З  = al + a2 >> а З  = »  5.5000 »  save work20- 01- 04 »  quit

п р о и з в о ди

т  сюлуед щ и

1.  О тк р ы в а е

е   ед й с в т и я т   фа й

2.  П р о и з в о ди

л  d20- 01 - 04.txt.

т  в ы ч и с л ен и я

3.  С о рха н яе

т   п ер м ен н ы

4.  С орха н яе жр н у а л   работ

т   н а   ид с к ы   в  фай л

П о с м о тр и т д а к то р е В  фай л

:

. е  в  дв о и ч н о

е   фа й л , в   с ат н да р нт о я   ю с луед щ и

е   work20- 01- 04.mat.

о   к атлог е   в   п о дк а т л о г е   work  к о р н ев о г е  d20- 01- 04.txt и  з а к р ы в а е т   MATLAB.

е   с о ед р ж и м о ,  н а п р и м е р е  о к аж ест

м   фа й л

а   d20- 01- 04.txt  в   к а о м - н и бду й   п р о гр а м е   Windows  Бл о к н о й   ет к с т :

а   MATLAB ь   ет к с от в

м   ре т  (N otepad).

al = 3; а 2 = 2.5; а З  = al + a2 а З  = 5.5000 save work20- 01- 04 quit

З а п с и ут котры сан ы м не п р о с м о тр

е   сн ов е   р ха н яст х   в   н ач л ю   File   р а б о ч е а   п ер м ен н ы ,х

а   MATLAB  и  в о с атн о в и т е   з н а ч ен и я  в в едн ы х   п ер м ен н ы ,х я   в   фа й л е   work20- 01- 04.mat,  п р и   п о м щ и   лю бог о   и з   оп и е   э от г о   р а з де л а   сп ос бов :  к о м ан д ы   load,  и л и   п ну к т а  zyxwvutsrqponml Open й   с р еыд ,  и л и   о к н а   Current  Directory.   И з чуи м   воз м ож н ост ь  о п р едл н н ы х   в  р а б о ч е й   сред .

42 

аЧс т ь

р По с м о т об ы в

р  и  уад л е ни р  им е н  пе р м е ын и   работ ь   и м ен

  I. Ос но вы

е  пе р м е хын

е   с   д о с та о ч н а   и сп о ль з о в ан н ы я   окн о м х   в  р а б о ч е й   с р ед е   р ас п о л ж ен ы   в а   N ame м ен яе ь   п ер м ен н ы е  п о х   п ер м ен ы я  п о  р а з н ы м   к р и ет р и я м

Двой н о кн оп к ни н аз в ан и вам и н ят щ с у е с юв т у щ и е н ю яс н ен ю ст р аз м ер в  гаве л

й   щ ел ч о к  п у   Open  п ан ел ю   е е   с о де р ж и м о г я   (р е да к то р ,  к о т р ы м   п о с в ящ ен ь   з н ач ен и е   э л е м н от .  И з м ен ен и  Preferences  в  р а с к р ы в а ю щ ем с о   ран е .  П о чд ер к н е я   в   в и ед   м ас и в о а   1 н а   1 (р а б о т  2).

о   боль ш и

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG

м   к о л и ч е с вт о х   п ер м ен ы х .  С ам ы   Workspace,  в   к о т р о м   н оа х я д с т е   п ер м ен ы х .  П о   му о л ч ан и   а л ф в и нт о м   п о р я дк е .  Щ ел ч о т   п о р я до к   н а  о б р а тн ы й . Ан а л о ги ч н   р аз м ер у   з ан и м аем о й   п а м ят х   к о м п л ек с н у ю   и   п р о в ер ь т .

о   с рт о к и   и н с р тм у е н о т о   в   о е д тл ь н о   м ас и в о )

 в  MATLAB zyxwvu

, х

Пр з н ат п о л ь з о в а ьт с юву щ и кс с от л б ц ват щ ев с т н ы ни

 р аб о т ы

м   п ер м ен ы й   п рост

х   н е о б х ид м й   сп ос б  —  в о с я   и м ен а   в с е х   щ ус т е ю   в с е   п ер м ен н ы е   в  сп и к   мы ш ь ю   п о   з а го л в к о   м ож н о   пу о р яд ч и и   и  ти п у .  В в еид т е   кром е   ве т   п у о р я од ч и в а е   р е з л у ь ат

у -

е   с  п ер м ен о

й   в   окн е  Workspace  (и л и   н аж ит е  н а в   окн а   Workspace)  п р и в о ди т   к   о тбраж е м   окн е  Array  Editor,  ч то ,  к а к   е сулд т   и з   ег о , бед у т   о с б ен н о   п о л ез н о   п р и   работ е   с  м аси а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   ав г л  2.  В   о к н е  р е да к то р а   м ас и в о в   м ож н о   и з ме в   м ас и в а ,  до б а в и т ь   н овы е   э л е м н ыт   и л и   а д л иу т ь е  фо р м а т а   вы вод а   ч и се л   о щс у е с в т л я я   ч ер з   ме я   сп и ск е  Numeric Format та к , к а к   б ы л о   объ м   ще е  р а з ,  ч т о   вс е   адн н ы е   в   M ATLAB  п р есдатв ля ,  м ы   п о к а   р а б о та е м   с   м ас и в ам и   и з   о нд о й   яч ей к и а   с  м ас и в ам и   бо ль ш е й   р аз м ер н о с т и   п о др о б н о   о п и сан а

В ер н ем с я   в   окн о   Workspace.  К р о м е   с о р ха н е н и я   и   в о с ат н о в л е н и т   а д л уя т ь   п ер м ен н ы е .  Д л с р е ыд ,  о к н о   Workspace  п о з в о л яе о х ид м о   в ы ед л и т ь   он д у   и л и  н еск о ль к о   п ер м н ы х   п р и   п ом щ ви ш     и л и   ,  н аж т ь   кн оп к у   Delete  и  п о вдт ер ди т яв л ю щ ем с я   ди а л о г в о м   окн е  Confirm  Delete. н А а л о ги ч н ы е   воз м ож н ост и   п р е од с а т в л я ю т   к о м ан д п р е дн а з н а ч е н н ы е   лд я   о п е р и р о в а н и я   с  р а б о ч е й   с р е од й ж и ст я   в  р а з дел е   Functions — Categorical  List  (р аз едл opment, п ну к т  Workspace, File, and Search  Path) с п р а в о ч н о ви м с я  н а  н ек о т р ы х   и з  н и х .

я   рабо ч е й я   н ео б и   мы ш и   и  кла ь   а д л уе н и е   в  п о -

я   а д л еу н и

ы   и   н фу к ц и и   M ATLAB, .  И х   о п и с а н и е   с о е рд а   D esktop  Tools  and  Develй   с и с етм ы .  О с атн о -

Дл я   вы вод а   в   к о м а н дн о е   окн о   и ме н   и с п о л ь з ему ы х   п ер м ен н ы х   ж с л иу к ом ан д а  who zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

»  who Your variables are: al a2 a3

о

т

л ав Г

  1. рП о с т ей ш и е

К ом ан д м ен ы

 вчиы с лени я

43 zyxwvutsrqpo

 

а   whos  п о з в о л яет х  в  в и ед  та б л и ц ы

, п о лчуи т , а н а л о ги ч н о

ь   бо ле й   та б л и ц

е   п о рд б н у е   окн

ю   и н фо р м а ц и ю   о   п ер а  Workspace: zyxwvutsrqponmlkjihgfedcbaZYXW zyxwvutsrqponmlkjihgf

» whos Name Size Bytes Class al lxl 8 double array a2 lxl 8 double array a3 lxl 8 double array Grand total is 3 elements using 24 bytes К ром е  то г , к о м ан д н и м ае о й  всме и  п ерм н ы м н ы е  з а н и м а ю т   24 б а й ат Дл

я   о с в о б ж ед н и и  в  армгу ен ат т   о с в б о ж ед н

Е сл удб

а   whos дае

т   в о з м о ж н о ст и  р аб о ч е , о  че м  ск аз н

ь   з у н ат ь   о бщ и й   о бъ е .  В  н аш е м   п р и м ер е  п о д  таб ли ц ей .

й   с р ыед о  в  срто к

я   и з  п ам ят и   в се х   п е р м н ы х   ку а з т ь   сп и со к  п ер м н ы ы   и з  п а м яит , н а п р и м е р

х   и с п о л ь з се т у х   (чер

з   п р о б ел )

м   п а м я ит е  тр и   п ерм н

я   к ом ан д , т о   то л ь к

, з а а   c lea r . о   он и

:

»  clear al а З »  who Your variables are: a2

О ч ен ь   п о л ез н о й   о к а з ы в а е ст я   н фу к ц и и м я   п ер м ен н о й   в   MATLAB.  П р и  в в о д к о   б еи у д ь т с я   в  то м ,  ч т о   э т о   и м я   ще е л я ,  н о   и   бы т ь   в уе р н н ы м ,  ч т о   о н о   н к а к   в с рт о е н н а я   н фу к ц и я   и л и   з ар ез ер в и р о в ан н о в ан и я) .  В о т   п р о с т й   п р и м ер .  З ап и ш е 3: >>  p i  =   sin ( 3)

я   e xist ,  к о т р а я   со б щ ает ,  з а н я т о  л и е   н ов й   п ер м ен о й   е с ул д т   н е   от л ь   н е  з а н ят о   п о д   п ер м н у ю   п о л ь з о в а ет е   и с п о л ь з се т у я   в   MATLAB  (н а п р и м е р , е   сло в о   яз ы к а   п р о гр а м и р о м   в   п ер м н у ю   p i  з н ач ен и е   си н с у а  о т

p i  = 0.1411 Т еп р

ь   п о с ч и ат й т

е   cos  о т zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   п

»  z  =  cos( pi) z = 0.9901 В ы ч и с л ен и я   в ы п о л н ен p i.  Д о   ет х   п о р   п о к п о л ь з о в а ьт с я   к о н с та н то

ы   н ев р н о а   з н ач ен и

,  п о ск ль к у   и з м ен ен а   с и с е тм н а е   p i  н е   едбу т   а д л уе н о   и з   рабоч е й   п   н е  уадстя .  П о э т м у   п ер д   о п р е дл н и е

я   к о н с та н т й   с р е ыд

а ,  в о с м   н ов

й

44 

аЧс т ь

й   ж ел ат ь н х   в о  вохнд о

п ер м ен н о а п о с рт о ф а

о   в ы з в ат м   а р мг у е н е т

ь   н фу к ц и , н а п р и м е р

ю   e xist ,  куа з а :

 I. Ос но вы

 р аб о т ы

в   им

 в  MATLAB zyxwvu

я   п ер м ен н о

й  в

»  e xist ( ' d 7' ) ans = zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA О

Е сл и   о тв е т —  н о л ь ,  т о   и м я   эот й   п ер м ен н о й   н е   к о н ф л и к е ут т   с   з а р ез р в и рован н ы м и   сло в ам и   M ATLAB,  и   е й   м о ж н о   п о л ь з о в а ть с я .  С р а в н и ет :zyxwvuts еинечанЗ , BO3exist('max'), exist('for'), exist('pi'), exist('fzero').  в р ащ аем о е   н фу к ц и е й   e xist ,  о п р едляст я   ет м ,  п о д о   чт о   з ан ят о   з ап ра ш и в аем о е   и мя . В   ч а с нт о с ит ,  сле и   в о з в р а щ а ест я   1, т о   та к я   п ер м ен н а я   жу е о п р е дл н а   в   рабоч е й   с р ед .  С м ы с л   в се х   з н а ч е н и й   о б ъ яс н е н   в   сп рав о ч н о й с и е мт .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

е т кф Эи в н а я  ра бот а  и з  ком а ндо (Command History)

й  с т рок

и

zyxwvutsrqpo

В   рабоч е й   с р ед е   M ATLAB  лд я   в ы з о в а   ран е е   в е дн н ы х   к ом ан д   и м се т я   од п о л н и ет л ь н о е  уод б н о е   с р е дв т о   —  о к н о  Command History с  и сот р и е й  к о м а н д (см . р и с .  1.1).  И с то р и я   к ом ан д   п р е сд а т в л я е т   со б й   з ап и с ь   к ом ан д   в се х   п р о в е дн н ы х   с еа н с о в   работ ы   с  M ATLAB,  к о т р ы е   а в от м а ит ч е с к и   с о р х а н я ю ст я в   ет к с о в м   фа й л е   history.m.  В   н ач л е   п роткол а   работ ы   к а ж до г о   с еа н с а а   ег о   н а ч л а .  М о ж н о   о кт л ю ч и т ь   з ап и с ь   в о ди м ы х   ко о мт е ч н ы   в р ем я   и  да т м ан д   в   и с от р и ю   к ом ан д .  Д л я   н а срт о й к и   в о з м о ж н о с ет й   окн а   Command History  в ы б е р и т е   п ну к т   Preferences   в   мне ю   File  р а б о ч е й   с р е ыд .  О кт р ы в а ест я ди а л о г в о е   окн о   Preferences.   В ы б о р   п ну к т а   Command History  в   л ев о й   п ол ви н е   окн а   п р и в о ди т   к   о т б р аж ен и ю   св о й ст в   окн а   и с от р и и   к ом ан д (Command History Preferences)  в  п р а в о й   п ол ви н е  о к н а  Preferences.   Э лем н т ы пу р а в л ен и я   р асп о л ж ен ы   н а   в ду х   п а н ел ях :  Settings   и  Saving.  В   слчуае ,  сле и в ы   п р е дп о л а г е т е   и сп о ль з о в ат ь   и с от р и ю   к ом ан д  п р еыд щу и х   с еа н с о в   рабо ты , ест ь   см ы с л   о б р а ти т ь   в н и м ан и е  н а  дв а   з н ач ен и я  п ер к л ю ч аетл я .  О нд о  и з н их :  Save history file  on  quit,  т . е .  сорхан ен и е   и с от р и и   к ом ан д   п ер д   з а в ер ш е н и е м   с еа н с а   работ ы   с  п а к е то м .  С елуд т   и м ет ь   в   в и уд ,  ч т о   в   счлуа е   ав ри й н о г о   з ав ер ш ен и я   работ ы   и с от р и я   к ом ан д   н е   з а п и ш ест я   в   фа й л   history.m  и , с л е до в а ет л ь н о ,  в едн н ы е   к о м ан д ы   удб т   н еод пс у т н ы   в   ю с ул е д щ е м   с еа н с е р а б о ты .  Н а и б о л е е   б ез о п ас н ы й   сп о с б   со ти т   в   с у ат н о в к е   к о л и ч е с вт а   вы п о л н ен н ы х   к ом ан д , п осл е   котрог о   п р о и з о й де т   о б н о в лен и е  фа й л а   history.m (Save after  ... commands).  Н а п р и м е р , з н ач ен и е   1 га р н ти р еут ,  ч т о   н и  о нд а  к о -

л ав Г

  1. рП о с т е й ш и е

м а н да фл а го

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB 45zyxwvutsrqpo

 вчиы с лени я

,  к р о м е в  и  п ер к лю ч аетл

, бы т

ь   м о ж ет

,  п ослнед й   се я

й   н е  бед у н  и з  и х  наз в а н и я

т   п о ет р я н а

.  С м ы с

л   о с ат л ь н ы

х

.

П р и   з а г р зу к е   MATLAB  о к н о zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK   Command  History  п о яв л ест я   н а   э к ран е  п о му о л ч а н и ю .  Ч то б ы   з ак ры т ь   е го ,  н ж у о   в   м не ю   Desktop  в ы б р а т ь   п ну к т Command History и л и  н а ж т ь   кн оп к у   з а к р ы ти я   окн а  в  сам о м   окн е  Command History.   П о в то р н ы й   вы бо р   п ну к т а   Command  History  п р и в о ди т   к  п о яв л ен и ю й   с р ед . о дн о и м е н н о г о  о к н а  в  р а б о ч е

И с то р и я   к ом ан д   ед л а т   работ у   п о л ь з о в а ет л я   бо ле е   э ф е к ит в н о й , и з б а в л я я о т   н е о б х ид м о с т и   вн ов ь   н аби рат ь   в е дн н ы е   ран е е   к о м а н ды .  Е сл и   щ ел к о  к о м а н д е  в  о к н е  лев о й   кн оп ко й  м ы ш и , т о  да н н а я  к о м а н н т у ь   н а  к а к о й - л и б д а   с ат н о в и ст я   е тк щ у е й .  Т екщу а я   к ом ан д а   в   окн е  п осдв еч н а   си н и м . Д л я  е е в ы п о л н ен и я   н ад о   п р и м ен и т ь  дв о й н о й   щ ел ч о к   мы ш и . Ан а л о ги ч н о г о   р е з л уь е   Command  History  п р и  п о м щ и   к лав и ш  < Т > , zyxwvutsrqp та а   м о ж н о   до б и ь т с я   в   окн   и  < Enter> . Ли ш н ю ю   к о м ан д у   м ож н о   бур а т ь   и з  о к н а . Д л я  э то г о   е е  н а д о ь   п р и  п о м щ и   к лав и ш и   .  М о ж н о   в ы ед с едл а т ь   е кщ т у е й   и  уадли т о   п ят ь   к о м а н д ) с ли т ь   н ес к о л ь к о  ищ уд и х   п о др я д   к о м ан д   (ри с . 1.8 — в ы едл н и сп о ль з о в ан и е м   к о м би н ац и и   к лав и ш   + ,  + l>  и  в ы п о л н и т ь  и х  п р и  пом щ и  < Enter> , и л и  адлуи т ь   к лав и ш е й  .zyxwvutsrqponmlkjihgfedcb

Command HistoryzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB 100000/3 - 1/3000 - FORMAT LONG  E

exp(- 2.5)*log(11.3)*0.3- sqrt> sa = size(a) sa = 3 1

Н а   п ер в ы фо р м а ц и р а к ет р и с ит к л д я   ад л ь н е й ш е г н ы х  п р и л о ж ен и

й   в з гл я ю   окн

д   м ож е т   п о к а з а ть с я а   Workspace.   О дн а к и   м ас и в о в   в   к о м а н дн о о   и сп о ль з о в ан и я й  в   M ATLAB.

, ч т о  ndims  и  size  ли ш ь   б ду л и р ю у о   он и  п о з в о л яю т   н е  то л ь к о   в ы в ес т е   окн о ,  н о  и  з а п и с а т ь   и х  в   п ер м ен н ы ,  ч т о   щсу евстн о   п р и  с о з ад н и и   с о б в тен

т  и н и   ах е -

В   ав ег л  1 б ы л о   з ам еч н о , ч т о  ч и сл а   в  MATLAB  п р есдатв л яю ст я   в  в и ед  дву м ер н о г о   м ас и в а   о ид н   н а  о ид н .  Т еп р ь   до л ж н о   бы т ь   п о н я тн о , п о ч ем у  п р и с л о ж ен и и   в е к то р о в   и с п о л ь з ес т у я   то т  ж е  з н а к   п лю с , ч т о  и  дл я  сло ж ен и я  чи сел .  Е сет в н н о ,  лд я   н оахж едн и я   раз н ост и   в е к то р в   е с лу д т   п р и м ен ят ь з н а к   ми н су , с  умн о ж ен и е м  дел о   о б с от и т   н ес к о л ь к о  сло ж н е .zyxwvutsrqponmlkjihgfed Пр и м е ча ни

^  л Ес

и  раз м ер н е  совп аюд т

е ы   в е к о тр в , т о  вс ытеа д

, к  корыт я   щ об с н е и

м   п с и р н мт е я е  о б  ошибке

я  снжоел и .

ь   вс е  дан н ы е   в   ви д О с о б ен н о с т ь   M ATLAB  п р есдатв л ят о ч ен ь   до у б н о й .  П суьт ,  н а п р и м е р ,  ртебсу я   вы ч и сли т sin  сраз у   лд я  все х   э лем н от в   в е к от р а   с   (к о т р ы й   р х а н и ст з ап и сат ь   р е з л у ь ат т   в  в ек от р   d.  И с п о л ь з йу т е   юс л у е д щ и ван и я : »  d  =  sin (c)

d = 0.8546 0.5010 0.5712

е  и л

и  вычиант и е

е   м ас и в о ь   з н ач ен и

в   я в л се т е   н фу к ц и я   в   м ас и в

й   о п е р а то

, я и е   с ) и

р   п р и св аи

-

л ав Г

 2. Рабо т а

И та к ви д те уд б н фу к ц и э от э л е м н от

  с  м ас и вам и

, в с рт о ен н ы у   а р г м у е н от в   имвсо ма м   ещ

53 zyxwvutsrqp

 

е  в   MATLAB  э л ем н атр н ы е   н фу к ц и ;  сел и   армгуен т   я в л се т я   м ас и в о м   гт о   же   а,ре азмр   н о   с   э л е м н ат м и х   э л е м н от в   и с о х нд о г м   п р и м ер . Е сл и   н е о б х ид м о   н ай т а   d  с о  з н а к о м  м и н с у , т о  до с та о ч н

и   о т   с о в т ес ю у щ и е  н а  о нд о в  в е к то р

и  п р и с п о с а б л и в а ю ст ,  т о   р ез луь ат ,  р а в н ы м о   м ас и в а и  к в а др тн ы о   з а п и с а ть

я  к и zyxwvutsrqp ю .  бУеид тс ь   в й   к о р ен ь  и з :zyxwvutsrqponmlkjihg т   нфу к ц и и   з н ач ен и

»  sqrt(- d) ans = О  + 0.9244i О  + 0.7Q78i О  + 0.7558i

О п е р а то ве т  в  сатн адр нт у

р   п ри св аи в ан и ю   п ер м н у

В во д   в е к от р - с рт о к ч и е   о т   в е к от р - с от л б ц м и . О п ер а ц и и  сло ж ен и я в е к от р - с рт о к   п р о и з в о яд с т п о лч у а е с т я   в е к от р - с рт о к

я   н е   и сп о ль з о в ался ю   ans.

и   о щ с у е св т л я а   э л ем н т , в ы ч и ат н и

,  п о э тм

у   MATLAB  з а п и с а л

я   в   к в а др нт ы х   ск о бк ах т   р а з ед л я т ь   п р о б ел ам я  и  в ы ч и слен и е  э л ем н атр н ы я   ат к   ж е ,  к а к   и   с  в ек от р - с от л б ц а м и а  то г о   ж е  р а з м е р а , ч т о  и  и сохнд ы е

,  о дн а к

ы   е су л д

а   от -

о   в   о лт и и   и л и   з а п я ты х   н фу к ц и й  о т ,  в   р ез луь ат е

.

»  si = [3 4 9 2] si = 3 4 9 2 »  s2 = [5 3 3 2] s2 = 53  32 »  s3 = si + s2 s3 = 8 7 12 4 »  s4 = Iog(s3) s4 = 2.0794 1.9459 2.4849  1.3863 В ы я с н и ет п о ль з о в ат

,  в   к а и ь   окн

х   м ас и в а х   р ха н яс т я   в е к от р - с рт о к и .  Д л я   э то г о   м ож н о   ис о  Workspace zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB  и л и  фн у к ц и и  ndims, size  и  к о м ан д у   whos:

» whos Name si s2 s3

Size 1x4 1x4 1x4

s4

1x4

Bytes 32 32 32

Class double arraydouble array double array

32 double array

5ЈzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   аЧс т ь  I. Ос но вы  р аб о т ы  в  MATLABzyxw И та к м ер н о с т от р - с рт о

,  в ек от р - срт о к и  оид к   жс л у и

н  н а  ч еыт р е т   в с рт о е н н а

и   si,  s2,  s3  и   s4  соедр ж аст я   в   вд м у е р н ы . Д л я   о п р едл н и я  дли н ы  в ек от р - с от л б ц о я  фн у кц и я   len gth :

х   м ас и в а в   ил

х   раз и  век

-

»  L  =   len gth (si) L = 4 П о   му о л ч а н и ю   в с е   ч и сл а ьст ю   (double)  и  з а н и м а ю т з н а ч и ет л ь н ы х   о б ъ ем о в   п а м я ит в ам и   п а м яи т   м ожн о   п р и м ен ят в а :  sin gle  лд я   в ещ есвт н н ы in t 8,  i n t i 6 ,  in t32  —  лд я в е ст н н о .  И с п о л ь з о в а н и н е  в ли яе т  н а  фну к ц и о н а л ь н ы Дл

я   и з м ен ен и

С  ТИПО

я  то ч н о с т

  (э лем н т   8 б а й то в

ы   м ас и в о .  Бо л ь ш и е  м ас и в . Д л я   м уен ь ш ен и ь  дргиу е   сп ос б х   ч и с ел , требюу щ и   ц ел ы х   ч и с ел ,  з а н и м а ю щ и е   ат к и х   ад н н ы х   з н а ч и ет л ь н е  в о з м о ж н о с т и   п ак ет

и   п р е сд а т в л е н и

М  ( C lass)  д а н н ы

я   ч и се

х   ф ун к ц и

)  рахн сят

я   с   дв о й н о

й   то ч н о я   р ха н е н и я а   з ан и м аем о й   м ас и я   э л е м н от в   м ас и я   р аз м ещ ен и я   4 б а й та , и х   1,  2  и л и   4 б а й т а   со т о   экон оми т   п а м ят ь  и   M ATLAB. ы  тр ебюу

я   о б ъ ем ы   р ха н е н и х   лд

а

л   п р е нд а з н а ч е н

т   лд

ы   о нд о и м е н н ы

е

й   s i n g l e ,  i n t 8 ,  i n t l 6 ,  i n t 3 2 :

>>  q4  =   s i n g l e ( s 4 ) ; >>  q3  =   i n t 3 2 ( s 3 )  ; >>  q2  =   i n t l 6  ( s2 )  ; >>  q l  =   i n t 8 ( s i )  ;

Е сл и  теп р и т ь   щ с у е вс т н у >> whos Name  ql  q2  q3  q4  si  s2  s3  s4 

ь   п о с м о рт е

ь   р а с п р едл н и ю   раз н и ц

у  в  овтедн н о

Size  1x4  1x4  1x4  1x4  1x4  1x4  1x4  1x4 

я   м ас и в о в   бо ль ш о й   р аз м ер н о с т в ен н о й .  В ы п олн ен и е   а р и фм и е т ч с к и раз н ог о  ти п а  доп сиут м о   и  дае >> qs44 = q4 + s4; >> whos qs44

е   п ам ят и   по й  дл я   рхан ен и

д   м ас и в ы я  п а м я ти

, т о   л егк о   з ам е :zyxwvutsrqponmlkji

Bytes  Class 4  int8 array 8  intl6 array 16  int32 array 16  single array 32  double array ќ 32  double array 32  double array 32  double array

Дл

т  резльуат

и   экон ом и х   о п ер а ц и т   с  н аи м ен ь ш е

я   п а м ят и   м ож е й   с   в е щ ев с т н ы м й  точ н о сьт

т   бы т

ь   щ ус т е и   ч и слам и ю  —  sin gle:

л ав Г

 2. Рабо т а

  с  м ас и вам и

 

Name 

Size 

qs44 

1x4 

55zyxwvuts

Bytes  Class

16  single  arrayzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP

ь   а р и ф м еит ч е с к и е  о п ер ац и и  н а д  ц елы м и  ч и слам и   раз н ы х П о п ы тк а  в ы п о л н и т ит п о в   п р и в о ид т   к  о ш и б к е : >> q31 = q3 + ql ??? Error using =  =  > plus Integers can only be combined with integers of the same class, or scalar doubles. Бо л е е  то г ,  п р и   п р е о б р а з о в а н и л ен и я   н е   в ха т е т   о вт ди м о да н н о г о  ти п а   (т . е . н ев р н ы »  wl = 34567; >> rl = int8(wl) rl = 127 >> tl = intl6(wl) tl = 32767 П оэ тм л ен и я п р и н я от

у   п р и м ен ен и , о гр а н и ч е н о е  п о  ум о л ч ан и

И з   н ес к о л ь к и н ы е  ск о б к

и   ц ел о г

е   ц ел ы . В ерн ем с

х   в е к от р - с от л б ц о и  и  р аз едл я

о   ч и сла ,  к о гд а   лд ,  п очлуаест я   м ак си м аль н о ) бе з  п пруед ж нд и

й   п а м я ит й  р ез луь ат

х   ч и с ел я   к  р а б о т

,  и м ею щ и

в   м ож н е  в ек от р - сот лб ц

я   и ос н хд ы

о   п р е сд а т в е   ч и сл

я   о б  э то м

х   м ен ь ш у

е   с  в ек от р а м е   ч и се

ю   п р е сд а т в л е н и

я   то ч н о г

ю   от ч н о с т и   и   м а тр и ц а м и л   double.

о   с о ат в и т

ь   о ди н ы   то ч к о

о   лд :

ь   п р е сд а т в ,  и сп о ль з у

, и сп оль з у й   с  з а п я то й

я

я   к в а др т :

я -

»  vl  =   [1;  2] ; »  v2  =   [3;  4;  5] ; »  v  =   [vl;  v2] v == 1 2 3 4 5 Дл л яем ы

я   с ц п е лн и

я  векотр- рсто е  в ек от р - срт о к

к   а тк ж и   о е д лт я ю с т

»  vl  =   [pi  p i/ 2]; »  v2  =   [pi/ 3  pi/ 4  p i/ 5] ;

е   п р и м ен яю с т я   п р о б ел ам

и   ил

я  к в ард нт ы и  з а п яты м и

е   ск обк и :

, н о  сц пе

-

аЧс т ь  I. Ос но вы  работы  в  MATLAB zyxwvuts 56 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

»zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   v = [vl v2] V = 3.1416 

1.0472

1.5708

0.6283zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ

0.7854

З ап о м и н ат ь   п рави л а   с ц еп л н и я  в ек отр - срто ся ,  до с та о ч н о   п о с м о рт е ь   н а  в екотр - срто к м не т ы   э от й   б л о ч н о й   с рт о к и , т . е . в ек от р - срто к и   с   п рав и ло м   н абор л о м   в   с о вт е с и р а сж е н у д и е   в ер н о  и  дл я  сц еп лн и я  в ек от р - с от л б ц о в Д л я   п р о с м о тр в а т ь   р е д а к то м ас и в а   v  в и н с р мт у е н о т о кт р о е ст я   (ри с .  2.1). Им

к   и  в ек от р - с от л б ц о в   н е  требту у   v к а к  н а  б л о ч н у ю   с рт о к у . Э ле и   vl  и  v2, р а з дел н ы   п робе а   в е к от р - с рт о к .  нА а л о ги ч н о .

е

я  з н ач ен и й  э лем н от в   м ас и в о в   до у б н о   и сп о ль з о а   и  и з м ен ен и   (Array  Editor).  Д в а ж д ы   щ ел к н и т е   мы ш ь ю   п о  и м ен и р   м ас и в о в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG   окн е   Workspace   и л и  н аж м и т е   кн оп к у   Open Selection  н а  п ан ел и и   к рус о р а   н а  и м ен и   м ас и в а  — в   окн а  Workspace   п р и  п о л ж ен и окн о   р е д а к то р а   м ас и в о в   с   с о е др ж и м ы м   в е к от р - с рт о к и   v я  п р о с м а тр и в а е м о г о   м ас и в а  ук а з а н о  в  с рт о к е  з а г о л о в к а  о к н а .

Ш zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Array Editor -  v

Stack:zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML ш  ш  в

З а   *   41   Ш

Г

1.113.1415926. .5707963.

Рис

.  2.1. О к н

6 3  j  4 j   J 5 .0471975..  0.7853981. . 0 6233185

о  р е да к то р

а   м ас и в о

в   Array  Editor

Двой н о й   щ ел ч о к   мы ш ь ю   п о   яч ей к е   и л и  н аж ит е   к лав и ш и   < F 2>  (к а к  и  в та б л и ц а х   MS Excel)  п о з в о л яе т   р е д а к ти р о в а т ь   с о ед р ж и м о е   с о в т ес ю у щ е г о   э л ем н т а   м ас и в а . Убеид тс ь   в  э то м , и з м ен я я  з н а ч ен и я  э л ем н от в   и  в ы в о д я   м ас и в   в   к о м а н дн о е   окн о .  П р и  з а п о л н ен и и   п ыс т у х   к л ео т к   и з м е н я ю ст я р аз м ер ы   м ас и в а  та к , ч т о  о н  о сате я   п р я м о гу л ь н ы м   н аи м ен ь ш е й  р а з м е р н ост и   и  с о едр ж и т   вс е  о п р едл н н ы е   э л е м н ыт .  П р и  э от м   н е  о п р едл н н ы е п о л ь з о в а ет л м   э л ем н т ы   п р и о б р е та ю т   н л е ув о е   з н ач ен и е .  Д л я  умен ь ш ен и я р аз м ер о в   ес л у д т   и сп о ль з о в ат ь   э л ем н т   пу р ав л ен и я   Delete   (в  к о н етк с нт о м

л ав Г

 2. Рабо т а

ил и   ок н н о ид т  л и ш Дл

  с  м ас и вам и

м   м не ь  к  о бн леун и

я   работ

лд

я   ч ег в с п л ы в аю щ ег и м ен н о г т е   в сат к П р о в ер ь т Р е да к о т ных .  Д в о й н о н и ю   н ов г ит в н ы м вы бра в р м у е н от ед р ж и м ы в о в   о к а з ы в а е ст (о лтакд

р   м ас и в о

и  н а   п ан ел ю   э л е м н от

о   окн   п р и   п ом щ   ег о   н а з в а н и в   с о вт е с ю у м   м ас и в о е   п р о гр а м

и   и н с рт м у е н от в ) в   м ас и в а

п   к  э лем й ат ,  з а к л ю ч а ем о г я   в е к то р й  в ек от р - срт о к

т   п р о с м а тр и в а т

ь   з н ач ен и я  н еск о ль к и х   п ер м н е   с  vi  в   о к н е  Workspace   п р и в о ди т   к   п о яв л е а  в  р е да к то р е   м ас и в о .  К аж од е   и з   ок н   м ож н о   с едл а т ь   ак и   с о в т ес ю у щ е й   в к лад и   вн и з у   окн а   р е д а к то р а   ил и е  в   мне ю   Window.   К н о п к и   в   п рав о й   ч аст и   п а н ел и   и н ст т   раз ли ч н ы м   сп ос ба м   р ас п о л ж ен и я   та б л и ц   с   со в   в   окн е  р е да к то р а   Array  Editor.   Т ак ж е   р е д а к то р   м ас и я   о ч ен ь   п о л ез н ы м   п р и   о л т а кд е   с о б втен н ы х   п р о гр а м м м   п о с в ящ е н zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED  р.азд   "Дгвоая ил к а д тло  пм"гамор  гавы л  8).zyxwvutsrqp

м   в е к от р .  Е сл

м  вет кор а   и л и  в ек отр - срто к о   в   к рг л у ы е   ск обк и   с р ед и   п ер м н ы й

v  =   [ 1 . 3  З . б   7 . 4  8 . 2 

т о   лд :ацсия

я   о б р ащ ен и я

.

к   п о   с рт о к

е  к  э л е м е нт а

Д о с ут и н ед к с а р х а н и ст р е дл н н ы

, а   н е zyxwvutsrqponmlkjihgfedcbaZYXW   Cut,   к о т р ы й   п ри во -

т   воз и   р е д а к то р   м ас и в о в   MATLAB  п р еод сатв л яе е   MS  Excel.  вУели ч ь т е   л ди н у   в е к от р - с рт о к и  v  д о   10, е   п я т ь   е е   э л е м н от в ,  ск о п и рйу т е   и х   п р и   п ом ощ и   (и л и   к н о п к и   ро С у   п а н ел и   и н с рт м у е н от в ,  и л и   о нд о ю  Edit),  седлай т е   ще к т у е й   ш у ес т ю   яч е й к у   и  и сп о ль з йу   б ду л и р о в а н и я   п ер в ы х   п ят и   э л е м н о т в   в е к от р - с рт о к и . и  к о м а н дн о г о  о к н а  и з м ен и лс я  л и  в ек от р  у .

в   п о з в о л яе

й   щ ел ч о

О б р а е щ ни

» 

ю   ил

ы   с   да н н ы м ,  а н а л о ги ч н ы о   в ы ед л и т е   п ер в ы о   м не ю о   п ну к т а   м не у   (Paste)  лд я е  п р и  п о м щ

м о ж н о с ит

57__zyxwvutsr

 

,  н а п р и м е р

а и   п о сл х   рабоч е

и   о щ с у е св т л я е   и м ен й   с р ед

я   пр и   м ас и в а ы   с ет

ь   м ас и

и  п о м о щ ,  в   к о т р о

и м в   v,  оп

-

0.9];

,  к   ч евт ро м

у   э л ем н т

у   и с п о л ь з ес т у

я   к е - и дн

»  h  =  v(4) h = 8.2000 кУ а з а н и е   э л ем н т ид т  к  и з м ен ен и

а   м ас и в ю  в   м ас и в

а   в   л ев о й   ч аст и   о п е р а то р а   п ри св аи в ан и я   п ри во е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB

»  v(2) = 555 v = 1.3000 555.0000 7.4000 8.2000  0.9000

58_ 

аЧс т ь

И з  э лем н от

в   м ас и в

а   м ож н

о  фо р м и р о в а т

ь   н овы

  I. Ос но вы

 в  MATLAB zyxwvutsrq

 работы

е  м ас и в ы

, н а п р и м е р

:zyxwvutsrqponml

»  u = [v(3); v(2); v(l)] u -   ; 7.4000 555.0000 1.3000 Дл

я   п о м ещ ен и н о м   п о р я кд в е к от р - срт о к ю с ул ед щ и

я   о п р е дл н н ы х   э л е м н от в   в е к от р а   в   др г у о й   в е к то р   в   з а дн е   жс л у и т zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   к е а ц с и я дн  пир   ищ о мпо  вак.ерто   Н ап р и м ер ,  з ап и с ь  в у   w  ч е тв р то г ,  в то р о г о   и   п я от г о   э л е м н от в   v  п р о и з в о ид ст я м   образ ом :

»  ind =[4 2 5]; »  w = v(ind) w = 8.2000 555.0000 0.9000 MATLAB  п р едо с атв л яе ет л ь н о   р ас п о л ж ен н ы ж с ли у т   к е а ц с и я дн н о й  в ек от р - с рт о к с о  в то р о г о   п о  ш ес от й и  н а гл янд о  р еш и т

т   о д бу н ы х   э л е м н от  пир  пищ о м о  занк е  w и з  сме и  э лем н от . И н едк с а ц и ь   п о с ат в л е н н у ю

й   сп ос в   в е к от р

б   о б р ащ ен и а   ил  д.иячтево

в  требсту я  п р и  п о м о щ   з адч у :

»  w  =   [0.1  2.9  3.3  5.1  2.6  7.1  9.8]; »  w(2:6)  =  0; »  w w = 0.1000  0  0  0  0  0  П ри сваи ван и

е   w(2:6)  =   о  

я   к   блок а и   в е к от р - с рт о к и  П р е дп о л ж и м я   з ам ен и т и  дв о ет ч и

ь   н л ям у я   п о з в о ляе

м   п о с л ед в а .  Д л я   э от г , ч т о   в   з адн и   э л е м н ыт т   п рост

о о

9.8000

э к в и в а л е н нт

о   п о с л е до в а е т л ь н о с т

и  

д zyxwvutsrqp

к ом ан

w(2)  = 0;  w(3)  = 0;  w(4)  = 0 ;  w(5)  = 0;  w(6)  = 0. И н де к с а ц и ч аст

я   пр и   и з  б о л ь ш о г

и   п ом ощ о   о б ъ ем

и   дв о е т ч и а   да н н ы

я   о к а з ы в а е ст х  в  н о в ы

й  м ас и в

я   од у б н о :

й   пр

и   в ы ед л н и

и

»  w = [0.1 2.9 3.3 5.1 2.6 7.1 9.8]; »  wl = w(3:5) wl = 3.3000 5.1000  2.6000 С о с та в ь т п о л ь з йу т

е   в е к от р - с рт о к е   дв о е т ч и

у   w2, соедр ж ащ у е   и  сц еп лн и

»  w2  =   [w(l:3)  w(5:7)]

е  срт о к

ю   э л ем н т :

ы   w к р о м

е   ч е тв р то г

.  И с

-

л ав Г

 2. Рабо т а

  с  м ас и вам и

 

59 zyxwvuts

w2 =

0.1000 2.9000 3.3000 2.6000'7.1000  9.8000zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

В м ес т о   w ( 5:7)  м о ж н с я  э л ем н ыт , н ач и н а ст о  w ( end), т о   п очлуи

о   н ап и сат я  с  п яот г м   п о с л ен д и

ь   w(5: end). Т а к я   з ап и с о   и  з а к н ч и в а я   п о с л е нд и м й  э лем н т   м ас и в а :

ь   о з н ач ет .  Е сл

,  ч т о   бтеру и  ж е  ввест и   п ро -

-

»  w(end) ans = 9.8000 Е щ е   оид н   сп о с в  р.азд   "Лкегсоич Э л ем н т с р ен д е г ю уд щ и

б   и н ед к с и р о в а н и  ивкаоиен"рс д

ы   м ас и в о   г е о м е рт и ч е с к о г м   образ ом

я  —  ло ги ч ес к о йа он д

а   м о гу

т   в о хи д т о   и з   э л е м н от

е   и н ед к с и р о в а н и

е  —  о п и с а

н zyxwvutsrqp

 г.авы л

ь   в   в ы р аж ен и я в   в е к от р

.  В ы ч и слен и е а   и   м ож н

,  н а п р и м е р о   п р о де л а т

, ь   с ле

-

:

»  gm  =   (u(l)*u(2)*u(3)) A (l/ 3) gm = 17.4779 К о н еч н о , э от б ы   н ай т и   с р н ед м ен т ы   м ас и в а нф у к ц и й , о б легч аю щ и

т   сп о с

б   н е  оч ен ь   о бд е у н   л д я   лд и н н ы е   г е о м е рт и ч е с к о е ,  н ео б хид м .  В  MATLAB  щсу евт т   д о с та о ч н х   п одбн ы е  в ы ч и слен и я

е  фицунк

рП и м е н и обр а бот к П ер м н о ж ен и с я  п р

и  п о м щ

и  дыан

й х  к  ве тк ора

е   э л е м н от и  фн у кц и

в   в е к от р - с от л б ц и  prod:

х   м ас и в о

. Д л я   то г о   чот ь   в   фо р м л у е   в с е   э ле о   м н ог о   с п ец и а л ь н ы х .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ о   н абрат

м а   ил

и   в е к от р - с рт о к

и   о щ с у е св т л я

-

»  z  =   [3;  2;  1;  4;  6;  5]; >>  р   =   p r o d ( z ) Р   = 720 

Зн а м р е ти ч е с к о

я   о б   э от

'

й   нф у к ц и е   э л е м н от

, н есло ж н в   в е к от р

о   д о г а д ть с я а   z:

л >> gm = prod(z) (1/length(z)) gin. = 2.9938

,  к а к   п р о с т

о   н ай т

и   с р н ед

е   ое г

-

60 

аЧс т ь

Ф ну кц и йб у т

я   sum п р едн а з н а ч ен

е   с а м о с т яел ь н р а   z.  П р о в е р ь т в срт о е н н у

а   лд о   в ы ч и сли т е   р е з л у ь ат

ю   нфу к ц и

я  сму и р о в ан и ь   с р н ед

 I. Ос но вы

 работы

я   э л е м н от

в   в е к то р а е   э л е м н от

е   а р и ф м е ит ч е с к о

,  в ы ч и сли в   с р нед е   а р и ф м е ит ч е с к о е ю  mean. В о т  ч т о  до л ж н о   п о лч у и ь т с я

 в  MATLAB zyxwvutsr

.  П о п р о в   в е к от

-

,  и сп о ль з у я :zyxwvutsrqponmlkjihgfedcba

>> sum(z)/length(z) ans = 3.5000 >> mean(z) ans'=zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ш 3.5006 * Д л я   н оа х ж е д н и в с рт о е н н ы >>  М

я   ми н и му е  фну к ц и

а   и   м ак си м у и  min и  max:

а   и з   э л е м н от

в   в е к то р

а   сж л у а

т

  =   m a x( z )

М  = б » 

m  =   m i n ( z )

m  = 1

Пр м ен от э л е м н от

и   о б р ащ ен и

» 

р   =   [3  12  8]  ;

в   п о лч у и с т в  и оснхд ы

и  к  фн у к ц и я   в е к то р х   в е к то р

» 

S  =   [4  10  7 ]  ;

» 

m i n ( p ,  s )

и  min с  дмву ,  к аж ыд й   э л ем н в   с  о ди н а к о в ы м

я   в е к от р а м т   котрог и  н о м е р а м и

и   в  к ач есвт о   ес т

е   в о х нд ы ь   ми н и му

х   а р уг   и з  дву

х

.

a n s  = 3  10  7

Ча с т о   н е о б х ди м о   з н ат н о г о  э лем н т а  в  м ас и в е л и , ч т о  и н етр ф й с  фн у к ц и вст о   и з  н и х  до п сук а ю в ы о х нд ы х   а р г м у е н от в В ы з ови т

е   нфу к ц и

ь   н е  то л ь к о   з н ач ен и е   м и н и м аль н о г о   и л и  м ак с и м ал ь , н о  и  ег о  и н екд с  (п о р ядк о в ы й  н о м ер ) . В ы  уж е  ви ед й  MATLAB  до с та о ч н о   н у и в ер с а л е н  —  б о л ь ш и н т   о б р ащ ен и е   к  н и м  с  п ер м ен н ы м   ч и сло м   в о х нд ы х  и .

ю  min с  двму

я   в ы о х нд ы м

и   а р г м у е н ат м и

:

>>  [m,  k]  =  min(z) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA т  = 1

к  = 3

л ав Г

 2. Рабо т а

В   р е з л у ь ат м ен т а   м ас и в

  с  м ас и вам и

61 zyxwvutsrq

 

е   п ер м ен н о а   z, а  н о м е

й   m бед у р   м и н и м аль н о г

т   п р и с в о ен

о   з н ач ен и о  э лем н т

а  з ан ес

е   м и н и м аль н о г н  в  п ер м н у

о   э ле ю  к .

К а к   ж е   з у н а ть ,  к а к   и м ен н о   м ож н о   в ы з ы в ат ь   нф у к ц и ю . Д л я   б ы с тр о г о   п о лу ч ен и я   п о сд к а з к и   е ус л д т   н абрат ь   в   к о м а н дн о й   с рт о к е   h elp  и   ч ер з   п робе л и м я   н фу к ц и , MATLAB  вы вед т   в   к о м а н дн о е   окн о  в с ев о з м о ж н ы е   сп ос б ы о б р ащ ен и я   к  фн у к ц и и   с  до п о л н и етл ь н ы м и   п о яс н ен и ям и . Ан а л о ги ч н ы е   вс е е нд и я   м ож н о   н ай т и   в   и н ет р а к ит в н о й   сп рав о ч н о й   с и е мт ,  к о т р о й   в ы   жу е   ав ыг л  1.  Е сл и   и з в е сн т о   и м я   нфу к ц и ,  т о   п р о щ е п о ль з о в али с ь   п р и   ч е нт и и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA в с ег о   в о с п о л ь з о в а ьт с я   и н е кд с н ы м  п о и ск о м  (в к лад а zyxwvutsrqponmlkjihgfedcbaZYXW   Index  в  лев о й   ч аст и   ок н а   сп рав о ч н о й   с и ем т ы   MATLAB).  В   срто к е   в од а   Search index  for:  е сулд т н абрат ь   и м я   нф у к ц и , н а п р и м е р , min,  з ает м   в   л ев о м   окн е   вы брат ь   р а з де л MATLAB   и   о з н а к о м и ьт с я   с   с о е др ж и м ы м   п равог о   окн а .  И н фо р м а ц и я   об о в с е х   н фу к ц и я х  MATLAB  лд я   р а б о т ы   с  в ек от р н ы м и   и  м арт и ч н ы м и  да н н ы м и с о е др ж и с т я   в   пну кт е   Arrays  and  Matrices  п о др а з дел а   Mathematics   р а з де л а Functions — Categorical List (в к лад а  Contents). В  ч и сл до ч е н и

о   осн овн ы я  в е к то р

х   н фу к ц и а   п о  в о з р а с т н и

й  дл

я   работ ы   с  в ек от р а м ю   ег о  э лем н от

и   в о х ид т   н фу к ц и я  уп о р я в   so r t .zyxwvutsrqponmlkjihgfedcbaZYX

»  г  =  [9.4 - 2.3 - 5.2 7.1 0.8zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG  1.3]; »  R = sort(г ) R- 5.2000 - 2.3000 0.8000 1.3000 7.1000 9.4000

П о п р о б йу т so r t .  П р а в и л ь н ы

е   п у о р я до ч и т й  овте

ь   в е к от :

р   п о   бу ы в а н и ю

,  и сп оль з у

я   э т у   ж е   н фу к ц и

ю

»  Rl = - sort(- r) R1 = 9.4000 7.1000 1.3000 0.8000 - 2.3000 - 5.2000 п У о р я до ч е н и п р и в л еч н и е

е   э л е м н от м  в ы ш ео п и с а н н о

в   в  п о р ядк

е  в о з р а с т н и й  фн у кц и

я   и х   мл е оу д

й   п р о и з в о д и ст

я  с

и   abs:

»  R2 a sort (abs (г )  ) 

,;

R2 = 0.8000 1.3000 2.3000 5.2000 7.1000 9.4000

Вы зо си в во

в   so r t  с  дмву а   и н едк с о в   с о вт е с и :

я   в ы о х нд ы м

и   а р мг у е н а т м я   э л е м н от

и   п р и в о ди в   п у о р я до ч е н н о г

»  [rs, ind] = sort(r) rs = - 5.2000 - 2.3000 0.8000 1.3000 7.1000 9.4000

т   к  о б р а з о в а н и о   и   и с о х нд о г

ю   м ас о   м ас и

-

62 

аЧс т ь

 I. Ос но вы

 в  MATLAB zyxwvutsr

 работы

i n d  = 3  2  5  6  4  1

Р а в е н свт м ас и

о   г  (ind (к ) )  =   rs(k)  лд я   к  о т   1 д о   len gth  (г )  св яз ы в ае в   г , уп о р ядо ч ен н ы й   rs  и  м аси в  и н едк со в   in d .

Е сл и   а р мг у е н о т п л ек с н ы х   ч и с ел п о   м л оу д ю   э л ем н т то р   п о  м олуюд к е  в о з р а с т н и я

м   н фу к ц и , т о   р ез луь ато .  Ф ну к ц и ,  а  к о м п о н ен т  фа з .

й   max  и   min  явлсет м   яв л с ет я   м ак си м аль н ы я   so rt  атк ж е   п у о р я до ч и в а е ы  с  р а в н ы м и   м л яоу д

я   в е к то р

т   и о с н дх ы

,  со тящ и й   и л и   м и н и м аль н ы т   к о м п л ек с н ы и   р а с п о л а г ю тс

й

й   и з   ком

й

й  вке

-

я   в  п о р яд

-

В   ч и сл о   в с рт о е н н ы х   н фу к ц и й  вохядт :  ид с к р ент о е   п р ео бр аз о в ан и е   Ф р уь е  — f ft,  св еркт а  —  conv, р а б о т а   с о  з квуо м  —  sound  и  м н о ги е  дргуи е .  П о др о б н о о   н и х   н ап и сан о   в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  ине жо иплр  1.  С а м о с т яел ь н о   о   н фу к ц и я х   о б р а б о тк и ад н н ы х   м ож н о   з у н а ьт ,  н а б р а в   в   к о м а н нд о й   с рт о к е   к о м ан д у   h elp  datafun и л и   о б р а ти в ш и с ь   к  пн у кт у zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF   Data Analysis  and  Fourier Transforms   п о рд а з едл а Mathematics   р а з де л а   Functions  — Categorical  List  и н етр а к ит в н о й   сп рав о ч н о й с и ем т ы   M ATLAB.  В   п осюлуед щ и х   р а з ед л а х   о п и сан о   п р и м ен ен и е  фн у кц и й о б р а б о тк и   да н н ы х   к  м арти ч н ы м  да н н ы м .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM

Пр и м е ча н и

е

Д о п л н и ле ь т н ы е   н ц ку ф и и   с жр т а е о д я   в   с п ц е и ал з и р о в ан ы К о м ан д а   h elp  st a t s  вы иод т   в   к о м ан д о е   окн н у фк ц и й ,  п ну отсыд х   в .  MATLAB,  л с е и   анст уовк Statistics  Toolbox.  оелБ е   п р о бн д у ю   и н о р фм ца и р аз ле д а   Statistics  Toolbox  и н реактвн о й  сп равочн о

о э П л е м е нт ы

е  опе ра иц

и  с  ве тк ора м

В  п рыед щ у и х   р а з де л а х   в е к от ит ч ес к и х   фн у к ц и й , р ез луь ато ным и   з н ач ен и я м   н фу к ц и и  о т р а .  Т а к и м   образ ом ,  п р о и сохид л фн у к ц и .  В   эот м   р аз едл е   п о др о б н работ ы   с  в е к то р а м и ,  к о т р ы о п р е дл н и я  со бсвтен н ы х   н фу к ц и В в еи д т

е   вд е  в ек от р - с рт о к и

»  vl  = [ 2 - 3  4  1]; » 

v2  =   [ 7  5  - б   9 ] ;

:

р   и сп о ль з о в алс м   котры   с о в т ес ю у щ и

и х   яв л с

о   е тн о м е л э п о о   о п и сан е   п о н а од б я с т й  и  п о срт ен и

х   Toolbox. о   пс и о к   и т кс а ч е х а   MATLAB  вклю чеа т ю   м жо н о   п очре н т у ь  и з й  смиеы тс .

я   в  к ач есвт я   в е к от х   э л е м н от   в ы ч и с л ен и ы   воз м ож н ост я   в   ад л ь н е й ш е м я  и х  г р а ф и к о в

е   а р гм у е н т р   с  э л ем н ат м и в   и с о х дн о г е   в ы з ы в аем о и   п о э л е м н нт о ,  в   ч а с нт о с ит .

а   м еа т

, р а в

-

о   в е к от

й й ,  лд

я

л ав Г

 2. Рабо т а

  с  м ас и вам и

я   . * (н е  в сатв ляет у   м ун о ж ен и я   в е к от р   с   э л е м н ат м и в  и осндх ы х   в е к то р в

О п ер ац и п о э л ем н т о м ч л у а се т э л ем н от

63 zyxwvutsrq

 

е   п робе ю   в е к от р

л   жм д е

у   от ч к о

й   и  з в ез до ч к о й ! й   дл и н ы

в   о ди н а к о в ,  р а в н ы м

)  п р и в о ди

т  к

.  В   р ез луь ат ю   с о вт е с ю у щ и

и   п р о и з в е дн и

е   п ох

:

»  u  =  vl.*v2 u = 14  - 15  - 24  9 Пр

и   . Л   ощсу есвтля

и  п о м щ р   =   vl .

» 

/ N

я   п о э л ем н т о

е  в о з в едн и

е  в  сетп н ь

:

2

Р   = 4  9  16  1

П о к а з а ет л с е пт н ь рав н у

.  П р ю   с о в т ес ю у щ е м

» 

м   епс т н и   эот

и   м ож е м   к а ж ыд

т   бы т й   э л ем н у   э л ем н т

ь   в е к от т   п ер в о г у   в то р о г

р   от й   ж е  дл и н ы о   в е к то р о   в е к то р а

, ч т о   и  в о з в о ди м ы а   в о з в о ид с т :

й  в я   в   с етп н ь

,

/ 4 Р   =  vl. v2

р   = 1 2 8 . 0 0 0 0  - 2 4 3 . 0 0 0 0  0 . 0 0 0 2  1 . 0 0 0 0

Д ел н и с те

е   с о вт ес ю у щ и я  с  и с п о л ь з о в ан и е

х   э л е м н от в   в е к от р в   о ди н а к о в й  дли н ы  в ы п о л н я м   . / zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC

»  d = vl./v2 d = 0.2857 - 0.6000 - 0.6667 0.1111 О б р а тн о о вт ес ю у щ и

е   п о э л ем н т о

е  дел н и е   э л е м н ыт

 п ер в о г

е   (делн и ) ощсу есвтля

е  э лем н от я   пр

в   в то р о г и  п о м щ

о   в е к то р и   . \

а   н а  со -

>> dinv = vl.\v2 dinv = 3.5000 - 1.6667 - 1.5000 9.0000 И та к б ей вог

, то ч к а   в   MATLAB  и сп о ль зсету , н о   и  дл я   куаз н и я  то г о ,  ч т о   едл н и о  р а з м е р а  до л ж н о   бы т ь   в ы п о лн ен

К   п о э л ем н т ы то р а   и   ч и с л ч и сл о   к  кажодм н ия :

м  о нт о с ят а   н е   п р и в о ди у   э л ем н т

»  v  =   [4  6  8  10]; »  s  =  v  +   1.2

я   и  о п ер ац и т   к   с о б щ ен и у   в е к то р а

я   н е  то л ь к о   лд я   в о д а   ед с я и т ч н ы е   и л и  умн о ж ен и е   м ас и в о о  п о э л ем н нт о .

х   др о

-

в  о ди н а к о

и  с  в ек от р м   и  ч и с ло м . С ло ж ен и е  век ю   о б   ош и бке .  M ATLAB  п р и б а в л яе .  Т о   ж е   сам о е   с п р а в е лд и в о   и  дл я   в ы ч и ат

т -

64 

аЧс т ь

 I. Ос но вы

 р аб о т ы

 в  M ATLAB zyxwvutsrq

s  = zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

5.2000 7.2000 9.2000 11.2000 »  si = 1.2 + v si = 5.2000 7.2000 9.2000 11.2000 »  г  = 1.2 -  v г  = - 2.8000 - 4.8000 - 6.8000 - 8.8000 »  rl = v -  1.2 rl =

2.8000 4.8000 6.8000 8.8000zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG мУ н о ж а т

ь   в е к то

р   н а  ч и сл

о   м ож н

о  к а

к  с п р а в

, та

к   и  слев а:

»  V  =   [4  6  8  10]; » 

р   = v * 2

Р  = 8  1 2  1 6  2 0 » 

p i  =   2 * v

p i  = 8  1 2  1 6  2 0

Дели т

ь   пр

» 

и  п о м о щ

и   з н ак

а   /  можн

о   в е к то

р   н а  ч и с л о

:

р   =   v/ 2

Р  = 2  3  4  5

П о п ы кт

а  делн и

я  ч и сл

а  н а  векотр- рсотк

у   п р и в о ид

т  к  со бщ ен и

ю  о б  о ш и бк е

:

»  р  = 2/v ??? Error using ==> /

Matrix dimensions must agree.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE

JT 

Пр и м е чан и

е

П р и   де л н и и   ч и сл а   н а  в е к то р - с то л б е ц   со бщ ен и е   о б   ош и бк е   н е   в ы да е тс я . Э т о   св яз ан о   с  те м , ч т о  в   да н н о м   с лчу а е   п р о и с ох д и т   р еш ен и е   с и с ет м ы  л и н ей н ы х   ру а в н е н и й   с  п р я м о уг о л ь н о й   м а тр и ц е й ,  в   к о т о р о й   ч и сл о   н еи з в ес т н ы х   п р е в о с ох д и т   ч и сл о   ру а в н е н и й .  Р еш ен и е   с и се т м   ли н ей н ы х   ру а в н е н и й раз обран о   в  гzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ав е л  6. Е сл з ул ь т а

и   т р е б уе т с т   в  н овы

я   р а з де л и т й   в е к то р

ь   чи сл , т о   с л е ду

о   н а   к а ж ды т   и сп ольз оват

й   э лем ен

т   в е к то р ь   оп ерац и

а   и   з ап и сат ю   . / .

ь   ре

-

л ав Г

 2. Рабо т а

  с  м ас и вам и

65zyxwvutsrq

 

»zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   w  =   [ 4  2  6] ; » 

d  =   12. / w

d  = 3  6  2 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Вс е   в ы ш ео п и с а н н ы в е к от р - с от л б ц а м Р аз б ер м то р э л е м н ат м е лд я с т йв аоынипртс п р и м ер

е   о п ер ац и

и   п р и м ен и м

ы   к а к   к   в е к от р - с рт о к а м

,  ат к   и   к

.

,  к а к   п р а в и л ь н ы   в   M ATLAB.  Д л и   (в   ч аснт о ст я   к а к   в е к от р - с рт о к

о   тр а н с п о н и р о в а т ь   и   в ы ч и с л ят ь   с о п р яж ен н ы е   в ек я   в е к то р - с то л б ц а м ,  к   п ри м ер у   с  трем я   к о м п лек с н ы м и  ыне ж япрос  к  н ме у   и*  о п р е и   и  с  в ещ есвт н н ы м и ) , йzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ а   и з   ег о   к о м п л е к с н о - с о п р я ж е н н ы х   э л е м н то в ,  а  и Т   —  п р о с т о   к а к   в е к от р - с рт о к а   и з   ег о   э л е м н от в ,  н а :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

"2 +  3/" 1- 2/

т ,  и * =  [2- 3/ 1 +  2/  3- 2/ ],  и   = [2 +  3/ 1- 2/   3 +  2/ ].

3 +  2/ нА а л о ги ч н с тр о к и то л ь к со в п адю т

о   о п р е дл я с т ,  п р и в о ядщ е о   и з  дей свти етль н ы .

Д л я   н о а хж е д н и а  дл я  тр а н с п о н и р о в а н и

я   с о п р яж ен и е   к   в е к от р - с от л б ц у х   ч и с ел я   с о п р яж ен н о г

, о п ер а ц и о   в е к то р т  п р и м ен ят

я  се улд

е   и   тр а н с п о н и р о в а н и .  Я с н о ,  ч т о   лд и   с о п р яж ен и

е   лд я   в е к то р о в я   и  тр а н с п о н и р о в а н и

я   в е к от р ,  со тящ и

х я

а   в   MATLAB  и сп о ль з есту ь  точ к у   с  а п о с тр о ф м

я   а п о с тр о ф , :zyxwvutsrqponmlkjih

»  и  =  [2 + 3i; 1 -  2i; 3 + 2i]; »  V = U' V = 2.0000 -  3.0000i 1.0000 + 2.0000i 3.0000 -  2.0000i »  v = u.' V = 2.0000 + 3.0000i 1.0000 -  2.0000i 3.0000 + 2.0000i

О п ер ац и з л у ь ат м ж ен и

 f

и   .   и   '  н а д   в ещ есвт н н ы м .  П о э л ем н нт ы и  все й  к н и ги .

о Пс т р о е ни О от б р а ж е н и н еб о л ь ш о

е   в ы ч и с л ен и

е  т албиц е   н фу к ц и е   к о л и ч е с вт

и   в е к то р а м я   с   м ас и в ам

и   п р и в еу д и   и с п о л ь з ю у ст

ы  зна еч ни и   в   ви д о   з н ач ен и

е   та б л и ц й  фну к ц и

т   к  о ди н а к о в ы

й  фицунк ы   до у б н о

я   н а   п р о ят

-

и ,  сле

.

м   ре -

и   и м се т

я   с р а в н и ет л ь н

о

66 

аЧс т ь

П сту

ь  требсту

я   в ы в ес т

е  о к н

о  таб л и ц

 в  MATLAB zyxwvutsr

 работы

у   з н ач ен и

й  фн у к ц и

и

/   ч   sin  х zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH   - х  л у( х)   =  +  е   М п д ; l +  cosx х   0.2, 0.3, 0.5, 0.8,  1.3,  1.7,  2.5. З а д ч а   р е ш а ес т я  в  дв а   э та п а .

в  то ч к а 1.  С о з да й т

е  в ек от р - срт о к

2.  В ы ч и сли т

е   нф у к ц и

п о чл уе н ы ви ль н о в е к от р - с рт о к в ы п о л н я ьт с » х

и   в  к о м а н дн о

 I. Ос но вы

у   х , соедр ж ащ у

ю   к о р ди н а т

ю   у ( х )   о т   к а ж од г

о   э л ем н т

е   з н ач ен и ! Н е о б х ди м

я  в   в екотр - срто к о   н ай т и  з н ач ен и и   х ,  п о э т м у   о п ер ац и я  п,тнео ме лэо  ка к  б ы л

ы  з а д н н ы а   в е к то р

х   от ч е к

.

а   х   и   з ап и ш и т

е

у   у .  В аж н о   то л ь к о   с едл а т ь   э т о   п ра я  фн у к ц и и  дл я  к а ж до г о   и з  э лем н от в и   в   в ы р аж ен и и   л д я   н фу к ц и и   од л ж н ы о   о п и сан о  в  п реыд щу и х   р а з де л а х .zyxwvutsrqp

=  [0.2 0.3  0.5  0.8 1.3  1.7 2.5]

х  = 0.2000  0.3000  0.5000  0.8000  1.3000  1.7000  2.5000 »  у  = sin(x).Л 2./(1 + cos(х) ) + е( рх - ) х .*log(x

)

У  = - 1.2978 - 0.8473 - 0.2980 0.2030 0.8040  1.2258  1.8764

О б р а ти есп т н в ы в о ид с т

е   вн и м ан и е ь   % дел н и я   с о б щ ен и

, ч т о   п р и  п о п ы кт е  и с п о л ь з о в ан и я   /  и  умн о ж ен и я   *  (к о т р ы е   н е  о нт о с ят е  о б  о ш и б к е  уж е   п р и  в о з в едн и

»  у  = sin(x)/42/(l + cos (х ) ) + е( рх - х

я  о п ер а ц и

й  в о з в едн и я  к  п о э л ем н нт ы м и   sin(x)  в   к в а др а т

я  в ) :

) *log(x)

??? Error using ==>  Л Matrix must be square.

Д ел м а рт и с е тп н ь

о   в  то м , ч т о   в   MATLAB  о п ер а ц и ц   с о в т ес ю у щ и х   р аз м ер о , о  че м  н а п и с а н о  в  р а з дел а х

Т абли ц н и я  фну к ц и

е   м ож н

о   п р и да т

ь   бо ле

и  н еп о ср едвт н н

 Л

и   * и   п р и м ен яю ст в   и   в о з в е дн и ,  п о св ящ ен н ы

е   од бу н ы о   п о д  з н ач ен и ям

й   лд

я   ч е нт и и   а р мг у е н а т

я  дл

я   к в а д р тн о х  р а б о т я   ви д

я  п ер м н о ж ен и й   м а рт и ц е   с  м а тр и ц а м и , р а с п о л о ж и :

я ы  в . в   з н ач е

-

>> х X = 0.2000  0.3000  0.5000  0.8000  1.3000 1.7000  2.5000 »  У У  = - 1.2978 - 0.8473 - 0.2980 0.2030  0.8040  1.2258  1.8764

Ча с т о  трсетбу я   в ы в ес т о т  дргу а   н а  р а в н о е  р ас отян и

и   з н а ч ен и

е  фн у кц и е  (ш аг)

и  в  точ к а . П р епд о л ж и м

х   о рт е з к а , чт о   н ео бхид м

, осто ящ и

х   рд у о   в ы в ес т

г и

л ав Г

 2. Рабо т а

а тб л и ц

 с  м ас и вам и

у   з н а ч ен и

н о ,  в сет

й  фн у кц и

и   у( х) н

и   в е к о тр - р с о т к

к о м а н дн о й   с рт о к ш е .  О дн а к о   сл е работ а   п о  в в о д

67zyxwvutsrqpo

 

а   о р те з к

у   з н а ч ен и

е   [1, 2]  с  ш аго

й   а рм г у е н т

м   0.2.  М о ж н о

, к он еч

-

а   х  =  [1,1.2,1.4,1.6,1.8, 2.0]  и з

и   и  в ы ч и сли т ь   вс е   з н а ч ен и я  фн у кц и и  та к , к а к   о п и с а н о  вы и   ш а г   е д бу т   н е  0.2,  а ,  н а п р и м е р , 0.01, т о   п р есдот и т   боль ш а я у   в е к то р а  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA х .

В   MATLAB  п рсеумд ортен котры х   о лт и ч а ест ш аг .  Д л я   в о д а   ат к и р а  п р и в о дя т  к  о ид н а к о в ы

о   п рост я   о т   п р еш д е с вю т у щ е г х   в е к от р в   ж с ли у м  в ек от р - с рт о к а м

е   с о з ад н и

е   в е к то р о в о   н а   п о с т ян н у

,  к аж ыд й   э л ем н т ю   в ел и ч и н у ,  т . е . .  С юлеуд щ и е   дв а   о п е р а т о :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP

т   дв о е т ч и е

»  х  =  [1, 1.2, 1.4, 1.6,  1.8,  2.0] 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 »  х  = 1:0.2:2 х  = 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000

с Ул о в н

о   м ож н

х  = но н ь л а ч

Н е о б я з а ет л ь н ш аг ю уд щ ег

о  з а п и с а т

ь

е  и н е ч а н з

а   р ав н ял ас о   о п е р а то р

е   : а ш г   : ко н ч е н о

е  и н е ч а н з

я   о   то м

ы   мсу

о   з а б о ит ь с ь   б ы   к о н еч н о м а  п р и с в а и в а н и

,  ч отб у   з н ач ен и ю я

е

а   п р е пд о с л е нд е г ;  н а п р и м е р

о   з н ач ен и ,  п р

я  и

и   в ы п о л н ен и

и   с ле

-

»  х  = 1:0.2:1.9 х  = 1.0000 1.2000 1.4000 1.6000 1.8000

в е к от р - с рт о к н ам

а   з а п о л н и ст е  з н а ч ен и е

и  к о н еч н о

я   д о   э л е м н ат . Ш а г  м ож е

т   бы т

,  н е   п р ев о схядщ ег ь   и  о тр и ц а те л ь н ы м

о   о п р едл н н о :

е

»  х  = 1.9:- 0.2:1 х  = 1.9000 1.7000 1.5000 1.3000 1.1000

В   сч л ау и л и  р а в н

е   о тр и ц а те л ь н о г о  к о н еч н о м

П о п р о б йу т н аю щ и м и с е т   з ап олн и т рован и я

е   с а м о с то я те л ь н о   з ап олн и т ь   в е к то р - с то л б е ц   э л е м е н та м и , н а ч и я   с  н л у я   и  з а к а н ч и в а ю щ и м и с я   0.5,  с  ш а го м   0.1. Д л я   э то г о   у с л ед ь   в е к то р - с тр о к у ,  а   з а ет м   и сп оль з оват ь   о п ер ац и ю   тр а н с п о н и :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

»  х  = 0

х   =  ( 0 :0 . 1 :0 . 5 )'

у  дл

о   ш аг я   п о чл у е н и

а   н ач ль н о я   н е п ос т у

е   з н ач ен и й  в ек от р - с рт о к и

е   до л ж н

о   бы т .

ь   бо ль ш

е -

аЧс т ь

  I. Ос но вы

 р аб о т ы

 в  MATLAB zyxwv

0.1000 0.2000 0.3000 0.4000 0.5000zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

О б р а ти е   вн и м ан и е ,  ч т о   э лем н т ы   в е к то р а ,  з а п о л н я е м о г о   п р и   п ом щ дв о е т ч и я ,  м о гу т   бы т ь   то л ь к о   в е щ е свт н н ы е ,  п о э тм у   л д я   тр а н с п о н и р о в а н и я   м ож н о   н абрат ь   з н а к   а п о с тр о ф а   в м ес т о   от ч к и   с   а п о с тр о ф м .  К рглуы ск о б и   и сп о ль з о в ан ы   н е   с лч у а й н о ,  бе з   н и х   о п ер а ц и я   тр а н с п о н и р о в а н и п р и м ен и л а с ь  б ы  то л ь к о   к  чи сл у   0.5, и  в  р ез луь ат е  в ек от р   х  бы л  б ы  с тр о к й Ш аг п о л н ен и

,  р а в н ы

» 

и е я .

й   е ид н и ц е ,  одп сук ает я   н е   куа з ы в а т ь   п р и   а в от м а ит ч е с к о м   за :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

х   =   1:5

х  = 1 2  3  4  5 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Пр и м е чан и



е

Вы ш е  м ы  рсамрлеот п р и   о э т м   с т е а оз д с п т е ьо л з у я  дл я  внелы ид В ы в ие д т

е   етп р

и   и ц на к с е д я   во к е т

ь   ат б л и ц

ю  пр и  п омщ в   с   н оп я т с ы х   м нэ е л о т

р   и но к с е д я  ннж ы у

у   з н ач ен и

й  фн у кц и

и  двочети я

. Очвеинд о ,  корты

м   ш оа г м .

в  векорта

, чт о й   ис -

и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM

е х   sinlQx у( х)   = ~ н а  о рт ез к

е   [0,1J  с  ш аго

1.  С фо р м и р йу т

е  в екотр - срто к

2 . В ы ч и сли т э л ем н т о

у   х  п р

е   з н ач ен и е  умн о ж ен и е)

3.  З а п и ш и т

е  р ез луь ат

4.  В ы в еид т

е   х  и   у .

Р е з л у ь ат

м   0.05, п р о и з в ед

т  в  в екотр - срто к й   н а  э к р а н е

»  х  = 0:0.05:1; »  у  = е( рх - ) х .*sin(10*x) X = Columns  I through 7

и  п о м о щ

;

е   де й с в т и я и  дв о е т ч и я в   х   (н е  з а бьду т

я   у( х )   о т   э л е м н от .

,  о т б р а ж е н н ы

»  х

я  сюлуед щ и

: . е   и сп о ль з о в ат

ь   п о-

у  у . , н е  оч ен

ь  н а п о м и н а е

т   та б л и ц у

:

л ав Г

 2. Рабо т а

 с  м ас и вам и

69 zyxwvutsrq

 

О  0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 Columns 8 through. 14 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 Columns 15 through 21 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1.0000 »  У У  = Columns 1 through 7 0 0.4560 0.7614 0.8586 0.7445 0.4661 0.1045 Columns 8 through 14 - 0.2472 - 0.5073 - 0.6233 - 0.5816 - 0.4071 - 0.1533 0.1123 Columns 15 through 21

0.3262 0.4431 0.4445 0.3413 0.1676 - 0.0291 - 0.2001zyxwvutsrqponmlkjihgfedcbaZYXWVUTS

В е к от р - с рт о к и   х   и  у   со тя т   и з  дв а дц а т и   о дн о г о   э л е м н ат ,  н е  п о м ещ аю ст н а   э к ран е  в   онд у   ср т о к у   и  в ы в о ядст я   п о  ч асятм .  Т а к  к а к  х   и  у   рха н яст в дм у е р н ы х   м ас и в а х   оид н  н а  дв а дц а т ь   о ди н , т о  в ы в о ядст я   п о  с то л б ц а м жы д й  и з  к о т р ы х   со ти т  и з  о дн о г о   э л е м н ат . С н а ч л а  в ы в о ядст я   с от л б ц П р еВ О Г н а дц а ты п ервы

я я  в , к а ы  с

О   П О  СЬМДО е Й  ( C o lu m n s  I  t h r o u g h  7) , З а т е м   —  С  ВГ ЬМОС О   П О  Ч е т ы р й   ( C olu m n s  8  t h r o u g h  14) , и   н а к о н е ц  —  с   п я т н а д ц а т о г о   п о   дв адц ат ь й   ( C o lu m n s  15  t h r o u g h  2 l ) .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH

^ zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA П р и м е ча н и е   ^Д К о л и в ч с ет р аз м е Онд и вуд о р ди н а т

м   и з  с п о с б о х   с то л б ц о в :

»  [X' yf] ans = 0 0500 0. 0.1000 Д але е   в  эот й  гл а в ит м с я  к  п р о сетй ш и р о е  ч ас т о   я в л се т з н ач ен и й .

о  эмлен овт и  окн а  и  формат в   п о чл у е н и ,  п ерв ы

, вы иводмы

х   в  он д а  дан ы х

м  вы вод я   та б л и ц

й   и з  к о т р ы

у   р о к у ст

, с теял опдер

ы   яв л сет

я   фо р м и р о в а н и

х   с о е др ж и

я   щ ку е и т м

и

. т   з н ач ен и

я   абсц и с

е  м а рт и ц , а  в то р

ы  и з й  —

0 0.4560 0.7614 е   м ы  улеид м   д о с та о ч н м   сп ос ба м   гр а фи ч е с к о г я   бо ле е   н а г л я нд ы

о   в н и м ан и м   и  уодбн ы

я  м а тр и ц а м о   п р е сд а т в л е н и м   п о  ср ав н ен и

, а  п о к я   нф у к ц и й ю  с  та б л и ц е

а   обра , к о т

й  е е

70 

аЧс т ь

оП с т р о е н и

е  гиорка ф

и ц ун к ф

и  онод

  I. Ос но вы

 в  MATLABzyxwvu

 работы

в й  пе р м е но

й

MATLAB  о б л а д е т   ох р ш в и з а ул и з а ц и и   да н н ы х .  Г р а фи к р а з ед л е   о п и сан о   п о с рт о е н и н о й  н а  п р и м ер е  фн у к ц и и

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

о   р а з в и ты м

и   гр а фи ч е с к и м е  в  MATLAB  п о св ящ ен е   п р о с ет й ш е г о   гр а фи к

и   в о з м о ж н о с тя м и   лд я а zyxwvutsrqponmlkjihgfedcbaZYXW  гав л  3. В   н асотящ е м а   н фу к ц и и   о нд о й   п ер м н -

х

у( х)   = ~ е   s'mlOx, о п р е дл н н о со ти

й   н а  о рт ез к т   и з  сюлуед щ и

1.  З а дн и

х   э та п о в

е  в е к то р

а   з н ач ен и

2.  В ы ч и слен и

е   в е к то р

3.  В ы з о К ом ан д то ч к о (п о сл в ы в о ди ж ен и » 

е   [о , i] . В ы в о :

в   к ом ан д

д   о т б р аж ен и

й  ар мгу ен т а   у  з н ач ен и

ы  p lo t  лд

ы   лд я   з а д н и я   в е к то р й   с   з а п я то й   л д я   п о ад в л е н и е   к о м ан д ы   p lo t  отч к т   в   к о м а н дн о е   окн о) е   . *

и  в  в и д

е   гр а фи к

а

а  х . й  фн у кц и

я   п о с рт е н и

я   н фу к ц и

и   у( х ) . я   гр а фи к а

.

а   х   и   в ы ч и с л ен и я   н фу к ц и я   вы вод а   в   к о м а н дн о у   с  з ап яотй , сатв и т ь   н е   н жун о е   и сп о ль з о в ат . Н е  з абьдут

и   чл у ш е   з ав ер ш ат ь е   окн о   и х   з н а ч ен и й ,  т .  к .  о н а   н и ч ег о  н е ь   п о э л е м н нт о е   м ун о -

х   =  0 : 0 . 0 5 : 1 ;

» 

у   = 

» 

p l o t ( х , 

е хр ( - х) . *si n ( 10 *x)

П осл нф у к ц и м е н от о п и сан е д бу ес й т ш и

е   в ы п о лн ен и ,  и з о б р а ж ен н о в   и   о бласт ы   к о м а н ды т   и н ет р с о в а т е  в о з м о ж н о с т

;

у )

я   к ом ан

д   н а   э к ран е   п о я в л ес т я   окн о   Figure  1  с   гр а фи к о м е   н а   р и с . 2.2.  О к н о   с о едр ж и т   м ен ю ,  п ан ел ь   и н р с ту ь   гр а фи к а .  В   авег л  3,  п о св ящ ен н о й   гр а фи к е   в   M ATLAB, ,  п р енд а з н а ч ен н ы е   лд я   о ф р м л е н и я   гр а фи к а .  С ей ч а с   на с ь   са м   п р и н ц и п   п о с рт е н и я   гр а фи к о в   и   н ек о т р ы е   п ро и   в и з а ул и з а ц и и   нф у к ц и й .

ы   бы т ь Д л я   п о с рт о е н и я   гр а фи к а   н фу к ц и и   в   рабо ч е й   с р ед е   M ATLAB  до л ж н о п р е дл н ы   дв а   в е к т о р а   о ди н а к о в й   р а з м е р н о с ти ,  н а п р и м е р   х   и  у .  В екот р  х с о ед р ж и т   з н ач ен и я   а р г м у е н то в ,  а   у —  з н ач ен и я   н фу к ц и и   о т   э и т х   а рм гу е н то в .  К о м а н д а   p lo t  со еид н яе т   от ч к и   с   к о р ди н а т м и   ( x( i) ,  y( i) )  п р ям ы м и ли н и ям и , а в от м а ит ч ес к и   м а с ш ат б и р у я   ос и  дл я   о п ти м а л ь н о г о   р асп о л ж ен и я гр а фи к а   в   окн е .  П р и   п о с рт о ен и и   гр а фи к о в   о д уб н о   расп ол ж и т ь   н а   э к ран е к о м а н дн о е   окн о  MATLAB  и  о к н о  с  гр а фи к о м   та к , ч от б ы   о н и  н е   п ер к ы в а ли сь . Н а п р и м е р , и сп о ль з у я   кн оп к у  Dock Figure  (с п р ав а   в   с рт о к е   м ен ю  о к н а ) , м ож н о   в с тр о и т ь   гр а фи ч е с к о е   окн о   в   рабоч у ю   с р де у   та к ,  к а к   п о к а з а н о  н а р и с .  2.3.

л ав Г

 2. Раб о т а

  с   м а с и ва м и

71

*Ф  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Figure 1 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA File  Edit  View  Insert  Tools  Desktop  Window  Help

0.1 

0.2 

с иР

^^  Дл

Пр и м е чан и

я   н ч е п и у ло

0.3 

0.4 

0.5 

0.6 

0.7 

0.8 

0.9 zyxwvutsrqponmlkjihgfedcba

. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  2.2. Пйше итсор й  ги фар к нцик у ф и

е   ^Д я   л е ь нд о т г

о   р и а фг ч с е к о

о   окн

а  е у делс

т   н аж т

ь   н а  кн оп к

у

Undock Figure.

П о с рт е н н ы й   гр а ф и г л а кд я .  Дл я   от ч н о г ч и сл е  точ е к   н а   ортез к Н е  з ьадебту ,  ч т о   м ож н ыд ,  зеат м   о р т е ад к и т р о в а т м а н ыд : » 

к   н уф к ц и и  н е  долж е о   п о рс т е н и я   гр а фи к е   [О , l] , т . е . з адй т о  з ан ест и  в  к ом ан д у ь   и х   и   в ы п о л н и ьт

х   =  0 : 0 . 0 1 : 1 ;

>>  у   =   е х р ( - х ) . * s i n ( 1 0 * x ) » 

p l o t ( x , 

у )

;

н   и м те ь   и з ло м в , т . к .  сам а  фн у кц и я а   в ы ч и сли т е   н уф к ц и ю   в   бо ль ш е м е   м не ь ш и й  ш а г   п р и  в в о д е   в е к от р а  х . ю   р со т к у   в ен д ы е  р ан е е  к о м ан ,  н аж в   . Сю улед щ и е   ко -

  I. Ос но вы  работы  в  MATLAB zyxwvu аЧс т ь 72zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

п р и в о яд ж ен о гр а фи к а

т   к   п о с рт о е н и ю   гр а фи к й   н а  р и с . 2.4  (дале е   в   кн и г , бе з  з а г о л о в к а   окн а , м не

а   н фу к ц и и   в   ви д е   п лав н о е   п очт и   в сю д у   п р и в о ди ст ю  и  п ан ел и  и н сртму ен от в )

й   кри вой ,  и з о б р а я   то л ь к о   о бласт ь .zyxwvutsrqponmlkjihgfed

File  Edti  Veiw Insert Toosl  Debug Desktop Wnidow  Hep l zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH ?  7\   2i zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB У   Current Directory:  [e

О   ГС

Shortcuts  iil  How to Add   Ј]'What's New  Latest

I */  Fg iures -  Fg iure 1 ia"3 а  в   а  • a zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED TZ File  Type  j LajtModifi Folde 24.07... work_2 Folde 30.07... Work_4 Folde 30.07... LJ work_5 Folde: 24.07... __|Uork_6 Folde: 30.07... Folde: 30.07... LJwork 7 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA c e l l p r o .  .  File 23.07... cel AS. V  ;lpro...  Curent Driectory 1 Workspace)

a

h-p -  2/v  —» 0.4 0.6 0.8 j x -   [0.2 0.3  .5 0.8 1.3 1.7zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK  '< 0.2 Л  0 r -y -  sin(x) 2/ (1+cos (x) ) +exp  ( -: ) x = 0:0.05:1; E r r o r  u s i n g  ~~>

ќ у  = exp(- x) .*sin(10*x); plot(x,  y) - p  -   2/v Л у   =  s in( x ) 2 / ( 1 + с о з ( x ))+ e x p( ~~x  =   0 : 0 . 0 5 :  1; у   •   e x p  ( - x)  . * s i n ( 1 0 * x ) ; p l o t ( x ,  y)

:

>>   x   =   0 : 0 . 0 5 : 1 ; у   =   e x p  ( - x)  . * s i n ( 1 0 * x ) ; p l o t ( x ,  y)

ф   Start  1

с Ри

.  2.З . Рн ежоиплса

Пр и м е ча ни

^  П р о с не т и

е   р г а иф к

С р ав н ен и

е  н ес к о ль к и х   о с ях

а  с  гиокфар

м  в  онк

е   MATLAB

е

Workspace.  Э т

н а  онд и

е  онк

а   м жо н а  воз м жн ост х   н фу к ц и

. Н а п р и м е р

о   щ ви у ос т е ь  расрмит ве й  уод б н

, п о с тр о й т

ь   с   п ом щ ь я   в  сю щу де л о   п р о и з в о д и ть е  н а  о ртез к 1 — X

ю   и мн е р у о с т

, о то б р а з и е   [- 1, - 0.3J  гр а фи к 1.2 — X

в   окн й   лга в е

а

. в   и х  гр а фи к и  фн у к ц и й

и

л ав Г

 2. Рабо т а

и  п о м щ

пр

73 zyxwvutsrqpon

 с  м ас и вам и

и  п о с л еод в аетл ь н о с т

и   к ом ан д

» 

х   =  - 1 : 0 . 0 0 5 : - 0 . 3 ;

» 

f  =   s i n ( x . A - 2 ) ;

» 

/ 4 g  =   s i n ( 1 . 2 * x . - 2 )  ;

» 

p l o t ( x , 

f, 

0 2 

Рис я   гр а фи к и е  о  п о в едн и

й  н и ж е

:

g) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

x , 

D.1  

П о лч у и в ш и е с л ен и

, п р и в едн н о

2.3 

. 2.4. Гик д ал , п р и в едн н ы

и   и е м с ул ы д

х   нф у к ц и й

MATLAB  в ы в о ди т   гр а фи к ч ате т   гр а фи к и   раз ли ч н ы м К ом ан д а  p lo t  п о з в о л яе

и   раз н ы и   о ет н к а м т   л е гк о   з адт

0*1  

0 5 

0.S 

й  ги фар

к  фнцик у

м   ц в е от м и   с ер о г

0.8 

0.9 

1

и

. 2.5, да ю

е   н а  р и с .

ь   си т л

0 7 

т   н а г л я дн о

.  М о н о рх м н ы й   п р и н ет о   ц в еа т ,  ч т о   н е  в сегд ь   и  ц ве т  л и н и й , н а п р и м е р

е   п р е сд а т в р   н ап е а   до у б н о ,

.

»  plot( x,  f,  'k- ',  x,  g, • k: о щ с у е св т л я т   п о с рт о е н и рого —  ч ер н о й   п н у к ит р н о и   ц ве т   п ер в о й   и   в то р вд о е т ч и е   —  сп лош н у п о с рт е н и е   гр а фи к о фи к о м   м ож н о   з а к р ы ть н е м  улгу .

е   п ер в о г о   гр а фи к й   (р и с . 2.6).  рмгАуен т й   ли н и й .  Зесд ь  к ю   и л и   п н у к ит р н у в   п о др о б н о   о п и сан ,  н аж в   н а   кн оп к

а   сп ло ш н о  о з н а ч е ю   ли н и ю ы   в   ю с лу е д щ и у   з а к р ы ит

й   ч ер н о й   ли н и ей , а   в от ы   ' к - 1  и   ' к :  •   з а д ю т   си т л ь т   ч ер н ы й   ц в ет ,  а   едфи с   ил и .  В и з аули з ац и я   ад н н ы х  и х   гл а в х .  О к н о   с   гр а я   окн а   в   ег о   п р а в о м   в ер х -

аЧс т ь  I. Ос новы  работы 74 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

- 0.9 

Рис

- 0.8 

. 2.5. Д в

П о с тр о е н и в е к то р а м и дл ны

е   гр а фи к о —  н ео б хди м я   а в то м а ти ч е с к о г е  о п ер а ц и

и   лд

. 2.6. И з м ен ен и

- 0.7  е  ситл

в   н фу к ц и о   м уе т о   з ап о лн ен и я   в ы ч и с л ен и

а  гр афи к

- 0.8 

- 0.9  Рис

- 0.7 

 в  MATLABzyxwvu

- 0.6 

- 0.5 

- 0 . 4 - 0 . 3zyxwvutsrqponmlkjihgfedcba

а   н а  онд и

х   о ся

х zyxwvutsrqponmlkjihgfedcbaZYXWV

- 0.6 

- 0.5 

я   и  ц вет

а   ли н и

й   в   MATLAB  ртеб у ь   в о ди т ь   в е к то р ы я   с  з а д н н ы м   ш а го м я   н фу к ц и й   о т   в е к от р

- 0.4  - 0.3

й   гр а фи к о т   п о н и м ан и ,  и с п о л ь з о в а т ,  п р и м ен ят а   з н ач ен и

в я   работ ь   дв о е т ч и ь   п о э л ем н т й   а р г м у е н ат

ы   с е .  Вс

е

л ав Г

 2. Рабо т а

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 75zyxwvutsrqponm

 с  м ас и вам и

э т и  в о п р о с ед а т л ь н о м м ун о ж ен и

ы   бы л у   и сп о ль з о в ан и ю   в е к то р в

и  р а з о б р а н

м У н о еж н и

ы  в ы ш е . Д в е   юслуед щ и е  гл а в ы   п о с в ящ ен ы   боле е ю   гр а фи ч е с к и х   с р е тд в   п ак ет .  П ер й ед м   е тп р ь  к .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

е  вет кор

В ек от н аз ы в аю п р о и з в едн и е то р н о г

р   м ож н

о   мун о ж и т т   в н рт у е н н и м ) .  Р ез луь ато

о  —  в е к то р

а Ск л р я н о

в ь   н а  дргоу й   в е к от р   с к а л яр н , в е к то р н о ,  и л и   о б р а з о в а т м   с к ал яр н о г о   п р о и з в е дн и , а  в н еш н ег о  —  м а рт и ц а .

е  произве д ни

е он р я к а л С е тл ь н ы

е   ще

е

е   в н еш н е

е

я   ч и сло

,  век

-

е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED

 п р о и з в едн и х   ч и с ел

о   (э т о   п р о и з в едн и ь   ат к   н а з ы в а е м о я   я в л се т

е   в е к от р , о п р едляст

я   ф о р м л уо

в   а   и   Ъ  дли н й

ы   TV , со стящ и

х   и з   едй с в т и

-

k=\ С л е д о в а те л ь н о см у и р о в а т г о   м ун о ж ен и м у н о ж ен и е

,  лд я   в ы ч и слен и ь   к о м п о н ен т ы   в е к то р а я   а   н а   Ъ , т . е . н ад . Н а й ди т е  с а м о с т яел ь н

я   с к ал яр н о г

о   п р о и з в е дн и ,  п о лчуен н о г

о   и сп о ль з о в ат о   с к ал яр н о

я   н е о б х ид м

о   в   р е з л у ь ат ь   н фу к ц и е  п р о и з в едн и

о   п ро

е   п о э л е м н нт о ю   sum и  п о э л ем н нт о е  в е к то р

е

в

1.2

4.1 - 3.2 ;  Ь  = 6.5

а-

0.7zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG - 2.9 Н иж

е  п р и в едн

а  требму а

я   п о с л е од в а е т л ь н о с т

» 

а   =   [ 1 . 2 ;  - 3 . 2 ;  0 . 7 ]  ;

» 

b  =   [ 4 . 1 ;  6 . 5 ; 

ь   к ом ан д

:

- 2.9];

>>  s  =   s u m ( a . * b ) s  = - 17.9100

С к ал яр н о н фу к ц и

е   п р о и з в едн и е   в е к то р ю  M ATLAB  dot

в   м ож н

о   ат к ж

е   в ы ч и с л и ть

, мльоуд

) в е к то р

а  а

»  s  =  d o t ( a, b) ; Н а й ди т

е  дли н

у   (и ли

, ка к  ещ

е  г о в о р я т

\ а\  =  \ а   -  а   .

,  п р и м ен и

в

 I. Ос но вы  р аб о т ы  в  MATLAB zyxwv аЧс т ь 76 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Р еш ен и е

:

»  d  =  sqrt ( d o t ( a,  a)) d = 3.4886zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Ве т к о р н е В о нк р т н ог я в л се т п р о и з в е дн и

е   п р о и з в е д ни

е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH

 п р о и з в едн и о   п р о с тр а н с тв а я   в е к то

е   a xb  о п р едл н о   то л ь к о   лд я   в е к то р в   и з   р т ме х .  Р ез луь ато м   ат к ж е ,  т . е .  со тящ и х   и з   р т е х   э л е м н от в р   и з   рт е м х р н о г о   п р о с тр а н с тв а .  Д л я   в ы ч и с л ен и я   в е к то р н о г о я  в  MATLAB  жслиу т   н фу к ц и я   cross:zyxwvutsrqponmlkjihgfedcbaZYXW

»  а  = [1.2; - 3.2; 0.7] ; »  b = [4.1; 6.5; - 2.9]; »  с  = cross(a, b) с  = 4.7300 6.3500 20.9200

Д л я  тр е н и р о в к с о т ящ и р о в  в ы п о л н яест е а он ш м С abc  -   а- (Ьх)с п а р л е п и п е да р и с .  2.7.

и  п о п р о бйу т

е   в ы ч и сли т ь   axb  + bxa  . Е сл и  п о лчуи лс й   и з  н леуй , т о   в ы  вс е   п р о едл а и   п рави ль н о , т . к . дл я   л ю б ы я  св о й свт о   axb- - bxa.   п р о и з в едн и . 

е   в е к от р ь   с м еш ан н о г

М ло у д ,  п о с тр о е н н о г

Рис

.  2.7.  П ар л е п и п ед

в   а ,  b,  с   о п р едляст о   п р о и з в е дн и я   в е к то р о   н а   э и т х   в е к от р а х   та к

,  о б р а з о в а н н ы

й   ртем

я   в е к от р а м

я   в е к то р х   в е к от

я   п о   фо р м л у е в   рав е н   о б ъ ем у ,  к а к   п о к а з а н о  н а

и

-

,

л ав Г

 2. Рабо т а

Н а й ди т

77zyxwvutsrqponm

  с  м ас и вам и

е  объе

м   п а р л е п и п е да

, елс

- 0.2

0.5"

3.5

;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED   b  = 2.1 ;  с  = - 1.9

0

a =

и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF

0zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED 0 2.8

П рави ль н ы

е  дей свти

я  та к о в ы

» 

а   =   [ 3 . 5 ;  0 ;  0 ] ;

» 

b  =   [ 0 . 5 ;  2 . 1 ;  0]  ;

:

» 

С   =   [ - 0 . 2 ;  - 1 . 9 ; 

» 

V  =   a b s ( d o t ( a ,  c r o s s ( b ,  с ) ) ) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE

2.8];

V  = 20.5800

Вн е ш н е

е  произве д ни

и н В мш е

е

  п р о и з в е дн и е

с те

я   м а рт и ц

м   в е к от р

в   а  = (cij) 

а   С   = [с   Л  

в ы ч и с л яю стя

  п о   фо р м л у

р аз м ер

,

= (bk  )

- zyxwvutsrqpo

н аз ы в а

а   NxM  ,  э лем н ыт

  котро

й

е a   b

Cjk = j k  • ц   а   в   MATLAB  п р есдатв ляест а   N  н а   о ди н . В екотр - сотлбе ц   b  п р у   р аз м ер а   о ид н   н а   М .   В е к от р - сот л б е

В е к от р - сот л б е р аз м ер в е к от р - с рт о к

я   в   ви д и   тр а н с п о н и р о в а н и

е   дв м у е р н о г

о   м ас и в

а

и  п ерохид

т  в

ц   и   в е к от р - с рт о к

а   ес т

ь тг

м а тр и ц ы , у   к о т р ы х   ои д дг е   м у н о ж е н и е  п р о и сохид л ен и я   м а тр и ч н о г о   п р о и з в едн и до ч к а " :

н   и з  р а з м е р о т   п о  п р ав и л

в   рав е н   еи д н и ц е у  маг онитчр я   в   M ATLAB  и с п о л ь з еуст

. Ф а к ит ч ес к  п.инея зводр

 Дл я   о п е р а то

и   С   = ab  , я  в ы ч и с р   "з в ез -

>>  а = [ 1 ; 2; 3 ] ; »  b = [ 5; б ; 7 ] ; »  С = а *Ь '

с  = 5  б

7

10 12 14 15 18 21

MATLAB  в ы в ел а   в   к о м а н дн о к ам .  И с п о л ь з йу т е   к о м ан д и л и   окн о  Workspase.  Чи с л а

е   окн у   whos  лд , в ек от р

о   м а рт и ц я   п р о с м о тр ы   и  м арт и ц

у   в   п ри вы чн о а   п ер м н ы ы   р ха н яст

м   в и ед х   рабоч е я   в  двмуер н ы

 —  п о   срто й   с р ед х   м ае

ы -

78 

аЧс т ь

си в а х   чи сла в е к от р - с рт о к ие д н и ц е ,  а р о в .  И м ен н с а б л и в а ю ст ед .  Е сл и   ю ус л е д щ и е

е  м асыив

В   эот э л ем н т ы з ап и с ри чн ы

е   о п и са е   о п ер ац и ь   с  и с п о л ь з о в а н и е х   да н н ы х .

ов В

д  м ат риц

, м атцир

м   р а з де л

н   в о д   м а рт и ц , в ы ч и слен и м   ет к с от в г

ь   н еб о л ь ш и е   м а рт и ц

Д л я   р ха н е н и д е   ч уит е э л е м н от в в а те л ь н о » 

е   о п ер ац и й   о т   э л е м н от ,  п р о сетй ш а

е  опе раиц ы до в

е   п о  р а з м ер у   р а з м е р н о с ьт

я   м а тр и ц ,  ч т о   м арти ц , к аж ыд й  и , с рт о к и  п р и

ы

,  м ает и ч ес к и е   н фу к ц и о   фа й л а

, прост е йши е  спосб

В в о ид т к и . В виед т

 в  MATLAB zyxwv

 р аб о т ы

—  в   м ас и в ах ,  р а з м ер н о с ьт ю   ои д н   н а   о ид н ,  в ек от р - сот л б ц ы  и и   с о ед р ж а с т я   в   м ас и в ах ,  у   к о т р ы х   о нд о   и з   и з м ер н и й   равн о   дл я   м а р т и ц   в ы е дл я ю с т я   вдм у е р н ы е   м ас и в ы   п о хд я щ и х   раз м е о  п о э т м у   о п ер ац и и   и  в срт о ен н ы е   н фу к ц и и  в   M ATLAB  п р и сп о я   к   в и д у   а р г м у е н от в ,  в ы да в я   р е з л у ь ат т   в   с о в т ес ю у щ е м   ви в ы   в н и м а те л ь н о   и з ч иу л и   и сп о ль з о в ан и е   в е к то р о в ,  т о   ч и ат ь   р а з де л ы   о  р а б о т е   с  м а рт и ц а м и  н е  п р есдатв и т   боль ш ог о   ар д т у .zyxwvutsrq

му Дв е рын

а Р ы зл н и ч

  I. Ос но вы

в   м а тр и ц я   в и з аул и з а ц и

и   с   н и ми ,  чент и

, п о е  и я   м ат -

и

а у   м а рт и ц

ы   о д бу н а   н а  тр и

ю   вд

о   п р ям

о   и з   к о м а н дн о

й   срт о

-

ы   и с п о ль з йу т е   в мд у е р н ы й   м ас и в   с  и м ен м  А . П р и  в в о х у zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   А   м ож н о  р а с м а тр и в а т ь   к а к  в ек от р - сот л б е ц   и з  дву з  к о т р ы х   я в л се т я   в е к от р - с рт о к й   дл и н о й   тр и ,  слоед  н а б о р е  оедлтяю ст я   от ч к о й   с  з а п я то й :zyxwvutsrqponmlkjihgfedcb

А   =   [ 3  1   - 1 ;  2  4  3 ]

А   = 3 

1 - 1

2  4  3

Д л я   и з ч еу н и я   п р о с етй ш и н ес к о л ь к о   м а тр и ц .  Р а с м о рт и м а рт и ц у   р аз м ер а   рт и  та к

х   о п ер ац и м   р дг и у , к а к  о п и с а н

й   н а д   м а рт и ц а м е   сп о с б ы   в о да о  н и ж е : '  4

3

-

2

7

0

- 5

1

2

и   н а м   п о н а д о б и ст .  В виед т

я   ще е   к в а д р нт у

е ю

ав Гл

 2. Ртао б

 с  маи всам

Н ач н и т

е  н а б и р а т

» 

В   =   [4 

 

ь  в  к о м а н дн о

79zyxwvutsrqp й  с рт о к

е

3- 1

2  7  0 - 5  1  2]

Н аж м и т вы ч и сли ла т е   во с лн е д ю

е   к лав и ш

у   < Enter> .  О б р а ти р   м и га е т   н а  сю улед щ е ы   п о с тр о ч н о , н аж и м а у   з ав ер ш и т е  з а к р ы в а ю щ е

.  К русо д   м а рт и ц ю   ср т о к

е   в н и м ан и е й   с рт о к я   в   кон ц й   к в а др н т о

о  н е ,  ч т о   MATLAB  н и ч ег е  бе з   с и м в о л а   » .  П р о д л ж и е  к ажод й   с рт о к и   < Enter> . П о й   скобкой , п о лчу а естя :

в  = 4  3 - 1 2  7  0 - 5  1 2 Е щ е   ои д н   сп о с в а т ь   к а к  в ек отр - срто к у Н ап р и м ер , м арти ц

м ож н

о  в в ест

» 

б   в од у  дв

и   пр

и  п о м щ

С   =   [ [ 3 ;  4] 

С  

а   м а рт и ц   со ти ,  к ажыд й   э л ем н а   н а  тр и

[ - 1 ;  2] 

и  к о м а н ды [ 7 ; 

т   в  то м т  к о т р о

,  ч т о   м арти ц у й   я в л се т



-

• 



0

е   п ер м ен н ы й   с рт о к

вд е  п р ям о гу л ь н ы

е   рабо ч е е   whos.  И та к е   и  о нд а   к в а д р тн а я

е  к  э л е м е нт а

О б р а е щ ни Д о су т н о м ер о

п   к   э л е м н ат в  срто к С ( 2 ,   3)

a n s  = 0

.

7



П о с м о тр и т к о м а н дн о

» 

-

0]] • 

1

о   тр а к то

:



3

  м ож н я   в е к от р - с от л б ц о м

м  м ат ри м   м а рт и

и  и  с от л б ц а

й   с р ед , в   р а б о ч е

ц   о щ с у е св т л я , з ак лю ч ен н ы

ы   в   окн е zyxwvutsrqponmlkjihgfedcbaZYXWVU   Workspace   и л и   н а б ер и т е  в й   с р ед е   с о е др ж и с т я   тр и   м а тр и ц ы , .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ

ц я   пр х   в  к рглуы

и   п ом щ е   скобки

и   в уд х   и н е дк с о , н а п р и м е

в  — р

80 

таьс Ч

Э л ем н т

ы  м а тр и

» 

ц  м о гу

т  вохид т

ь   в  со сат

 I.  в ыонс О

в  в ы р а ж ен и й

 ртыоаб

 в  MATLABzy

:

С ( 1 ,   1)   +   С ( 2 ,   2)   +   С ( 2 ,   3)

a n s  = 5

В  к ач есвт е   и н ед к с о в   м о гу ср т о к   и   с то л б ц о в .  Н а п р и м е р с рт о к  в то р о г о   и  тр еьт г в ес т и  к о м а н ды :

т   в ы пс у т а

ь   в е к то р ы я   в ы е дл н и в   в е дн н о

,  лд о   с от л б ц о

, с о едр ж ащ и я   э л е м н от й  в ы ш

е   н о м ер а   нжу ы в   п ер в о й   и   в то р о ы   В   д о с та о ч н

е   м а тр и ц

х й о

»  i  =   [1  2] ; »  j  =   [2  3]; »  Bl  =  B(i,  j) Bl  = 3  - 1 7  0 Р ас п о л ж ен и о ид н   сп ос т и   п о   с то л б ц а м п а м ят

е   э л е м н от б   о б р ащ ен и .  Э лем н т

в   м а рт и ц ы   в   п а м ят и   к о м п ь ю те р а   о п р е дл я я  к  н и м . MATLAB  рхан и т   э л ем н т ы   м а рт и ц ы   qtj  м арт и ц ы   Q  р а з м е р а   m  н а   п   с о едр ж аст

и  в   п о с л едо в а етл ь н о с ит

т   ще ы   в  п ам я

е я  в

:zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH

•> •  9inizyxwvutsrqponmlkjihgfedcbaZYXWVU   шЧ   —> Qmn-

С л е д о в а те л ь н о ке,с идн м ер та к о

, дл  з а д ю щ и , э лем н ыт м   п о р я дк

я  до спут й   п о р я дк о в ы

  м а рт и ц

а   к  э лем н ат й   н ом е ы   С , о п р едл н н о

м   м а рт и ц р   э л ем н т й  в  п рыед щ у е

ы   м ожн а   м а рт и ц

у   о б р ащ ен и и   о дн о г о   и н едк с т   к  п р есдк аз еум о

» 

ь  оин д .  Н а п р и

-

,  з а п и с а н

ы  в

е С ( 1 ,  1 ) ,  С ( 2 ,  1 ) ,  С ( 1 ,  2 ) ,  С ( 2 ,   2),  

П оэтм м ощ в о ди

о  и с п о л ь з о в а т ы   в   в е к то р е м   р а з де л

е  к  э лем н ат а   (и н едк сац и у   р е з л уь а т

м   м а рт и ц я   пр у

и   п ом щ

С ( 1 ,  3 ) ,  С ( 2 ,  3)

ы   к а к  к  э лем н ат и   п о р я дк о в о г

м   в е к то р

а   пр о   н о м ер а

и  п о )  п ри

-

С(5 )

a n s  = 7

н о  м ож е т   п о с жл у и т с лч у а й н о   ку а з а К а к   п рави ло то р ы х   с п ец и ал ь н ы с то л б ц а м . Ещ вт о р я ю щ и

е  онд и

н   в м ес т , ч а с т

м   сп ос бо м   н ек о т р о м

ь   и  и сот ч н и к о м  о ш и б о х  —  н и к а о г о   в ду о   ч л шу е   и сп о ль з о в ат х   с лч у а е в ,  н а п р и м е р м   о б р ащ ен и у   с ул о в и ю

я   ср аз ,  яв л сет

к  в  в ы ч и с л ен и ях о   п р еу д ж е дн и ь   вд а   и н е д к с а ,  п р о хд у   к о  все м   э лем н ат я  лкегсоич

, есл

и  оид н  и н едк я   н е   в ы в о д и тс я , з а   и ск лю ч ен и е м   н ек о а   э л е м н от в   м а тр и ц ы   п м   м а тр и ц ы  ивкаоиен.рс д

,  одвлуе

с . о -

 Ло ги

-

л ав Г

 2. Рабо т а

ч ес к о о п ер ац и

 с  м ас и вам и

е   и н ед к с и р о в а н и й   м а рт и ч н о л   м ож н о   п р о п с у ит ь и  в ек от р н ы ь   в ы р аж ен и я  п е р б о р а   ад н н ы х

ед о б р а б о тк з ап и сы в ат ни

Л о г и еч с о к

81 zyxwvutsrqpo

 

е  н е  являсет я   н е о б хид м ы м   лд я   в ы п о л н е н и я   обы ч н ы х й   а л ге б р ы ,  п о э тм у   п р и   п ер в о м   ч е тн и и   ю с луед щ и й   раз .  О дн а к о   о н о   щ с у е вс т н о   р ас ш и р яе т   воз м ож н ост и х   и  м арти ч н ы х   да н н ы х , п о з в о л я я  н а гл янд о   и  к о м п а к тн о я   с  до с та о ч н о   сло ж н о й   л о ги к о й   бе з   п р о г р а м и р о в а .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

е  иесдникрова н е

Ло г и ч е с к о е   и н ед к с и р о в а н и е  (logical  subscripting)  п о з в о л яе т   вы брат ь   и з   м ас с и в а   э л е м н ыт , уод в лето р яю щ и е   о п р е дл н н ы м   с ул о в и я м ,  к о т р ы е   з адн ы л о ги ч е с к и м   в ы р аж ен и ем .  П о др о б н о   л о ги ч е с к и е   в ы р аж ен и я   удб т   жо б с у ад ь т с я   в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  гаве л  7, а  зесд ь   п р и вед м   п рост й   п р и м ер . П сту ь   и з  в в едн н о й  в ы ш е м а рт и ц ы   В   р т е бс у я   вы брат ь   в с е   о рт и ц а ет л ь н ы е   э л е м н ыт   и  з а п и с а т ь   и х  в в е к от р   / .  С н а ч а л а   вы п олн и м ,  к а з а л о с ь   б ы ,  н еодп сиут м о е   ед й с в т и е :  з а п и ш е м  в  п ер м н у ю   ind р ез луь ат т   с р а в н ен и я  м арти ц ы  и  ч и сл а  н о л ь . » 

i n d  =   В     [т ,  к ]  =   т а х ( х

)

т  = 5

к  = 3 Т еп р ь   м ы  з н ае б ы   и сп о ль з о в ат з н ач ен и й  в  в е к то р

м   з н ач ен и е  т   м а к с и м а л ь н о г о   э л е м н ат , о н о  р а в н о   5, и   м огл и х ь   л о ги ч е с к о е   и н ед к с и р о в а н и е  дл я   з ап и с и  все х   м а к с и м а л ь н ы . Д в о й н о й  з н а к  ==  о б о з н а ч е т  л о ги ч ес к о е  р а в е н с тв о : >>  х т   =   х ( х   = =   5) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 5  5  5

л ав Г

 2. Рабо т а

 с  м ас и вам и

а   м ак си м аль н ы н о   н о м ер ск ог о   и н де к с и р о в а н и м гу е н т е   л о ги ч е с к о

83 zyxwvutsrqpo

 

х   э л е м н от я  и сп оль зе у е  в ы р аж ен и

в   вс е   р а в н о   н е и з в е с нт ы м   н фу к ц и ю   find,  куаз е  х   ==  5

.  В м ест в   в о   в о хн д о

о   л о ги ч е м   е е   ар -

»  km =  find(x  ==  5) km = 3  6  8 Ф ну к ц и м аль н ы

я   find  в ерн лу м  з н ач ен и ем

а   н о м ер

а   э л е м н от

в   в е к от р а

,  со в п адю щ и

х   с   м ак си

-

.

нА а л о ги ч н ы й   п ои с к   в   м а рт и ц е   а т к   ж е   о щ с у е св т л я я   п р и   п ом щ и   find. П с уьт ,  н а п р и м е р ,  н ад о   н ай т и   и н е кд с ы   в ес х   н е п о л ж и е т л ь н ы х   э л е м н от в я   в ы о хнд ы м и   а р м гу е н ат м а рт и ц ы zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   В ,  в едн н о й   вы ш е . В ы з ове м   find  с  двму м и  —  в е к то р а м и , в   к о т р ы е  требсту я   з ап и сат ь   з н ач ен и я  срто ч н ы х   и  сотлб ц ев ы х   и н е дк с о в  и ск о м ы х  э лем н от в  м арт и ц ы » 

[ i ,  j ]  =   f i n d ( В   >  В ' 

>>  В . '

a n s  =  

a n s  =

4  2 - 5 



2- 5

,  п р о и з в о ди ст

я   пр .  Д л

я   в е щ е св т н ы :

и   по

х

л ав Г

 2. Рабо т а

 с  м ас и вам и

85zyxwvutsrqpo

 

3  7  1 

3  7  1

- 1 0  2 

- 1 0  2 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

е   и  тр а н с п о н и р о в а н и т   к  р а з н ы м   м а тр и ц а м

С о п р яж ен и п р и в еу д

е   м а тр и ц ,  соедр ж ащ и х   к о м п л ек с н ы е   ч и сла , :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC

»  К  =  [1 -  i, 2 + 3i; 3 -  5i, 1 -  9i] К  = 1.0000 -  l.OOOOi 2.0000 + 3.0000i 3.0000 -  5.0000i  1.0000 -   9.0000i »  K1 ans = 1.0000 + l.OOOOi 3.0000 + 5.0000i 2.0000 -  3.0000i 1.0000 + 9.0000i »  K. ' ans = 1.0000 -  l.OOOOi  3.0000 -   5.0000i 2.0000 + 3.0000i  1.0000 -   9.0000i

В с п о м н и ет п р о б елам и бо ле

,  ч т о   п р и   в о д ,  и л и   з а п яты м и о  р аз едл н и

е  н а гл ядн о г

В о з в е дн и в ан и е

е   к в а д р тн о м  о п е р а то р

» 

В 2  =   В

а Л

  А

е   в е к от р - с рт о .  П р и   в о д я   к о м п л ек с н ы

к   и х   э л ем н т ы   м ож н о   р а з де л я т ь   ил и е   м а рт и ц ы  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO К   п р и м ен ен ы   з а п я ыт е   лд я х  чи се л  в  с рт о к е .

й   м а рт и ц

ы   в   ц ел у

й  р ез луь ат

,  мун о ж и

ю   е пс т н

ь   п р о и з в о ди с т

я   с  и с п о л ь з о

-

:

2

В 2  = 2 7  3 2  - б 2 2  5 5  - 2 - 2 8  - б   9

П р о в ер ь т б У е ид т с ь Н а й ди т

е  п очлуен н ы е  з н ач ен и

,  ч т о   в ы   о св о и л е  сюлуед щ ег

и   п р о с етй ш и

е   о п ер ац и я

о   в ы р аж ен и

)С В ч Уи т е   и т р е по от м   в о з в е д н и в о я сд т я  в  п о сленд ю

 о п е р а ц и й е   в  сетп н ь

, з ает ю   о ч е р ьд

А

»  (А  + С)*В 3*(А  -  С) ' ans = 1848 1914 10290 3612

в   м а рт и ц

,  с н а ч л м   м у н о ж ен и е .

3

(А- )С

у   н а  сам

у   с еб я

и   с   м а рт и ц а м Т

. и   в   M ATLAB.

.

а   в ы п о л н я е ст , а  сло ж ен и

я   тр а н с п о н и р о в а н и е е  и  в ы ч и та н и

, п о е  п р о и з

-

86

аЧс т ь

Пе р е м н о е ж и

е  м атцир

П о ск о ль к ц ам и о п ер а ц и срт о к и

у   в е к от р - с от л б е ,  у   к о т р ы и   п р и м ен и м   н а  м арт и ц у

х   оид

ы  и  вет кор

м ож н

о  о сщу есвти

ь   ю с ул ед щ и

» 

а   =   [ 1  3  - 2 ]  ;

» 

В   =   [2  0  1 ;  - 4  8  - 1 ;  0  9  2 ] ; с   =  [ - 8 ; 3 ; 4 ] ;

» 

а *В *

н   е ид н и ц е я   м а рт и ц е   в ы р аж ен и

а   в   M ATLAB  яв л ю ст ,  т о   вс е   в ы ш ео п и с а н н ы ы   н а   в е к то р ,  и л я

2

0

n

-8

- 4

8

- 1

3

0

9

2

м   образ ом

» 

 в  MATLAB zyxwvu

 работы

а

ц   и л и   в е к от р - с рт о к н   и з   р аз м ер о в   рав е ы   и   лд я   м у н о ж е н и .  Н а п р и м е р , в ы ч и слен и

[1  3  - 2]

  I. Ос но вы

L

я   м арт и

е

и   в е к от р

-

4zyxwvutsrqponmlkjihgfedcbaZYXWV

:

с

a n s  = 74 

.

В  м аемт и к е   н е  оп релдн в  MATLAB си м во л   \  и сп ольсзет у

Р е ш ни

е  сист е

Р еш и т в е с нт ы м и

е   н еб о л ь ш у

а   о п ер а ц и

м  леыний

я  делн и я   лд я  реш ен и

я  дл я   м арти ц  и  в ек от р в я  сие ст м  ли н ей н ы

х  ураенв и

ю   с и ем т у

,  со тящ у

, о нд ак х   р ау в н е н и й

о .

й ю   и з   р те

х   р уа в н е н и

й   с   рт е м

я   н еи з

-

: 1.2^+ 0.3*2- 0.2x3= 1.3; 0.5*!+ 2.1*2+ 1.3*з   = 3 - 9 ; - 0. 9*!+ 0. 7*2 + 5. 6*3  = 5.4.

В в и ед т м ас и

е   м а рт и ц в  ь . Р еш и т

у   с и ем т е  си мест

ы   в   м ас и у   п р и  п о м щ

в   А , ДЛ Я  в е к то р и  с и м в о л

а   п рав о й   ч аст и   и с п о ль з йу т е а  \ zyxwvutsrqponmlkjihgfedcbaZYXWV

»  х  = А\ Ь х  = 1.0000 1.0000 1.0000

П р о в е р ь те

, п р а в и л ь н ы

й  л и  п очлуи лс

я   о вт е

,  мун о ж и

в   А  н а  х .

л ав Г

 2. Рабо т а

 с  м ас и вам и

87zyxwvutsrq

 

^ zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA П р и м е ча н и е   ^3 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC о рл г и т А м   ш ер н и я  се тис м   ил н й е ы х   в н ра у е и й   п р и   п ом щ и   о п е р оа т а  \ с теял опдер я   ро у к т р с й   ри м та ц ы   ик о фэ ц и н е о т в  смыеи тс .  В   чнаст ио , MATLAB  те у деилс ,  с теялв я   л и   р м и ат ц а   о г л ь р еу н т о й ,  ил и   мжое т   бы т ь п н р ие д в а   н а п ст р е о в к м а и   р о тс к   и   о лб ц ст в   к   о льг н ру е т о м у   ви у д , сим ри м т е ч н а я   мр и а т ц а   ил и   н те ,  квнрадт я   и л и   п о рг л м ь я н у а я   (MATLAB ем у т  рше ат ь  м е ит с ы  с  поьлгнмряу ы м и   р и м та ц м и  —  нелпорд ы е .  ил и  ннелопдр ы )е . П омэт у  рше ат ь   м е и тс ы   п р и  п мощ и   \  разм ун о , к од г а   в ы бо р   а ло г р и м т а   ш ер н и я   с т ч пе а о р у я   MATLAB.  лЕс и   ж е   с тием я и н о рм ф ц а и я   о   в со й а т х   ри м та ц ы   м ые и с т , т о  е у делс т   и с п о ль з о в ат ь   п ес ц и ль а н ы е   до т ме ы   (пробнд е е   о  рше н и и  се итс м   ил н й е ы х   рв а н у е и й  ска з ан о  в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  гаве л  6).

Р еш ен и е   си е т м   н еб о л ь ш о й   р аз м ер н о с т и   м ож н о   в ы п о л н и ть , введ я   м а рт и ц у с и ем т ы   и  в ек от р   п рав о й   ч аст и   н е п о с р е дв т н н о   и з   к о м а н дн о й   с тр о к и .  О д н а к о  ч ас т о   р т е бс у я   н ай т и  р еш ен и е  си сетм ы , со стящ е й  и з  б о л ь ш о г о   ч и сл а л и н ей н ы х   руа в н е н и й .  Д л я   в о д а   ад н н ы х   м ож н о   в о с п о л ь з о в а ьт с я   р е д а к то р о м   м ас и в о ,  к о т р ы й   п р е од с а т в л я е т   о д б ун ы й   сп ос б   в од а   и   да е т   в о з м ож н ост ь   л е гк о   п р о в ер и т ь   в е дн ы е  да н н ы е  н а  н ал и ч и е  о ш и б о к . В о т   оид н и з  в о з м о ж н ы х   сп ос бов .  С о з да й т е   в  р а б о ч е й   с р ед е   в д а   ып с т у х   м ас и в а   раз м ер а  н о л ь  н а  н о л ь  п р и  п о м щ и  к в а др нт ы х   скоб к :zyxwvutsrqponmlkjihgfedcbaZYXWVUT » 

А   =   [  ] ;

» 

Ъ   =   [  3 ;

е   нжу ы й   раз м е р   в   с рт о к а О тк р о й т е   в  р е да к то р е   м ас и в  А  И  о п р едли т д а   Size:.  З еат м   в еид т е   э л ем н т ы   м а рт и ц ы   в   яч ей к и  та б л и ц ы .  О б р а ти м ан и е , ч т о   п р и  н аж ит и    п р о и сохид т   п е ро х д   к  яч ей к е , р а с п о л ж ен н о й   п о д   е тк щ у е й .  Э т о   ох р ш о ,  лсе и   м арт и ц а   в о ид с т я   п о   с то л б ц а м п р е пд о ч и т е л ь н е е   з ан о си т ь   з н а ч ен и я   э л ем н от в   п о   с тр о к а м , т о   еслуд ю   File  р е да к то р а   м ас и в о в   и  в   п о яв и в ш ем с брат ь   п ну к т   Preferences...   в   мне окн е   Array  Editor  Preferences  з адт ь   ж ел а м о е   н ап р ав л ен и е   п е р о хд г   Move selection  after  Enter  од лж е к р ы в а ю щ ем с я   сп и ск е  Direction.   Ф л а в к л ю ч ен . Ан а л о ги ч н ы м   сп ос бо м  в в о ид ст я   в е к от р   п рав о й  ч аст и   с и с е тм ы М а тр и ц ю уд щ е и з  тек с от в г

а   и  в ек от р   п рав о м   р а з де л е   н а  п р и м ер о   фа й л а , п о лчуи т

и а нв т ы ч С П ер и   в е к от

е  и  за пис д   н ам

и   с от и р   п рав о

т   з адч й   ч аст

й   ч аст и   с и ем т е  реш ен и ь   р е з л у ь ат

ы   м о уг

ь  ына д а   —  р еш и т и   котро

т  .хран и ьтс ы   п ок аз ан о

я  си емст т   и  з а п и с а т

я   в   фа й л а х , к а к  с ч и ат ь   ег о  в  фа й л .

х   во е   вн и

-

.  Е сл и т   вы я а   в   рас н   бы т ь . .  В   сле ь   да н н ы

е

х ь   с и ем т й   р ха н яс т

у   л и н ей н ы я   в   ет к с о в ы

х   руа в н ен и й х   фа й л а

,  м а рт и ц а х   matr.txt,

аЧс т ь  I. Ос но вы  работы 88zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

rside.txt,  и  з а п и с а т с рт о ч н о ,  э лем н т са н  в  с от л б и к , к а

ь   р е з л у ь ат ы   в   с рт о к к  п о к а з а н йаф

т   в   фа й е   о е дл т н о  н а  р и с

.  2.8. Ф ай л

П о д г то в ь т е   фа й л Windows  Б л о к н о та л о г   work  о с н о в н о г п о л ь з йу т е   к о м ан д р ха н е н и я   и   с ч и ыт в а н и о дн а к о   п р и  р а б о т вы з ов а   эит х  к о м а н

,  в ек от

а   з ап и сан р   п раво

а   в   фа й л й   ч аст

е  п о и   з ап и

-

л  matrixt zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED й а ф л  rskle.txt 3.45  0.11 • •> - 0.25 7,25 1.08  5.9?  - » 0.09 0.91 - 0.41  Ш

Рс и

л   sol.txt.  М а тр и ц ы   п р о б ело м . 2.8.

 в  MATLABzyxwvu

ы  с  м арти ц е

5.84

4.23

й  и  в екотр

м   п р ав о

й   ч аст

и  си емст

ы

ы   с   да н н ы м и ,  н а п р и м е р ,  в   с та н да р тн о й   п р о гр а м е т   (N otepad).  С к о п и рйу т е   фа й л ы   matr.txt,  rside.txt  в   п окда о   к атлог а   M ATLAB.  Д л я   с ч и ыт в а н и я   и з   фа й л а   ис е   load  и   save  лд я   со у   load,  лд я   з а п и с и —  save.  П р и м ен и я   п ер м ен н ы х   рабо ч е й   с р ед ы   о п и сан о   в   ав ег л  7, е   с  фа й л а м и  дан н ы х   и с п о л ь з се т у я   фн у к ц и о н а л ь н ы й   сп о с б д   с  в ы охнд ы м и   а р г м у е н ат м и :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR

>> А  = load('matr.txt1); »  b = load('rside.txt1 ); »  x = A\b; »  save  'sol.txt' x - ascii П ар м ет р   - a sc i i  о з н а ч е т   з ап и с ь   в   ет к с о в м ад н н ы х   к ом ан д   в   к атлог е   work  со з адст я   фа й е д бу т   з ап и сан о   р еш ен и е   с и с е тм ы .  П о с м о рт е и сп о ль з у я   лю бо й   ет к с о в ы й   р е д а к то р .  Д л я   з ап и с н о й   то ч н о с ть ю   е с лу д т   и сп о ль з о в ат ь   к о м ан д double.  Н а   р и с . 2.9  п р и в едн о   с о ед р ж и м о е   фа й л в ан и я  к о м а н д ы   save  с  п а р м е тр о м   - double  и  бе

  ф о р м а те .  П о с л е   в ы п о л н ен и л   sol.txt, в   к о т р о м   в   сот л б и ь   с о ед р ж и м о е   фа й л а   м ожн о и  р ез луь ат а   в   фа й л   с  дв о й у   save  ' s o l . t x t 1  x  - a sc i i  а   sol.txt  в   счлуа е   и сп о ль з о з   н е го .

3.575611 бе +  000 - 1.4288319е  +  000

3.5756115823410211е +  000 г  1.4288318X1740618е+ 00 0

2.3б80803е+ 00 О   save  'so l. t xt '  x  - a sc ii 

2.8680803ЭЭ4263228е+ 00 0 save  'so l. t xt '  x - a sc ii  - double

Рси

.  2.9. С о едр ж и м о

е  фай л

а  sol.txt

я к , -

л ав Г

 2. Рабо т а

нА а л о ги ч н м а рт и ц к о м а н до л а  о щсу есвтляю ст

 с  м ас и вам и

89 zyxwvutsrqpo

 

о   м ож н о   з ап и сат ь   м арт и ц у   в  тек сотв ы й   фа й л . З а п и с ь , н а п р и м е р , ы   А ,  рхан ящ ей с я   в   м ас и в е   А ,  В   фай л   matrA.txt  ощсу есвтля я й   save  'm at rA.t xt 1  A  - a sc i i .  З ап и с ь  в   фай л   и  сч и ыт в ан и е   и з  фай я   п о  с тр о к а м .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF

ы н чл о Б

е  м атирц

О ч ен

о   в   п р и л о ж ен и я , со сатв лен н ы е   р аз м ер

ь   ч аст т . е .  м а тр и ц ы о в т ес ю у щ и

ы х   в о з н и к аю е   и з   н еп р ес к а ю щ и с х ы   блок в  до л ж н

о н с т К р иу о в а н и

е  бын лчо

В в ие д т

е   м а рт и ц

е   м а тр и ц ы ц   (б л о к о в )

я   п о д м а тр и .

ы   с о в п а д ьт

х  м а т ри

е   блоч н ы

, . С о

-

ц

ы zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA (- 1 

Ни  со з адй т

т   ат к   н а з ы в а е м ы

е   и з  н и

4Л  

(2  Л О

1  4 Н х  бло ч н у

 

о   зИю   м а рт и ц

(  3  - 3

3  3

у

'А   !  В zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE

К ч у и ыт в а я ,  ч т о   м арт и ц А   и   В ,  а  в о  в то р о » 

а   К   со ти й  —  С   и   D:

'[Щ т   и з  дву

х   с рт о к

, в   п ерв о

й   с рт о к

е   м а тр и ц

ы

К   =   [А   В ;  С   D ]

К  = - 1 4 

2  0

- 1 4 

0  5

3 - 3 8 9 - 3  3  1  10

Бл о ч н а я   м а тр и ц а   п о лч у е н а .  М о ж н о   бы л о   п о пс у т и т н о , с ч и ать , ч т о   м а рт и ц а   К   со ти т   и з  дву х   с то л б ц о в А   и   С   , а   в о   в то р м  —  В   и   D.  К а к   б ы   то гд а   с л е од в а л лд я  со з адн и я  б л о ч н о й   м а рт и ц ы ? П р о в е р ь т е  сбе я » 

К   =   [ [А ;  С ]  [В ;  D] ]

ь   и   п о - р г до у м , в  п ер в о о   з ап и сат

,  а  и м ен м  —  м арт и ц ь   к о м ан д

ы у

90 

аЧс т ь

В о т   ще е   о и д MATLAB.  Т р ебсут

н   п ри м е

р   лд

я   п р о в ер к ь   бло ч н у

я   с о ат в и т

М дг е

и   з н ан и ю   м а рт и ц

а

е  э от

й   з адч

и ю с лу ед щ е

 в  MATLAB zyxwvut

 р аб о т ы

й   о   работ у

е   с   м ас и в ам

и   в

!  >  А   =   z e r o s ( 3 ) А  = 0  0  0 0  0  0 0  0  0

Е ид н и ч н а

я   м а тр и ц

»  I  =  eye(4)

а  и н и ц и ал и з и ресут

я  п р

и  п о м о щ

и  фну к ц и

и  eye:

-

94 

аЧс т ь

 I. Ос но вы

 в  M ATLAB zyxwvut

 работы

I  = 1 0  0  0 0  1 0  0 0  0  1 0 0  0  0  1 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Ф н у кц и я   eye  с  дмву р о й  н а  глав н о й  ди аго н ал

я   а м р гу е н а мт

и   с о з а ед и   о с тя

т  еид н и ц ы

т   п р я м ог у л ь н у , а  о сатль н ы

ю   м ар т и ц у е  э лем н т

,  у  к о т ы  н люу

ы  р ав н

:zyxwvuts

»  I = eye(4, 8) I = 10000000 01000000 00100000 00010000 М а тр и ц а ones:

,  с о т ящ а

я   и з   е ид н и ц

,  о б р аз есут

я   в   р е з л у ь ат

е   вы з ов

а   н фу к ц и

и

»  Е  = ones(3, 8) Е  = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

И сп оль з ован и м а тр и ц ы

е   о дн о г , со стящ е

MATLAB  п р еод сатв л яе м е н ат м и .  Р ез луь ато н ы х   с чл у а й н ы м   образ о ри ц а   ч и с ел , р а с п р едл н н ы

о   а р мг у е н т й  и з  еид н и ц . т   воз м ож н ост м   н фу к ц и м   м ж ед

а   в   ones  п р и в о ди

т   к  с о з адн и

ю   к в а д р тн о

ь   з ап о л н ен и я   м а рт и ц   с чл у а й н ы м и  эле и   rand  явлсет я   м а тр и ц а   ч и с ел ,  р ас п р едл н у   н ле у м   и  еид н и ц ей , а  фну к ц и и   r a n d n — м ат х   п о  н о р м а л ь н о м у   з ак о н у :

»  R = rand(3, 5) R = 0.9501 0.4860 0.4565 0.4447 0.9218 0.2311 0.8913 0.0185 0.6154 0.7382 0.6068 0.7621 0.8214 0.7919 0.1763 »  RN = randn(3, 5) RN = 0.1139 - 0.0956 - 1.3362 - 0.6918 - 1.5937 1.0668 - 0.8323 0.7143 0.8580  - 1.4410 0.0593 0.2944 1.6236 1.2540 0.5711

й -

л ав Г

 2. Рабо т а

О б р ащ ен и ид

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

 с  м ас и вам и

е   к   н фу к ц и я т  к  фо р м и р о в а н и

ю  к в а др нт ы

В оп ро с   о б   а в от м а ит ч е с к о н е  до л ж е н   п о с ат в и т и л и   в е к от р - с рт о к м ер о в   рав е н   еи д н и ц е м и . П р о в е р ь т е  себя

м   rand  и   randn  с  онд и х   м а тр и ц .

м   з ап о л н ен и ь   н а с  в   пут и к ,  п о ск ль к а   в   M ATLAB  яв л ю ст . З а п о л н и т е  в екотр - срто к , в ы п о л н и в  сю луед щ и

м   во н хд ы

и   в е к от р - с от л б ц о

м   а р мг у е н от

м   п ри во

-

в   и л и   в е к от р - с рт о к ,  ч т о   в ек от р - сот л б е ц ,  у   к о т р о й   о ид н   и з   раз у   ш е ьс т ю   с чл у а й н ы м и   ч и сла :zyxwvutsrqponmlkjihgfedcbaZYXWVUT

у   м ы   з н аем я   м а рт и ц е й й   п р и м ер

»  г  = rand(l, 6) г  = 0.7468 0.4451 0.9318 0.4660 0.4186 0.8462

Ча с т ри ц фо р м и р еу расп олаг

о   в о з н и к ае ,  у   к о т р ы

т   н е о б х ид м о с т х   в с е   в н е ди а г о н а л ь н ы т   ди а г о н а л ь н у я   и х  э лем н т

ь   с о з ад н и ю   м а рт и ц ы  п о  ди а го н а л

я   ди а г о н а л ь н ы е   э л ем н т ы   равн у   и з   в е к от р - с от л б ц и   м а рт и ц ы :

х   м а тр и ц ы   н люу .  Ф ну к ц и а   и л и   в е к от р - с рт о к и

,  т .  е .  м ат я   diag ,

»  d  =   [1;  2;  3;  4] ; »  D  =   diag(d) D  = 1 0  0  0 0  2  0  0 0  0  3  0 0  0  0 4 Д л я   з ап о л н ен и я  н е  гл а в н о й ,  а   п о б ч н о й  ди а го н а л и   п р е с уд м о р т е н а   воз м ож я   а р гм у е н а т м и .  В  э от м   счлуа е  в то р о й   ар н ост ь   вы з ов а   н фу к ц и и  diag  с  дмву м гу е н т   о з н ач ет ,  н а с к о л ь к о   п об чн а я   ди а г о н а л ь   о ст и т   о т   гл а в н о й ,  а   ег о з н а к   ку а з ы в а е т   н а   н ап р ав лен и е ,  п лю с  —  в ер х ,  м и н у с  —  в н и з   о т   гл а в н о й ди а г о н а л и :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

»  d  F  [ 1 ;  2 1 ; »  D  =  diag(d,  2) D  = 0  0  1 0 0  0  0 2 0  0  0  0 0  0  0  0 »  D  =  diag(d,  - 2) D  = 0  0  0  0 0  0  0  0

96

аЧс т ь

 I. Ос но вы

 в  MATLAB zyxwvutsr

 работы

1 0  0  0 0  2  0  0 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Ф н у кц и

я  diag сжи ул

т   и  дл я  вы лнед и

я  ди аго н ал

и  м рати ц

ы  в  в ек отр

, н ап ри м е

р zyxwvutsrqp

»  А  = [10 1 2; 1 20 3; 2 3 30] А  = 10 1 2 1 20 3 2 3 30 »  d = diag (A) d = 10 20 30

В с е   н фу к ц и и  M ATLAB  лд я   со з адн и я   м а рт и ц   с п ец и ал ь н о г сп рав о ч н о й   с и с е тм ,   см . п ну к т   Arrays  and  Matrices  п о др а з де л р а з де л а   Functions — Categorical List. П р о ед л а й т а в от м а ит ч е с к о пис

е  сю улдещ е

е   п у р а ж н ен и е   з ап о лн ен и х  в  фа й л . З а п о л н и т

ь  дан н ы

М  =

е  дл е   м а тр и ц

я  то г ,  р а б о т

, чотб ы   б еи у д с т я у   с   блоч н ы м е  в  фай л ы  м а тр и ц ы

е  и  з а п и ш и т

1

0

0

0

0

2

2

2

2

0

1

0

0

0

2

2

2

2

  1 2

0

0

1

0

0

2

2

2

2

2

0

0

0

1

0

2

2

2

2

2

0

0

0

0

1

2

2

2

2

2

3

3

3

3

3

- 4

0

0

0

0

3

3

3

3

3

0

- 4

0

0

0

3

3

3

3

3

0

0

- 4

0

0

3

3

3

3

3

0

0

0

- 4

0

3

3

3

3

3

0

0

0

0

- 4

М а тр и ц у   М   м ожн р а тн ы х   блок в   р аз м ер щ и  eye,  а  в н е ди а го н а л ь н ы

о   п р е сд а т в и т а   п я ть

ь   в   в и ед , ди а го н а л ь н ы е  —  с  и с п о л ь з о в а н и е

о   ви д

а   о п и сан ы  в а   Mathematics

, ч т о  в ы  о св о и л и и   м а тр и ц а м и   и   за :zyxwvutsrqponmlkjihgfedcbaZ

2

  блоч н о е   блок

2

1

0

0

0

0

0

1

2

1

0

0

0

0

0

1

2

1

0

0

0

0

0

1

2

1

0

0

0

0

0

1

2

1

0

0

0

0

0

1

2

1

0 V

0

0

0

0

1

2

й   м а рт и ц и   ф о р м и р ю у ст м   ones:

» 

М   =   [ e y e ( 5 )  2 * o n e s ( 5 ) ;  3 * o n e s ( 5 )  -   4 * е у е ( 5 ) ]

» 

s a v e  ' M . t x t '  M  - a s c i i

;

ы   и з   ч еы т р е я   пр

х   к в ад и  п о м о

-

л ав Г

 2. Рабо т а

 с  м ас и вам и

К в а д р тн а я   м а рт и ц э т у   м а рт и ц у ,  м о ж н мо й  ди а го н а л ь н о м и  н а д  и  п о д  гл а в н о »  G = 2*е( еу 7

97zyxwvutsrqp

 

а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   tk   р а з м е р а   см е ь   я в л се т я  тр едих а го н а л ь н о й .  З а п о л н я я о   и сп о ль з о в ат ь   т о   о б с от я е л ь с вт о ,  ч т о   G  яв л ест я   м су й   м арт и ц ы   и  дву х   м а рт и ц   с  ш еьст ю   н е н л ву ы м и   э л е м н ат й   ди а г о н а л ь ю .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG ) + diag(ones(l, б ) , 1) + diag(ones(1, б ) , - 1)

>> save  'G.txt' G - ascii

П о с м о тр и т п о дк а т л о г М а тр и ц гр а м В   ю су л е д щ е ри чн ы

е   с о ед р ж а н и е   work  о с н о в н о г

» 

П осл

х   фа й л о в   (он и   од л ж н а   MATLAB).

о  к а т л о г

ы   н а о х ид ь т с

я   в

ы   бо ль ш и х   р аз м ер о в   о д бу н о   п р е сд а т в л я т ь   в   н а г л я нд о м   в и ед .  В  п р о е   MATLAB  э т о   м о ж н о   п р о де л а т ь   п р и   п ом щ и   в и з а ул и з а ц и и   м а тр и ц . м   р а з ед л е   раз обран ы   п р о с е тй ш и е   сп ос б ы   в и з а ул и з а ц и и   м ат х   ад н н ы х .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

иВ з а у л и з а ц М а тр и ц и.м ын п о чл у и т н фу к ц и р а з ед л

е   п о ч л уе н ы

я  м а т ри ы   с  до с та о ч н  Ча с т о   н е о б х ид м ь   ат к   н а з ы в а е м ы я   spy.  П о с м о тр и е G  =   2 *е уе ( 7

е   в ы п о л н ен и

Н а   в е р ит к а л ь н о ц о в .  Н ен луев ы ку а з а н о   ч и сл

о   бо ль ш и о   з н а ть й   н о л а бш м   ш абло

м   к о л и ч е с вт о , гд е   р а с п о л ж ен  м а рт и ц ы н   м а рт и ц

)  +   d i a g ( o n e s ( l , 

я   к о м ан д . 2.10   и з о б р а ж ен

Figure 1.   Н а   р и с

и н с рт м у е н от в

ц м   н ле у

й   н а з ы в а ю ст

ы   н е л в уы .  Д л я   э от г ы   G  , о п р едл н н о

б ) ,  1)  +   d i a g ( o n e s ( l , 

я  р-не жеазр

е   э л е м н ыт , т . е . о   в   M ATLAB  жслиу т й  в   п реыд щу е м б ) , 

- 1)

ы  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE spy  н а   э к р а н е   п о я в л ес т я   гр а фи ч е с к о е   окн о а   ч аст ь   окн а   бе з   з а г о л в к а ,  м не ю   и   п ан ел и

. й   и   г о р и з о н та л ь н о е   э л ем н т ы   о б з н ач ен о  н ен лвыу х   э л е м н от

й   о ся х   о лт ж е н ы   м ар к ер ам и в  (nz  =   19).

ы   н о м ер а   с рт о , вн и з у   гр а фи ч е с к о г

к   и   с от л б о   окн

Н а г л я дн у ю   и н фо р м а ц и ю   о   с о нт о ш е н и и   в ел и ч и н   э л е м н от в   м а рт и ц ы   да е н фу к ц и я   imagesc, к о т р а я   и н ет р п р е ит р е у т   м ар т и ц у   к а к   п р я м о гу л ь н о е   изо б р аж ен и е .  К аж ыд й   э л ем н т   м а рт и ц ы   п р е сд а т в л я ес т я   в   в и ед   к в а д р а ти к а ц ве т   к о т р о г о   с о в т ес у т   в ел и ч и н е  э лем н ат .  Д л я   то г о   ч от б ы   зу н ат ь   со т   и сп о ль з о в ат ь   к о м ан д о вт ес и е   ц в ет а   и   в ел и ч и н ы   э л е м н ат ,  е сулд coiorbar,  в ы в о ядщ у ю   р я до м   с   и з о б р аж ен и е м   м а рт и ц ы   ш к ал у   ц в еа т .  Н а к о н ец , дл я   п еч ат и   н а   м о н о рх м н о м   п р и н ет р е  уодбн о   п о лч у и т ь   и з о б р аж ен и е м   рабо о е тн к а х   с ер о г о   ц в е ат ,  и сп о ль з у я   к о м ан д у   coiorm ap(gray).  М ы  бе д у ат ь   с  м арти ц е й   М ,  о п р едл н н о й  в  п рыед щ у е м   р а з де л .

а т , у  в -

98

 /.  Ос но вы zyxwvutsrqponmlkjihgfedcbaZYXWVU  работы  в  MATLAB zyxwvutsrq

аЧс т ь

2 3zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 4 5

6 7

О  

1

Рис

Рис



. 2.10.  Ш а б л о

. 2.11.  И н етр п р еатц и





н  р аз р еж н н о

я   м арт и ц





й   м арт и ц

ы   к а к   и з о б р а ж ен и

7 zyxwvutsrqponmlkjihgfedcbaZYXWVU

ы

я

л ав Г

 2. Рабо т а

Н аби рай т г о  о к н а

 с  м ас и вам и

99_zyxwvutsrqp

 

е  к о м а н ды , ука з н н ы е   н и же , и  слиед т е   з а   с о т ян и е м  гр а фи ч ес к о :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

-

»  imagesc (M) » colorbar » colormap(gray) В   р е з л у ь ат н а  р и с

е   п о чл у а е с т я

  н а г л я нд о

е   п р е сд а т в л е н и

е   м а рт и ц ы

,  п р и в едн н о

е

. 2.11.

П о др о б н о   п р о   и сп о ль з о в ан и гл а в х ,  о дн а к о   ж у е   с ей ч а м и  м ы  бе д у м  р а б о та ь   пр

о э П л е м е тн ы

е   гр а фи к с   в ы   м о ж ет и  и зчену и

и   в   MATLAB  н а п и с а н е   в и з ау л и з и р о в а т ь   м а тр и ц ы и  п о э лем н т ы х   м а рт и ч н ы

е  опе ра иц е  фицунк

и  вст роеын П оск оль к н ен и и з в о я сд т (так и м м а тр и ц а м

ы   и   м а рт и ц ы   р ха н яс т х   н фу к ц и й  к   м арт и ц а я   ат к   ж е ,  к а к   лд я   в е к то р в и   к а к   min, max,  sum  и  т . д. )  и м е .

е  опе ра иц е   в д е   м а рт и ц

мУ н о ж ен и рд г оу

е   к а ж до г й  п р о и з в о ди ст

.zyxwvutsrqponm

и

у   в е к от р

В в ие д т

х

и я   в   в дм у е р н ы х   м ас и в ах ,  т о   п р и м е м   и  п о э лем н т ы е  о п ер а ц и и  п р о .  Р а б о т а   с о   в с рт о е н н ы м и   нф у к ц и я м и т   св о и   о с б е н н о с т и   в   п р и м ен ен и и  к

е   м а ет и ч е с к и

о э П л е м е тн ы

о   в   ю с лу е д щ и ,  с  к о т р ы х   о п ер ац и й

и  с  м а т риацм

и

ы

о   э л ем н т я  п р

а   о нд о

й   м а рт и ц

и  п о м щ

и  о п е р а то р

ы   н а   с о вт ес ю у щ и а   . *

й   э л ем н

т

»  с   =   А. * В с  = - 2  10  - 8 21  - 12  - 45 Д л я   е лд н и р о й   и с п о л ь з ес т у юв у щ и е  э лем н т » 

я   э л е м н от

в   п ер в о я   . / , а  дл я  делн и ы   п ер в о й  сжлиу

R 1  =   А . / В

R 1  = - 2 . 0 0 0 0  2 . 5 0 0 0  - 0 . 1 2 5 0

й   м а рт и ц я  э лем н от т   . \

ы   н а   с о вт ес ю у щ и в  в то р о

й   м а рт и ц

е   э л е м н ыт ы   н а   с о вте

  в от

-

100 

аЧс т ь

  I. Ос но вы

 работы

 в  MATLABzyxwvu

0.4286 - 1.3333  - 1.8000 »  R2 = А.\ В R2 = - 0.5000 0.4000 - 8.0000 2.3333 - 0.7500  - 0.5556zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

е  в о з в едн и

П о э л е м н нт о » 

е  в  септ н

ь  ощсу есвтля

я   пр

и  п о м о щ

и   . А zyxwvutsrqponmlkjih

Р   =   А. ^ 2

Р  = 4  2 5  1 9  1 6  8 1

П о к а з а те л в о з в о ди м а с е пт н и

ь   ес п т н и   м ож е т   бы т ь   м арт и ц е я   в   с ет п н ь .  П р и   э от м   э лем н т , р а в н ы е  э лем н ат м  в то р о й   м а тр и ц ы

й   то г о   ж е  р а з м е р а ы   п ер в о й   м а тр и ц :

,  ч т о   и   м а тр и ц а ы   в о з в о яд с т

, я  в

»  Р В  = А." В Р В  = 1.0е+00 3 * 0.0005 0.0250 6.0010 2.1870 0.0000 0.0000

О б р а ти щи о вт е

е   вн и м ан и й  м н о ж и етл т   в ы г л я ди

е   н а   фо р м ь   1. О+ е о з  дл т   та к :

у   вы вод я   в ес х   э л е м н о т

а   р е з л у ь ат

.  В о - п ерв ы х в  р ез луь ит рюу щ е

,  в ы едл й   м а тр и ц ы

н   об , т . е .

,  Г 0.000 5  0.0250  0.0010^1zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO   (  0.5  25  \ Л 3 Р Я  =  10 -   = ^2.1870  0.0000  O.OOOOj  ^2187  0  0J В о - в от р ы х ет р

,  п р я   от ч н о с т

и   в о з в е дн и и   и з - з а  то г

и   4~ 3  и   9~5 п о члуи л с ,  ч т о   и с п о л ь з о в ал с

ь   н л иу я   фо р м а

, т . е .  п р о и з о ш л т   sh o rt .  Д ел о   в  то м

4~  - 0.0156,  9~~  - 0.000016935,  а   э т и   ч и сл а   м ал ы   п о   с р ав н ен и н ы ми ,  и   до п су ти м о г о   ч и сл а   з н ак о в   фо р м а т а   sh ort  н е   вха те т   лд б р аж ен и я   н а   э к ран е .  Е сл и   м ы   о и хт м   п о лч у и т ь   бо ле е   то ч н ы й   р е з л у ь ат э л е м н нт о г о   в о з в е дн и я   в   с е тп н ь ,  т о   м ы   до л ж н ы   з адт ь   фо р м а з а ет м   в ы в ес т и   РВ   с н о в а : »  format long »  Р В Р В  = 1.О+ е 00

3 *

а  п о ,  ч т о

ю   с   о с ат л ь я   и х   от т   по т   long,  и

-

Глав

 2. Работ

 с   масив

 

101zyxwv

0.00050000000000 0.02500000000000 0.00100000000000 2.18700000000000 0.00001562500000 0.00000001693509zyxwvutsrqponmlkjihgfedcbaZYXWVUT

З а м е ьт ,  ч т о   п о в то р н о г о   в ы ч и с л ен и я   э л е м н от в   м а рт и ц ы zyxwvutsrqponmlkjihgfedcbaZYXWV   РВ   н е   п о тр е б о в ало сь .  В н е   з ав и с и м о с т и   о т   с уат н о в л е н н о г о   фо р м а т а   вы вод а   вс е   в ы ч и сле н и я   п р о и з в о яд с т я   с  дв о й н о й   от ч н о с ьт ю   (в  п р едп о л ж ен и ,  ч т о   да н н ы е   ти п а sin gle  н е  учасвюту т   в   о п ер а ц и я)х .  П ер й ед м   е тп р ь   к  в ы ч и слен и ю   м ае т ит ч е с к и х   н фу к ц и й  о т  э лем н от в   м а рт и ц .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM

ис л ч е ы Вн о т  э л е м е тн о

е  м а т е м а т иеч с к в  м а т ри

О ч ен

ь   в аж н о   ср аз гд е   А   —  к в а др тн а котро е   о щ с у е св т л я воз м ож н ост ь   в ы ч и с л ен и р и ц   о п и сан о   в  р.азд и ц р"   а в ы г л  6). З ап и с м ен от

х  фицнук ц

у   п о н я ть , ч т о   в   к н и га х   п о   ет о р и и   м а рт и ц   фо р м лу а   cos Л , я   м а тр и ц а ,  о з н а ч е т   в ы ч и с л ен и е   к о си н су а   о т   м а тр и ц ы , я   п р и  п о м щ и  р а з л о ж ен и я   в  р я д . В  M ATLAB  и м сет я я   н фу к ц и й   о т   м а рт и ц   (вы ч и слен и е   нфу к ц и й   о т   м ат   "Сетвсынб о а  лисч  и  в,ыкерто  м,аитцры  фукн ци  мат-

ь   с   =   cos  (А )  в   MATLAB  п р и в о ид в   м ас и в а  А  И  з ап и с и  и х  в  м аси

Н а о х ж ед н и е

й

,  н а п р и м е р

, к о си н соу

в   с  то г

т   к   в ы ч и с л ен и о  ж е  р а з м е р а

в   о т  э лем н от

в   м а рт и ц

' я / 2  - я / 2 

п р о и з в о д и ст

я   пр

и  п о м щ

и  сю луед щ и

О

в   о т   э ле

-

ы

 Л

я  

- я  





2я  

я/ 3

х   к ом ан

ю   к о с и н с уо ,  ч т о   и  А .

д

»  А  =  [pi/2 - pi/2 0; pi - pi 2*pi; 0 2*pi pi/3]; »  С  = cos(A) С  = 0.0000 0.0000 1.0000 - 1.0000 - 1.0000 1.0000 1.0000 1.0000 0.5000

нА а л о г и ч н в ан и ми н и муа бот

е   нф у к ц и е  с  в е к то р а м и

о   в ы ч и с л я ю тс й   о б р а б о тк ,  мсу ы   и   др . .

я   и   др г у и и   да н н ы )  н е с к о л ь к

е   м а те м а ти ч е с к и х   дл я   м а т р и о   о тл и ч а е тс

е   ф ну к ц и ц   (н аохж ден и я   о т   и х   п р и м ен ен и

.  И с п о л ь з о е   м ак си м у а я   пр

, и   ра -

102 

аЧс т ь

рП и м е н и

е  фицунк

ы на д

й  обра бот к

х  к  м а т риац

Ф ну к ц и я   sum в ы ч и с л яе р ы  в  M ATLAB,  та н и к ае т  в о п р о с : ч т в е к то р ,  а   м а рт и ц у котро й  р а в н а   ч и сл с о вт е с ю у щ е г о » 

м

 I. Ос но вы

 в  MATLAB zyxwvut

 работы

и

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

т   м су у  э лем н от в  в ек от р а .  С  дргуо й   с то р о н ы к   ж е  к а к  и  м а тр и ц ы , хран яст я   в  двмуер н ы х   м ас и в ах о   ж е  бетд у , есл и  в  к ач есвт е   а р мг у е н т а   sum и с п о л ь з о в а т .  О к а з ы в а ест я ,  MATLAB  в ы ч и с ли т   в е к от р - с рт о к у у   с от л б ц о в   м а тр и ц ы , а  к ажыд й   э л ем н т  яв ляест   с от л б ц а   м а тр и ц ы , н а п р и м е р :

, в ек от

.  В оз

,  дл и н я   мсу о

ь  н е а й

М   =   [ 1  - 2  - 4

3 - 6 

4

2  - 2  0]  ; » 

s  =   sum (M )

s  = 6  - 1 0  0

Ф ну к ц и и н е дк см у и р о в а н и куа з

я   sum п о   му о л ч а н и ю   в ы ч и с л яе с   м ас и в а   п р и   фи к с и р о в а н н о е   п о   с тр о к а м ,  н ео б хид м в   м ес т о  и н едк с а , п о  к о т р о м

т   м су у   п о   с то л б ц а м м   в то р о м .  Д л я   то г о   ч от б о   в ы з в ат ь   sum  с   вмду т   см у и р о в а т ь у   е су л д

,  и з м ен я ы   п р о и з в о ди т я   а р г м у е н ат м и

я  п ервы

й ь ,

»  s2  =  sum(M/   2) s2  = — S 1

о З а м е ьт ,  ч т о   sum(M)  и   sum(M,  l)  п р и в о дя И та к ,  нфу к ц и я   sum  мсу и еру т   и л и   п о   с тр о к а м р е з л уь ат т   в   в и д е   в е к то р а   и л и   в е к от р - с рт о к и ц и я  prod: » 

р   =   p r o d ( M ) 

т   к   о ди н а к о в ы м   р е з л у ь ат м ,  и л и   п о   с то л б ц а м ,  в ы ад в .  нА а л о ги ч н о   р а б о та е т   и  фн у к

» 

р   = 

. я -

р 2  =   p r o d ( M ,  2)

р 2  =

б   - 2 4  0 

8 - 72 0

Ф ну к ц и р я дк в о ди

я   so r t  пу о р я до ч и в а е е   воз растн и я т   к  уп о р ядо ч ен и

» 

М С   =   s o r t ( M ) 

М С   =  1  - 6  - 4 

.  В ы з о

т   э л ем н т в   so r t  с о   в от р ы ю   э л е м н от в   с рт о к

ы   к а ж од г

о   и з  с от л б ц о м   а р г м у е н от м

в   м а рт и ц ,  р а в н ы

: » 

MR  =   s o r t ( M ,  2)

MR  = - 4  - 2  1

м   вд м у

ы   в  п о , п ри

-

л ав Г

 2. Рабо т а

 с  м ас и вам и

103 zyxwvutsrqp

 

2 - 2  0 

- 6  3 4

3 - 2  4 

- 2  0  2 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

Т а к   ж е   к а к   и  дл я   в е к то р о в ,  н фу кц и е дк с о в   с о вт ес и я   э л е м н от в   и о с н хд о г о  н ео б хид м о   в ы з в ат ь   so r t  с  дмву » 

я   so r t  п о з в о л яе й   и  уп о р яод ч ен н о я   в ы о х нд ы м

т   п о лч у и т

ь   м а рт и ц й   м а рт и ц

и   а р гм у е н а т м и

. Д л

у   ин я  э от

-

:

,  I n d ]zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   щ   so r t ( M )

[М С

м с  = 1  - б   - 4 2 - 2 

0

3 - 2 

4

I n d  = 1 2  3 

1 1 3

2  3  2

М а рт и ц ы  м , м с  и . in d  связ ан дг е   i  и  j  и з м ен яю ст я  о т  о дн о г Ф ну к ц и и л и   м и н и м аль н ы

и   max  и   min  в ы ч и с ляю е  э лем н т

ы  мжде

у   со б о  д о  трех

й  так

т   в е к от р - с рт о к у ы  в  со втесюу щ и х

,  соедр ж ащ у   с от л б ц а

»  rax  =  max(M)  mx  =   3- 2  4  Д л я  то г э л е м н от в

о   ч от б

ы   зу н ат ь   н е  то л ь к , н о  и  и х  н о м ер а  в  с от л б ц а х

о   з н а ч ен и

я  м ак си м аль н ы ,  е сулд

т  в ы з в а т

х   и л и  м и н и м ал ь н ы ь  max и л и  min та к

х :

т п  =

3 - 2  4 

• 

к   =  2  1 2 

1- 6- 4

п  = 1 2  1 е   вн и м ан и е   э л е м е н та

, ч т о   в о   в то р м   с от л б ц —  п ер в ы й   и  тр е ти й .  В седг о   э л ем н т а   (в от р й   э л ем н т к   ж е  р а б о та е т   и  min в  счлуа е  дву х е   м а тр и ц ы .  Ф ну к ц и и  max  и  min  п о з в о л яю е   э л е м н ыт   и з   в уд х   м а рт и т  в  н ову ю   м а рт и ц у   то г о   ж е  р а з м е р а

Р   =   [4 

2  0  7 ]  ;

е :

»  [mn,  n]  =  min(M)

т х   = 

» 

ю   м ак си м аль н ы х   м а тр и ц ы

»  ran  =  min(M) mn = 1- 6 - 4

>>  [mx,  k]  =  max(M) 

О б р а ти т м аль н ы х м ак си м аль н о г Точн о   ат в   с от л б ц и л и   м и н и м аль н ы сат ь  р ез луь ат

: м с  ( i,  j)  =  м  ( ind (1,  j ) ,  j) ,

.

3- 1

е   м а рт и ц ы   м  дв а   р а в н ы х   м ак си а   в о з в р а щ а е ст я   н ом е р   п ер в о г   в   в е к от р - с рт о к е   рав е н   еи д н и ц е )   рав н ы х   м и н и м аль н ы х   э л е м н от т   в ы ед л и т ь   м ак си м аль н ы ц   о ди н а к о в ы х   р аз м ер о в   и  з ап и , ч т о   и  и оснхд ы е :

о . в е -

104 

Часть

 I. Основы

 работы

 в  MATLAB

»zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Q = [10 0 11 - 5 3 22] »  R = max(P, Q) R = 10 3 11 2 3 22zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Онд и с ы в ас е т м а рт и ц ы

м   и з  а р гму ен от я   м ак си м у :

» 

S  =   ш а х ( Р

/

 

в   м ож е м   и з   э то г

т   бы т о   ч и сл

ь   ч и сло .  В  р ез луь ит рюу щ у а   и   с о вт е с ю у щ е г

а   н фу к ц и и  м а к с и м а л ь н о

й  min и л

ю   м а рт и ц о   э лем н т

у   з ап и а   и о с н дх о

й

1)

S  = 4  3  1 2 

17

Е сл

и  о б с я  м и н и м а л ь н о Дл

а   а р гм у е н т е  и л

я   н ао х ж е д н и с тр о к а м п ыс т у

я   м ак си м у , п р есудм о рт ен м   м ас и в о м

а   ил а   с ю л уе д щ а

и  ш а х  яв ляю ст е  и з  эит х   ч и сел

и   ми н и му я   фо р м

я   ч и слам и

, т о   в о з в р а щ а ет

-

.

а   н е   п о   с от л б ц а а  в ы з о в а   с о  в от р ы

м   м а тр и ц ы м   а р мг у е н от

,  а   п о м  —

:

»  mx  =  max(S,  [  ],  2) mx = 4 7 Д л я   то г в  с рт о к а х

о   ч то б , и сп о ль з еу

ы   д о п о л н и те л ь н м   вы з о

в  ш а

о   п о чл у и т х  с  дмву

ь   н о м ер я   в ы о х нд ы м

а   м ак си м аль н ы и   а р г м у е н та м и

х   э л ем н от :

в

»  [mx,  j]  =  max(S/ zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   [  ],  2) mx = 4 7 j  = 1 3 Р а с м о рт и ит

в  ч а с о в

м   нфу к ц и й   с рт е л к и

»  ql  =  rot90(p) ql  = - 1  7

ю   rot90,  п о в р а ч и в а ю щ у . П р и м ен и т е  эт у   нфу к ц и

ю   м ас и ю  к  уп о м и н ав ш емсу

в   н а   90  гр асдуо

в   п ро я   м ас и в

у  р :

л ав Г

 2. Рабо т а

 с  м ас и вам и

105zyxwvutsrqp

 

3 О 4  2 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

П р и м ен и т

е  фну к ц и

ю  п о в то р н о

, теп р

з  серид н

т   з ер к аль н о у   м ас и в а

ь  жу

е   к  м аси в

у   qi.

»  q2  =   rot90(ql) q2  7  0  2 - 1 3  4 Ф ну к ц и л и , п р о хядщ е

я   fi i p i r  о бесп еч и в ае й   ч ер

е   о рт а ж е н и

е   о т   с ул о в н о

й   в е р ит к а

-

:

»  fiipir( q2) ans = 2  0  7 4  3 - 1 О б р а ти ви е

е   в н и м ан и м  фн у к ц и

е   н а   то и   fi i p i r :

,  ч т о   в ек отр - сотлб е

ц   н е  и з м ен ясет

я   по

д   в о з ед й с т

-

»  q3  =   [1;  2;  3;  4;  5]; »  fiipir( q3) ans = 1 2 3 4 5 Бо л е ж ен и к о м а н од н ап р и м ер В   з а к л ю ч ен и н ы х  п р

е  п о др о б н я   ил

о   п р о   о б р а б о тк у   м а рт и ч н ы и   в ы в ес т и   сп и со к   в се х   в с рт о е н н ы й  help  datafun,  а  з еат м   п о с м р те , help  max, и л и  о бр аит ь с я  к  и н етр аки в н о е   э от

и  п о срт о ен и

и р ка Г ф

и  фицунк

П о с рт о е н и н о й  о б л а с т

е  гр а фи к и   о п р е дл н и

1.  Р аз б и ен и

е  о б л а с т

й   гл а в и  гр а фи к о

ы   о п и са

н   п ри н ц и в  фн у к ц и

й  дув а   н фу к ц и и   о п р е дл н и

х  пе р м е ын и  дву

я  п ер м ен н ы

й  дву

х   п ер м н ы х  в к л ю ч ае я   п р я м о гу л ь н о

х   ад н н ы

х   м ож н х   н фу к ц и

ь   и н фо р м а ц и

о   зу н ат й   о б р а б о тк ю  о  н жну о

й  сп р ав о ч н о п   и сп о ль з о в ан и х  п ер м ен н ы

ь   и з  п р и л о и   да н н ы й  фн у к ц и й  си емст

х , .

я   м а рт и ч н ы х   ад н х  в   M ATLAB.zyxwvutsrqponmlk

х х   в   M ATLAB  н а   п р ям огу л ь т   д в а   п р е вд а р и е т л ь н ы й   с е кт о й

.

х   э та п а

:

 I. Ос но вы  работы  в  MATLAB zyxwvut аЧс т ь 106zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

2.  В ы ч и слен и пис

е   з н ач ен и

П о с рт о и

и   в   то ч к а

к   н фу к ц и

й   (н а п р и м е р  фну к ц и

, с  ш а го й  в  уз лах

Рис

о   и сп оль з оват ь   лд я   р х а н е н и х   с тр о к т   о ди н а к о в ы

кс ет л ен и м а рт и ч н ы м

и   з ап и ш е я   м а рт и ц

я   ли н и

и   z(x, у)   = х   +у   н а   о б л а с т

а   xe [ 0,  l ] ,  y^ [ 0,  l ] .  Н е о б х ди м

до У б н ш ес т о ди н а к о в ы ед р ж и

х   п ер с ч ен и

й   к с те

и   и   за -

.

м   гр а фи

к в а др т ск ето з н а ч ен и я

й   н фу к ц и

ь  и х  в   м а рт и ц у

м   0.2)  та к , о б о з н а ч ен н ы

. 2.12.  П р ям огу л ь н а

ь   вд я   и н фо р м а ц и , в   к о т р ы е   с от л б ц

м   в   м а рт и ц ы   z  и сп о ль з еу и   о п ер ац и ям и

о   раз би т , к а к   п о к а з а н х  то ч к а м и

я  о б л ас т

а   в дм у е р н ы

и   о п р е дл н и ь   к в а др о   н а   ри с .

ь   п о ср т е н и

я   в   в и ед т   р ав н о м ер н о

й

. 2.12,  и   в ы ч и сли т

я  гр а фи к

ь

а

х   м ас и в а   х   и  Y р а з м е р н о с ть ю   ш ес т ь  н и  о   к о р ди н а т х   зу л о в .  М ас и в   х   со ти т  и х   з ап и сан ы   к о р ди н а т ы   xl,  х2,   ...,  хб ,  a  Y со ы   с   yl9  у2 9  ...,  у6 .  З н ач ен и я   н фу к ц и и   в   з ула

у   z та к о й   ж е  р а з м е р н о с т и   (6x6), п ри ч е м   в ы р аж ен и е   л д я   фн у к ц и , н о   с и мтнеы ме плэ о . Т о гда , н а п р и м е р , z (3,4)  к а к  р а з   едбу

м   лд т  р а в н

я   вы чи с

а з х -

о  з н а

-

л ав Г

ч ен и

107zyxwvutsrqpo

 2. Рабо т а

 с  м ас и вам и

 

ю   н фу к ц и

и  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA z(x,у)   в  то ч к е   (хЗ , у)А .  Д л я  ген ер ац и и   м ас и в о в   с ке т и   х  и

Y п о  к о р ди н а т м   з уло в   в   MATLAB  п р сеудм ортен а   н фу к ц и я  meshgrid,  дл я п о с рт о е н и я   гр а фи к а   в   ви д е   к арк асн о й   п о в е рн х о с т и   —  нфу кц и я   mesh. С ле ю уд щ и е   о п е р а то р ы   п р и в о дя т   к  п о яв лен и ю   н а  э к р а н е  о к н а  с  гр а фи к о м   н уф к ци , и з о б р аж ен н ы м   н а  р и с . 2.13 (то ч к а   с  з а п яот й  в  к о н ц е  о п е р а то р в   н е  сат в и ст я  дл я  то г о , ч от б ы   п р о к о н тр о л и р о в а т ь   ге н е р а ц и ю   м ас и в о ) :zyxwvutsrqponmlkjihg »  [X, Y] = meshgrid(0:0.2:1, 0:0.2:1) X = 0 0.2000 0.4000 0.6000 0.8000 1.0000 0 0.2000 0.4000 0.6000 0.8000 1.0000 0 0.2000 0.4000 0.6000 0.8000 1.0000 0 0.2000 0.4000 0.6000 0.8000 1.0000 0 0.2000 0.4000 0.6000 0.8000 1.0000 0 0.2000 0.4000 0.6000 0.8000 1.0000 Y = 0 0 0 0 0  0 0.2000 0.2000 0.2000 0.2000 0.2000 0.2000 0.4000 0.4000 0.4000 0.4000 0.4000 0.4000 0.6000 0.6000 0.6000 0.6000 0.6000 0.6000 0.8000 0.8000 0.8000 0.8000 0.8000 0.8000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 Л

»  Z = Х.

2 + Y.^2

Z = 0 0.0400 0.1600 0.3600 0.6400 1.0000 0.0400 0.0800 0.2000 0.4000 0.6800 1.0400 0.1600 0.2000 0.3200 0.5200 0.8000 1.1600 0.3600 0.4000 0.5200 0.7200 1.0000 1.3600 0.6400 0.6800 0.8000 1.0000 1.2800 1.6400 1.0000 1.0400 1.1600 1.3600 1.6400 2.0000 »  mesh(X, Y, Z)

Г р а фи и з- з то ч н о г

к   нф у к ц и а  р екд о

й   с ек т и о   п о с рт о е н и

, и з о б р а ж ен н ы , п о к р ы в аю щ е я  се луд

й   н а  р и с . 2.13, п о члуи лс й   о бласт ь   и з м ен ен и т  в ы б р а т ь   м ен ь ш и й  ш а

»  [X,  Y]  =  meshgrid(0:0.05:1,  0:0.05:1); Л

» 

Z  =   Х .

» 

m e sh ( X,  Y,  Z)

С о вт е с ю у щ и

2  +   У .

Л

2;

й   гр а фи

к  п р и в ед

н  н а  р и с

. 2.14.

я   д о с та о ч н я  а р гму ен от в г  с ект и

.  Д л :

о   грб уы я  б о ле

м е

аЧс т ь

108

2

 I. Ос новы

 работы

 в  M ATLABzyxwvu

Т " ~  '

1.5- .- - - '

0.5v  . А

0 5

 

^ ^ 5 < ^ у ' ' ^ ' zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG

0.2zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK

о  о

. 2.13. Г рафи

Рис

к   н фу к ц и

и

21.51  .. 0.50> 1 0.5 0  0

Рис С л ю е уд щ а н о с ет й

я   гл а в , п р еод сатв л яем ы

. 2.14. Г рафи а   п о с в ящ ен

к   н фу к ц и

и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH   z{x,  у )  н а  боле е  м елко й  скет е

а   п о др б н о м х   M ATLAB дл

у   о п и сан и я  в и з аул и з а ц и

ю   гр а фи ч е с к и и   да н н ы х

х   воз м ож .

-

л ав Г

 2. Рабо т а

 с  м ас и вам и

Зад ни

 

109 zyxwvutsrqpon

я

лд я  соньлетясма

й  работ

с Уп е ш н а я   работ а   в   M ATLAB  и н и м ан и я   п ри н ц и п о в   о б р ащ ен и я ш ен и е   п р и в е дн н ы х   н иж е   з адн и о п ер ац и и   с  в ек от р а м и   и   м а тр и ц а м и рн дт у е н и й   п р и   чен т и и   ю с лу е д щ и ест ь  к  м аетр и ал у   э от й  гл а в ы   и  с п р а в о ч н о

я  н а  теврок

З а д ни В   юс л уе д щ и н и я ,  п р и го дн ы ли ч н ы х   п о к а з а ет л ь н ы

х   з адн и я й   лд

1.  П ер сатв и т ц и ю   п о хя д щ и

х   н е о б х ид м я   п рои з воль н ы х   п р и м ер ах

и  см у

у  то л ь к ь  э лем н ыт

5.  З ам ен и т ег о  э л ем н от в

ь   вс е   м и н и м аль н ы .

6.  Н а й т

в  бо ле

и  ч и сл

З а д ни

ме

р   м а рт и ц

е  э лем н т

-

.

.

я   о т   с р ен д е г е   г е о м е рт и ч е с к о е ы   в е к то р

я   и н е дк с а .

й  в е к то р и  н о м е р а м и

в   в е к то р а

о   г е о м е рт и ч е с к о г

о .

а   м ак си м аль н ы

х   и  о рт и ц а етл ь н ы

м   з н ач ен и е

х   э л е м н от

в   в е к то р а

м .

ы

ы   А   об з н ач и ы   в   п ер м н у

а   с  ч ент ы м

 в е к то р а , о лти ч аю щ и ес е  че м  н а   10%, н а  срнед

я   м а рт и ц

ы   м а рт и ц

, и сп о ль з у т  в  н о в ы

х   э л е м н от

а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA - 1.2  4.6  - 0.3 А  =

Э л ем н т

й   сп ос б  реш е ь   ег о   н а   р а з

м   п о р я дк е ь  р ез луь ат  в е к то р

о   п о л ж и ет л ь н ы

о  п о л ж и етл ь н ы

а  к в а др тн а

ь   ну и в ер с ал ь н ы ,  и   п р о те с и р о в а т

а   в   о б р а тн о , и  з а п и с а т р  э лем н ыт

я  н а  м ат риц

1.  З а д н

е   Toolbox  н ев о з м о ж н а   бе з   п о и   ад н н ы х .  С а м о с т я е л ь н о е   ре т   в а м   б уе и д ь т с я ,  ч т о   в ы   о с в о и л и ,  и   э т и   в о п р о с ы   н е   удб т   в ы з ы в ат ь   за х   р а з де л о в .  П р и   н ео б хид м о с т и   обращ ай й  си семт .zyxwvutsrqponmlkjihgfedcbaZYXWVUTS

.

ы   в е к то р й  в ек от

4.  З ам ен и т ег о  э лем н от

  б о л ь ш и н с вт   с   м ас и в ам й   п ом же

о   п р и м уд а т х   в е к то р о в

м   в е к то р м ь   в  н о в ы

3.  Н а й т

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP

ы

ь   э л ем н т

2.  В ы елди т

ы

2.8 

9.9 

- 0.7

0.9 

- 2.5 

7.1

м   aik   . Т р ебсту ю   п   (к о н еч н о

я   зу н а т , о н  р а в е

ь   и   з ап и сат

н   3, н о  лчуш

ь   раз е   и сп оль з о

-

аЧс т ь  I. Ос но вы  р аб о т ы  в  MATLABzyxwvu 110zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

ю   лд е   н иж

в а т ь   нфу к ц и п р и в е дн н ы

я   а в от м а ит ч е с к о г е  в ели ч и н

о   о п р е дл н и ы   м а рт и ц ы )

ы   (н о р м

я   р аз м ер а )  и   в ы ч и сли т ь :zyxwvutsrqponmlkjihgfedcbaZYXWVU \ aik \ i,  k= \ я   с ат н д а р нт ы ,  тр а н с п о н и р о в а н и

\ > pie(data, parts)

л ав Г

 3. Всы о кру вне ая

М ожн ет л ь н о в е к от р

о   о е д тл и т м   в е к от р в   бы л

121 zyxwvutsrqpo

 гиакр ф

ь   н ес к о л ь к е   н а   п о хя д щ и и  о ди н а к о в ы

Рис

о   с е к от р в

,  р а с п о л ж и х   п о з и ц и ях

.  В аж н

в   еи д н и ц о   то л ь к о

ы   в о   в с п о м о га ,  чотб ы   р аз м ер

ы

.

. 3.9. Каво г ур

я  дмаирг

а  с н е лы од т

м  сор тк е

м

В   к а ч е с вт е   пу р а ж н ен и я   н ап и ш и т е   к о м ан д ы   п о с рт е н и я   ди а г р а м ы   с   ео д т л ен н ы м   с е к от р м ,  со втесюу щ и м   м ак си м аль н о м у   з н ач ен и ю   с р ед и   э ле м ен от в   в е к то р а ,  а в от м аит ч ес к и   с о з ад в   в с п о м о г а ет л ь н ы й   в е к то р .  И с п о л ь зйу т е   н фу к ц и и   zeros  лд я   со з адн и я   н л еу в о г о   в е к то р а   от й   ж е  дл и н ы ,  ч т о   х , и max. с   вмду я   в ы о х нд ы м и   а р мг у е н а т м и   лд я   п о и с к а   н о м ер а   м ак си м аль н ог о э л ем н т а   в   в е к от р е   х .  Н и ж е   п р и в е дн а   р т е б му а я   п о с л е од в а е т л ь н о с т ь   ко м ан д :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA >> parts = zeros(size(data)); >>  [ж ,  ind] = max (data) ; >> parts(ind) = 1; »  pie(data, parts)

В и з а ул и з а ц и pie3  и  Ь а гЗ н ап р и м ер

я   в е к от р н ы , к о т р ы , к о м а н д

е  с рт о я

х   ад н н ы т  тр емх р н ы

х   м ож е

ы

»  data = [24.1 10.2 17.4 11.9]; »  parts = [ 1 0 0 0 ] ; »  pie3(data, parts)

т   бы т е   к ргоу в ы

ь   о щс у е св т л н е   и  с от л б ч а ыт

а   п р и   п ом щ е   ди а г р а м ы

и ,

аЧс т ь

122

п р и в о яд то р о м

т   к   п о яв л ен и , и з о б р а ж ен н о

ю   р т ем х р н о й  н а  р и с

Рис

и с т р Г оа г м м

. 3.10. Тнр ема х ер

ы  втеыронк

О б р а б о тк ил и   ин о н и и  дан н ы

а   да н н ы й  и н те р в а л х   жс л у и

й   к р г уо в .  3.10.

х   в к лю ч ае . Д л я   п очлуен и т   н фу к ц и

й   ди а г р а м

я  каво г ур

х  дыан

 I. Ос но вы

 в  MATLAB zyxwvuts

 работы

ы   с  оедлт н н ы

м   к се

-

а zyxwvutsrqponmlkjihgfedcbaZ

я  дмиарг

х

т   воп ро

с   о   то м я   н а г л я дн о г я  h ist .  Н а п р и м е р

,  с к о л ь к о   п р е сд а т в л е н и , к о м а н д

о   да н н ы

х   п оп ал о   в   то т я   о   р а с п р е дл ы zyxwvutsrqponmlkjihgfedcb

»  data = randn(100000, 1) ; » hist(data) з ап о лн яю т  в е к то раз би ваю т   и н те р в а л (п о   му о л ч а н и ю валов . П о лчу а ю щ а яс ^  О б ри а т

р   dat a  ч и с л а м и ,  к о т р о м )  и  с рт о я т   г и с от г р а м я  ги с то гр а м

Пр и м е ча ни

е   в н и м ан и н хе р в м   л г у у   з н ач и т 10 000, т . е . п о  виреткальн о Дл ку а з а т ск ог

я   в уе л и ч е н и ь   ч и сл о   р аз би ен и

, р ас п р едл н н ы м у   о н и   п р и н а дл е ж а т у   п о п адн и а   п р и в едн

и   п о  н о р м а л ь н о м ,  н а   едсят ь   равн ы я   ч и се л   в   к а ж ыд а  н а  р и с . 3.11.

у   з ак о н у х   ч а се т й   и з  и н етр

, й -

е е   н а   м с ша т б   в и ре т к а л ь н о ,  чт о   з н чае и я   п о   в и ер т к а л ь н о й  ос и  оолжнет ы  чилс

я   ч и сл а   и н ет р в а л о о   и н те р в а л о в ,  н а п р и м е р я   н а   равн ы е   и н ет р в а л

в   е с лу д

.  иЧ сл о   104  в   воел м й   с о и   м н у о ж юа с т я  н а а  5000, 10 000,  15 000 и  т . д .

й   о си

т   в   к а ч е с вт е   в то р о г ,  h i st  (data,  50).  В м ест ы   м ож н о   и сп о ль з о в ат

о   а р гм у е н т о   а в то м а ти ч е ь   с о б с вт е н н о е

а ,

л ав Г

 3. Всы о кру вне ая

 гиакр ф

з ад в   в то р ы д ы  

м   а р мг у е н о т

123 zyxwvutsrqpo

м   в е к то р

,  со едр ж ащ и

й   ц е н рт ы   и н те р в а л о в . К о м а н , zyxwvutsrqponmlkjihgfedcbaZYXWVUTS

»  data = [0.9 1.0 1.1 1.2 1.4 2.4 3.0 3.3] ; »  centers = [1.1 2.3 3.2]; >> hist(data, centers)

- 5  Рис

Рис

4 -

. 3.11. Гмар го итс

. 3.12. Гмаргоитс

а  рн еил д епрса

а  рн ели дпесра

3 -

2 -

1 0 1 2 3 4 5 я  че ис

я  п о  ималврне т

л  п о  дт яс е

и  иал врен т

, змыеав да

м

м  цмарн ет

и

аЧс т ь   I. Ос но вы  работы  в  MATLABzyxwvut 124zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

п р и в о яд т   к   п о с рт о е н и к и  н а  го р и з о н та л ь н о

ю   ди а г р а м ы й   ос и  о мт еч а ю

,  и з о б р а ж ен н о т   ц ен рт

й   н а  р и с ы   и н те р в а л о в

. 3.9,  гд е   з в ез одч

-

.

Ча с т о   н е о б х ди м о   з адт ь   н е   ц е н рт ы ,  а   гр а н и ц ы   и н те р в а л о в .  Д л я   п о срт е н и я   ат к и х   г и с то г р а м м   е с лу д т   и сп о ль з о в ат ь   н фу к ц и ю   h i st c  в   со ч еатн и и  с в ы ш ео п и с ан н о й  bar.  Ф ну к ц и я  h i st c  в о з в р а щ а е т   в е к то р ,  со едр ж ащ и й   ч и сл о в ел и ч и н , п о п а в ш и х   в  з а д н н ы е   в от р ы м   а р мгу е н от м   п о л у тк р ы ты е   и н е рт в а л ы   с  в к л ю ч ен н ы м   л ев ы м   кон ц ом . П р и  п о м о щ и   н фу к ц и и  bar  с  до п о л н и етл ь н ы м   а р мг у е н о т м   • h istc1  п очлуен ы й   в е к от р   п р е сд а т в л я е с т я   в   в и д е   ги со т гр а м ы zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA »  data = [0.9 1.0 1.1 1.2 1.4 2.4 3.0 3.3]; »  intervals = [1.1 2.0 3.2]; >> count = histc(data, intervals) count = 3  2 0 »  bar(intervals, count) В  р ез луь ат п р и в е дн н а

е   в ы п о л н ен и я   н а  р и с

Рис

. 3.13.  Г и с от гр а м

я  в ы ш ео п и с ан н ы .  3.13.

а   р а с п р е дл н и

Ф ну к ц и ю   h i st  м о ж н о   в ы з ы в ат м и   л д я   п о чл у е н и я   м ас и в о э от м   г и с т о г р а м а   н е  с рт о и ст я

х   к о м ан

я   п о  и н етр в ал м

ь   с  онд и в   с   и н фо р м а ц и е .  В  счлуа

м   ил е   о дн о г

д   п о я в л ест

, з а д в а ем ы

и   мв д у я   в ы о х нд ы м й   о   р а с п р едл н и о   а р гм у е н т

я   г и с то г р а м а

,

м   гр а н и ц а м

и

и   а р мг у е н а т и   да н н ы х а   в   н ег о   з а п и с ы в а

,  п р

и -

л ав Г

 3. Всы о кру вне ая

с те

я  в е к то р , со едр ж ащ и п ри м е р   ед м о н с р т и р е у к о м п о н ен т а   котрог и з  п ят и   и н етр в а л о

 гиакр ф

125zyxwvutsrqpo

 

й  р ас п р едл н и е  да н н ы х   п о  и н те р в а л м .  С люеуд щ и й т   с о з ад н и е   в е к то р а   count  и з   п ят и   э л ем н от в ,  к аж д я о   я в л се т я   ч и сло м   э л е м н от в   и з  data,  п о п ав ш и х   в   о ид н в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

>> data = randn(10000, 1); »  count = hist(data, 5) count = 98  1915  5398  2434  И сп оль з ован и ет л ь н о г

о   в е к от р

е   h i st  с  дмву а   с  и н фо р м а ц и е

155

я   а р мг у е н ат м

и   п р и в о ди

т   к   п о чл у е н и

й  о  р а с п о л ж ен и

и   и н ет р в а л о

ю   до п о л н и

-

в

>>  [count,  in t ervals]  =  h ist ( d a t a ,  5) count = 98  1915  5398  2434  155 intervals = - 3.0520 - 1.5614 - 0.0707  1.4199 2.9106 Ф ну к ц и я   rose  п р енд а з н а ч ен а  дл я   п о срт о ен и я   г л оу в ы х   г и с от г р а м м   (в  п о л яр н ы х   к о р ди н а т )х .  рмАгу ен от м   н фу к ц и и   rose  явлсет я   в е к от р   з н ач ен и й  в р а ди а н а х .  глУо в ы е   г и с от г р а м ы   да ю т   н а г л я нд о е   п р е сд а т в л е н и е   о   да н н ы х , с в яз а н н ы х   с   и з м ер н и ям и   н ап р ав лен и й .  П суьт ,  н а п р и м ер ,  в   етч н и е   отсу к .  Р ез луь ат т   и з м ер н и й к аж ыд й   ч а с   и з м ер ял о с ь   н ап р ав л ен и е  в ерт а   в  гр асуд х с о е др ж и с т я   в   фа й л е   winddir.dat.  Д л я   в ы ясн ен и я  п р ео б л а д ю щ ег о   н ап рав ле н и я   и сп о ль з йу т е   к рг о у в ю   г и с от г р а м у ,  сч и ат в   з н ач ен и я  и з  фай л а   в   в е к то р data  и  п р е о б р а з о в а в   и х  в  з н ач ен и я  в  р а ди а н а х .  Ф а й л  winddir.dat  с орха н и т е  в п о дк а т л о г е   work  о с н о в н о г о  к а т л о г а   MATLAB »  data = load('winddir.dat'); »  datarad = data * pi/180; »  rose(datarad) П о лчу а ю щ а я с етуд

я   к р г оу в а

я   г и с то г р а м е   н ап р ав л ен и

, ч т о   п р ео б л а д ю щ е Ф ну к ц и п р е лд н и ным Е сл со б н фу к ц и ад н н ы м

а   и з о б р аж ен е  п р и м ер н

я   rose,  ат к   ж е   к а к   и   h ist ,  од п сук ае и   п о   и н ет р в а л м   и  о  гр а н и ц а и  а р гму ен ат м и .  Г и с то гр а м а   в  э от и   п р о и з в о яд с т й   м а рт и ц у

я .  Д л , ч т о   и  дл я и  и з ло ж ен ы

  и з м ер н и я   о т б р аж ен и   в е к от р н ы  в  сю улед щ е

я   грпу

а   н а   р и с . 3.14.  И з   н е е   сле о   100°.

т   п о чл у е н и х   и н ет р в а л о м  счлау ы   в ели ч и н

я   м а рт и ч н ы х   ад н н ы х м   р а з де л

о  р а в н

.  О с о б ен н о с т .

е   и н фо р м а ц и в   п р и  в ы з о в е   н е   о т б р а ж е тс я

,  т о   р ез луь ат х   ад н н ы х   и с п о л ь з ю у ст и   работ

и  о   р а с е   е е   с   в ы о хд . т   п р е сд а т в л я е ы   с  м арт и ч н ы м

т я  т е  ж е и

-

аЧс т ь

126

 р аб о т ы

 в  MATLAB zyxwvut

. 3.14. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Каво г ур я  гмаргоитс а  рн еил дперса я  ннеплваир й  вр те а zyxwvutsrqponmlk

с Ри

е  м аытнрич

р П е с д т а в л е ни П р е дп о л ж и м с то л б ц о в т а   в р ем н и н фу к ц и

  I. Ос но вы

,  ч т о   в   м арт и ц я   р е з л у ь ат .  Д л я   п о срто ен и ю  bar, з а д в   в  к ач есвт , с о едр ж аст

х  дыан

х

е   DATA,   со тящ е й   и з   ч ые т р е х   с рт о к   и   р те ы   и з м ер н и й  тре х   в ели ч и н  з а   ч еыт р е   м о ен я   с от л б ч а от й   ди а г р а м ы   ад н н ы х   п р и м ен и т е   а р мг у е н т а   м ас и в  DATA:

х е

»  DATA  =   [1.2  1.4  1.1 3.7  3.5  3.1 2.0  2.8  2.2 4.2  4.7  4. 1]; »  bar(DATA) В   р е з л ьу а т н а   ри с котры н ам .

е   п о я в л се т я  ди а гр м . 3.15.  Н а   ид а гр м е   р ас п о л ж ен х   со ти т   и з   р е т х   с от л б и к о в

а   с г рп у и р о в а н н ы

х   ад н н ы х ы   ч ые т р

е   г пр у

,  со вютеу щ и

И сп оль з ован и е   а р гм у е н о т в   н фу к ц и и  bar  лд я   в и з аул и з а ц и н ы х   н е   о лт и ч а е ст я   о т   с ч л уа я   в е к от р н ы х   да н н ы х ,  р а з о б р а н н о г щ е м  р а з де л .  Н а п р и м е р , ш и р и н а  и н етр в а л о в   м ж ед у   с от л б ц а м п ы   з а д е ст я   п р и   п ом щ и   ч и слов г о   п а р м е тр а .  Д и а г р а м щ и ми с я   с от л б ц а м и   в н рт у и   г р пу ы ,  п р и в едн н а я   н а   ри с П ОМ ОЩ

И   b a r ( D ATA,  1 . 7 ) .

,  и з о бр аж ен н а

ы   да н н ы х х   и з м ер я ы

,  к аж д м   в ел и ч

я я  и з

и   м а рт и ч н ы

х   ад н о   в   п р ые д у и   в н рт у и   г рп у а   с   п ер к р ы в аю . 3.16,  п о лчуен а   пр

и

-

л ав Г

 3. Всы окру вне ая

 гиакр ф

127zyxwvutsrqpo

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA г

— 4 5

4

3 5

•  1

3

2.5

*•

• 1 1 1

ж   • \

-

2

1.5

1

0 5

I п I S3t®i

В к ла ди а г р м с от л б и к а ли ч и н гр пу ы п омощ

д   к а ж од

У 2 3  4

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

1 1

Рис

. 3.15. Д и а гр а м

а   с грп у и р о в а н ы

Рис

. 3.16. Д и а гр а м с  п ер к ы ваю щ и м и с

а   с грп у и р о в а н ы

х   ад н ы

я  сотлбц ам

х   ад н ы и

zyxwvutsrqponmlkjihgfe

х

х

й   и з  в ели ч и н   в   общ у ю   м су у   в н рт у и   грпу ы   ох р о ш о   в и ед н  н а е   с   н ак о п лен и ем , в   к о т р о й   к аж д я   г р пу а   о т б р а ж е тс я   в   в и ед ,  с о т ящ ег о   и з   ч а с ет й .  Чи с л о   ч а се т й   равн о   ч и сл у   и з м ер я м ы х   ве ,  а   и х   в ы с о т а   с о вт е с у т   в к лад у   к а ж од й   в ел и ч и н ы  в   мсу у   в н рт у и .  Н а   р и с . 3.17  п о к а з а н а  ди а г р а м а   с   н ак о п лен и ем , п о с рт о ен н а я  п р и и   ф ун к ц и и  ba r с  д о п о л н и т е л ь н ы м   а р г ум е н т о м :  b a r (DATA,  •  s t a c k 1 ) .

аЧс т ь

128

. 3.17. Дмиарг

Рис И сп оль з ован и bar.  Н а гл я дн а ри чн ы е  да н н ы е

е  фну к ц и я   рт е м х р н а , п о лчуаестя

и  barh  в  счлуа я   с от л б ц е в а ,  лсе и  п р и м ен и т

Рис П р о с л е ди т в   общ у

ю   м су

ь   з а   и з м ен ен и е у   п о з в о л яе

. 3.18. Дмиарг м  в ели ч и т   н фу к ц и

 I. Ос но вы

а  с н епилока

 в  MATLAB zyxwvutsr

 работы

м

е  м а тр и я   ди а г р а м а

ц  ощсу есвтля

я   та к   ж е ,  п р едс атв л яю щ а ю  Ь а гЗ

ь  фн у к ц и

а  с м я отсалб н   и  о дн о в р ем н н я   area,  в ы в о дящ а

, к а к  и я   м ат -

.

и о   зу н а т я   ди а г р а м

ь   вкла

д   з н ач ен и у   с   о б л а с ят

й -

л ав Г

 3. Всы о кру вне ая

 гиакр ф

ми од

.  З а п и ш и т в   п р о к уд ц и м ы  с  о б л а с ятм

129 zyxwvutsrqpon

 

е   в   м а рт и ц у   GAIN   п о к в а р т л ь н у и   и  п р о с леид т е   з а   и з м ен ен и е и   (ри с . 3.18).

ю   п ри бы л м   п ри бы л

и   пр

ь   о т   п р о ад и   п ом ощ

ж   рт е и   ди а г р а м

х   ви

-

»  GAIN  =   [12.0  23.0  48.0 1 0 . б   3 1 . 5  • 

» 

49.0

8 . 0  2 5 . 0 

78.0

9 . 6  2 9 . 0 

61.5];

a r e a ( G AI N )

Д о п о л н и те л ь н ы п р е сд а т в л е н и imagesc (п ри м ен ен и П ер й д

е   воз м ож н ост и   м а рт и

м  теп р

и   лд я   в и з а ул и з а ц и ц   в   в и ед   и з о б р аж ен и е  spy  и  imagesc о п и с а н

ь   к  п о срт ен и

ю  гр афи к о

и  фицунк

и р ка Г ф

и   р аз р еж н н ы х   м а тр и ц  и й   п р е од с а т в л я ю т   н фу к ц и и   spy  и о  в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON  гаве л  2). в  фн у кц и

й  онд о

и  фицнук

й  оонд

M ATLAB  п о з в о л я е ск о м   и   п о л у о га р и фм и ч е с к о п о с тр о и т ь   гр а фи к о тр е з к а х .

и рк а Г ф П о с рт о е н и о щ с у е св т л я м гу е н о т и з м ен ят ве  2  п ри вед

т   с тр о и т

м  м а с ш т а б

е   гр а фи к о

й  пе р м е но ь   гр а фи к м   м а с ш та б х х   ф ну к ц и й

и   н еск о ль к и

и  в  л ине йо

х   п ер м н ы х

.zyxwvutsrqpo

й

M ATLAB  п р еод сатв л яе т   обш и рн ы е   воз м ож н ост ц и й   о нд о й   и   в ду х   п ер м ен н ы х .  И с п о л ь з о в а н и гр а фи к о в   с   м и н и м аль н ы м   н аборо м   з адв ем ы M ATLAB  в ы б и р а е т   а в от м а ит ч е с к и )  п р и в о ид гр а фи к о в . В  эот м   р аз едл е   раз обран о   пу р ав л ен и н и й   н а  гр а фи к а х ,  к о т р о е   о щ с у е св т л я я   пр р а м е тр о в   гр а фи ч е с к и х   нф у к ц и й .

и р ка Г ф

й  и  дву

и   нф у к ц и

и   лд я   в и з а у л и з а ц и и   н уф к е   н фу к ц и й   л д я   п о с рт о е н и х   п а р м е тр о в   (о сатль н ы т   к   п о чл у е н и ю   к а ч е свт н н ы е   осн овн ы м и   с в о й с вт а м и   ли и   п ом щ и   до п о л н и ет л ь н ы х   па

я е х -

й й   в  л и н е й н о м .  П р и ч е м   в   о дн о ,  ад ж е   о п р едл н н ы

,  л о г а р и ф м и ч е м   окн е   можн х   н а   раз н ы

о х

е

в   н фу к ц и й   о нд о й   п ер м ен н о й   в   л и н ей н о м   м а с ш ат б е и   п ом щ и   н фу к ц и и   p lo t .  В   з ав и с и м о с т и   о т   в о нх д ы х   ар в   н фу к ц и я   p lo t  п о з в о л яе т   с рт о и т ь   о ид н   и л и   н ес к о л ь к о   гр а фи к о в , ь   ц ве т   и  сит л ь   ли н и й  и  до б а в л я т ь   м ар к ер ы   н а  к ажыд й   гр а фи к . В  га- л н   п ри м е р   вы вод а   п р о с ет й ш е г о   гр а фи к а   н фу к ц и и   о нд о й   п ер я   пр

130 

м ен о н е о б х ид м

аЧс т ь

й   и   о б ъ яс н ен о о   п р и м ен ят

,  п о ч ем ь  п о э лем н т ы

» 

х   =  0 : 0 . 0 5 : 1 ;

» 

у   =  е хр ( - х) . *s i n ( 1 0 *x)

у   пр

и   в ы ч и с л ен и

 I. Ос но вы

и   в е к то р и

е  о п ер а ц и

 в  MATLAB zyxwvutsr

 р аб о т ы

а   з н ач ен и

й   н фу к ц и

и

;

»zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   plot(к ,   у )

О б р а ти е   вн и м ан и е , ч т о  факит ч еск т . е . з а в и с и м о с т ь   о дн о г о   в е к то р абсц и с с   м ож е т   и ск аз и т ь   р еал ь н у п р е од с а т в л я е т   рд г у ю   воз м ож н ост з адн н ы х   нф у к ц и й  с  аадп ит в н ы тс и   п о в е д н и я   и с ел м у д о й   н фу к ц и ве  5). И та к нф у к ц и я м с ле уд б у е ж ад е

,  в сю д

у   в   э то й   г л а в и   о дн о й   и   вду т   е д лу я т ь   п о в ы ш ен н о т   п р о с то й   п р и м ер

и  м ы  срто и м  гр а фи к  та б л и ч н о й  фну к ц и й , а   о т  др гуо .  Н аедуч н ы й   вы бо р   ш аг а   п о  ос и ю   к а р ит н у   п о в е дн и я   фн у к ц и .  MATLAB ь   (fpiot)  лд я   в и з аул и з а ц и и   ан ал и т ч ес к и м   п о дб р о м   ш аг ,  чуи ыт в а ю щ и м   о с б ен н о и  (и с п о л ь з о в а н и е   fpiot  о б ъ яс н ен о   в  га- л

е   м ы   е д бу х   п ер м ен н ы х е   вн и м ан и .  Т р еб уст

м   и м ет ь   ед л о   с   т а б л и ч н .  П р и   с о з да н и и   та б л и ц е   вы бор у   ш аг а   в ы ч и слен и я я   п о с тр о и т ь   гр а фи

T

/ ( x )  =  e ~ (sinx +  0.1sin(l007Dc))  н а   о рт ез к

е   [0,1].  В ы б ер и т

0.01  п о   ос и   х,   а   з ает м   1/99  (н е  з аьбдут е   п е р с ч и ат нф у к ц и ) . П ер в ы й  гр а фи к  дл я   ш а г а   0.01  п р о с т С р ав н ен и о нд и

е   н ес к о л ь к и

х   н фу к ц и

х   к о р д и н а тн ы

й   л е гк

х   о с ях

.  П о с тр о й т

и   g (х)   =  Q~   sin 2  х   н а  о рт ез к ч ен и й   а р гм у е н т а   х   и   в е к от р - с рт о к К ом ан д а   p lo t  с  двму я   п ар м н ом у  н а  р и с .  3.19.

о   п р о и з в о д и ть

е   сн ач л

е   гр а фи к

и   н фу к ц и

и й м и

а   ша

р   с о  з н ач ен и ям й  (п о ч ем?у ) .

,  п о с рт о и

е   [- 271,  2п] .  С ген ер и рйу т и   f  и д ,  с о едр ж ащ и и   а р мг у е н о т в   п р и в о ид

02X

ь   в е к от о   н ев р н ы

о   з адн н ы м ы   з н ач ен и .  В   э то к   нф у к ц и

и

в   гр а фи к й   / (jc)  =  e ~

е   в е к от р - с рт о к е   з н ач ен и т   к  гр а фи к у

г

и  н а 0Lr

sin 2 x у   зн а

я  фну к ц и й ,  и з о б р аж ен

. -

»  X  =  - 2*pi:0.01:2*pi; )  . * s i n ( x )  . / N 2 ;

» 

f  =   е х р ( - 0 . 1 * х

» 

g  =   e x p ( - 0 . 2 * x ) . * s i n ( x ) . Л 2 ;

» 

p l o t ( x ,  f,  x , 

g)

Ф ну к ц и и   н е о б я з а ет л ь н ке .  В   э от м   счлуа е   пр м аль н ы й  о тр е з о к , с о едр ж а щ и то р о в   абсц и с с   и   о р ди н а н ап р и м ер :

о  до л ж н и   п о с рт о е н и

ы   бы т й   о с ат л ь н ы е

т   ку а з а т

» 

х 2  =   - 2 * p i : 0 . 0 1 : p i ;

» 

g  =   е х р ( - 0 . 2 * х 2 ) . * s i n ( x 2 ) .

» 

p l o t ( x l ,  f, 

, g)

. В аж н ь   с о вт е с ю у щ и

»  xl  =   - pi:0.01:2*pi; »  f  =  exp(- 0.1*xl)  . *sin (xl)  . Л 2;

x2 

ь   о п р е дл н и   гр а фи к о

Л

2;

ы   н а  онд о м   и  то м   ж е   ортез в   MATLAB  в ы б и р а е т   м ак си о   то л ь к о   в  к аж од й   п ар е  век г   рдг у у   в е к то р ы е   др у

,

л ав Г

 3. Всы о кру вне ая

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB 131zyxwvutsrqpo

 гиакр ф

. 3.19. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED  Гикфар и  дув х нц фки у й

с Ри

нА а л о ги ч н ы м е н от в : в ек от к о в  п р о и з в о л ь н о г

[[^ 

м   образ о р   абсц и с

м   п р и  п о м щ и   з адн и я  в  p lo t  ч ер з   з а п я ут ю   п а р   а р гу , в ек от р   о р ди н а т ,  ощсу есвтля я   п о с рт о е н и е  гр а фи о   ч и сл а  фну к ц и й .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

П р и м е ча н и

е  

И с п о ль з о в ан и р он е с т и ю   "графи к р а  о т   и х  н омрев н а  он д и  коирд н ат ы И н о гд а   рт е бс у я си ль н о   о лт и ч а ю ст н и ям и  п р а к ит ч ес к ся .  В   эот й   си ацут и окн о   с  дмву я   в е р ит к а л ь н ы м н и те , н а п р и м е р , дв

е   p lo t  с   н дои м   м н е о у р га т а  векотра" , т . е . зваи с мот . Амнеоургт м   p lo t  мжое е  ос и  выс тявод я  гираф к   срав н и т я   рд у и  сли в аест и   п о м о га е е   н фу к ц и

м   —  орвкет и   з н ча е и т   бы т ь   и  мриат ц а и  солтбц ов

м   п ри вод й  эмнело т , в  эо т

т   к   по в  вокет м  сча ул е

.

ь   п о в е дн и е   в ду х   нф у к ц и й ,  з н ач ен и я   котры х г   о т   др г у а .  Г р афи к   н фу к ц и и   с   н еб о л ь ш и м и   з н ач е я   с  ось ю   аб сц и с , и  усатн о в и т ь   ег о  в и д   н е  уаетд т   н фу к ц и я  piotyy,  к о т р а я   в ы в о ди т   гр а фи к и  в и   о с ям и , и м ею щ и м и   п о я щд х и й   м а с ш ат б .  С р а в и   / ( х )  =  х ~  и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ   F(х)   =  1000- (х  +  0.5)

» 

х   =  0 . 5 : 0 . 0 1 : 3 ;

» 

f  =   х .

» 

Л F  =   1 0 0 0 *  ( х + 0 . 5 )  . - 4 ;

» 

p i o t y y ( x ,  f  , х ,  F )

А

^|

- 3;

132

аЧс т ь

Р е з л ьу а т в н и м ан и е о р ди н а т

е  фнцки у

и  в  л ога мр и ф еч сик я   п о с рт е н и

м а с ш ат б

. 3.20.  Снвареи

й  пр и  пщом

и   piotyy

я  p lo t  и сп о ль з еу т   л и н ей н ы й  м ас ш ат б   п о  о беи м   к о р д и н а тн ы м   о с ям . о   M ATLAB  п р еод с атв л яе т   п о л ь з о в а ет л ю   воз м ож н ост ь   с рт о и т ь   гр а и   н фу к ц и й   о дн о й   п ер м ен н о й   в   л о га р и фм и ч е с к о м   и л и   п о л уо га р и фм и м   м а с ш ат б е .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

и рка Г ф Дл

х   ж с л уа

х  м а с шт а б я   гр а фи к о т   нф у к ц и

Q  loglog  (л о га р и фм и ч ес к и

х

в   в   л о га р и фм и ч е с к о : й   м а с ш ат

м   и   п о л у га р и фм и ч е с к о б   п о  обеи

м   о с ям )

semiiogx  (л о га р и фм и ч ес к и

й   м а с ш ат

б   то л ь к

о   п о  ос и  аб с ц и с )

• 

semiiogy  (л о га р и фм и ч ес к и

й   м а с ш ат

б   то л ь к

о   п о  ос и   о р ди н а т)

ы   loglog,  semiiogx  и   semiiogy  з адю ст й   абсц и с с   и  о р ди н а т   ат к   ж е , к а к  дл я   нфу кц и м   р а з де л .

м

;



р Ам г у е н т з н ач ен и ыд щ у е

 в  MATLABzyxwvutsr

 работы

т   п р и в ед н   н а   р и с . 3.20.  П р и   в ы п о л н ен и и   э то г о   п р и м ер а   о б р а ти е ,  ч т о   ц в е т   гр а ф и к а   с о в п аде т   с   ц в ое т м   с о вт е с ю у щ е й   ме у   ос и .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

с Ри

Ф ну к ц и О дн а к фи к ч ес к о

 I. Ос но вы

я   в   ви д е   п ар и  p lo t ,  о п и с а н н о

; . ы   в е к то р

в й  в  п ре

-

л ав Г

 3. Всы окру вне ая

 гиакр ф

П о с тр о й те

,  н а п р и м е р

о рт е з к

е   [0.1, 5]  в  л о га р и фм и ч ес к о

,  гр а фи к

» 

х   =  0 . 1 : 0 . 0 1 : 1 0 ; f  =   l o g ( 0 . 5 * x ) ;

» 

g  =   s i n ( l o g ( x ) ) ;

» 

s e m i l o g x ( x ,  f, 

я   графи к

Рис Ф ун к ц и

Из м е н и

и   н фу к ц и



е   п о  ос и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR   х:

, g)

и   и з ображ ен

. 3.21. Г рафи к

ы   н а  р и с

и  в  п о лу гари фм и ч еск о

и   lo gio g  и  sem iio gy в ы з ы в а ю т с

е   й с от в

й   / ( x)  =  lnO.5%  и   g (x) =  sin In х  н а м   м а с ш ат б

» 

П о л уч а ю щ и е с

133zyxwvutsrqpo

в  лин

.  3.21.

й   ш к ал я   ан ало ги ч н ы

м   образ ом

е

.zyxwvutsrqponmlkjihgfed

й

П о с рт о е н н ы е   гр а фи к и   н фу к ц и й   од л ж н ы   бы т ь   м ак си м аль н о   од уб н ы м в о с п р и я ти я .  Ча с т о   рт е б с у я   н а н ес т и   м ар к ер ы , и з м ен и т ь   ц ве т   л и н и й п о д г то в к е   к   м о н о рх м н о й   п еч а т и  —  з а д т ь   ит п   л и н и и   (с п л о ш н а я ти р н а я ,  ш рти -х п ну кит р н а я   и  т . д. ) .  MATLAB  п р еод сатв л яе т   воз м ож н ост пу р а в л ят ь   в и од м   гр а фи к о в ,  п о срт о ен н ы х   п р и   п ом щ и   p lo t ,  semiiogx  и   semiiogy, дл я   ч ег о   жслиу т   д о п о л н и ет л ь н ы й   а р мг у е н т ,  п о м ещ ае м ы й   з а   к а ж од й   п аро й   в е к то р о в .  Э от т   а р мг у е н т   з а к л ю ч а ест я   в   а п о с рт о ф со ти т   и з  тре х   с и м в о л в , к о т р ы е   о п р едл яю т :  ц в ет , ти п   м а р к е р а  и ни .  И с п о л ь з юу ст я   о дн а , дв е   и л и  тр и   п о з и ц и , в  з а в и с и м о с т и   о т   р т е б му ы

и   лд я , а   п р и ,  пн у к ь logiog, ы  и  ти п  ли х

 I. Ос но вы  работы  в  MATLAB zyxwvuts аЧс т ь 134zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

и з м ен ен и й к уа з н и е

. В  та б л м   р е з л у ь та

.  3.1 п ри в едн ы   воз м ожн ы е  з н ач ен и я  да н н о г о   а р мг у е н т а  с .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED   3.1. Стйвсоа

а .ц и албТ еЦ в У

ы тж л е

m

роз вы

с

бо глу

т

иТ

й

п  мерк ра

а

о тч к й й

иТ

а

о

ж о у рк

X

и т с ке р

г

к р ас н ы

g

н ез л ы

b

исн

w

ыл еб

k

н р еч ы

й

к

ш ри т х пн у и к т р н а

к в ра д

d

ром

V

о гл ь н р у е т и шр в е и н о

й  вн и

о гл ь н р у е т и ршв е и н о

й  врев

о гл ь н р у е т и рш в е и н о

й  ввел

< >

h

-

-

ш р и от в а х

я я я

т б к

ш и ткс о н е ч а з ве д

з к х к

о гл ь н р у е т и ршв е и н о в о и п т кя о н ч е а з ве д

р

я

а

S

й

й

"

з в е о чдк й

й

к  "п лю с

zyxwvut

и

пн у и к т р н а к

зн а

п  ли н

сп о л ш н а

" •

+

 лин

о к

й  вп ра

я

а я а

Н ап р и м ер , дл я  п о с рт о ен и я   п ер в о г о   гр а фи к а   (р и с . 3.19) к р а с н ы м и   от ч е н ы м и   м ар к ер ам и   бе з  л и н и , а  в то р о г о   п н у к ит р н о й   ч ер н о й   ли н и е й   ес л у д т  и с п оль з оват ь   к о м ан д у   p lo t  (x,  f,  ' г . 1 ,  х ,  g,   f k : ' ) .  Р ез луь ат т   п р и в ед н  н ри с . 3.22. О б р а ти т е   вн и м ан и е , ч т о  абсц и с ы   м ар к ер о в   со в п адю т   с о  з н ач е н и ям и   а р г м у е н ат ,  с о едр ж ащ и м и с я  в  х . Э т о  н е  в сегд а   ох р о ш о , вед ь   лд я  п олу ч ен и я  гл а дк о й   кри во й  требсту я   вы ч и сли т ь   в е к от р   з н ач ен и й  фн у к ц и и  в  дос та о ч н о   боль ш о м   ч и сл е   то ч е к ,  ч т о   п р и в о ди т   к   сли ш к о м   ч а с от м у   расп о л о ж ен и ю   м ар к ер о в   и л и  даж е   и х  п е р к р ы ит ю .  П р о с то й   п ри е м   п о з в о л яе т  п о -

а -

л ав Г

 3. Всы о кру вне ая

м е си т нф у к ц и боль ш ог

ь   м ар к ер ,  оид о   н абор

ы   в   з ар н е н  —  с п ло ш н о а   з н ач ен и

е   в ы бран н ы й   л и н и ей й   а р мг у е н а т

» 

х   =  - 1 : 0 . 0 1 : 1 ;

» 

у   =   s i n ( 2 * p i * x . / 4 2 )  ;

» 

xm  =   - 1 : 0 . 2 : 1 ;

» 

ym  =   з 1 п ( 2 * р 1 * х т .

» 

p l o t ( x ,  у , 

' k ' , 

Л

е  гоикра ф

е   п оз и ц и

.  С рт о и ст

, а   в то р о :

й   —  то л ь к

е  пор тмае

в  лин

я   дв о   м ар к ер ам

а   гр а фи к и   дл

а я   не -

2);

xm,  ym , 

Рис

о р мО ф л е ни

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC 135zyxwvutsrqpo

 гиакр ф

'ko')

. 3.22. Ин езми

й zyxwvutsrqponmlkjihgfedcbaZYX

в

до У б с в т о   и сп о ль з о в ан и я   гр а фи к о в   в о   м н ог м   з ав и си т   о т   д о п о л н и ет л ь н ы э л е м н от в   о ф р м лен и я :  к о р ди н а тн о й   с ект и ,  п о д и се й   к   о с ям , з а г о л о в к л е г н ыд .  Т а к и е  в о з м о ж н о с т и   р е а л и з ю у ст я   ли б о   с  п о м о щ ь ю   д о п о л н и ет л ь н ы п а р м е тр о в ,  з адю щ и х   с в о й с вт а   о б ъ е к то в ,  л и б о   с   п ом ощ ь ю   в с п о м о г а ет л ь н ы х   к ом ан д   и   нф у к ц и й .  П ер ч и сли м   осн овн ы е   и з   н и х .  С ект а   н а н о с и ст я м а н од й   gr id  on, фн у к ц и и  xiabel,  yiabel  сжлуа т  дл я  р а з м е щ е н и я  п опд и се о с ям ,  a  t i t l e —  лд я   з а г о л о в к а .  П р и   н ео б хид м о с т и   с о п р о в ди т ь   гр а фи т   и сп о ль з о в ат ь   н фу к ц и ю   legend.  Вс е   п ер ч и слен н ы е   к о м ан л ег н од й   е су л д д ы   п р и м ен и м ы  к  гр а фи к а м   к а к   в  л и н е й н о м , та к   и  в  л о га р и фм и ч ес к о м  и л уо га р и ф м и ч е с к о м   м а с ш ат б х .  С люеуд щ и е   к о м ан д ы   в ы в о дя т   гр а фи к и

х а  и х   ко й  к к  п о   из -

аЧс т ь  I. Ос но вы  работы  в  M ATLAB zyxwvut 136zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

м ен ен и ж не

я   со т у ч н о ы  все й  н е о б хди м о

й   ет м п е р а ут ы

,  и з о б р а ж ен н ы

е   н а   ри с

.  3.23,  к о т р ы

е   сн аб

-

.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO

й   и н фо р м а ц и ей

»  time = [0 4 7 9 10 11 12 13 13.5  14 14.5  15 16 17 18 20 22]; »  tempi = [14 15 14 16 18 17 20 22 24 28 25 20 16 13 13 14 13]; »  temp2 = [12 13 13 14 16 18 20 20 23 25 25 20 16 12 12 11 10]; »  plot(time, tempi, 'ro- ', time, temp2, 'go- ') »  grid on »  title('Сы н ч о т у

е  т' ырутарепме

»  xlabel('Вм е р

) 1

я  (ч. са )

»  ylabel('Тр у т а р е п м е

)

а  (С)' )

>> legend('10 мая

1

, '11 мая

1

)zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE

е  тем п ер уат

о Су т н ч ы

ы - в -   10  м а - О -   11  м а

я я

h J l 

5- 20

!

К

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO

6

.гк

\ zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR

/И ?

X  л -

10  мерВ

Рис



Пр и м е ча н и

. 3.23.  Г р афи

к  и з м ен и

е  

я  (ч.с а

я  сотчун о

15 )

20

й   ет м п е р а ут

25

ы



С и мвол ы   ки ри л и ц ы   м о гу т   н еп р ав и ль н о   о т б р а ж а ть с я   в   н ело к али з о в ан н о й   в ер с и и   M ATLAB.  О ди н   и з   сп ос бо в   р еш ен и я   п р о б лем ы   з а к л ю ч а е тс я  в и з м ен ен и и   те к с то в о г о   фа й л а   matlabrc.m,  н аохдящ его с я   в   п о дк а т л о г е   toolboxMocal  о с н о в н о г о  к а т л о г а   M ATLAB.  И с п о л ь з у я   лю бо й   те к с то в ы й   р е да к то р ,  до б а в ь т е   в   кон е ц   фа й л а   с рт о к у :  set(0,'D efaultAxesFontN ame','H MH _ ш р и ф та _ с _ р су к и м и _с и м в о л а м и ' )  (с.м   е так ж   а ин е ч и п м р   в  р.азд   "Св-ирес е ын   у кн ц и ф   я л д  ртыоаб   ос  и"к оатмрс   ав ыг л   8).

л ав Г

 3. Всы о кру вне ая

 гиакр ф

Пр м ен от с нл е д и

и   р аз м ещ ен и в   к о м ан д м   до п о л н и е т л ь н ы д ы  в  гр а фи ч ес к о

и   л ег н д ы   е су л д ы   legend  од л ж н м   а р мг у е н от м   окн е :

•   - 1  —  в н

е  гр а фи к

•   0  —  в ы б и р а ест м ожн о   м ен ь ш

т   ч у е сь т ы   с о вт е с о в а т

а  в  п р а в о

к   и   к о л и ч е с вт ь   ли н и я м   н а   гр а фи к е т   бы т ь   п о л ж ен и м   legend  м ож е м   лг у

е   п о л ж ен и ь   сам м   лг у

м   п рав о

,  ч т о   п о р яод

м   в не р х

я   ч л шу е е  п ер к р ы в ат

•   1  —  в   внерх му о л ч а н и ю )

137zyxwvutsrqpo

 

у  гр а фи ч ес к о г

о   окн а

е   в   п р е дл а и  гр а ф и к и

х   гр а фи к

а   та к

о   а р гу .  П о е   л ег н

у   гр а фи к

а   (э т о   п о л ж ен и

м   лг у

у   гр а фи к а

;

•   3  —в   н и ж н е

м  лев о

м   лг у

у  гр а ф и к а

;

•   4  —  в  н и ж н е

м  п р ав о

; ,  ч то б

ы   ка к

е   и с п о л ь з ес т у

я   п о

м   лг у

у  гр а фи к а

.

Т ак о й   сп ос б   з адн и я   м ес т а   л ег н д ы   бы л   п р и н я т   в   п р еж н и х   в ер с и я M ATLAB  и  п оедр ж и в аест я   в   в ер с и и   7.  К р о м е   то г ,  п о яв и лас ь   рд г уа я   воз м ож н ост ь   лд я   к у а з н и я   п о л ж ен и я  легн д ы   з а   сч е т   п р и в л е ч н и я   е е   с в о й с вт Location.  В о сем н ацд ат ь   о д п с и ут м ы х   ег о   з н а ч е н и й   п р и в е дн ы   в   сп рав о ч н о с и е мт .  Д л я   то г о   ч отб ы   п о с м о рт е ь   и х ,  до с та о ч н о   н абрат ь   в   к о м а н дн о с рт о к е   help  legend  и л и   о б р а ит ь с я   к   а н а л о ги ч н о й   и н фо р м а ц и и   в   и н етр а к ит в н о й   сп рав о ч н о й   с и е мт ,  в о с п о л ь з о в а ш и с ь   и н е кд с н ы м   п ои ск о м   п о   сло ,  лд я   в ы в о д а   л ег н д ы   сп рав а   о т   о с е й   е с ул д т   вы брат в у   legend.  Н а п р и м е р инеча З е  'EastOutside' . zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 1

>>  legend('10 м а я

ир ка Г ф и  ксуон-ч за дын

 па р м е т риеч с к

,  '11 м а я

1

х а й й -

ь zyxwvutsr

,  'Location1,  'EastOutside')

, легн д

е   и ст ле о   ад л е

е   и  п опд и ся х   о с е й   о д п с ук а е т я   до б а в л е н и е   фо р й   ш р и фт а   п р и   п ом щ и   фо р м а т а   Т еХ ,  п о др о б н о  о б .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

х х  фицунк

й

Д л я   п ор с т е н и я  фн у кц и й , з анд ы в а т ь   в е ко т р   з н а ч ен и й   м а р е у гн т ц и й   и   з ап и сат ь   и х   в   в е к от р ы м не о т в   plot.  Г раиф к   н уфкц и (эли п с) , п риневд ы й  н а  р и с

х   п а р м е ит ч е с к и

»  t  =  0:0.01:2*pi; » 

-

; м   л ев о

е   гр а фи к а

-

;

•   2  —  в  внерх

В   з а го л в к му л   и   и з м ен ен и э от м   н а п и с а н

-

х   =  0 . 5 * s i n ( t ) ;

, се у дел о   в ы ч и сл т

т  сп рев

а   не с г р и о

-

.  Зе ат м   н ио е д б х м ь   з н а ч ен и я  фн ук ,  к о т р ы е   и   н ад о   и сп о ль з о в ат ь   в   к а ч е вс т е   ару г и   x(f)  =  0.5•  sin/ , zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON   y(t)  = 0.7 - cost  лд я   te[O,  2n] . 3.24, псчтаеолу я   п р и  п ом щ и  сю ущдел и х   к о м ан д :

Ча с т ь   I.  Осыовн  ра бот ы  в  M ATLABzyxwv 138zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA »  У   =   o . 7 * c o s ( t ) ; » 

p l o t ( x ,  у ) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

П  Р

0.6

0.4

0.2 /

\

0

zyxwvutsrqponmlkjihgfedcbaZY •

- 0.2

- 0.4

- 0.6 "  i  0  8 - 0 . 5 

Рис Дл гр а фи

я   то г

о   ч то б к   к с уо ч н о - з а д н н о

- 0 . 4 

- 0 . 3 

. 3.24. и ф арГ ы   п р о в ер и т

- 0 . 2 

- 0.1

к  пксиреч тмар ь   св о й   н фу к ц и

i

0

0

.



0

.



0

и  зна д о и   з н ан и я   о   работ и  (ксуо ч н о - нфу к ц и о н аль н о

.



й  фнцки у

0

.



0

.

5

и

е   с   м ас и в ам и

,  п о с тр о й т й   з а в и с и м о с ит )

е :

п  •  sin х,   - 2п title('4 sin(2\pi{\itx})zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH {\ity} (1  - {\ity})') котра Т еХ п рост п р и в е дн н ы е

я   п р и в о ди , т о  в о п р о с о о   и с п о л ь з йу т

т   к   п о яв л ен и в   в о з н и к н ту е   п рави л  в  та б л . 3.3.

 3.3. Па врил

а ц и а лб Т тЧ

о с те у тбе р

н еВ л ы и д но д г ке с т

я

д н а мо К

е   и ср в о к у а

о  си мвол

ю   рт е б у м о г ь   н е  до л ж н о а   н абор а   фо р м у

м а  ил и

 на р о б а  Те

.  Е сл

о   з а го л в к а .  Е сл и  ж е  в ы  н е  р а б о та е т л   и  и з м ен ен и я   св о й ст

 фоул м р

 и  иинея зм Р е з л ь уа т

Х

X

1.2{\ itP }

\ .2Р }

м   з н ак о е  в  Т еХ в   ш р и ф то в

м , т о ,

 стйвсо

{\ itx}

{М ' Ь Г и п е р б о л и ч е с к и й си н у с

и   ва

ксеийч л о бпре Ги

 швто ифр

т

 син у

с

л ав Г

 3. Всы о кру вне ая

 гиакр ф

151 zyxwvutsrqp

(оаин)екч о zyxwvutsrqp zyxwvutsrqponmlkjihgfedcb  3.3 

а ц и а лб Т тЧ

я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA д ан о м К а  Те Х Р ат е ь зл у т

о   е сб ту р

В ы де л н и ш р и ф то си м вол

е   жи рн ы м   о дн о г а   и л и  те к с т

Н або р   си м вол и л и  те к с т а   жи рн ы к ру с и в о м И з м ен ен и и  ег о  р а з м е р

Ш абло

м о

ы   {\ bfM } фи ль тр

{\ bfA4X} 

а а

Ш абло

а

Х   ф и л ь тр

{\ b f \ i t x } 

{ \ b f  М ' Ь О п т и м а л ь н а я

}

и

ы  М

В е к то р

а ы   х   и  у

м кри ва

е   ш р и фт

i z e {1 4 }Z - ф у н к ц и я

, й   и н де к

л

 к р и в а

а ьян а л м т и п О

я

{\ fo n t n a m e {a r i a l}\ fo n t s а

а

Z- н уф кц и

}

{2 }

я

{\ i t x } A {2 . 5 }

с

й   и н де к

я

2

х

{\ i t e }A {\ i t - x }

Н и жн и

н   м а тр и ц

ЧА

В ек то р ы   {\ b f \ i t y }

х

С те п е н ь в е р нх и

н   м атр и ц

и

f_ {5 }

с

х

е~

zyxwvutsrqponmlkjihgfedcbaZY

f _ {\ i t x x }



П р и м е ча н и

е  ^ Д

П рям о й   ш ри ф н и я   обы чн ог

т   те к с т о   п р ям о г

Возможн о   и сп ольз ован и м е р   t i t l e  ('З а в и с и м о с т п р и   а  =  я " . В  т а б л п роп и сн ы х   и  с т р о ч н ы

а   в  Т е о   ш р и фт

Х  ус та н а в л и в а е тс а   можн

я   к о м а н до о   н е  ук а з ы в а т

ь   н и каки

а

\ a lp h a \ be t a \  gamma

я   п о лчу е

.

е   гр еч еск и х   б ук в   и   сп ец и аль н ы х   си мволов ,  н а п р и ь   п р и   a = \ p i ' )  п р и в о д и т   к   з аго ло в к у :  "З а в и с и м о с т .  3.4 и  3.5  п р и в е д е н ы   коман д ы   Т е Х  д л я  в с т а в к и   н е к о то р ы х   гр еч ес к и х   б ук в   и  с п е ц и а л ь н ы х   си мволов .  3.4.ксеи ч р  Г

а ц и а лб Т д ан о м К

й   \ rm. Д л х   ком ан д

о в м иС

л

д ан о м К

а

о в м иС

л

д ан о м К

а

\ lam bda

X

\ chi

Р

\mu

li

\ ps i

Y

\ nu

V

\ omega

а

ь х

 буквы о в м иС

л

X

Ґ

аЧс т ь

152

 I. Ос но вы

и ц Та л б

 3.4 (оаин)екч о

zyxwvutsr

овмиС л овмиС л овмиС л а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA днамоК а днамоК а

днамоК

\delta

5

\xi

\epsilon е

\rho

\eta

Л

\Gamma

Г

p

\Delta

A

\sigma

a

\Theta

0

\tau

T

\Lambda Л

е

\theta \kappa

\phi к

\Phi

Ф и ц Та л б

днамоК

а

овмиС

л

Ф

 3.5. Се ьын пцеиал

днамоК

 сы лво им

а

овмиС

л

\leq




\geq

>

\leftarrow

> colormap(gray) »  colorbar »  title('Ги ф а р к   {\itz}  = -   {\ite}^{- {Xity}^{2}}  cos(3  \pi  {\itx})... {\itx} (1 -  {\itx}) {\ity}') »  xiabel('x') »  yiabei('у' ) »  zlabel('z')

л ав Г

 3. Всы о кру вне ая

153 zyxwvutsrqpo

 гиакр ф к  z = -  е*   cos(3 л  х) х  (1- х ) у

и ф а Гр

0.1.

00.8 00.6 00.4 00.2 0 -00.2 а --0000..46 -00.3

  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA '- - • - • - 0^''- \ -  'Г "- - , • • '• """

0.05.



О >

- 0.05.

- 0  1 ,

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

•У  

Рис

.  3.38. Зна ид

- 2   0 

х  

; zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ

е  дл я  сьнлео тя смоа

й  ротба

П о   му о л ч а н и ю   в   MATLAB  п оедр ж и в аест я   осн овн о и м се т я   воз м ож н ост ь   п ер й т и   к  р а с ш и р ен н о м у   фо р м а т бо ле е   сло ж н ы х   фо р м лу .  М ы   верн ем с я   к  эотм у   воп рос о н   с в яз а н   с   о б р ащ ен и е м   к   с в о й свт а м   ет к с о в ы х   о б ъ е к то в   "Т еквтосы ю ст я  з а го л в о к   и  п опд и с и  к  ося м   (с.м  р.азд

оврП

т  гриак ф

, и зм е н и

е  т окч

и  обзор

ы

й   фо р м а т   Т еХ ,  о дн а к о у   LaTeX  лд я   н а б о р а   ав ег л  9,  п о ск о ль к у у   в zyxwvutsrqponmlkjihgfedcbaZYXW ,  к а о в ы м и   яв л  ок"етыъ б авыг л   9).

а

П р и м ер ы , п р и в едн н ы е  в  п реыд щу и х   р а з де л а х ,  св и едтль свюту т   о  то м п р и   п о с рт о е н и и   р т ме х р н ы х   п о в е рн х о с ет й   о с и   к о р ди н а т   р а с п о л а г ю тс в с е гд а   о ди н а к о в ы м  о б р а з о м .  Ча с т ь   п о в е рн х о с т и   о сате я   п р и  э от м  с к р ы то й Д л я   п о лч у е н и я   п олн о й   и н фо р м а ц и и   о   п о в е рн х о с т и   е е   ж ел ат ь н "о с м о тр е ь "  с о   все х   с то р н .  П о л ж ен и е   н а б л ю да е т л я   з а   с и е тм о й   к о р ди н а т ,  и з о б р а ж ен н о й   н а   р и с . 3.36,  ахр к етр и з есут я   в мд у я   г лу а м и :  умто ази (Az)  и  умо г л   инеяшзвоы  (El).  з А и м у т   о ст ч и ыт в а е ст я   о т   оси ,  п р о ти в о п о лож н о й   у ,  а   гоу л   в о з в ы ш ен и я   о т   п ло ск о ст и   ух .  Н а   р и с . 3.39  п о л ж и етл ь н ы е   н ап р ав лен и я  о стч е а   о б з н ач ен ы   с рт е л к а м и . И з м ен ен и о щ с у е св т л я

е   п о л ж ен и т   н фу к ц и

я   н а б л ю да ет л я  view. Армгу ен атм

я   о нт о с и ет л ь н

о   гр а фи к и   view  яв л ю ст

я   аз и м у

,  ч т о я . о -

а   в   MATLAB т   и  уго л  в о з -

аЧс т ь  I. Ос но вы  р аб о т ы  в  MATLAB zyxwvut 154zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

в ы ш ен и я ,  о ст ч и ыт в а ем ы Д л я   то г о   ч от б ы   зу н ат view с  двму я   в ы о х дн ы м

е   в   г р са у д х ь   е щк т у е и   а р г м у е н ат м и

е   п о л ж ен и

.  П о  у м о л ч а н и ю е   н а б л ю д а ет л я :

^  = - 37.5°,  El  = 30°. ,  еслуд т   в ы з в ат ь

»  [Az,  El]  =  view Az = - 37.5000 El = 30zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

с иР

. 3.39.  Пн ежиол

е  нле тюалбд

П о л ж ен и е   н а б л ю д а те л я   з а д ест я   в о х нд ы м ,  и з о б р а ж ен н у ет ,  н а п р и м е р , н а  п о в ернх о с ьт б и с е к рт и с о й   п ер в о г о   к в а др н т а   п ло ск о ст б ы   в иу е тд ь   с к р ы ю ут   ч аст ь   п о в е р н х о с ит view (135, 45), п р и  э от м  п о лчуаест я   гр а фи к Р аз в ер н и т с м о рт е Н ес ло ж н р й у ет с то ч е к

е   гр а фи ь  н а  н ег о   д о г а д ть с я ь   сам о ст яель н о .

к   п о в е рн х о с т о  в до л

ь   ос ,  ч т

и   та к и   у   с о  с от р н о  н ео б хид м , н а б л ю да

, к а

я и   а р гм у е н а т м и   view. П о с м о рт и ю   н а  р и с . 3.38, в о з в ы ш а яс ь  н а и   х у   п о д  угло м   45°, дл я  то г о  ч от .  И с п о л ь з йу т е   к о м ан д , п р и в едн н ы й  н а  р и с . 3.40.

к  п о к а з а н ы  п л о с к о с т

о   и сп оль з оват я   з а  гр а фи к о

о   н а  р и с и   xz . м   п о в е рнх о с т

. 3.41, ч от б

ь   view(о ,  0). П о тр е н и и   и з  р а з л и ч н ы

д у

ы  п о

х

л ав Г

 3. Всы о кру вне ая

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 155zyxwvutsrqponm

 гиакр ф

Рис

. 3.40.  Г рафи

к  с  точ к и  з рен и я   н а б л ю ад е т л с   Az  =  135°,  El  = 45°

0.2  0.3  0.4  .  3.41.  Н а б л ю да те л

Р си

водл

ь   ос и   у   с о  сотр н

0.5  0.6  ь   с м о рт и

я

0.7  0.8  0.9zyxwvutsrqponmlkjihgfedcbaZY т   н а  гр а фи

ы   п ло ск т

к и   xz

156 

аЧс т ь

оП с т р о е н и з а ыдн

е  па р м е т риеч с к

 в  MATLAB zyxwvu

 р аб о т ы

и

х  пове рнохс т е

й  и  л ин

MATLAB  п о з в о л яе

  I. Ос но вы

т  с рт о и т

й zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM

ь  тр емх р н ы

е   ли н и

, о п р едл н н ы

е   ф о р м луа м и

:zyxwvutsrqp

x =  x(t) 9  y = zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED  y(t),z  =  z(t),  te[a9b],

и  п о в ернх о с ит

, з а д в а ем ы

е   з а в и с и м о с ят м

и

х  = х( и,   v) ,  y = y(u,v),  z = z(u,  v),  ue[a,b],  Ф ну к ц и к а ч е св т

я  p io t 3  в и з аул и з и реу е   а р г м у е н от

z(t),  в ы ч и с л ен н ы в а т ь   в е к от ш а го м   пр о вт ес ю у щ и

т   п а р м е рт и ч е с к ,  со едр ж ащ и

в   в е к то р ы

е   лд я   з н а ч е н и р   t,  ч т о   п р о щ е  всег и   п ом ощ и  дв о е т ч и я е   з н ач ен и я  фну к ц и

И с п о л ь з йу т

е  дл

я  э то г

и   з адн н ы е   з н ач ен и

й   п а р м е тр о   с ед л а ь т ,  и сп оль з у ,  а   з ает м   в ы ч и сли т . П о лчу и те

о   юс л у е д щ и

е   к о м а н ды

ve[c,d]. е  л и н и

я   нфу к ц и

а   t.  С н а ч л а   се л у д я   з ап о лн ен и ь   и  з а п и с а т , н а п р и м е р , гр а фи

, и сп о ль з у я  в й   x(t),  y(t)  и т   с фо р м и р о е  с  п о с т ян н ы ь   в   в е к от р к  л и н и

м ы   со и

:zyxwvutsrqponmlkjihgfedcbaZYXWVUTS

»  t = 0:0.1:100; »  х  = exp(abs(t  -  50)/50).*sin(t); »  у  = exp(abs(t  -  50)/50).*cos(t); »  z = t; >> plot3(x, y, z) >> grid on

В  р ез луь ат

е  в ы в о ди ст

Т ак ж

е   и м сет (с.м

Н ап р и м ер

 р.азд

я   гр а фи к

, и з о б р а ж ен н ы

я   воз м ож н ост   "Иине зм

ь   и з м ен ят  стйвсо

, p io t 3  (х ,  у ,  z,

П а р м е тр и ч е с к и   з адн н у б о й   и з   фн у к ц и й , п р енд а з н а ч ен н ы В аж н о   то л ь к о   п рави ль н y^cbj^a и   y(w,v)  м о гу м а тр и ц   с  и н фо р м а ц и е и   м а тр и ц ы , со едр ж ащ е з адч у   от браз и т ь   п о в е рнх о с т

ь  ти  " дйаон

 линй  

f

ю   п о в е рн х о с т

f

r : )  ри есу

п   и  ц ве  г)авы л . т   к р асн у

ь   м ожн х   лд я   о т б р а ж е н и ь   а р гм у е н ы т

о   п о д г то в и т т   бы т ь   м н ог з н ач н ы й  о  р а с п о л ж ен и й   з н ач ен и я  фн у к ц и ь   (к о н су)

й  н а  р и с

.  3.42.

т  л и н и

, до б а в л я т

ю   п н у к ит р н у о   п о с тр о и т

ь   м арк е ю  л и н и ю

ы .

ь   пр

и   п ом ощ и   лю я   рт е м х р н ы х   гр а фи к о в . .  Д е л о   в  то м ,  ч т о   нфу к ц и и ,  ч т о   н а д о   ч еуст ь   п р и   с о з ад н и и и   зу ло в   кс ет и   н а   о бласт и   п о с рт о е н и я и   z(w,v)  в   эит х   то ч к а х .  П о с та в и м , о п р едл н н у ю   з а в и с и м о с ят м и

x(w,v) =  0.3-  и  - cosv,  j(w, v) =  0.3- w  - sinv  ,  z(u,v)  = 0.6-  и  ,  u,ve[- 2n,  2я ] .

л ав Г

 3. Всы о кру вне ая

157zyxwvutsrqpo

 гиакр ф

. , ' - - ; " " ' " ' 

юо т



. - '• > 



* * ^

- ""'"'

80- .- - - '""" 60..- - - - '"'" 40..- - - '• "'"

20- - ' - " " " zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA



Рис

С ге н е р и рй у т ед р ж а щ и в е к от р - с от л б е ц

е   пр е   з н ач ен и

>>  и   = »

Дале

v



:

 

- 4 

- 4

. 3.42.  П ар м ерти ч ес к

и   п ом щ и   дв о е т ч и я   п а р м е тр о , a v —  в ек от р - с рт о к а !)

 

:

 





•  •  



• 

и  з адн н а

я   ли н и

я   (piot3)

я   в е к от р - с от л б е в   н а   з адн н о :

м   и н ет р в а л

ц   и   в е к от р - с рт о к у е   (в а ж н о

.

zyxwvutsrqponmlkjihgfedcba

,  со ,  ч т о   и  —

- 2 *p i : 0 . 1 *p i : 2 *p i )  •   ; [ - 2 *p i : 0 . 1 *p i : 2 *p i ] ;

е   с фо р м и рйу т

е   м а рт и ц

y(w,v)  в   то ч к а х г е нв ш о

 

ы   х ,  Y,  с о едр ж ащ и

,  со втесюу щ и

 пинея зводр

х   з н а ч ен и я  вокерт

 (з в ез од ч к

е   з н ач ен и

я   нфу к ц и

м   п а р м е тр о а   бе з  то ч к и )

й zyxwvutsrqponmlkjihg   x(u,v), в   пр

и   п ом ощ

и

:

»  X =   0.3*u*cos(v); »  Y  =   0.3*u*sin (v); М а тр и ц

а   z до л ж н

а   бы т

ь   то г о   ж е  р а з м е р а ,  ч т о   х  и  Y И , к р о м е  то г о ,  о н а   одлж н а   с о ед р ж а т ь   з н ач ен и я , со втес юу щ и е   з н ач ен и я м  п а р м е тр о в .  Е сл и   б ы  в н фу к ц и ю   z(u,v)  вохид л о   п р о и з в едн и е   и   и   v , т о   м арти ц у   z  м о ж н о   бы л о з ап о лн и т ь   а н а л о ги ч н о   х   и  Y п р и   п о м щ и  в н еш н ег о   п р о и з в едн и я . С   дргуо й с от р н ы ,  нфу к ц и ю   z(w,v)м о ж н о   п р е сд а т в и т ь   в   в и д е   z(u,  v) = 0.6- u  •  g(v), дг е   g(v)  = l.  П о э от м у   лд я   в ы ч и с л ен и я   z  сн о в а   п р и м ен и т е  в н еш н е е  п р о и з в е е дн и е  н а  в екотр - срто к у   от й  ж е  р а з м е р н о с ти , ч т о  v, со стящ юу   и з  еид н и ц : »  Z =   0.6*u*on es(size(v));

аЧс т ь

158

Вс е  треб му ы вы ш е   н фу к ц и в а ет л ь н о с т

 I. Ос но вы

 в  MATLAB zyxwvuts

 р аб о т ы

е   м а рт и ц ы   с о з да н ы .  И с п о л ь з йу т е   ет п р ь   лю бу ю   и з  о п и сан н ы х й   дл я   п о с р т е н и я   р т ме х н ы х   гр а фи к о в .  Н а п р и м е р , п о след ь   ком ан д zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

»  surf(X, Y, Z) »  colorbar »  xlabel('\itx = 0.3 \itu cos \itv') »  ylabel('\ity =0.3zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  \itu sin \itv') »  zlabel('\itz =0.6 \itu ') п р и в о ид

т  к  гр а фи к у

, и з о б р аж ен н о м

у   н а  р и с

. 3.43.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP

- 2.2

- 2  - 2 ^х .О Зи  с ое  v y- 0.3u sin vzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE

Рис П о с тр о й т да , з а д н н о г

. 3.43. Ги ф ар

е   с ам о с т яел ь н о  с о нт о ш ен и ям

к  пксиреч тмар

и  зна д о

о   п ро з рач н у и

ю   к арк асн у

й  пнтсохрев

и

ю   п о в е рн х о с т

ь   э л и п сои

-

x(u,v)  = cosu- cosv,  y(u,v)  = 0.7 cosu- sinv  ,  z(u,v)  = 0.8 •  sinu  ,   U,VG[- 2U,   2n]. Т р е б ум ы к ом ан д

й   р е з л у ь ат

т   п о з в о л яе

т   п о лч у и т

:

»  u  =   ( - p i:0. 1*p i:p i) '; >> v  =   - p i:0. l*p i:p i; »  X  =   cos(u)*cos(v); »  Y  =   0.9*cos(u)*sin (v); »  Z =   0.8*sin (u)*on es(size(v)); »  mesh(X,  Y,  Z) »  hidden  off

ь   с ю л уе д щ а

я   п о с л е до в а е т л ь н о с т

ь

л ав Г

 3. Всы о кру вне ая

 гиакр ф

Вс

е   сп ос б ы   п о с рт о е н и я   р тме х н ы ц ве т   п о в е рн х о с т и   в   з ав и си м о ст в е р н х о с ит ,  в ы глядщ е й   н е  совсе з в о л яе т   п о лч у и т ь   о ч ен ь   н а г л я нд о п р о с тр а н с тв е ,  о св ещ ен н о й   с  о нд о

е  ос ве щ но

оП с т р о е н и П р е дп о л ж и м о п р едл н н ы м м ож н о   пу р а в л ят в м ес т е   с  п о в о р то п о в е р н х о с ьт н и я  о св ещ ен н о

159 zyxwvutsrqpon

 

х   гр а фи к о в и   о т   з н ач ен и м   ес тв ен н о е   и з о б р аж ен и й   и л и  н еск о ль к и

, о п и с а н н ы е  в ы ш е ,  и з м ен яю т й   нф у к ц и , ч т о   п р и в о ди т   к  п о .  В  т о   ж е   в р ем я   M ATLAB  п о е   п о в е рн х о с т и   в   рт е м х р н о м х   с то р н .zyxwvutsrqponmlkjihgfedcbaZY

й  пове рнсхт

,  ч т о   п о в ернх о с т и   с в о й с вт а м ь   р ас п о л ж ен и е м   гр а фи к ,  п о в ер н ут й   п о в е рн х о с т

П о с тр о й т

е   о с в ещ ен у

т и   хе [ - 1

,  1],  у е [ 0

и

ь   гр а фи к

а   н фу к ц и я   и   п о гл щ е н и

и   о рт а ж е н и

а   и з   м а те р и а л а  с я   с в еа т ,  и ,  к р о м е   то г о , а   с в ае т .  Э т и   вд е   в о з м о ж н о с т и т   п о чл у и т ь   е с тв н о   в ы гл я д щ у ю ю   п о д   н жу ы м   г лу о м .  Д л я   п о срто е я  фн у к ц и я  surf 1.

м   и с от ч н и к а   п о з в о л яю ю   и   о с в ещ ен у и   п р и м е н я ес т ю   п о в е р н х о с ьт

,  1]  фо р млуо

,  з адв ем у

ю   н а   п р я м о гу л ь н о

й   о блас

-

й zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC

z(x,у)   = 4•  s'mlnx•  cosl.5пу П р и   и сп о ль з о в ан и и   surf l  одубн gray,  pink,  в   к о т р ы х   и н ет н с и в н о с т ч ен и я   п лав н о   и з м ен яю щ и с х in t e r p .  К о м а н ды , п р и в едн н ы в ещ ен н о й  п о в ернх о с ит ,  и з о б р а ж ен н о

и   с ед л а н

о   з адв ат ь   ц в ет я   о ет н к о е   н и же

  •  \ 1- х   у   у- (1—   у) .

ь   ц в еот ы а   и з м е н я се т в   е су л д

, п р и в о дя й   н а  р и с

е   п а л и тр ы

:  copper,  bone, я   ли н ей н о .  Д л я   п олу т   и сп о ль з о в ат ь   shading т   к  п очлуен и ю   рт е б у м о й   ос .  3.44.zyxwvutsrqponmlkjihgfedcbaZYXWV

»  [X, Y] = meshgrid(- l:0.05:1, 0:0.05:1); A »zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Z = 4*sin(2*pi*X).*cos(1.5*pi*Y).*(1 -  X. 2).*Y.*(1 -  V1 »  surfl(X, Y, Z) >> colormap('copper') >> shading interp >> xlabel('x') »  ylabel ( ' у ' ) »  zlabel('z') 

ќ  ,

П о   му о л ч а н и ю   и с от ч н и к   с в ет а   и ме т   а з и м ту ,  б о л ь ш и й   н а  45°,  че м   н аб л ю ад ет л ь ,  и   то т   ж е   гоу л   в о з в ы ш ен и я .  Д о п о л н и те л ь н ы м   ч евт р ы м   а р мг у е н о т м surf 1  м ож е т   бы т ь   в е к от р - с рт о к а   и з   в уд х   э л е м н от в  —  а з и м ту а   и   глу а   в о з в ы ш ен и я   и с от ч н и к а   с в еа т .  И з м е н и те ,  н а п р и м е р ,  аз и м у т   и с от ч н и к а   н а   - 90° п о  о нт о ш ен и ю   к  н а б л ю да те л ю ,  а  уго л  в о з в ы ш ен и я  усатн о в и т е   в  н о л ь .

аЧс т ь

160

Эт

о  м о ж н

о  п р о де л а т

ь   пр

и  п о м щ

и  к о м а н

 I. Ос новы

 работы

 в  M ATLABzyxwvuts

д zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ

»  [Az, El] = view; »  surfl(X, Y, Z, [Az- 90, 0]) »  shading interp В  рез льуат

е   п о ч л уа с е т

я   о с в ещ ен а

я  п о в енрх о сьт

, и з о б р аж ен н а

я  н а  р и с

. 3.45.

0.5,  0-

^-  

• ."•  

- 0.5-

• 



,

- 1 > 1  "*\

0.5"^zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED - s ^ _  "• • • - • .• • .. 0

0  - 1 у

Рис

0

.



.  3.44. О свещ ен а

ь zyxwvutsrqponmlkjihgfedcbaZYXWV

я   п о в е рн х о с т

-

0

0

5

X

^

-

.

[

'

"

"

'











-

-



|

*

.

5

.

-

!



>

1

"







• • 

S

^

0

^

^

^

^



Рис

.  3.45. И з м ен ен и

е  п о л ж ен и

-

-

^

-

0

.

5

1

я   и с от ч н и к

а   с в ет

а

^

л ав Г

 3. Всы о кру вне ая

161zyxwvutsrqp zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB

 гиакр ф

е  гирка ф

и н м А и р о ав ы н П р и  и зчуен и и   вд и ж е н и п о л ез н о   н е  то л ь к от ч к и   п о   тр а е к то р и м и ро в ан н ы й   гр а фи к с те я   н а   п л о с к о с т н и и  —  тр а е к то р и Д л я   п о с рт о е н и я comet3.  П о с тр о й те 10 сенк у д , к о р ди н а т

и

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG

я  то ч к

и   н а  п ло с к о с т и   и л и  в  трмех р н о ь   тр а е к то р и ю   то ч к и , н о  и  слиед т т   воз м ож н ост .  M ATLAB  п р еод сатв л яе ,  н а   к о т р о м   к рж у о к ,  о б з н а ч ю щ и и   и л и   в   п р о с рт а н с вт е ,  о сатв ля я   з а   соб и   вд и ж е н и я .  Г р а фи к   п ох ж   н а   л е я тщ у   ан и м и ро в ан н ы х   гр а фи к о в   п р и м е н я ю ст ,  н а п р и м е р ,  тр а е к то р и ю   вд и ж е н и ы   котро й   и з м ен яю ст я   п о  з ак о н у о   п о с рт о и т

м   п р о с тр а н с тв е ь   з а   вд и ж е н и е м ь   п о лч у и т ь   ан и ,  п ер м ещ а й   от ч к у й   сле д   в   в и ед   ли ю   к о м ет у   с   вх о с т м . я   н фу к ц и и   comet  и я   от ч к и   в   етч н и е

/   ч   sin Г   /   ч   cost x(t)   =   y(t)   =   .   v ; v  ;   t + l   t + l

Д е й с в тй у да н н о

е   то ч н

о   ат к   ж е ,  к а к   п р , н о  дл я  в и з аул и з ац и

й   нф у к ц и

и   п о с рт е н и

и   гр а фи к и   р е з л у ь ат

а   п а р м е рт и ч е с к

и   за -

а   и с п о ль з йу т

е   commet:

»  t  =   [0:0.001:10]; »  X  =  S i n ( t ) . / ( t + l) ; » 

у   =  c o s ( t ) . / ( t + l ) ;

» 

c o m e t ( x , 

П р и   в ы п о л н ен и ко м   бы л н и я  п ри вед

о   п о в ер

y)

и   п о с л не д й   к о м ан д х   о с ат л ь н ы х   окон н   н а  р и с .  3.46.

ы   с л ие д т .  О к о н ч а етл ь н ы

е   з а   ет м й   ви

,  ч от б ы   окн д   тр а е к то р и

о   с   гр а фи и   вд и ж е

-

1 0.8

"•



• . =.

0.6 0.4 0.2 i

0 G 

У

- 0.2 zyxwvutsrqponmlkjihgfedcbaZYX ;  - 0.1 ;.   0  0.1 0

Рис

. 3.46.  О к о н ч аетль н ы

й   ви

д  тр а ек от р и

.



0

и   в ди ж ен и

.



0

.

4

я   (commet)

162 

аЧс т ь

 I. Ос но вы

С к о р с ьт ю   вд и ж е н и я   к жр у а   м ож н о   п у р а в л я ть ,  з а д в а п р и   а в от м а ит ч е с к о м   з ап о л н ен и и   в е к то р а ,  с о вт ес юу щ ег п о ль з о в ан и е   comet  с  онд и м   а р мгу е н от м   (в ек от р м )  п р и в о ди ид н а м и ч е с к и   р и сю у щ е г о с я   гр а фи к а   з н ач ен и й  э лем н от .  Ф ну к ц и ю   comet  м о ж н о   в ы з в ат ь   ст и   о т   и х   н о м е р о в е тл ь н ы м   ч и словы м   п а р м е тр о м ,  к о т р ы й   з аде т   лд и н му о л ч ан и ю   о н  р а в е н   0.1. О б р а ти е   в н и м ан и е , ч т о  п р гр а фи ч е с к о г о   окн а   и л и  п р и  ег о  м и н и м и з ац и и  и  п осюлуед щ е н и и   тр а е к то р и я   вд и ж е н и я   п р о п ад ет .  Э т о   с в яз ан о  с я   гр а фи к а . п р и м ен яе т  M ATLAB дл я  п о срт ен и П о л чу и т о к р ж у н о с ит р а м е тр и ч е с к и м

е   с ам о с т яел ь н

о   тр а е к то р и я   п о  п р ям о

,  к аятщ ей с и   з а в и с и м о с ят м

Д л я   п о с рт о е н и п о л ь з ес ту и з м ен ял и с

О то б р а з и т к о м а н ды

 в  M ATLAB zyxwvutsr

я   раз ли ч н ы е   ш аг о   в р ем н и . И с т   к  п о срт о ен и в   н о м ер а  в  з ав и с и м о и  с  тр еьт и м   од п о л н и у   вхо с т а   к о м е ты . П и  и з м ен ен и и   р аз м ер о м   в о с ат н о в л е о   сп ос бом ,  к о т р ы

и ю о в й

ю   вд и ж е н и я   фи к с и р о в а н н о й   то ч к и  н а й   (ц и к ло и )уд .  Ц и к л о и д а   о п и с ы в а е ст я  п а и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH   x(t)  = t- sint,  y(t)  =  l- cost.

я   тр а е к то р и и   то ч к и я   нфу к ц и я   comet3.  П сту у   з ак о н ь  п о  сюлуед щ ем

е   тр а е к то р и

 р аб о т ы

,  п ер м ещ аю щ ей с ь   к о р ди н а т

ы   то ч к

я   в   п р о с тр а н с тв е и   в  теч н и

, и с е  zyxwvutsrqponmlkjih 100  снеку д

у

—к— 501/50   •   - I/- 50/50 ;с  =  е   '  '  siiu ,  y =  e   '  cos/ ,  z- t. ю   дв и ж е н и я   то ч к и ,  п р и м ен я я   п р и в едн н ы

е   н иж

е

:

»  t  =  0:0.1:100; »  х   =  e x p ( a b s ( t  -   50) / 50)  . * s i n ( t ) ; »  у   =   e x p ( a b s ( t  -   5 0 ) / 5 0 ) . * c o s ( t ) ; » 

z  =   t ;

» 

com et 3 (x,  y,  z)

Ф ну к ц и то р ы

Ра бот

й  та

ю   comet3  м о ж н о   в ы з ы в ат ь   с  ч евт ры к  ж е , ка к  и  в  счлау е  comet з а д е т   лди н

а  с  не солкимь

и  гриак фм

В о   в се х   п р и м е р а х ,  п р и в едн н ы ли с ь  в  с п ец и а л ь н о е  гр а фи ч ес к о п о с рт о е н и и   гр а фи к а   п р еыд щ у и й мо е   окн о .  M ATLAB  п р еод сатв л яе ск оль к и м и  г р а ф и к а м и : •   вы во

д   к а ж до г

•   вы во

д   н ес к о л ь к и

м   ч и сло в ы у   в хо с т

х   гр а фи к о

е   окн о в  в  о нд

, к о .zyxwvutsrqponmlkjihgfed

и

х   в   п р еы д щ у и е   окн о  с  з а го л в к о   п роп адл т   юс л у е д щ и а  в  сво

о   гр а фи к

м   а р г м у е н то м а  к о м е ты

х   р а з де л а х ,  гр а фи к и   в ы в о ид м   Figure 1.  П р и  сю улед щ е м й   в ы в о ид л с я   в  т о  ж е  ас ,  а  н о в ы е   воз м ож н ост и   работ ы   с  н е -

; о   окн

о  (н а  онд

и  к о р ди н а тн ы

е  о с и )

;

л ав Г

 3. Всы о кру вне ая

 гиакр ф

•   о т б р аж ен и св о и

х   о с ях

ов ыВ

д  гиорка ф

163 zyxwvutsrqpo

 

  о дн о г о   окн а   н ес к о л ь к и х   гр а фи к о в , к а ж до г о  н а е   в  п р едлах .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

в  в  оеытнлдь

е  онк

а

К ом ан д а   figu re,  о п р едл н н а я   в   M ATLAB,  жслиу т   лд я  со з адн и я   п с у от г о я  ег о  н а  э к р а н е . О к н о  сатн о в и ст я zyxwvutsrqponmlkjihgfedc   ,ткеиущм гр а фи ч е с к о г о   окн а  и  о от б р а ж ен и е   гр а фи ч е с к и е  фн у к ц и и  буд т   о щс у е с в т л я ь   п о с тр о е н и е т . е . вс е  п о слюеуд щ и гр а фи к о в   в   э от м   о к н е .  Д л я  п очлуен и я   н ов г о   гр а фи ч е с к о г о   окн а   е с лу д т сн ов а  и с п о л ь з о в а т ь   figure.  Н а п р и м е р , п о с л еод в аетл ь н о с т ь   к ом ан д zyxwvutsrqponmlkj »  [X,  Y] = meshgrid(- l:0.05:1, 0:0.05:1); »  Z = 4*sin(2*pi*X).*cos(1.5*pi*Y).*(1  -  . Х Л 2).*У.*( 1  -  Y ) ; >> figure »  mesh(X, Y, Z) »  figure »  surfl(X, Y, Z)

п р и в о ди т   к  п о яв лен и щ ег о   к арк асн у ю   п о в е р н х о с ьт Figure 2   яв л сет я   етк щ у и м р аем ы е  дал е , н а п р и м е

ю   н а  э к р а н

е  дву х   гр а фи ч е с к и х   окон :zyxwvutsrqponmlkjihgfedcba  Figure 1,  соедр ж а й   п о в е р н х о с ьт ю .  О к н о ,  и  Figure 2  с  о св ещ ен о ,  т . к . б ы л о   с о з ад н о   п о с л е нд и м .  К о м а н ды , н аб и -

р

»  colormap('copper') »  shading interp п р и в еу д ч ес к о рабоч у и з м ен ен и к ом ан д гр а фи к (с о к р ащ ен и

т   к  и з м ен ен и я м  и м ен н о  в  э от м   о к н е . Д л я  то г о   ч от б ы   с едл а т ь   гр а фи е  о к н о  Figure 1  текщу и м , се улд т  щ елк н т у ь   н а  н е м  мыш к о й , в ер н ьтус я  в ю   с р ед у   MATLAB  и   п р о д л ж а т ь   в о д   к ом ан д .  К о м а н д ы   п о в л ек у т я   в   окн е   Figure 1.  Д л я  о ч и скт и   в с ег о   е тк щ у е г о   окн а   и с п о л ь з е с ту я а   elf  (со к р ащ ен и е   о т  clear  figure),  а  дл я  то г ,  ч от б ы   бу р а т ь   то л ь к о , н о  о с ат в и т ь   оси , з а го л в о к   и  н а з в а н и я  о сей , се улд т   п р и м ен и т ь  c la е  о т  clear  axes).

В ы ш ео п и с а н н ы м   сп ос бо м   м ож н ок н   и   в ы в ес т и   в   н и х  гр а фи к е  да н н ы е в е к от р н ы е  и  м арт и ч н ы фи к а   п р и ес д т я   и ск ат ь  ег о  о к н щ ел ч к а   мы ш и .  Е ст ь   бо ле е   ну и в ер с ал ь н ы ск о ль к и м и   ок н ам и .  П р и  со з адн и п ом щ и   figu re  еслуд т   в ы з в ат н а з ы в а ес т я   в  MATLAB  меук азтл н о г о  а р гму ен т а   я в л ес т я  ч и с л о

о   п о лч у и т и   раз ли ч н ы . О дн а к о  н а  э к р а н

ь   ск оль к х   н фу к ц и о  дл я  и з м ен ен и е  и  дел ат ь   ег й   и  уодбн ы и   к а ж од г о   н ов г о ь   е е  с  в ы охнд ы м   а р г м у е н от м   н а  гр а фи ч ес к о е , с о в п адю щ е е   с  н о м ер о

о   г о у нд о   гр а фи ч е с к и й   и л и   в и з ау л и з и р о в а т я  то г о   и л и  и н о г о  гр а о  текщу и м   п р и  помо щ й   сп о с б   работ ы   с  не   гр а фи ч е с к о г о   окн а  п р .  Э от т   а р мгу е н   окн о . З н ач ен и е м   в ы о хд м  гр а фи ч е с к о г о  о к н а

х ь и и т .

аЧс т ь

164

 I. Ос но вы

 в  MATLABzyxwvutsr

 работы

Д л я  то г о   ч то б ы   с едл а т ь   гр а фи ч е с к о е  о к н о  текщу и м , се луд т   вы з ват ь   figure, куа з в   в   к а ч е с вт е   в о х дн о г о   а р мг у е н т а   к у а з ет л ь   н а   рт е б у м о е   гр а фи ч е с к о е окн о . Р а з б е р и т е  и с п о л ь з о в а н и е  указ етл й   н а  сю улед щ е м   п р и м ер . Т ребту с я   с о з ад т ь   дв а   гр а фи ч е с к и х   окн а ,  п о с рт о и т ь   в   н и х   гр а фи к и   н фу к ц и й /   =  sinxH zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   g  = l n x,  а   з ает м   оф рм и т ь   и х  —  да т ь   з а го л в к и   и   н а н ес т и   к сте у н а   в то р й   гр а фи к   (р и с . 3.47).  П о с л едо в а етл ь н о с т ь   к ом ан д , п р и в едн н а я  н и ж е , п о з в о л яе т  п о лчу и т ь   ж ел а м ы й   р е з л у ь ат .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR »  sinGr = figure; »  lnGr  =   figure; »  x  =   [0.1:0.05:10]; »  f  =  sin ( x) ; »  g  =   log(x); »  figure(sinG r) »  plo t ( x,  f) »  figure(lnG r) »  plo t ( x,  g) »  figure(sinG r) »  t i t l e ( ' \ i t f  =   sin \ it x' ) »  figure(lnG r) »  t i t l e ( ' \ i t g  =   ln \ it x' ) »  grid  on zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

*J Figure 2 в . zyxwvutsrqponmlkjih zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM Feli  Edti  V eiw  n Isert  Toos  l Desko tp  W nd iow  Hepl zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML   v О  е Ј У  #   k ^ QL О  ®  /  \ 'Ђ п  3  D f=sinx 1 F i l e 

D

E d i t 

^

V i e w 

§ 

y

I n s e r t 



T o o l s 


> quiver(х , у , их

, иу

, 0.3)

Ф ну к ц и му о л ч а н и ю

-

.

>>  q u i v e r ( х ,  у ,  и х

В о - в от р ы х к о э ф и ц и ен С р а в н и те

ь   0.5  п о

0.5)

0.4  Р си

й   м н о ж и ет л

:

>>  q u i v e r ( х ,  у ,  и х

П о лч у а е с т В   н аш е кри во

й   и   м а с ш ат б и р ю у щ и

я   quiver  до п сук а е ,  н а  н а ч и н а ю щ и ес

т   з а м ен

у   с рт е л о к я  с  м а р к ер

,  к о т р ы м а   о рт е з к и

. Т и

и   р и сю у ст п  л и н и

я   в е к то р , ц ве

ь

ы  п о

.

т   и  м а р к е

р

л ав Г

 3. Всы о кру вне ая

к у а з ы в а ю ст ыт

 гиакр ф

я   в м ес т м   ил

и  ш ыест

171 zyxwvutsrqpo

о   м а с ш ат б и р ю у щ е г м  вохнд ы

о   м н о ж и е тл я   и л и   п о сл е   н ег о   (т . е . п я .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

м   а р гм у е н от м )

>> quiver(х , у , их

, иу

,  'or- - ')

»  quiver(x, у , их

, иу

, 2.1, '*к:' )

П о м д у а й те вд и ж е н и к о р ди н а т к о м ан д иф к  п о л

,  к а к   о т б р а з и т ь   н е  то л ь к о   в е к от р я   в   ви д е   п лав н о й   кри вой .  О ч ев и дн о ы   е т л а   с   д о с та о ч н о   м алы м   ш а го у   hold  on дл я   н ал о ж ен и я  ли н и и  дви ж ен и я  с к о р сетй .

Ф ну кц и и   compass  и   feath er  р еал и з юу б р а ж ен и я   в е к от р н ы х   п о л ей . О н и   о лти ч аю ст з адн и я  н а ч л ь н ы х   от ч е к   в е к то р о в . Ф ну к ц и то р ы   и ос я хдщ и м и   и з  н а ч л а   к о р ди н а т о ст я щ и х   от ч е к   н а   о нд о й   п р ям о й . Э т ид т ь   и з м е н е н и е  с к о р с т и   б е з о нт о с и ет л ь н и   feat h er,  куа з а в   в   к а ч е с вт е   в о хн д ы х п р о ек ц и й  в е к то р а  с к о р с ит : »  compass(их

, иу

)

»  feather(их

, иу

)

Р е з л уь а т

ы   п р е сд а т в л е н ы

с иР

. 3.52.  Зивтсамо

, с о вт ес н н о

ь  стсорк

ы   с к о р с ит ,  н о   и   тр а е к то р и ,  ч т о   н ж у о   з ан ов о   вы ч и сли т м   п о   в р ем н и   и   и сп оль з оват я   ет л а   н а   п о с рт о е н н ы

ь ь й   гр а

-

т   рд г и у

е   сп о с б ы   гр а фи ч е с к о г о   от ,  ч т о   н е  тр е бюу т я   о т   quiver  етм я   compass  п р есдатв л яе т   вс е  век , a  feat h er  —  и осяхдщ и м и   и з  р а в н о и   н фу к ц и и   од у б н ы ,  сле и   н а д о   остле о   к  тр а е к то р и .  В ы з о в и т е   compass   а р мг у е н о т в   м ас и в ы   с о   з н ач ен и ям и

, н а  р и с

и  тле

ю

а  о т  вн ем р

. 3.52zyxwvutsrqponmlkjihgfedcbaZYXWV   и   3.53.

и  (фнцик у

я  compass)

аЧс т ь

172

Ф ну к ц и и   м ен т —  к о м п л ек с н ы п ер в ы й  и з пУ р а в л ен и ат к   ж е , к а к

compass  и   fea t h er  м о гу т   и м ет й   в е к то р ,  ч т о   э к в и в а л е н нт   к о то р ы х —  в е к от р   в е щ е св т н н ы е   с в о й с вт а м и   ли н и й , и сп о ль з ему ы   И  В  quiver.

Рис

. 3.53. З ав и си м о ст о т  врем н и   (фн у кц и

 I. Ос но вы

ь   еи д н с в т е н н ы о   вы з ов х   ч а с е тй х   в м ес т

 р аб о т ы

 в  MATLAB zyxwvu

й   в о х нд о й   а р уг у   о т   в ду х   в е к то р о в ,  а   в т о р о й —  м н и м ы х о   с рт е л о к ,  п р о и з в о ди ст

, . я

ь   ск о р ст и   е тл а я   fe a t h e r )

П олн а я   и н форм ац и я   О  ф ун к ц и я х   q u i ve r ,  compass  И  fe a t h e r  С о де р ж и тс я  В и н те р а к ти в н о й   сп равочн о й   с и с те м е   M AT L AB  и zyxwvutsrqponmlkjihgfedcbaZYXWVU   ин е ж о и п л р   1.  О т м е т и м , т   бы т ь   и сп ольз ован а   д л я  в и з у а л и з а ц и и   д в ум е р н ы х ч т о   ф ун к ц и я   q u i ve r  м о ж е в е к то р н ы х   п олей ,  н а п р и м е р ,  г р а д и е н т а   ф ун к ц и и   (с м . п р и м е р   в   сп равочн о й с и с те м е ) . Д л я   п р е дс та в л е н и с л уж и т   в е р хн о с т э то м   п ри м ер в е к то р о с е тк и  н

, я   т р е хм е р н ы х   в е к то р н ы х   п олей , з а д а н н ы х   н а   п о в е р хн о с т и q u i ve r 3 .  О д и н   и з   возможн ы х   п ри меров —  в е к т о р ы   н ормал и   к  п о и   —  п р и в е д е н   в   сп равочн о й   с и с те м е .  Д л я   н а х о ж д е н и я   н ормале й  в е   п ри влеч ен а   ф ун к ц и я   surfn orm .  О н а   вы ч и сляе т   ком п он ен т ы в   н ормал и   в   то ч к а х   п о в е р хн о с т и ,  к о т о р ы е   с о т в е т с т в ую т   то ч к а м а   п лоскост и   (х , у ) ,  г е н е р и р у е м ы м   ф ун к ц и е й   m e sh gr id .  И з у ч и т е

л ав Г

 3. Всы о кру вне ая

п ри м е (ри с

 гиакр ф

р   и   с а м о с т яел ь н .  3.54). П р о в е р ь т

е  себя

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF 173zyxwvutsrqpo

о   п о с рт о й т е   в н еш н и е   н о рм ал и   к   ш ар у   р а ди с у а  1 :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

»  u =  (- p >>  v = - pi:pi/15:pi; »  X = sin(u)*cos(v); >>  Y = sin(u)*sin(v); »  Z = cos(u)*ones(size(v)); »  surf(X, Y, Z) »  [U, V, W] = surfnorm(X, Y, Z) ; »  hold on

»  quiver3(X, Y, Z, U, V,W, 4,  ' k');zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ

1.5  - ,

1  0.5ЩШш

 

S§i&-   i 

- 0.5-

- 4 - 4 — H c ^ ^ ^ ^ . j 

"'•' • ;•  • • zyxwvutsrqponmlkjihgfedcba •' • • .!•  • .';

- 1 * 1

 

^ \ 0  ^ ^

:



>

1

:

:

:

:

:

.



.

• • • - • • • • • • " • • ••   • • •

1

Рис к   ш ар

я   и з о б р аж ен и я   р т ме х р н ы с к о р сет й   в  дви жщу ей с ц и ю   con epiot. К р а тк о

:

 

^ х ^  - 2  - 2

.  3.54.  В н еш н и у   (фн у кц и

.

>




 

^

1

-1

е   н о рм ал и я   q u ive r 3)

х   в е к от р н ы я   ж и кд о с т е  о п и с ан и

.

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM



Дл

:

> • • • ;;,. j !,- - - - - - ^^ 

i l ^ 

и  га з е

х   п о л ей ,  ат к и х   к а к   р а с п р едл н и е , MATLAB  п р еод сатв л яе т   н уф к и  да н о  в инеzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ  пжо илр  1.

174 

Зад ни

  /.  Ос но вы zyxwvutsrqponmlkjihgfedcbaZYXWV  работы  в  MATLAB zyxwvut

аЧс т ь

я

лд я  оньлетясма

й  работ

1.  П о с тр о й т

е  гр а фи к

и  фн у к ц и

ы

й  о нд о

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR

й   п ер м н о

й  н а  о рт ез к

е   [0.01, 2т]с .

, zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG   g(x)  = Q~ XCOSX.

/ ( * ) =   X В ы в ие д т

е  гр а фи к

и  р а з л и ч н ы м

•   в  о едтл ь н ы •   в  о нд

и   сп о с бам и

е   гр а фи ч е с к и о   окн

е  о к н а

о  н а  онд

•   в  о нд о   окн Дай т е   з а го л о в к и ли ч н ы е  ц в еат

и  о с и

е   о си . е   п од и с и   к   о с ям й  и  ти п ы   м ар к ер о в

(

x

,

е  гр а ф и к

,  и с п о ль з йу т

е   раз

е  скету

х   з н ач ен и

й   н фу к ц и е  в о   в н и м а н и е ь   о дн о г о   в е к то р а   о т   д р гу о ю   find  лд я   п о и с к а   и н ед к с о и   н фу к ц и и   и   и н ед к с а ц и .

ь   н фу к ц и а   с о   з н а ч ен и ям х   к о м п о н ен т

-

. и   си н и , ч т о   н .  С ле в   рт е ю   в е к от

.  П р и м и т

я   з ав и си м о ст

y





(

s

m

x

2

 

+

й   ц в ео т

м а -

o

s

м   к арк асн о и   л и н и ям й   п о в е р н х о с ьт ю

й  п о в ернх о с т е   н а   рт е м х р н о я   н фу к ц и

2

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML





Х

Е

[

-



1

l

]



j

>

e

[

-

l



l

]

.

:

й   п о в е р н х о с ьт ю

; и   р уо в н е   л и н и ям

, о то б р а ж е м ы

е   гр а фи к

y

;

•   п ром арк и рован н ы м ч ен и я  фну к ц и •   о с в ещ ен н о

c

и   сп о с бам и

й   п о в е р н х о с ьт ю

•   з а л и то

О мт е ь т ч т о   з н ач ен и

я   о рт и ц а ет л ь н ы х   —  к р а с н ы м

и  р а з л и ч н ы м

•   к арк асн о

Р асп о л ж и т с о вт е с ю у щ и щ ен н о

а   лд

, легн уд , н ан еси т

е   н фу к ц и ю   в уд х   п ер м н ы х   н а   п р я м о гу л ь н о й   о бласт и я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA z

В ы в еи д т

;

;

о  н а  оедтль н ы ,  р а з м ес ит , сит л и  ли н и

Н а р и сйу т е   ч аст ь   гр а фи к ц в е от м ,  а  дл я   п о л ж и етл ь н ы сам о м   ед л е   о т б р а ж е тс д о в а те л ь н о ,  м о ж н о   п р и м ен и т е мб у ы х   э л е м н от в   в е к от р р о м  дл я  в ы едл н и я   н жу ы 2.  В и з аул и з и рйу т о п р е дл н и

:

я   (с а м о с т яел ь н и  уро в н я)

о   вы брат

ь   зн а

-

;

.

и   в   о е д тл ь н ы м   ч и сло м   о с ей и   с  н еск о ль к и м   гр а фи к и   в   з ула

х   гр а фи ч е с к и .  П р едс ат в ь т х  то ч е к   обз ора е   от ч к х   кс ет

х   окн а х   и  в   о нд о м   окн е  с е   ви д   к арк асн о й   и л и   о св е .

и   э к с рт е м у о в и   р ха н яс т

.  И с п о л ь з йу т я   в   м а рт и ц е

е   то .  О п р едл и т

е

,

л ав Г

 3. Всы о кру вне ая

 гиакр ф

м ак си м аль н о е   з н ач ен и е   н фу к ц и л и т   зу н ат ь   с от л б ц е в ы е   и  срт о ч н ы в ер ш аю щ и й   э ат п   с о т и т   в   вы з ов то ч к а х   рт е м х р н о г о   п р о с рт а н с вт 3.  П о с тр о й т

е  в е к то р н о

В и з а ул и з и р й у т раз н ы

е  п о л

и   п р и   п ом щ и  max.  Ф ну к ц и е   и н ек д с ы   э и т х   э л е м н от е   p io t 3  лд я   р а с п о л ж ен и а   н а  гр а фи к е .

е  гр а ди ен т

е   рт ем х р н о е  п о в ернх о с ит )

175zyxwvutsrqpo

 

а  фну к ц и

е   в е к то р н о

я   fin d  п о з в о в   м а тр и ц ы . З а я   м ар к ер о в  в

. е   п ол

е   н а   п о в е рн х о с т

и   (в о з ь м и т

е

:

•   п о в е рн х о с т

ь   я в л се т

я  ги п е р б о л и до м

•   п о в е рнх о с т

ь   я в л се т

я   п а р б о л о и до м

•   п о в е рн х о с т

ь   з адн

; ;

а   п а р м е рт и ч е с к и

:zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML

x(u,  v) =  cosw - cosv,  y(ii,  v) =  sinw - sinv,  z(u,  v) =  w- v,  u, ve[0,  3]. П о с тр о й т

е  в ек от р н ы

е  п о л я

:

•   п ол е   н ап р ав л ен и к о м   н а   п о в е р н х о с ьт

й   о тр а ж е н н о г ;

•   п ол п ч ук о

е   н ап р ав л ен и м   н а   п о в е р н х о с ьт

й   п р ело м лен н о г

•   п ол и с от ч н и к а

е   н ап р ав л ен и

й   о рт а ж е н н о г

Р а с м о рт и т р ас п о л ж ен и П р и   п о с рт о е н и к о л и ч е с вт н а и лч у ш е г сит ,  н ео б хид м о п р ело м лен н о г

о   с в еа т

,  п адю щ ег о   с в ае т

о   п ар л е ь н ы ,  п а дю щ ег

м   чп у о   п ар л е ь н ы

м

; о   с в ае т

,  н а п р а в л е н н о г

о   и з   то ч е н о г

й   в   з ав и си м о ст

и   о т   вз аи м н ог

о

. е   и з м ен ен и я  п о в ернх о ст о   от ч е о   п р е сда т в л е н и

е   п о ле

и   п ол я   н ап р ав л ен и к   п р и л о ж ен и е   лд о  в е к то р а

й   н ап р ав л ен и и   и  и с от ч н и к а й   п о бд е р и т

я   в е к от р я   о  хар к етр

я   о п р е дл н и , в ы ч и с ли т

о

. е   м а с ш ат б н ы й   м н о ж и ет л ь  и в   н а   п о в е рн х о с т и   л д я   п о чл у е н и я е   п оля . П о л е  н о р м ал е й   к  п о в ернх о я   н ап р ав л ен и я   ч ел у й   о тр а ж е н н о г о   ил и е  с  п о м щ ь ю   н фу к ц и и   surfnorm.

лав Г

а т н еви Ир к лд

а  4

я  пиетсорн

я  сре д я  го ик арф

а в

zyxwvutsrqponmlkjihgfedcbaZYXWV

т   од у б н о е   и н ет р а к ит в н о е   с р е дв т о   л д я   п о с рт о е н и я MATLAB  п р едо с атв л яе гр а фи к о в   и   к о р е к ти р о в к и   и х   в и да ,  н ан ес н и я   д о п о л н и те л ь н о й   и н фо р м а ци ,  п о дг то в к и   и х   к   п е ч а ит ,  сорхан ен и я   и  э к с п о р т а   в   раз ли ч н ы е   гр а фи ч е ск и е   фо р м а т ы  —  н а б о р   и н с ртм у е н от в   в ы с о к ру о в н е в о й   гр а фи к и   (Plot Tools),  к о т р ы й   ад л е е   е д бу м   н аз ы в ат ь   р е д а к то р м   гр а фи к о в .  И с п о л ь з о в а н и е   р е д а к то р а   о п р а в да н н о ,  к о гд а   р т е бс у я   п о д г то в и т ь   н еб о ль ш о е   ч и сл о гр а фи к о в  дл я   п еч а т и   и л и  дл я   в сат к и   в  к а к о й - л и б о  до к му ен т .  Р е да к то р   гр а фи к о в   п о з в о л яе т   в ы п о л н ят ь   п р о с ет й ш и е   о п ер ац и : з а д в а т ь   ит п   и  ц в е т   ли н и и   и л и   с в о й с вт а   п о в е рн х о с т и   н е п о с р е дв т н н о   п р и   п о с рт о е н и и   гр а фи к а , р аз м ещ ат ь   з а го л о в о к   и  легн уд ,  п о пд и с ы в а т ь   оси .  Н а ч и н а ю щ и м   п оль з ова е тл я м   э то г о   вп олн е   д о с та о ч н о .  О дн а к о   п р и   н ап и сан и и   с о б вт е н н ы х   п ри м   вы вод м   р е з л у ь та о в   ч аст о   в о з н и к ае т л о ж ен и й   в   M ATLAB  с  гр афи ч ес к и н е о б х ид м о с т ь   п о лч у и т ь   ж у е   го т в ы й   гр а фи к   б е з   да л ь н е й ш е г о   р е д а к ти р о ван и я .  В о з м о ж н а   и   бо ле е   сло ж н а я   с и а у тц и я ,  п р и   к о т р о й   о ед т л ь н ы е   э ле м ен т ы   гр а фи к о в   до л ж н ы   и з м е н яь т с я   п р ям о  в   одх е  р а б о т ы   п р и ло ж ен и я , н а п р и м ер ,  ц ве т   и л и   то л щ и н а   ж у е   щ с у ю ве т щ е й   ли н и .  В   слчуае ,  к о гд а п р и л о ж ен и е   и с п о л ь з еу т   н ес к о л ь к о   гр а фи ч е с к и х   ок н   с о   свои м и   о с ям и , н е о б х ди м о   в ы в о ди т ь   р е з л у ь ат ы   н а   н жу ы е   ос и   в   о п р е д л н н о м   гр а фи ч е ск о м   о к н е . Д л я   р еш ен и я  э ит х   з ад ч   н е  о б о й ит с ь   бе з   с р е дт в   д е с к р и п то р н о й гр а фи к и   (H andle G raphics), к о т р о й   п о с в ящ ен а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ  гав л  9. Р а б о та я   в   р е д а к то р е гр а фи к о в , в ы   п о з н ак о м и етс ь   с о   р к ос у т й   гр а ф и ч е с к и х   о б ъ е к от в   MATLAB и   м н ог образ и е м   и х   с в о й с вт ,  ч т о   в п о следвти и   о б л е гч и т   п о н и м ан и е   се к д р и п то р н о й  г р а ф и к и .

л ав Г

 4. Инт е р так и вная

 с р аед

ри ае ч Г ф с и к

 для

е  от ек ъб

 по с т р о е ни я

177zyxwvutsrqp

 гиоквр аф

ы

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ

MATLAB  явлсет я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  ке-тонъ б вйитнаоер  й,о тимес  п ри ч е м   вс е  ги- афр к с еи ч   ке т ыъ б о   р ас п о л ж ен ы   в   о п р е дл н н о й   и ер а их ч ес к о й   п о с л е од в а ет л ь н о с ит .  Д л я   о св ен и я   с р е двт ,  о п и сы в аем ы х   в   н а с от я щ е й   гл а в е ,  од сат то ч н о   и сп о ль з о в ат ь   пу р о щ ен н о е   п р е сда т в л е н и е   о   гр а фи ч е с к и х   о б ъ е к ат х . О сн овн ы м   о б ъ е к от м   я в л се т я   гр а фи ч е с к о е   окн о   (figure),  в   к аж од м   окн е  м о гу т   б ы т ь   р ас п о л ж ен ы   о дн а  и л и  н еск о ль к о  си ест м  к о р ди н а т ,  о п р едля м ы х св о и м и   о с ям и  (axes).  Н а  к аж од й   с и ем т е   осе й  р а з м ещ а ю ст я   рд г и у е  гр а фи ч е ск и е  о б ъ ек ыт , н а п р и м е р  лин  (line) и л и  птисхвонре  (surface).  К р о м е  то г о , в о бласт и   гр а фи ч е с к о г о   окн а   м ож н о   р а з м е с ит ь   раз ли ч н ы е   п о яс н яю щ и е  о б ъ е к ыт :  сртелк и   (arrow,  doublearrow),  сртелк и   с   ет к с от в й   н а пд и с ь ю   (textarrow),  н апд и с и   (textbox),  гео м ерти ч ес к и е   ф и р гу ы   (ellipse,  rectangle).  П о яс н яю щ и е   о б ъ ек т ы   п р и н а лд е ж а т   с п ец и а л ь н о м у   ю о лс  паинйче имр  (annotationlayer) гр а фи ч ес к о г о  о к н а .

Figure

1

I и г урД

i

е тк е ъ б о

ы

Axis i 1

1

I и ф аГр

Рис

В аж н п р и м ер

Text

Surface

Line . 4.1. Ср у тк ур т (ущопнре ы

о   п о н и м а ть , ч т о   п р и   в ы з о в , p lo t  (н е  в а ж н о   и з  к о м а н дн о г о   и н те р ф е й с а ) , с н а ч л а   с о з да е с т оси ,  н а   к о т р ы е   в ы в о д я тс я   ли н и

к  sin x

а   о тк е ъ б о й  виран т е   нф у к ц и й  с тр о к я   гр а фи ч ес к о и   гр а фи к а

в  MATLAB ) й  в ы с о к о ру о в н е в о и   и л и   с р е дс в т а м е   окн о  и  п р и н а дл е ж а щ и .  Д р гуи м и   словам и

й   гр а фи к и и   гр а фи ч ес к о

, н а е   ме ,  к о м а н д

у а

178 

аЧс т ь

p lo t  с о з да е "п р о с т о   с тр о и

т   в с е   н е о б х ди м ы т   гр а фи к "

е   рд г и у В   ч с ла у и  др. )  си ацут и в е р н х о с ят м и г о   и з  в ы ш еп р еч и слен н ы

х   гр а фи ч е с к и я   а н а л о ги ч н а .  Р е да к то

х   н фу к ц и , то л ь к р   гр а фи к о

р  гоикра ф я   н ач л

 в  MATLAB zyxwvut

 работы

и   гр а фи ч ес к и

е   о б ъ е к ты

,  а   н е

.

х   о б ъ е к то в

Р е адт к о Дл д а к то р работ

е   в   и е р а их

  I. Ос но вы

й   (н а п р и м ер ,  surf,  mesh  и л и   contour о   м ы  уж е   и ме м  дел о   н е  с  л и н и я м и , а  с  п о в  п о з в о л яе т  легк о   и з м ен и т ь   с в о й свт а   к а ж од .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ

в

а   работ ы   с  р е да к то р )  еслуд т   п о д г то в и т у   н а   юс луед щ е м   п р и м ер

м   гр а фи к о

в   (дале е   лд я   в и з а у л и з а ц и :  н а   о нд о й   п ар

ь   да н н ы

н фу к ц и

й   sinx  и   cosx  н а   о рт ез к

ци

х

е   в   э от е   о се

е   [0, 5],  а   н а   д р у г о м

й   гл а в .  П р о и л ю с рт и реу й   п о с рт о и

е   п рост м  гр а фи к

—  п о в ернх о с т

ь   н уф к

у

и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   ~ е   ~   - ( x- l )  - sin27iy  лд я   :л , уЕ   [—1,1].  Н и ж е   п р и в едн а   п о с л ед в а

ет л ь н о с т

ь   к ом ан

д  дл

» 

х   =  0 : 0 . 1 : 5 ;

» 

f  =   s i n ( p i * x ) ;

я   п о д г от в к

и   ад н н ы х

о   ре м и -

:

>>  g  =   c o s ( p i * x ) ; »  » 

Дл

[X,  Y]  =   m e s h g r i d ( - l : 0 . 0 5 : 1 ) ; A Z  =   e x p ( - X . 2  -   У .

я  в ы з о в

а  р е да к то р

Л

2 ) . * ( Х   -   1)  . Л 2  . * s i n  ( 2 *p i *Y)  ;

а   гр а фи к о

в  в о с п о ль з йу етс

ь   к о м а н до

й

>>  plo t t o o ls П о я в л е ст Р е д а к то и н с ртм у е н от ки ) свой ст м е н от лд

я  ср ед р   гр а фи к о

а  р е да к то р

в   с о ед р ж и в   и  тр и   в с п о м о гаетл ь н ы ,   Plot  Browser  (Бр азу е в   гр а фи ч е с к и х   о б ъ е к то в ) в   гр а фи ч е с к о г о   окн я  п ер охд а   в  р еж и м  р е да к ти р о в а н и я

а   гр а фи к о в т   гр а фи ч е с к о р   о б ъ е к от в а   вы бра

, и з о б р а ж ен н а

я  н а  р и с

. 4.2.

е   окн о zyxwvutsrqponmlkjihgfedcbaZYXW  Figure 1   с   м не ю   и   п ан ел ь ю х   окн а : Figure Palette  (Ш а б л о н ы  гр а фи )  и   Property  Editor  -   Figure   (Р еда к от р .  О б р а ти т е   вн и м ан и е , ч т о   н а   п ан ел и   и н ср т у н   и н с р мт у е н т   Edit  Plot,   п р едн а з н а ч ен н ы й .

Н али ч и е   в с п о м о г а ет л ь н ы х   ок н   о п р е дл я с т я   с о т ян и е о   окн а .  К р о м и м ен н ы х   п н у к ат х   м не ю  View  гр а фи ч ес к о г м ен н о г о   о т б р аж ен и я   и л и   с к р ы ит я   в се х   в с п о м о г а ет л ь н ы п о с л е нд и е   кн оп к и   н а   п а н ел и   и н с р тм у е н о т в   гр а фи ч е с к о г Tools   (З а к р ы т ь   окн а )  и  Show  Plot  Tools   (П о к а з а т ь   ок н а) пс у т н а  то л ь к о   о дн а  и з  н и х .

м   фл а го е   то г о ,  лд х   ок н о   окн а ,  п р и ч е м

в   в   о нд о я   о нд о в р е   сж л уа т   вд е :  Hide  Plot   в с е гд а   до -

л ав Г

 4. Инт е р так и вная

 с р аед

 для

 по с т р о ени я

179 zyxwvutsrqpo

 гиоквр аф

iw Insert Toosl  Desktop W nidow  Hepl File Edit  Ve D  с ? в   a  IV  . Н а  э к р а н е  п о яв и ст я  гр а п ну к т  Run в  м ен фи ч е с к о е  о к н о  Figure 1,  соедр ж ащ е е   гр а фи к и  фну к ц и й . Р ез луь ат т   э к в и в ал ен м  ок е т н   п о с л е од в а е т л ь н о м у   в ы п о л н ен и ю   к ом ан д   л и с ит н г а   5.1 в  к о м а н дн о н е .  О дн а к о   есл и   в ы  р еш и л и   п о с рт о и т ь   гр а фи к   к о си н су а   в м ес т о   с и н с ау , т о д о с та о ч н о   п рост о   и з м ен и т ь   о п е р а то р   п ри св аи в ан и я  д   =  sin ( x)  в  М - фай л е н а   д   =  cos(x)  и  з ап суит ь   и з  р е да к то р а   вс е  к о м а н ды .  нА а л о ги ч н ы е   ей д с т в и я  и з  к о м а н дн о й  срто к и  п о тр е б о в а л и   б ы  б о л ь ш е  в р ем н и .

л ав Г

 5. М - й лы фа

[ ^ 

207zyxwvutsrq

 

П р и м е ча н и

е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

и   н овы й  фйа л  в  роакредт е   и  н абрл и  в  не м  ком ан ыд лЕс и  в ы  слаозд о б з я ел ь а т н о   с н ач л а   р ан с о х т я ь   г е о   и з   н ем ю   File, а   олть к о   по т н ь ят . М ожн о  сзар у   р аск ы т ь   н ем ю  Debug.  П н у к т  Run в  эо т м   ча улс с нт е я я  н а  Save and Run, о н  п оз веля т  зи апст у ь   п р о гам у ,  п вардеильт н о  снра охи в  ее . О ч ен ь   од у б н о й   в о з м о ж н о с ьт ю таисч  к.адн мо   З ак рой т е   гр а фи ч е с к о мы ш и ,  ерджу и ва я   л ев у ю   кн оп ку е т м   о тк р о й т е   к о н ет к с н о е   м не Evaluate  Selection.  To  ж е   сам о е в и ш ам и   с о   с рт е л к а м и   п р и  н а ж от д ы   л и с ит н г а  5.1  и  в ы п о л н и т е  и н аж м и т е   к лав и ш у   < F 9> .  О б р а ти в ел с я   то л ь к о   оид н   гр а фи к ,  со втесюу щ и п олн и т е   о сатв ш и е с я   рт и   к о м а н д гр а фи ч е с к о г о   окн а .  П о рт ен и рйу етс п р и м ер ы  и з  п рыед щу и х   гл а в   в Д р гуа а дл е

я   воз м ож н ост е  в  р.азд

Е сл

и   в   М - фа й л

ь   лд

я   в ы п о л н ен и  М- а йл ф

  "Ринеазб

, т о  н е м   вы п ол е  з мае -

  ин е л п во ы а   М - фа й л о в   я в л се т я zyxwvutsrqponmlkjihgfedc о   Figure  1.  В ы едли т е   п р и   п ом ощ и ,  п ерв ы е   ч ые т р е   к о м ан д ы   л и с ит н г а   5.1.  З а ю   п рав о й   кн оп ко й   мы ш и   и   в ы б ер т е   п ну к т   м о ж ет е   с ед л а ь т ,  и сп о ль з у я   к л а в и а р ут :  кла й     в ы едли т е   п ер в ы е   ч еыт р е   к о м ан х   и з   п ну к т а   Evaluate  Selection  м ен ю   Text  и л и е   в н и м ан и е , ч т о   в   гр а фи ч ес к о е   окн о   вы й   в ы п о л н ен н ы м   к о м а н да м .  Вы ы   л и с ит н г а   5.1  и  п р о с леид т е   з а   с о т ян и е м ь   с ам о с т яел ь н о ,  н а б ер и т е   к а и е- л и б о  р е да к то р е   М - фа й л о в  и  з ап суит е   их .   р е д а к то р

е   окн

я   фр а гм е н т  на  яйек чи

е   п р и   н або р е   с едл а н а   ош и бка .  M ATLAB  в ы п о л н яе т   к о м ан д сл е  ч ег о   в  к о м а н дн о е  о к н о  в ы в о ид ст я   с о б щ ен и д а к то р е   н овы й  фай л  mydemo2.m,  н а п р и м е р п а н ел и  и н сртмуен от в   р е д а к то р а , с о  сюлуед щ и м и с п о л н ен и я

 " эйто

а   М - фа й л  .авыг л

а   р а с м а тр и в а е тс

я

, т о   о н а   в ы яв л ест я   в   п р о ц ес е ы   д о   н еп р ав и л ь н о   в едн н о й , п о е  о б   о ш и б к е . С о з да й т е   в  р е , п р и  п о м щ и  к н о п к и  New  M- file и   к о м а н да м и :

У   =  С 1  2  3 ] z  =   у * у х   =  у

О ч е в и дн о та к о г ги п е р с ы л к о

,  ч т о   в о   в то р о о   фа й л а  п р и в ед й  н а  м ест

й   с рт о к т   к  в ы в о д о  о ш и б к и

е   од п щ у е н а   ош и бка .  П о п ы тк а   в ы п о лн ен и я у   в  к о м а н дн о е  о к н о  сюлуед щ ег о   с о б щ ен и я  с :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH

??? Error using ==> mtimes Inner matrix dimensions must agree. Error in ==> mydemo2 at 2 z -  y*y Щ ел ч о а к ит в н ы

к   мы ш и   п о   ги п е р с ы л к м  и  п о м ещ ае т  крусо

е   с   и м ен е м   М - фа й л р   в  срто к у   с  о ш и б к о й

а   ед л а .

т   окн

о   р е д а к то р

а

208 

аЧс т ь

  I. Ос но вы

 в  MATLAB zyxwvut

 работы

Пр и м е ча н и е   ^Д zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED J^ zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA В ы п н ол м еы я н о . Н ап ри м ер н и я  вы вод О е длт ь н ы сн абж ат о дб н у з н ак н ию )

е   к о м на д , в  пщ ыуе д р а  се у дел

ы   ю щ я в л у о ст е т  з аверш ат

т   вы о е  вы олсве ы  точк

м   п ир м е ь  комна д

д   р ез л ь а т у ь   з н ча е и й  с  з ап оятй

а   в   к о м ан д о е  у .  Дл .

е  ок я   е в л па о д

-

е   блок и   М - фа й л а   (о со бен н о   боль ш ог о   р аз м ер а )  ц ел с о б р а з н о ь  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA и,м тнияар ме кмо   котры е   п р о п с ук а ю с т я   п р и   в ы п о лн ен и ,  н о я  с о ы   пр и   работ е   с   М - фа й л о м .  К о м ен ат р и и   в   M ATLAB  н а ч и н а ю ст а   п р о ц ен т а   и   а в от м а ит ч е с к и   в ы едл я ю с т я   з ел н ы м   ц в ео т м   (п о   м уолч а , н а п р и м е р :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

%пи н е о р т с о

е  гк и ф а р

а  sin(x) в  оо н ь л е д т

м  он к

е

Д л я   и с к л ю ч ен и я   ч аст и   и с п о л н яем о г о   код а   б е з   е г о   а д л уе н и я   и л и   сл е и   к о л и ч е св т о   с рт о к   к о м е н ат р и е в   д о с та о ч н о   в ели к о ,  м о ж н о   и сп оль з оват ь   бло к к о м е н та р и е в ,  н а ч и н а ю щ и й с я   с о   с рт о к и   и з   вуд х   си м вол в   % {  (з н а к а   п ро ц ен т а   и   о кт р ы в а ю щ е й с я   ф и р г ун о й   ск обк и )  и   з а к н ч и в а ю щ и й с я   с рт о к й  и з в ду х  с и м в о л в   % } (з ак р ы в аю щ ей с я  фи ргун о й  ск о б и  и  з н а к а  п р о ц е н та ) . О кт р ы ит е   щ с у е сю в т у щ е г о   М - фа й л а   п р о и з в о ди с т ю  File  р а б о ч е й   с р ед ы   ли б о  р е да к то р Open...  м не р е д а к то р е   м ожн о   и   к о м а н до й   e d it  и з  к о м а н дн о а р мг у е н т а   и м я  фа й л а , н а п р и м е р :

я   пр а   М - фа й л о в й   с тр о к и

и   п ом ощ . О тк р ы т , ука з а

и   п ну к т ь   фа й в   в   к а ч е с вт

а zyxwvutsr л  в е

»  edit  my demo К ом ан д н ов г сю в т у щ е г

а   e d it  бе з   ар мгу ен т а   п р и в о ид о   фа й л а  бе з   и м ен и  (U ntitled). Е сл о   фа й л а   mydemo4:

т   к   о кт р ы ит и  в ы  ввел

ю   р е д а к то р и   к о м ан д

у   с  и м ен

а   и   с о з ад н и м   н щ с еу

ю -

»  edit  mydemo4 т о   M ATLAB  в о с п р и м е т   э т о   к а к   ж ел а н и е   с о з ад т ь   н овы й   М - фа й л   с   куа з н н ы м   и м ен ем .  Н а   э к р а н   е д бу т   в ы в е дн о   ди а л о г в о е   окн о   с   з ап росом :  "File mydemo4.m  does  not exist. D o you  want  to  create  it?" (Ф а й л  н е  сщ у есвту , хо ит е   л и   в ы   с о з ад т ь   та к о й   ф а й л ?) .  П р и   в ы б о р е   Yes  фай л   е д бу т   с о з ад н   и   от к р о е ст я  в  р е да к то р е   М - фа й л о в . ^ 

Пр и м е ча ни

е

В  эо т м  ж е  окн е  ис тем я  фал г  Do not  show this prompt again,  уанст овк а  кот р о г о   к ол ю т ч и т   п н евл оя и е  з ап рос а   н а  соназ д и е   н ов г о   аф й л . В  эо т м   улс ча е  указ н и е   н и ем и  ню щув тсге о   йа ф л а  в  кв часте е   п а р м ет а  коман д ы   e d it  зарс у   п е ир д в т   к   г е о   с о з ан д и ю .  В ы   мтжое е   в о а сн т о в и т п н е вл оя и е  эогт о  з ап роса , оибратвш и с ь  к  н роасйт к м  раедкотр . Дл я  эогт

о

ь

л ав Г

 5. М - й лы фа

в ы р и бе т

209 zyxwvutsrqpo

 

е   в  мн е

ю  File рабоче й   д ер с ы   ил и  ракоедрт а   М - й а фо л в  пн ук т zyxwvutsrqpon  Prefя  он д ои мне о е  окн о , в  лове м   п ло е  к отр г о  е у делс т  пе й ер т и   к  пн тку у   Editor/ Debugger и  уанст ови т ь   ал ф г  Show dialog prompt when editing files that do not exist в  п рвао м  п оел . erences.  П с отвеял

В   р е д а к то р е   М - фа й л о в   м ож е т   бы т ь   о нд о в р е м н н о   о тк р ы т о   н ес к о л ь к о  фай лов .  M ATLAB  п о з в о л яе т   м ен ят ь   сп о с б   о т б р аж ен и я   фа й л о в   в   р е д а к то р е . П о   му о л ч а н и ю   окн о  Editor р е да к то р а   то л ь к о   о дн о , и  п р и  о тк р ы ти и   к а ж до г о н овог о   фа й л а   о н о   с н а б ж ес т я   з а к л а кд о й   вн и з у   рабоч е й   о бласт и   с   и м ен е м фа й л а   л д я   б ы с рт о г о   п е р о хд а   к   окн у   с  требму ы м   фа й л о м   и л и   лд я   е г о   з а к р ы ит я   кн оп ко й  н а  з а к л а кд е .  П о с л енд и е  п ят ь   к н о п о к  н а   п ан ел и   и н с р мт у е н то в   (см .  р и с . 5.1)  да ю т   воз м ож н ост ь   вы брат ь   сп о с б   р ас п о л ж ен и я   ок н  с фа й л а м и   в   рабо ч е й   о бласт и   р е д а к то р а .  Н а п р и м е р , е е   м о ж н о   р а з де л и т ь  п о х   фа й л о в .  И с п о л ь з у я г о р и з о н та л и   и л и   п о   в е р ит к а л и   лд я   о т б р а ж е н и я   в уд н ехт и к у   dock/ undock,  м о ж н о   о кт р ы т ь   к а ж ыд й   фа й л  в   свое м   окн е   р е д а к то р а и ли , н а о б о р о т , в с рт о и т ь   ег о   в  дргоу е   окн о  р е да к то р а .  Д л я   в ы п о л н ен и я  ука з ан н ы х   о п ер ац и й  в   п р а в о й   ч аст и   с рт о к и   м не ю   п р и с вт ю у т   с о вт е с ю у щ и е  и н срмтуен т ы   Dock и  Undock.  Е сл и   окн о  р е да к то р а   е ид н с в т е н н о е , т о  и с т   к   в с рт а и в а н и ю   окн а   р е д а к то р а   М - фа й л о в  в п оль з ован и е   Dock  п р и в о ди окн о  р а б о ч е й   с р ед ы   M ATLAB,  п р и  э от м   к н о п к а  Undock до п о л н и те л ь н о   по яв л сет я  в  з а го л в к е   окн а  р е да к то р а   лд я  п о члуен и я  о б р а тн о г о  э ф ек ат .zyxwvutsrqponm

а Н с т р ой к

и  ре адткор

а  М - лйо фа

в

Д л я   и з м ен ен и я   н а с рт о е к   р е д а к то р а   М - фа й л о в   е су л д т   вы брат ь   в   м ен ю   File р е д а к то р а   и л и   рабо ч е й   с р ед ы   пну к т   Preferences.   П о яв л ест я   о дн о и м е н н о е ди а л о г в о е   окн о   л д я   н а с рт о й к и   р яд а   к о м п о н ен т  р а б о ч е й   с р ед ы   M ATLAB. В   л ев о й   ч аст и   окн а   о т б р аж ен ы   н аз в ан и я   к о м п о н ен т , ч аст ь   котры х   п р ед с ат в л е н а   раск ры в аю щ и м с я   сп и ск о м  (слев а   н ао х и д с т я   з н а к   + ), п о з в о л яю щ и м п ер й т и   к   р т е б ум о й   грп у е   с в о й с вт .  П р и   и з м ен ен и и   оп ц и й   то й   и л и   и н о й к о м п о н ен т ы   е с лу д т  в ы б р а т ь   е е  в   сп и ск е  и  п ер й т и   к  э лем н ат м   пу р а в л ен и я в   п рав о й   ч аст и   окн а   Preferences.   С ред и   к о м п о н ен т   се т ь   и   р е д а к т о р   М фа й л о в  —  р а с к р ы в а ю щ и й с я   сп и со к  Editor/ Debugger.   Р а с м о рт и м   ад л е е   н аи бо ле е  в аж н ы е  н а с тр о й к и  р е да к то р а . П р и   вы бор е   з а го л о в к а   р а с к р ы в а ю щ е го с я   сп и ск а   Editor/ Debugger  в   п р а в о ч аст и   окн а   о т б р а ж ю тс я   общ и е   н а с тр о й к и , с в яз ан н ы е   с   р е д а к ти р о в а н и е фа й л о в   в   M ATLAB.  П а н ел ь   Editor  п о з в о л яе т   и сп о ль з о в ат ь   в м ес т о   с а тн д а р тн о г о   р е д а к то р а   MATLAB  л ю б о й   др г у о й   ет к с о в ы й   р е д а к то р ,  ск аж ем N otepad  (Бл о к н о т) . П р и ч е м  со з адн и е  н о в г о   М - фа й л а  бед у т   о щс у е с в т л я ь с п о - п р еж н ем у   в   р е д а к то р е   М - фа й л о в ,  а   о кт р ы ит е   фа й л о в  —  в   в ы б р а н н о

й м , я м

210 

аЧс т ь

 I. Ос но вы

 работы

 в  MATLAB zyxwvut

м   н а с рт о й к а м   о нт о с и т я   ат к ж е   дл и н а   сп и ск а   п о с л не д и х р е д а к то р е .  К  о б щ и о кт р ы т х   фа й л о в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC  (Number of entries),  к о т р ы й  р а с п о л а г ест я   в  м ен ю  File  ре д а к то р а   и л и  р а б о ч е й   с р еыд .  П р и  з ап сук е   MATLAB  в о з м о ж н о   а в от м а ит ч е ск о е  о кт р ы ит е  те х  фа й л о в , с  к о т р ы м и  в елас ь   работ а   в о  в р ем я   п р ые д щ у е й се и , елс и  п р и  з ав ер ш ен и и  р а б о т ы   р е д а к то р   н е  бы л  о детл ь н о   з ак ры т . Д л я э от г о   е ус л д т   с у ат н о в и т ь   фл а г   On restart  reopen files from  previous  MATLAB session. С ед л а й т е   а к ит в н ы м   пну к т   Display в  лев о й   ч аст и   окн а . В  п р а в о й   ч аст и   окн а п о яв ст я   с р е д вт а   лд я  и з м ен ен и я  р е ж и м о в . Н а п р и м е р , в  р а з де л е   General Disы   вд а   ф л а г .  Ф л а г   Show  line  numbers   саутн о в ле н  и play  Options  р а с п о л ж е н куа з ы в а е т   н а  т о , ч т о  в   р а б о ч е й   о бласт и   в ы едл н а   колон к а   лд я   н м у е р а ц и и с рт о к   ет к с а   в  фа й л е , а  фла г   Enable  data tips in edit  mode   с б р о ш е н .  Е г о  уаст н овк а   п о з в о л яе т   в ы в ес т и   з н ач ен и е   п ер м ен н о й   рабоч е й   с р ед ы   н а   в сп лы в аю щ у ю   п о сд к а з к у   п р и  н авенд и и  н а  п ер м н у ю   к ру с о р а   мы ш и  в  р еда к от р е .  Р аз муестя ,  с о втес юу щ и е   п ер м ен н ы е   до л ж н ы   сщ у е с в т о а т ь   в рабоч е й   с р ед ,  п о э тм у   и х   п росм от р   и ме т   см ы с л   п о сл е   в ы п о лн ен и я  М фа й л а .  В о сп о ль з йу етс ь   э о т й   в о з м о ж н о с ьт ю   л д я   п о чл у е н и я   з н ач ен и й   п ер м ен ы х  с о з да н н о г о  в ам и  фа й л а   mydemo.m. П р и   з ап и с и  в ы р а ж е н и й , соедр ж ащ и х   м н ог о   ск об к , о ч ен ь   п о л ез н ы м   о к аз ы , к о т р ы й   н а с рт а и в а е ст я в а ес т я   а в от м а ит ч е с к и й   к о н тр о л ь  з а  и х  п а р н о с ть ю п ну кт е   Keyboard&Indenting.   К о н тр о л ь   м ож е т   п р о и з в о ди ь т с я   в   п р о ц ес е  н а бора , дл я  ч ег о   еслуд т  усатн о в и т ь   фл а г   Match parentheses while  typing.  В  р а с к р ы в аю щ ем с я   сп и ск е   Show  match  with  в ы   м ож ет е   в ы б р а ть ,  к а к  п р и  н а б о р т   п ок аз ы ват ь   п ар н у ю   ск обк у :  Underline  —  п очд ер в ы р аж ен и я   р е д а к то р   е д бу к и в ан и ем ,  Highlight — в ы едл н и е м   фо н а  си м в о л а   и л и  Balance  —  в ы едл н и е фо н а   в уд х   п арн ы х   скоб к .  Р еда к от р   расп оз н ае т   н е з а к р ы ыт е   ск обк и   и  и н фо р м и р еу т   в а с  онд и м  и з  с п о с б о в , п р есдатв лен н ы х   в  р а с к р ы в а ю щ ем с я  сп и ск е   Show  mismatch  with:  B eep—  з вкуо ы м   с и гн а л о м ,   S trikethrough—  п ер .  В о з м о ж е н   ат к ж е   б ы с рт ы й   п ои с ч е р к н ыт у м   си м вол м   и л и  N one —  н и к а п арн о й   ск обк и   в  уж е  н а б р а н н о м   в ы р аж ен и и   п р и  н ав едн и и   н а  н е е  крус о р и л и   о п о в ещ ен и е  о б  освтуи и   та к о в о й . Д л я  н а с рт о й к и   э от й   о п ц и и   с а ут н о ь в и т е   фл а г   Match  parentheses  on  arrow  key  or  mouse  movement  и  о б р а ит ес раск ры ваю щ и м с я   сп и ск ам , р а с п о л ж ен н ы м  п о д  н и м . Ещ

е  о дн а   од у б н а я   воз м ож н ост р ы   котрог о   м ожн о   и з м ен и т ь н ен и я   е с лу д т   с у ат н о в и т ь   фл а к о   в се м   э л е м н ат м   пу р а в л е н и я м ен и ,   ч ер з   котры й   едбу т   п р о и с о х ид т фа й л  сорхан яест я   с  те м  ж е  и м ен

ь  — реж и м   а в от с р х а н е н и я   фа й л о в , п ар м ет  в  п ну к т е   Autosave.   Д л я  в к лю ч ен и я   а в от с р х а г   Autosave  on.   П о с л е   э то г о   п о я в л ест я   од с у т , в   ч а с нт о с ит ,  м о ж н о   вы брат ь   и н ет р в а л  в р е ь   с ор ха н е н и е   фа й л а .  П о   му о л ч а н и м  и  р ас ш и р ен и е м  asv, к о т р о е   м ож н о  и з м е

 в е м к а  к п ю -

л ав Г

 5. М - й лы фа

н ит з ад р е к о м е н уд к а ж од окн коп и чт о к л ю ч а етл

211 zyxwvutsrqpon

 

е   др г у о е ,  суатн о в и в   п е р к л ю ч а е тл ь zyxwvutsrqponmlkjihgfedcbaZYXWVU   Replace  extansion  with,  и ь   и   н а   лю бо в   н ов е   р ас ш и р ен и е   в   с рт о к е   в од а   сп рав а   о т   п е р к л ю ч а ет л я .  М ы   н е м   и сп о ль з о в ат ь   л д я   э и т х   ц ел й   р ас ш и р ен и е   т ,  п о с к о л ь к у   пр и м   а в от м а ит ч е с к о м   с о р ха н е н и и   фа й л а   е д бу т   в ы в о ид ь т с я   ди а л о г в о е о  с  п пруед ж н и е м   о б  и з м ен ен и и  фай л а  в н е  р е да к то р а .  П о   му о л ч а н и ю и   а в от м а ит ч е с к и   с орха н яе м о г о   фа й л а  р а з м ещ а ю ст я   в  то м   ж е   к а т л о г е ,   и   о р и ги н а л ,  н о   м о ж н о   вы брат ь   и   о е д лт ь н ы й   к атлог ,  саутн о в и в   п ер ь   кн оп ко й  с п р а в а  о т  н его . ь   Single directory и  в о с п о л ь з о в а ш и с

Н а с тр о й к а   в ы е дл н и я   ц в ео т м   раз ли ч н ы х   ф р а г м е н от в   ет к с а   (к лю ч евы слов , тек сотв ы х   с рт о к , к о м ен ат р и ев , о ш и б о к  и  т . п . ) п р о и з в о ди ст я  в  п ну к т Color,  а   в ы б о р   ш р и фт а   и   е г о   а х р к ет р и с ит к   —  в   п ну к т е   Font  (Custom).   Д л и з м ен ен и я   ш р и фт а  се улд т  в  сп и ск е  Desktop   tools в ы б р а т ь   Editor и  п р и  уаст н о в л ен н о м   п е р к л ю ч а е тл е   Custom н а  п ан ел и  Font to  Use  в ы б р а т ь   ит п  ш р и ф та , ег о  р а з м е р   и  сит ль .

х е я -

М ы   о би д с у л и   то л ь к о   общ и е   н а с рт о й к и   р е д а к то р а ,  о сатл ь н ы е   м ы   е д бу м пу о м и н а т ь   п о   м ер е   н а д о б н о с ит .  Н а п р и м е р , п р и   н а б о р е   п р о гр а м м   воз м оже н а в от м а ит ч е с к и й   о с тп у ,  ч т о   о с б ен н о   од у б н о   п р и   и сп о ль з о в ан и и   в л о ж ен н ы х   ц и к ло в   и л и   с лу о в н ы х   о п е р а то р о в .  О   н а и б о л е е   в аж н ы х   о п ц и ях , св яз ан   ав ег л  7,  к о т р а я   п о с в ящ ен а   к о н с рт к у ц и я м н ы х   с   а в то тс п у о м ,  с к а з а н о   в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC яз ы к а  п р о гр а м и р о в а н и я   MATLAB. П р и в едн н ы фа й л а х м ео т д к н и ги

е   в   кн и г е   п р и м ер , сн абж а я  и х  н ео б хид м ы м в   и   п р о гр а м и р о в а н и , к а к  п р а в и л о , тр ебюу

К ^ 

П р и м е ча н и

ы   ч л уш е   в с ег о   н аби рат ь   и   с о рха н я т ь  в  М и   к о м е н та р и я м и . П р и м ен ен и е  ч и слен ы х е   в   M ATLAB,  о п и с а н н о е   в   ю с лу е д щ е й   ч аст и т  с о з адн и я  М - фай ло в .zyxwvutsrqponmlkjihgfedcbaZYXWVUTS

е

М ож н о   и с п о л ь з в ат ь   р а к ео д т р   М - й а оф л в э о гт о  джвад ы   щ кн л е и т е  п о  з н чак у   с  М - йоалф ки , в  корт й  о н  хран исят . Ф йа л  оскртое я пр и  эо т м   раокедт р   с т е я лв я   ьл е н т о м с ая ы о лт ь к о   р а е кд и т р о в ь а т ,  н о   н е   вы п олн ьят Windows  олждн о   бы т ь   ас о ц и р о в ан о   с  пирнжоел ор т м   М - й а ф ол в ) , чт о   вы бис треа я   ли б о   п р вс о й а т х   пак и  в  Windows. И та к с рт о к а

, у  н а с  ест . Р аз бер 8  З ак

.  130

ь   бо ле м  теп ер ь

е  уод б н о , к ак и

е   с р е дв т е  ти п

о   в ы п о л н ен и ы  М - фай ло

  и   е б з   з ап с к у м  в  окн  в  раокредт м   п ри о ж л н е и м е .  ясРмтезау и  уанст овк я  к о м а н д в  сщ у юевсту

а   MATLAB.  Дл я м  п па . Онд ак о . Ф йа л  мжон о ,  рсша и нре и е   m  в м   meditor.exe  (рка де е   MATLAB,  ли б о  в е  с  сжриемыдо е   М - й а ф ол в

, че м  к о м а н дн а т  в   M ATLAB.

я

  I. Ос но вы  работы  в  MATLAB zyxwv аЧс т ь 212zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

пи Т

ы  М - йло фа

в

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

ы   в   M ATLAB  б ы в а ю е   п о с л е од в а е т л ь н о с т х   о п и с ы в а ю ст я   нф у к ц и

М - а фй л с о едр ж а щ и в  к о т р ы

ай л Ф - п р о г ам м

т   в уд х   ти п о в ь   к ом ан д , о п р едля м ы

: - йл фа мы гаморп , и  ф- айл укн ци ф

 ( Script  M- Files),  ( F unction M- Files), .zyxwvutsrqponmlkjihgf

е   п о л ь з о в а те л м

ы

Ф а й л - п р о гр а м ы   п р е сд а т в л я ю т   соб й   п р о с е тй ш и й   ит п   М - ф а й л о в .  О н и   н и м ею т   в о нх д ы х   и  в ы охнд ы х   а р мг у е н от в   и  о п ер и рюу т   п ер м ен н ы м и , сщ у сет вю у щ и м и   в   рабоч е й   с р ед ,  и л и   м огу т   с о з да в т ь   н овы е   п ер м ен н ы е .  Ф а й л п р о гр а м у   mydemo  в ы   н ап и сал и   п р и   п р о ч ет н и и   п р е ыд щ у е г о   р а з де л а .  Вс п ер м ен н ы е ,  о б ъ яв л ен н ы е   в   фа й л - п р о гр а м е ,  сатн о в яст я   од с п у т н ы м и   в   ра боч е й   с р ед е   п осл е   е е  в ы п о л н ен и я . З ап сиут е   фа й л - п р о г а м у   mydemo, п ри в е нд у ю   в  л и с ит н г е  5.1.  П ер й ид т е  в  о к н о  Workspace  (р и с . 5.2)  и   беуид тсь ч т о  вс е  в в едн н ы е  в  М - фай л е  п ер м ен ы е  п о яв и ли с ь  в  р а б о ч е й   с р ед .

е е ,

*   xlll

((Workspace

\ J  - Stack:]   ~ *«й   & |  Size |   Class Value |1x71 I  double 1x71 double double 1x71

j Name i

Current Directory] Workspace Рис п о сл

Вс с р ед п р о гр а м а

е   с о з ад н н ы е   п о сл

е   п р и   и с п о л н ен и е   ег о   з а в е р ш е н и я х   и  в  к о м а н да х

. 5.2.  Д и а л о г в о е  вы п олн ен и

е   окн я   фа й л - п р о г а м

и   М - фа й л ,  и   и х   м о ж н , в ы п о л н яем ы

о  Workspace ы   mydemo

а   п ер м ен н ы о   и сп о ль з о в ат х   и з  к о м а н дн о

е   о с ат ю ст ь   в   рд г и у й  с тр о к и .

я   в   рабоч е х   фа й л

й -

л ав Г

 5. М - й лы фа

З ап с у

к   фа й л - п р о гр а м

213 zyxwvutsrqpon

 

ы   о щ с у е вс т л я

1.  И з  р е да к то р

а   М - фа й л о

2.  И з  к о м а н дн о к о м ан д

й   с рт о к ы   и с п о л ь з се т у

я   м в ду в   та к

, к а к  о п и с ан

и   и л и  дргоу я   и м я  М - фай л

я   сп о с бам и о  в ы ш е

. .

й   фа й л - п р о гр а м ы а   (бе з  р а с ш и р ен и я)

,  п р

и  эот

м   в   к а ч е с вт

е

.

П р и м ен ен и е   в то р о г о   сп ос б а   н ам н о г о   од бу н е ,  о с б ен н о   с л е и   с о з да н н а я т   Н е о н д о к р ан т о   и с п о л ь з о в а ьт с я   в п о с л е д вт и .  Ф ак ит фа й л - п р о гр а м а   е д бу кч с е и  соз адн ы й  М - айф л  сант ови ст я  к о м а н од й , к о тр у ю   п о н и м ае т   MATLAB. З ак рой т е   в с е   гр а фи ч е с к и е   окн а   и  н аб ер и т е   в   к о м а н дн о й   с рт о к е   mydemo, п о я в л се т я   гр а фи ч е с к о е   окн о ,  со втесюу щ е е   к о м а н да м   фа й л - п р о гр а м ы т   с юл е у д щ и е mydemo.m.  П о с л е   в од а   к о м ан д ы   mydemo  MATLAB  п р о и з в о ди ед й с в т и я . 1.  П р о в е р яе т м ен ы х в ы в о ид с т

,  явлсет ,  о п редл н ы я   е е  з н ач ен и е

2.  Е сл и  в в едн д и  в срто ен н ы ей , т о   п р о и сохид

я   л и   в е дн а х   в   рабо ч е .

а   н е  п ер м ен н ая х   нфу к ц и й . Е сл т   е е  в ы п о л н ен и е

я   к о м ан д й   сред

а   и м ен м   к а ой - ли б .  Е сл и   в е дн а   п ер м ен н ая

, т о   MATLAB  и щ е и   к о м ан д а   о к а з ы в а е ст .  .

т   в е нд у

о   и з   п ер

ю   к о м ан д я   в с рт о е н н о

,  т о

у   ср е

-

й   н фу к ц и

-

3.  Е сл и   в е дн а   н е   п ер м ен а я   и  н е  в срто ен н а я   нфу к ц и я , т о   M ATLAB  н а ч и н ае т   п ои с к   М - фа й л а   с   н аз в ан и е м   к о м ан д ы   и   р а с ш и р ен и е м   т .  П о и с к н а ч и н а е ст я   с zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  ткегущо  кгоа т л  (Current  D irectory);  сел и   М - афй л   в   не м н е  н а й ден , т о   M ATLAB  п р о с м а тр и в а е т   к а т л о ги ,  суатн о в л ен н ы е   в  путы к и п с оа   (Path)  (усатн о в к а   е пт у й   п о и ск а   и   е тк щ у е г о   к атлог а   о п и сан а  в м еу ющ д л с ) ре ле азд .  Н а й ден н ы й  М - афй л  в ы п о лн яест я   в   M ATLAB. Е сл м а н нд о

и   н и  о нд е  о к н

о   и з  в ы ш еп реч и слен н ы о  в ы в о ид ст

я   с о б щ ен и е

х   е дй с в т и , н а п р и м е р

й   н е  п р и в ел , есл и  селдат

о   к  успу хе ь   ош и бк у

, т о   в  к о :zyxwvutsrqponmlk

>> mydem ??? Undefined function or variable 'mydem1. П о с л е до в а ет л ь н о с т ь   п о и ск а ви ль н о   з адв ат ь   и м я   с о б вт е н н о фа й л е .  В о- п ервы х ,  е е   и м я   н фу к ц и й  в   MATLAB.  зУ н а ть ц и и   e xist ,  к о т р у ю   в ы   жу   "Птро мсор   и   ин е а л у д (с.м  р.азд вы   1). В о - во тр ы х сло в

,  и м я   фа й л м   с   ет х   с и м в о л в

а   н е  до л ж н ,  к о т р ы

  M ATLAB  го в о р и т   о  то м ,  ч т о   оч ен ь   в аж н о   п ра й   фа й л - п р о г а м ы   п р и   с о р ха н е н и и   е е  в   М н е   до л ж н о   со в п адт ь   с   и м ен м   щ с у ю ев с т у щ и ,  з а н я т о   и м я  и л и   н е т   м о ж н о   п р и   п ом щ и  фн у к е   и сп о ль з о в ал и   п р и   работ е   с   п ер м ен н ы м  х,ыне мепр  вр о б ы  не им  х"ыне мепр   а- г л о   н а ч и н а ьт с е   м о гу

т   бы т

я   с   ц и фр ы ь   и н ет р п р е ит р о в а н

, з н а к о

х и

в   "+ " и л и   "- ", ы   M ATLAB

214 

аЧс т ь

ка к   о ш и бк фа й л - п р о гр а м о  п о лчуи т 5р г о

а   пр

и   в од е   в ы р аж ен и я й   5prog.m,  т о   п р е   с о б щ ен и е

.  Н а п р и м е р и   е е   з а п с ку

  I. Ос но вы

 р аб о т ы

,  сел и   в ы   н а з о в ет е   и з   м не ю   р е д а к то р

 в  MATLAB zyxwvu

е   М - аф й а   ил

л  с и  п о

д zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Error: Missing MATLAB operator. Э т о   н е   ди у в и е т л ь н о в ы ч и с л ен и я   а р и ф м е ит ч е с к о г н и я   5  в   к ач есвт п рав и ль н ы м   бы л н аю щ ес я  с  бку в ы

,  т . к .  MATLAB  жед о   в ы р аж ен и е   п ер в о г о   э л ем н т а   к   в е к от р о   б ы   и м я   prog5.m  (и л и .

т   о т   в а с   5  +  prog  (и л и   5, prog)  лд я   с   п ер м ен н о й   prog  (и л и   од б ав ле с рт о к е   prog).  С л е до в а те л ь н о   отх я   б ы   p5rog.m),  н о   то л ь к о   н ач и

О б р а ти т е   вн и м ан и е ,  ч т о   сле и   в ы   з ап сук ает к о м ан д ы   (м о гу т   бы т ь   в ы едл н ы   в с е   к о м а н ды п р и   п ом щ и   < F 9> , т о   о ш и б к и  н е  бетд у . Ф а к ит ч ес к ет л ь н о е   в ы п о лн ен и е   к ом ан д ,  н е   олти ч аю щ е с с рт о к и , а  н е  р а б о т а   фа й л - п р о гр а м ы .

е   н а   в ы п о лн ен и е   в ы ед л н н ы )  М - фай л а   с  н ев р н ы м   и м не и  п р о и сохди т   п о с л ед в а я   о т   и х   вы з ов а   и з  к о м а н дн о

О ч ен ь   р а с п р о с тр а н е н а   щ е е   о нд а   ош и бк а   п р и   з адн и и   и м ен м ы , к о т р а я   н а  п ер в ы й  в з гл я д   и ме т  н ео б ъ яс н и м ы е  п о с л едвт и я з а п с ук а е т я   то л ь к о   о ид н  р а з . П о в то р н ы й  з ап с у к   н е  п р и в о ди п р о гр а м ы . Р а з б ер м   э т у   с и а цу т и ю   н а  п р и м ер е  фа й л - п р о гр а м г а   5.1, к о т р у ю   в ы   с о р ха н и л и   в  фай л е  mydemo.m.  П ер и м ен йу т е   в с е   п ер м ен н ы е  р а б о ч е й   с р ед ы   и з   окн а   б р а зу е р з ае т м   а д л уи т Workspace и л и  и з  к о м а н дн о й  срто к и

я , е м й

и  фа й л - п р о г а м

:  п р о г р а м а т   к  в ы п о л н ен и ю ы   и з  ли ст н е   фа й л  в   .х ш , а   п ер м ен н ы х

»  c le a r  a l l В ы п о лн и т с те я З ак рой т ск о е м ас и в п ои ск фа й л - п р о гр а м ы р и тм ви ло ч то б в аю щ и

е   фа й л - п р о гр а м у

,  н а п р и м е р , и з  р е да к то р а ,  н а ж в   < F 5> . П о яв л я  гр а фи ч ес к о е   окн о  с  двму я   гр а фи к а м и  и  н и ч ег о   н е  п р евд щ ае т   п о вд а х е   ет п е р ь   гр а фи ч е с к о е   окн о   и  з ап сиут е   п р о гр а м у   сн ова .  Г р афи ч е   окн о   боль ш е   н е   с о з ад е с т я ,  з а т о   в   к о м а н дн о е   окн о   в ы в ел и с ь   з н ач ен и а   х   в   с о вт е с и и   с  п ервы м   п н у к от м   п р и в едн н о г о   вы ш е   а л г о р и тм а   M ATLAB.  Э т и   о б с от яел ь с вт а   е с лу д т  уч и ыт в а т ь   п р и  в ы б о р е  и м ен .  Н е   м ен е  в аж н ы й   воп ро с   с в яз а н   с  тр еьт и м   п н у к от м   а л го м   к атлог м   и   п я тм у и   п ои ска .  К а к   п р а а   п ои ск а   M ATLAB —  екщту и ,  с о б втен н ы е   М - фа й л ы   р ха н яс т я   в   к а т л о га х   п о л ь з о в а те л я .  Д л я   то г ы   с и е мт а   M ATLAB  м о гл а   н ай т и   и х ,  е сулд т   с у ат н о в и т ь   п ит у ,  куаз ы е  р а с п о л ж е н и е  М - фай л о в .

. я а и о -

л ав Г

215zyxwvutsrqpo

 5. М - й лы фа

с т У а но вк

а  птуе й

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

с У та н о в к а   е тк щ у е г о   к атлог а   и   е пт у й   п ои ск а   п р о и з в о ид с т я   п р и   п ом щ и о   с   и сп о ль з о в ан и е м   к ом ан д .  С о и н е тр ф й с а   рабо ч е й   с р ед ы   MATLAB  л и б  Current Directory  с  о дн о де р ж и м о е   е ктщ у е г о   к атлог а   о т б р а ж е ст я   в   окн е zyxwvutsrqponmlkjihgfedcbaZYXW и м ен н о й  в к л акд о й   (р и с . 5.3).  Н а л и ч и е  э от г о   окн а  в  р а б о ч е й   с р ед е   з ав и си т  о т ю то г о ,  саутн о в ле н   л и   фл а г   с л ев а   о т   н аз в ан и я   п ну к т а   Current Directory  м ен View  р а б о ч е й   с р еыд .  Е сл и   фл а г а   н ет ,  т о   е сулд т   вы брат ь   ку а з а н н ы й   п ну к т м ен ю .

 E:\MATLAB7\work II Current Directory- zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA *  * | Al! Files . ^  hs_err_pid... ^kobbdugl.asv J^kobbdugl.m ^matlabi.mat | l^runge1.m i\

File Type LOG File ASV File M- file MAT- file M- file

Last Modified 27.07.2004 22:54:25 20.07.2004 23:34:00 21.07.2004 0:06:33 27.07.2004 21:53:32 21.07.2004 23:03:59

j Description

:

.^.u.  j •

J

Current DirectqryJ ^Workspace |

Рис

. 5.З . Довигла в  рижме

е  онк е  онжеарибо т

о  Current Directory я  фйоал в

Т е кщ у и й   к атло г   с уа т н а в л и в а е с т я   вы бор м   и з   р а с к р ы в а ю щ е го с я   сп и ск а Current Directory  н а   п ан ел и   и н с ртм у е н от в   рабоч е й   с р ед ы   M ATLAB.  Е сл и  в сп и ск е   н е т   н жун о г о   к а т л о га ,  т о   ег о   м о ж н о   до б а в и т ь   в   ди а л о г в о м   окн е Browse  for  Folder,   к о т р о е   п о я в л ес т я   п о сл е   н а ж ит я   н а   кн оп ку ,  р а с п о л ж ен у ю   сп рав а   о т   сп и ск а .  Т ещку и й   к атло г   м ож н о   з адт ь   и л и   с о з ад т ь   пр и п ом щ и   и н с р тм у е н о т в   окн а  Current Directory.  И н сртму ен т  Show Visual Directory п о з в о л яе т  седлат ь   с о ед р ж и м о е   окн а  бо ле е  и н фо р м а ит в н ы м  (р и с . 5.4). Н а в и га ц и я   п о  дер в у   к атлог в   о щ с у е св т л я я   в   о бласт р еч и с л ен ы   и м ен а   в л о ж ен н ы х   п ап о к   с   к уа з н и е м   в   ск обк а н и х   и   с ы лк а   н а   пак у   в е рн х е г о   р уо в н я   < U P > .  Н и ж л д я   п о ч л уе н и я   с в енд и й   о   фа й л а х   е тк щ у е г о   к атлог а о б н о в л ен и я   с о де р ж и м о г о   окн а   в   с чл у а е   с уат н о в к и   ил фл а г .  П ер д  сп и ск о м  фа й л о в  р а с п о л ж ен ы  дв е   с ы лк фа й л а   (New  file)  и л и  ген ер ац и и   фа й л а   contents.m  с  и н фо р м а ц и е о   до у б н о ,  сле мо м   к а т л о г а   (run  contentsrpt).  Э т о   сревдт

и   Subfolders,  гд е  п е х   ч и сл а   фа й л о в е   р асп о л ж ен ы   фл а г   и   кн оп к а   Refresh  лд и   сброс а   к а ог - ли б и  дл я   со з адн и я   н ов г й  о   соердж и и   в  тещк у е м   к атло

 в и я о о -

  I. Ос но вы  работы  в  MATLAB zyxwvu аЧс т ь 216 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

е  и м ет ь   сп и со к  фай л о в   с  п р и м еч ан и е м   о б   и х  н а г е   м н ог о   фа й л о в , и  в ы  хоит з н ач ен и .  П о с л е  со з адн и я   фа й л а   contents.m, со стящ ег о   и з  срт о к   к о м ен ат   edit Contents.m.  Д о п о л ри е в   с  и м ен ам и   фа й л о в , п о яв л сет я   ще е  онд а   с ы лк а zyxwvutsrqponmlkjihgfedcbaZY н и е тл ь н о   в   п о с л не д м   с от л б ц е   ат б л и ц ы   с   фа й л а м и   в ы в о ди с т я   п ер в а я в с рт е ч а ю щ а я с я   с рт о ч к а   к о м е н ат р и я   в   М - фа й л е   и л и   и н фо р м а ц и я  No  h elp п р и  освтиу и   та к о в о й .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Current Directory -  e:\MATLAB7\work Subfolders

d

 I Work  4 (3) I Work  6 I  ^ ж Щ Л Л work_5  (4) |   work_7

Л

Refresh Г   Sort by Contents.m

•   Show actions

И   Show file  sizes 

Г ~ Show thumbnails

I  Show function/ script

edit Contents.m  I run contents m i 1  new file

UOPK

C on ten ts kobbdugl 

 

;

No help

(

I  mydemo zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA t e s t  for  E d it o r   я   zl

Current DirectoryJ WorkspaceT^"^zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK

.  5.4. Довигла

с иР

Пр и м е ча н и К о м ен а р и т ис вод т В  п иротвн о к о м н е ар и т п о л ь з в ан и

я   в   окн е

е  онк

о  Current Directory в  рижме

и zyxwvutsrqponmlk

е  нциавг

е й  в  табли ц е   окн а  Current Directory бе д у т  кор екнт , ел с и   о н   н е  сжрие од т   ис м в о л в   н ац и о н аль н о г е  толь к о   в  фйа л е  contents.m е д уб т  врне м  сча ул я   (с.м  паинеч имр   в  р.азд  "Оине л м р о ф  гикв"о афр ю  си мвол в  ки р ли ц ы ) .

О п р е дл н и е   е пт у й   п ои ск а  фай л о в  п р о и з в о ид ст н а в и г а то р а   п е тй у , досут п   к  к о т р о м у   о щс у е св т л я н ю  File  р а б о ч е й   с р еыд . О к н о  Set Path и з о б р а ж ен

я  в  ди а л о г в о

о  восп ри з о   ал фв и т о  оражет

. н   кес т

 гавы л

т  3 п о  ис -

м   окн е  Set Path я   и з  п ну к т а   Set Path ме о   н а  р и с . 5.5.

л ав Г

217zyxwvutsrqpo

 5. М - й лы фа

*> Set Path 

BffiOillzyxwvutsrqponml

All changes take effect immediately, MATLAB search path: Add Folder.,.

(§|  C:\ MATLAB~1ttoolbox\ matlab\ general 

Щ

Q2 C:\MATLAB~1 \ toolbox\ matlab\ ops

Add with Subfolders...

(Щ  C:\MATLAB - ntoolbortpnatl a b\lang f j  C:\MATLAB- 1\toolbox\matlab\elmat

Move to Top i

:_j C:\MATLAB- 1Uoolbox\matlab\elfun

Move Up

jC:\ MATL/ .B- 1\ toolbox\ matlab\ specfun

L

Qj C:\MATLAB- 1\toolbox\rnatlab\rnatfun

Move Down

!2]C:\MATL^B~ntoolbox\rnatlab\datafun

Move to Bottom

Q j  C:\MATLA В  - 1\ toolbox\ matlab\ audio

Ш   С  Д М  ATLAB - 1 t to о  I b ox\rn atl a b\p о  lyfu nzyxwvutsrqponmlkjihgfedcbaZYX

Ш   C:\MATLAB~1 \ toolboK\matlab\funfun  4 L  j 

Remove Save  :

Close

Рис

Revert 

. 5.5. Довигла

j j

Help zyxwvutsrqponmlkjihgfedc

Default 

е  онк

F|

о  Set Path

Д л я   до б а в л е н и я   к атлог а   н аж м и т е   кн оп к у   Add  Folder  и  в   п о яв и в ш ем с я   ид а лог во м   окн е   Browse  for  Folder  в ы б ер и т е   р т е б му ы й   к атлог .  Д о б а в л е н и к атлог а   с о  всем и   е г о   п о дк а т л о г а м и   о щ с у е св т л я я   п р и  н аж ит и   н а  к н о п к у   Add  with  Subfolders.  П ту ь   к   од б а в л е н н о м у   к атло г у   п о я в л ес т я   в   сп и ск MATLAB  Search Path. П о р ядо к  п о и ск а  со втес у т   р ас п о л ж ен и ю   е пт у й н е м  —  п ервы м   п р о с м а рт и в а е ст я   к атлог ,  пт у ь   к  к о т р о м у   р аз м ещ е н   в ер х сп и ск а .  П о р ядо к   п ои ск а   м ож н о   и з м е н и ьт , и л и  в о б щ е   а д л иу т ь   пт у ь   к  к а к о - м у ли б о   к а т л о гу .  Д л я   э от г о   р т е б му ы й   к атло г   в ы е дл я с т я   в   сп и ск е   и   ег п о л ж ен и е  о п р едляст я   п р и  п о м щ и  сю луед щ и х   кн оп ок : •   Move to Top —  п о м есит

ь   в ер

•   Move Up —  п ер м есит

ь   в ер

•   Move Down —  п ер м есит

;

х   н а  онд

у  п о з и ц и ю

ь   вн и

•   Move to Bottom —  п о м есит •   Remove —  адлиу т

х   сп и ск а

ь   и з  сп и ск а

ь   вн и .

;

з  н а  онд

у  п о з и ц и ю

з  сп и ск а

;

;

е е  в у о

218 

аЧс т ь

  I. Ос но вы

 р аб о т ы

 в  MATLAB zyxwvu

В н ес н ы е   и з м ен ен и я   е дй с вют у т   то л ь к о   д о   кон ц а   етк щ у е г о   с еа н с а MATLAB.  Е сл и   ж ел ат ь н о   с ор ха н и т ь   с аут н о в к и   пе т у й   и   л д я   ю су л е д щ и х с еа н с о в , т о   п о с л е   в н ес н и я   и з м ен ен и й  се улд т   с ор ха н и т ь   и н фо р м а ц и ю  о   пу ят х   п о и ск а , н а ж в   кн оп к у  Save.  П р и   п о м щ и   кн оп к и zyxwvutsrqponmlkjihgfedcbaZY  Default  м о ж н о   в о с ат н ови т ь  с та н да р тн ы е   с у ат н о в к и , а  к н о п к а  Revert п р едн а з н а ч ен а  дл я   в о з в р а т а к  п рыед щу и м   с о р ха н е н н ы м   с у ат н о в к а м .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP

[ ^ 

Пр и м е ча н и

е   ^Д

с т е Р к о мн у д я   р ан х и т ь   н в е т ос б ы е   М - й ал ф ы   вн е   п о к д а лт г а   toolbox . Во- пвыре х ,  п р и  пс у ер о сн о в н о г о  калтог а   MATLAB  п о  дув м   п ри ч н ам ан т о в к е   MATLAB  айф лы , корты е  с тжрае дос я   в   п ко а л д т г х   о сн в н о г о к а лт о г а   MATLAB,  умог т   бы т ь   н у и о ж н че т ы .  Во- орывт х ,  пр и   кзспа у е MATLAB вс е  фйал ы  п коалдтг а   toolbox  рза мще юа с т я   в  п мтая и  комп ью р е т а   н ок е р ы т м   о п и т м льа н ы м   о б р аз м   атк ,  обчт ы   в ли е у ч т ь   п ро и з в о д л ье н т о с ь   р а б о ыт .  лЕс и   в ы   з па и лс и   М - йа ф л  в  эот т   к атло г ,  т о   вопс ьл т  толь к о  плсо е  пзрекспа у а   MATLAB. з о ь в ас т я   и м  мжон о  бе д у

о м К а нд

ы  дл

я  ус т а новк

и  птуе

й

Д е й с вт и я   п о   с у ат н о в к е   еп т у й   б у дл и р ю у с т с у ат н а в л и в а е ст я   к о м а н до й  cd, н а п р и м е р >> cd C:\users\igor Ря

д   ком ан

я   к о м а н да м и .  Т екщу и й   к атло г :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ

п р и м ер ю с лу е д щ е ну и в е р с а л ь н о й м е н от к а т л о га ж ен и й

д   M ATLAB  до п су к а е т   и х   вы з о в   в   ф ну к ц и о н а л ь н о й   фо р м е .  Н а е   о бр ащ ен и е   к  cd  с  вохнд ы м   а р гм у е н о т м   —  срт о к й я   фо р м а   я в л е ст я   боле е :  c d ( ' С : \ u se r s\ i go r ' ) .  Ф ну к ц и о н а л ь н а ,  п о с к о л ь к у   п о з в о ляе т   з адват ь   в   к а ч е с тв е   в о х дн ы х   а р гу в   н е   то л ь к о   с тр о к и ,  н о   и   с тр о к о в ы е   п ер м ен н ы е ,  с о де р ж а щ и е   им я .  Э т о   о к а з ы в а е тс я   п о л ез н ы м   п р и   н ап и сан и и   с о б с тв е н н ы х   п ри ло .

Р абот

а   с о  с тр о к в ы м

,  э к в и в а л е н тн о

и   п ер м ен ы м

Ф ну к ц и я   cd, в ы з в а н н а я   б е з   а р мг у е н а т гу .  Д л я  до б а в л ен и я   к атлог в   в  пт у р а я   п о  ум о л ч а н и ю   п о м ещ ае т  к а т л о >> addpath  C :\ elena Э т о   м ож н о   п р о в ер и т лог в ^ вохядщ и в о ди т   к  о то б р а ж е н и в   фну к ц и о н а л ь н о н ес т и  пт у и   п о и с к

и  о п и с а н ,  в о з в р а щ а е и   п ои ск г   в  н а ч л

а  в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ  гаве л  8. а  сжлуи о   сп и ск

т   п т у ь   к  тещку ем у   к атло т   к ом ан д а   addpath, к о т а  п о и с к а , н а п р и м е р :

ь   п р и   п ом щ и   path ,  к о т р а я   воз вращ ае т   сп и со и   п ои ска . З а м еьт , ч т о   в ы з о в   path  к а к  к о м а н д ю   сп и ск а  пет у й   п ои ск а  в   к о м а н дн о м   окн е , а   о б р а щ ен и й   фо р м е   с   в ы о хн д ы м   а р мгу е н от м   р   =  path  п о з в о л яе а  в  срт о к в у ю   п ер м н у ю   (в  н аш е м  счлуа е  р ) .

х   в   пт у

к   к ат ы  п ри

-

-

е т   за -

ав Гл

 5. М - ы йл фа Дл

я   до б а в л е н и

219zyxwvutsrqp

  я   к атлог

а   в   кон е

ц   сп и ск

а   е ус л д

т   и сп о ль з о в ат

ь   п ар м ет

р zyxwvutsr

- end >> addpath C:\alex - end

Т а к   ж е , к а к  и   cd, к о м а н д а   a d d p a t h  м о ж е т   бы т ь   вы з ван а   в   ф ун к ц и о н а л ь н о й форм е :  a d d p a t h  (С : \ e i e n a ) .  П р и  д о б а в л е н и и   сраз у   н есколь ки х   к а та л о г о в  и х и м ен а   ук а з ы в а ю т с я   в о   в хо д н ы х   а р г ум е н т а х   a d d p a t h  ч е р е з   з а п я т ую .  Ан а л о ги ч н ы е Т С О ЖН О М З О В И   п р е до с та в л я е т   p a t h :  p a t h ( p a t h ,  ' c :\ u se r s\ igo r ' ) , 1 к о то р а я   п ом ещ ае т   к а та л о г   в   кон е ц   сп и ска , zyxwvutsrqponmlkjihgfedcbaZYXWVU   a  p a t h ( ' с : \ u s e r s \ i g o r , p a t h )  — в   н а ч а л о .

а   п ут е й   п ои ск а   п р е дн а з н а ч е я   о п р е де л е н н о г о   к а та л о г а   и з  с п и с к я   rm p at h .  Н а п р и м е р ,  r m p a t h ( ' с : \ u s e r s \ i go r 1 )  уд а л я е т   п ут ь   к у   c:\ users\ igor и з  с п и с к а  п ут е й .  Ф у н к ц и я   rm path  м о ж е т   бы т ь   вы з ван а й   форм е :  rm path ( ' c : \ u s e r s \ i g o r ' )  .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR

Д л я   уд а л е н и н а   ф ун к ц и к а та л о г И  В  к о м а н д н о

ре п П д у и н ж

е

Н е   дау л я й т е   б е з   н е о б х ди м о с т и   п ту и   к   к а т л о г а м ,  о с о б е н н з н ач ен и и   кот ры х   в ы   н е  ув е р н ы .  даУл ен и е   м оже т   п р и в ест ч аст ь   ф ну к ц и й , о п р е д л е н н ы х   в  M ATLAB,  с та н е т   н е д о с тп у н о й

о   к  те м и   к   то м у .

, в  н а ,  ч т о

М ы   п ри вел и   в   э то м   р а з де л е   то л ь к о   н аи боле е   и с п о л ь з уе м ы е   ф ун к ц и и (к о м а н д ы )  M AT L AB  д л я   м а н и п у л и р о в а н и я   к а та л о г а м и .  П о л н а я   и н форм а ц и я   с о де р ж и тс я   в   сп равочн о й   с и с те м е   в   р а з де л а х :  M ATLAB  Functions:  Functions -  Categorical List; D esktop Tools  and  Development; Workspace,  S earch Path, and File; S earch Path и л и  File Operations.

Ф а й л - и ц н ук ф

и

Р а с м о рт е н н ы е   вы ш е   фа й л - п р о гр а м ы   яв л ю ст я   п о с л е од в а е т л ь н о с ь т ю   ко м ан д  M ATLAB,  он и  н е  и м юе т  вондх ы х   и  вы ондх ы х   а р м гу е н от в . Д л я  реш ен и я в ы ч и с л и е ть н ы х   з ад ч   и   н ап и сан и я   с о б в е нт ы х   п р и л о ж ен и й   в   MATLAB ч аст о   р т е бс у я   п р о гр а м и р о в а т ь   фа й л - нфу к ц и , к о т р ы е   п р о и з в о дя т   не о б х ид м ы е   ед й с в т и я   с   в о хн д ы м и   а р мг у е н ат м и   и   воз вращ аю т   р е з л у ь ат т   в в ы о нх д ы х   а р мг у е н а т х .  Чи с л о   в о нх д ы х   и   в ы о хн д ы х   а р мг у е н о т в   з ав и си т  о т р еш аем о й   з адч и  —  м ож е т   бы т ь   то л ь к о   оид н   в о хн д о й   и  оид н   в ы о х нд о й   ар , и л и  то л ь к о  вохнд ы е   а р гм у е н ы т .  В о з м о ж н а м гу е н т ,  н ес к о л ь к о  и  те х   и  дргиу х .  В  э от м   р а з ед с и а у цт и я , к о гд а   в о х нд ы е   и  в ы охнд ы е   а р м гу е н т ы   о с тв ю у т л е   раз обран о   н ес к о л ь к о   п р о с ыт х   п р и м ер о в ,  п о з в о л яю щ и х   п о н ят ь   работ у  с фа й л - нфу к ц и я м и . Бо л е

е  сло ж н ы

е  п р и м ер

ы  фай л- нфу к ц и

й  п р и в едн

ы  в  гав е л

 8.

220 

Ф а й л - нф у к ц и фа й л о в

,  со з адю ст я   в   р е д а к то р е  М ,  ат к   ж е  к а к  и   фа й л - п р о гр а м ы .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Ф а й л - и ц нук ф П р е дп о л ж и м н фу к ц и

 /.  Ос но вы zyxwvutsrqponmlkjihgfedcbaZYX  р аб о т ы  в  M ATLAB zyxwvut

аЧс т ь

и  с  онид , ч т

м  вын до х

о  в  в ы ч и слен и я

м  а ргму е нт о х   ч аст

-

м

о   н е о б хид м

о   и сп о ль з о в ат

ь   з н ач ен и

е

и

'/ +0.1 И ме т  см ы с л   о ид н  р а з  н ап и сат г д е   н е о б х ид м о   в ы ч и с л ен и крой т е  в  р е да к то р е   М - фа й л о г ; " " 

j Л ис т ин

• • • • •-  • • •

г  5.2. Ф а йл - иц кн фу

е   э от в  н овы ........... 

я  с  оинд

ь   фа й л - нфу к ц и ю й   н фу к ц и й  фай

и   лд л  и  н а б ер и т

, а  п о т я   з адн н ог

м   в ы з ы в ат

ь   е е  всю уд о   а р г м у е н ат т  л и с ит н г

е  тек с

............................... 

м  вныохд

м   и  оинд

, .  От а  5.2.zyxwvutsrqponmlkjihgfed ...........

м  вонхыд

м  а рмгу е нт о

м

fu n c t i o n  f  =   m yfun (x) f  =   e x p ( - x ) *s q r t ( ( x A 2  +   l ) / ( x A 4  +   0 . 1 ) ) ;

С лов о   fun ction  в   п ерво й   с рт о к е   о п р е дл я т ,  ч т о   да н н ы й   фа й л   с о едр ж и т ф а й л - нф у к ц и ю .  П ер в а я   с рт о к а   я в л се т я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML   в ок м з а г л о  фукн ци ,  в  к о т р о й  р а з м ещ а ю с т я   я им  фукн ци  и  сп и ск и  вонхд ы х   и  в ы охнд ы х   а р г м у е н то в .  Вонхд ы е а р мгу е н т ы   з а п и с ы в а ю ст я   в  кглрыу х   ск обк а х   п о сл е  и м ен и  фну к ц и . В  н аш е м п р и м ер е  ест ь  то л ь к о   о ид н  вохнд о й   а р мгу е н т   — х . В ы охнд о й   а р мг у е н т   f ука з ы в а ес т я   с л ев а   о т  з н а к а  р а в ен с вт а   в  з а го л в к е   нф у к ц и . П р и  выб о р е   и м ен и фа й л - н фу к ц и и   е с ул д т   п о з а б о ит ь с я   о б  освтиу и   к о н ф л и к от в  с  з а н яты м и и м ен а м и  в  M ATLAB.  нА а л о ги ч н ы й   воп ро с   м ы  обжсаудл и   вы ш е : к а к  сроах н и т ь   фа й л - п р о г а м у   в  фай л е  с  ун и к аль н ы м   и м ен ем . Т о т  ж е  сам ы й   п о хд , о сн о в ан н ы й   н а  о б р а щ ен и и   к  фн у кц и и   e xist ,  в ы  м о ж ет е   п р и м ен и т ь   лд я  з а да н и я   и м ен и  фай л- нфу к ц и . П осл о п е р а то р о ри т м ер р аж ен и

е   з а го л о в к

а   р а з м е щ а е ст я   е т л о   ф а й л - ф ун к ц и и в   (и х   м ож е т   бы т ь   д о с та о ч н о   м н ог ) м   п о чл у е н и я   з н а ч ен и я  в ы онхд ы х   п ер м н ы е   а л го р и т м   п рост й  — п о  з а д н н о м у   х  в ы ч и сляет е  и  р е з луь ат т  з ап и с ы в аест я  в   f.

-   о ид ,  к о т р ы х   и з  вохнд ы х

н   и л и  н ес к о л ь к е   р е а л и з юу т   а л го .  В  н аш е м  п ри я   а р и ф м е ит ч е с к о е  вы

Т еп р ь   с о рх а н и т е   фа й л  в  р а б о ч е м   к а т л о ге .  О б р а ти е   вн и м ан и е , ч т о  в ы б о п н у к от в   Save   и л и  Save  as...   мне ю   File   п р и в о ди т   к   п о яв л ен и ю   ди а л о г в о г окн а   с о р ха н е н и я   фа й л а , в  п о л е  File name  к о т р о г о   ж у е  соедрж и ст я   н аз в ан и myfun.  С о рха н и т е   фа й л - н фу к ц и ю  в   фай л е   с  п р елдо ж ен н ы м   и м ен ем .  Т еп р

о р о е ь

л ав Г

 5. М - й лы фа

с о з ад н н у и  дргиу е

221 zyxwvutsrqpo

 

ю   н фу к ц и ,  н а п р и м е р

ю   м ож н , и з  к о м а н дн о

о   и сп о ль з о в ат

ь   ат к   ж е :

й  с рт о к и

, ка к   и  в срт о ен н ы

е   sin ,  cos

>>  у   =   m y f u n ( 1 . 3 )

0.2600

П р и   с о з ад н и м а н нд о е   окн о э то г о   н е   с ед л а ь т п рави ло ,  члуш от ч н ы х   в ы ч и с л ен и И м я   фа й л - н фу к ц и н ак о   о б р ащ ен и f22.m  соедрж и ст в а т ь   та к :

и   фа й л - н фу к ц и ,  з ав ер ш и

и   myfun  м ы   п о адв и л в   о п е р а то р   п ри св аи в ан и ,  т о   о н о   вы всетд я   п р и   о б р ащ ен и е   и з б е га т ь   вы вод а   в   к о м а н дн о й  в н рту и  фай л- нфу к ц и . и   н е   о б я з а ет л ь н е  к  н е й  п р о и сохид я   н фу к ц и я   с   з а го л в к о

о   од л ж н т   п о  и м ен

и   вы во я   от ч к о

д   з н ач ен и я   f  в   к о й   с   з а п я то й .  Е сл и и   у   =  myfun  (1.3).  К а к о   р е з л у ь ат о в   п р о м еж у -

е   окн

о   со в п адт ь   с   и м ен м   фа й л а ,  од и  фай л а . Н а п р и м е р , есл и  в   фай л е м   g  =   in it ( z) . ,  т о   е е   е сулд т   вы з ы -

»  f  =   f22(- 0.9) а  в о в с

е  н е

>>  f  =   i n i t ( - 0 . 9 ) Вы зо и з  дргоу

в   с о б вт ен н ы

х   н фу к ц и й  фай л- нфу к ц и

й   м ож е т   о щ с у е св т л ь я я   и з   фа й л - п р о г а м ы  и .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

П р е уд п р е д ж н и е

^

К а тл о г , в  корт м  сс жтрае од тп у ь   к  нм е у  джлое н   бы т ь  добавле н е  н йеа д т   н цку ф и ю  ил и  вы з ове он а  нисодт ха я  в  калтогх , дп ну тосы Ф а й л - нф у к ц и я д о с та о к ош и бке н и и  в срто ен н ы

я   й а ф - л н у к цф и

, жлое д н   в  пт у

т   т с вм е

и   п о и ск а о   н е е  дуг р х   л д я  п ои ска)

н   бы т ь  тщ куе и м , ил и , и н ча е  MATLAB  п рост о ю   с  те м   ж е   н ием м  (елс и .

,  п р и в едн н а я   в   ли ст н г е  5.2,  и м е т   оид н   щ с у е вс т н ы й   не .  П о п ы тк а   в ы ч и с л ен и я   з н а ч ен и й   н фу к ц и и   о т   м ас и в а   п р и в о ид т  к ,  а   н е   к   м аси в у   з н ач ен и й   та к ,  к а к   э т о   п р о и сохид т   п р и   и сп оль з ова х  фну к ц и й .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

»  х  =  [1.3 7.2]; >> у  = myfun(х ) ??? Error using ==> mpower Matrix must be square. Error in ==> myfun at 2 f = exp(- x)*sqrt((х Л 2  + 1)/(х л 4 + 0.1));

222 

аЧс т ь

Е сл и   в ы   и з ч уи л и   работ у   с   м ас и в ам и вы з ове т   з а р т дн у е н и й .  Н ео б хди м ц и и  п р и м ен и т ь  п о э лем н т ы е  о п ер ац и и»вакмерто  авыг л   2). И з м ен и т и з м ен и

  I. Ос но вы

 в zyxwvutsrqpon  M ATLABzyxwvut

 р аб о т ы

,  т о   срутан ен и е   э то г о   н е до с а т к а  н е о   п р и   в ы ч и с л ен и и   з н ач ен и я  фн у к и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI   (с.м  р.азд   ''Петны ме лэо  ацпирео  с

о   п рост

е  тел о   нфу к ц и , к а к  ук а з а н о   в  л и сит н г е   5.3.  Н е  з а бдьу т е   с о р ха н и т ь я  в  фай л е   myfun.m!zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF

^  н В е си р ас п о нт е н а р ан х е о тм ло в к !  Л ис т ин

Пр и м е ча н и

е   J е   и зн ме и

й  в  тксе т   й а - л ф н ц ку ф и я   о ш и бк а   н ч аи н ю а щ и , то , ка к  н е  сожлн о  уиьясдебт ,  чт о   йаф л   и н з ме н   и   н е   р н а со х е е  окн а  раекдотр а  ро дя м  с  ин ем г  5.3. Ф а йл - ицянку ф

и  бе з   нра осхе и х   п о л ь з е йв а т , бе д у т  вы ьсчитял , е ву ьлтсе ви д м  риакметдоруг

,  ра бот а щю

я  с  м а с иов

я   ай ф л .  лЕс я   ар с т т   з в е о ч дк о   аф й л

м  зна еч ни

а  —  тсча о л   н е  со . О а   в   з ао г .zyxwvutsrqponmlkjihgfed

и   йа ф я   н у к цф и я

й  

I

fu n c t i o n  f  =   m yfun (x) f  =   e x p ( - x ) . * s q r t ( ( x . A 2  +   1 ) . / ( х .

Т еп р м а рт и ц

ь   а р мг у е н о т а  з н а ч е н и й

м   н фу к ц и , н а п р и м е р

л

4  +   1 ) ) ;

и  myfun  м ож е т   бы т ь   ка к   ч и сло , та к   и  в ек от р   ил и :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE

»  х  =  [1.3 7.2]; >> у  = myfun(х )zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   =

У

0.2600 

П ер м ен н а а в от м а ит ч е с к

0.0001

я   у ,  в   к о т р у и   с ат н о в и ст

П о с тр о й т

е   гр а фи

п р о гр а м

ы   ил

» 

ю   з а п и с ы в а е ст я  в ек от р

к   н фу к ц и и  и з  к о м а н дн о

я   р е з л у ь ат м   н жун о г

и   myfun  н а   о ртез к й  с рт о к и

т   вы з ов о   р аз м ер а

а   н фу к ц и

и   myfun,

и   п ом щ

и   фа й л

. е   [0, 4]  п р

-

:

х   =  0 : 0 . 5 : 4 ;

>>  у   =   m y f u n ( х ) ; >>  p l o t ( x , 

Р еш ен и е  в ы ч и с л и етл ь н ы н и я   п р о гр а м и р о в а т ч е   (н а п р и м е р д ы н те г р а л ь н а

у )

, п р а в я  фну к ц и я)

х   з ад ч   с р е дв т а м ь   фа й л - нфу к ц и , со втес юу щ и я   ч аст ь   с и ем т ы   ид ф е р н ц и а л ь н ы .

и   MATLAB  п о ртеб у е   п о с ат в л е н н о х   р уа в н е н и

т   о т   в а с   ме у й   з ад й   и л и  п о

-

л ав Г

223 zyxwvutsrqpon

 5.  М - й лы фа

Р еш ен и М ни к о ни в ы р аж ен и р ас п о р яж ен и н фу к ц и с рт о ф а х гр а н и ц

ю  в ы ч и сли етль н ы

х   з ад

ы   р а с м о рт и м   с ей ч а е  фай л- нфу к ц и й   ч т о   в ы   п о с рт о и л я  в е к то р а   у  н е  о б яз а етл ь н е  дл я   н ег и   фа й л - н фу к ц и и   fpio t ,  к о т р о )  и л и   куаз етл ы   о рт е з к а  дл

ч   п о с в ящ ен

а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM  гав л  6.

с   то л ь к

о   о ид н   п рост й   п ри м е р   то г о т   в и з а ул и з а ц и ю   м ает и ч е с к и к   п р и  п о м щ и  p l o t .  З а м еьт о   бы л о  в ы з ы в а т ь   myfun  —  м о ж н о  и  п о т м   ку а з а т ь   п ар у   х  и  у  в  p lo t .  И м ею щ аяс я   myfun  п о з в о л яе т   о б р а ит ь с й  требсту я   куа з т ь   и м я  н аш е й  фай л- нфу к ц и ь   н а   н е е   (с   о п е р а то р м   @ п ер д   и м ен я   п о с рт о е н и я  гр а ф и к а  (в  в ек от р е  и з  дву

 уп р о щ а е и   гр а фи

,  к а к   и с п о л ь з о в а х   нф у к ц и й . Т о л ь ,  ч т о   лд я   в ы ч и сле о  сраз у   з ап и сат ь я  в  н аш е м я   к   с п ец и ал ь н о й и  (в  а п о м   нфу к ц и )  и х  э лем н отв )

1

»  fpiot('myfun ,  [0  4]) ИЛ » 

И f p i o t ( @m y f u n , 

П о с тр о й т ка к   п о к аз ан ж ае т   п о в едн и ш а г   а р г му е н та м о й  фну к ц и

е  г р а ф и к

[0  4 ] )

и  p lo t  и  fp io t  н а  о нд и о   н а   ри с . 5.6.  Г р а ф и к ,  п о с тр о е н н ы е   фн у к ц и , т .  к .  а л г о р и т ,  му ен ь ш а я   е г о   н а   ч у а с кт а .

Рис

.  5.6.  С р а в н е н и

х   о ся

х   (и с п о л ь з йу т й   fp io t ,  б о л е м   fp io t  а в то м а ти ч е с к х   б ы с тр о г о   и з м ен ен и

е   p l o t  и   f p i o t

е   hold  on) та к е   то ч н о   о тр а и   п о дб и р а е я   и с елуд

, т -

 I. Ос но вы  работы  в  MATLAB zyxwvu аЧс т ь 224zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Ка

к   бы л

че

м   н а дч е у н ы

ес т

о   о мт е ч н

о   в   ав ег л й   вы бо у   и з  гав ы л

ь   к  п р и м ер и т ь   гр а фи

к   н фу к ц и

п р е лд а г л о с н фу к ц и

ь   вы брат ю  myfuni  (ли ст н

 3,  щсу вестн н у

р   ш аг

а   м ож е

ю   рол т   п р и в ес т

 3, в   к о т р о

ь   и гр а е

м   пр

и  п о м щ

и  p lo t  тр е б о в а л о с

и   / ( * ) =  ~ е Л  (sinJC +  O.lsin (Ю:)д г т О ь  ша

т   вы бо у  р ез луь ату

и   к  н ев р н о м

г   0.01. З а п р о гр а м и р йу т г  5.4)  и  с орха н и т

е   е е  в  фай л

)  н а   о рт е з к

р   ш аг

, п ри

-

. В ерн и ь   п о с рт

-

е   [0,1]  и

е   с о вт е с ю у щ у ю   фа й л е   myfunl.m.zyxwvutsrqponmlkjihgfed

: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л ист ин г  5.4. Ф а йл - иц кну ф я  дл я  в ы ч и с л е н и я   и с ле дуе м о й   и ц ун к ф и zyxwvutsrqponmlkji

myfuni(t) function z =  z = exp(- t).*(sin(t) + 0.1*sin(100*pi*t));



Пр и м е ча ни

В   э то ф а й л - ф ну к ц и н ы ми з а п и с ы в а ть с а р г му е н з н ач ен и е

м   п р и м ер

е  



е   м ы   н ам ер н н и   м о гу т   бы т ь   лю бы е ,  о т   к о то р ы х   б ед у т   в ы з ы в а ть с я   р е з лу ь т а .  Н а п р и м е р т   равн ы м   Ь , з а ет т   t  с та н е .

0.1  Рис

0.2 

о   и сп оль з овал ,  о н

и  н и к а я   ф а й л - ф ну к ц и ,  п р и  в ы з о в м   в ы ч и с л и тс

0.3  0.4 

. 5.7. В ы бо

р   ш аг

и   z  и   t .  И м е н а   а р г му е н т о к   н е  с в я з а н ы   с  те м и   п ер м ен я   и л и  в   к о т р ы е   бе д у е   а   =  myfuni  (b)  в ох дн о я   z, и  п е р м е н н а я   а  п р и м е т  е

0.5  0.6  0.7  а   н уф к ц и е

0.8  0.9

й   fp l o t

в т й е

л ав Г

 5. М - й лы фа

225zyxwvutsrqpo

 

Д л я   п о с рт о е н и я  г р а ф и к а  о сатло с ь   в ы з в ат ь   fpiot.  В ы   м о ж ет е  уз н ат р е   з н ач ен и й   а р мг у е н т а   н уф к ц и е й   fpiot,  куаз в   рт еь и м   е е   ов н дх ы м ен о т м   с в о й с вт а   ли н и и   и   м ар к ер а   ат к   ж е ,  к а к   и  в   p lo t .  В о з ь м и т к а ч е с вт е   м ар к ер а  и  сп ло ш н у ю  ли н и ю

ь   о  в ы б о м   а р гу е   от ч к у  в

>>  fpiot(@myfunl,  [0  1],  ' . - ' ) П о л ч у а е тс с втю у котры з ац и

я   гр а фи к , п р и в едн н ы т   а д п ти в н о   п од бран н ы х   fp io t  в ы ч и с л и л .

Ф ну к ц и з н ач ен и

й  н а  р и с . 5.7.  б Ас ц и с м   з н ач ен и я м   н ез ав и с и м о ю   нфу к ц и ю  дл

а   и с е лм у д

ы   м ар к ер о

в   с о вт е

-

й   п ер м ен н о й

,  в

я   к о р е к тн о

й  в и з аул и

-

я   fpiot  п о з в о л яе т  з а д в а т ь   р я д   п а р м е тр о в , уп р ав ляю щ и х   вы боро м й   абсц и с с  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA (с.м  р.азд   "Бе ло он б пр д о  о  fpiot"  авыг л  6).zyxwvutsrqponmlkjihgfedcb

Ф а й л - и ц нук ф

и  с  не осилмкь

и  вм ын до х

и  аргму е нт а м

и

Н ап и сан и е   фа й л - н фу к ц и й  с  н еск о ль к и м и  вонхд ы м и   а р мг у е н а т м и   п р а к ит ч е ск и   н е  олти ч аест я   о т   ч с ла у я   о нд о г о   а р мг у е н а т .  В с е  вохнд ы е   а р мг у е н т ы   раз м ещ а ю с т я   в   сп и ск е   ч ер з   з а п я ю ут .  Н а п р и м е р , ли сит н г  5.5  с о едр ж и т   фа й л нф у к ц и ю ,  в ы ч и сляю щ у ю   л ди н у   р а и д с у- в е к о т р а   от ч к и   рт е м х р н о г о   п ро с рт а н с вт а   \ ]х   +  у   +  z  .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA !  Л ис т ин

г  5.5. Ф а йл - иц кн фу

я  с  т ре м

я  вмынодх

и  а рмгу е нт а м

и  

;

fu n c t i o n  r  =   r a d i u s 3 ( x ,  у ,  z) г   =   s q r t ( x . A 2  +   у .

Дл ци

л

2  +   z . A 2 ) ;

я   в ы ч и с л ен и я   лд и н ю  rad iu s3, н а п р и м е р

ы   р а и д с у- в е к о т р а   е пт р ь   м ож н о   и сп о ль з о в ат ь   н уф к :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

»  R = radius3 (Г , '1, 1) R

 = 1.732

К ром фн у к ц и о н дх ы

е  фн у к ц и

й  с  н еск о ль к и м и

, в о з в р а щ а ю щ и х   а р г м у е н от в

Ф а й л - и ц нк у ф Ф а й л - н фу к ц и л ен и з ы в а ю ст

 а р гму ен атм и е   н ес к о л ь к

о  з н а ч ен и й

и   с  н еск о ль к и м , в о з в р а щ а ю щ и я   в-керто укн ци )ф .

т   с о з да в т х   н ес к о л ь к

ь о  в ы

-

.

и  с  не соликмь и   нф у к ц и й

, MATLAB  п о з в о л яе , т . е .  и м ею щ и

и  вм ы н до х ы и  в ы охнд ы м х   н ес к о л ь к   В ы о н хд ы

и  аргум е нт а м и   а р мг у е н ат м о  з н ач ен и

е   а р м гу е н т

и   од бун й   (в   м аетм аит к ы   до б а в л я ю с т

и ы   пр

и  в ы ч и с е   он и  н а я   ч ер з   з ап я -

226 

аЧс т ь

ут ю   в  сп и со к  в ы охнд ы х   а р г м у е н от в ск обк и . Ли с ти н г   5.6  соедр ж и в р ем н и , з а д н н о г о  в  сенк у адх

т   п ри м е ,  в  ч ас ы

  I. Ос но вы

 в  MATLAB zyxwvuts

 работы

,  а  са м   сп и со к  з ак л ю ч аест р  та к о й  фай л- нфу к ц и , м и н т у ы  и  секну ыд

я   в zyxwvutsrqponmlkjihgfed  кеатрынв д и  hms дл я   п ер в о д а .zyxwvutsrqponmlkjihgfedcbaZY

; zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Л ист ин г  5.6. Фицнук я  пе р вод а  сену к д  в  ча с ы ,  м туин ы  и  с е нудк ы  

I zyxwvuts

function  [hour, minute, second] = hms (sec) hour = floor(sec/3600); minute = floor((sec -  hour*3600)/60); second = sec -  hour*3600 -  minute*60;

П р и   вы з ов та т   е у с л д » 

е   фа й л - н фу к ц и т  з а п и с ы в а т

й  с  н еск о ль к и м

и  в ы охнд ы м

ь  в  в ек от

и   а р мг у е н а т м

р   с о в т се ю у щ е

й   дл и н ы

и   р ез л ь у

-

:

[Н ,  М ,  S]  =   h m s  ( 1 0 0 0 0 )

Н   2 М  = 46 S  = 40

Е сл

и   сп и со

к   в ы о х нд ы

х   а р мг у е н о т

f u n c t i o n  m yfu n ( a ,  b)  ИЛ

н е  бед у в а ю ст П р е с уд м о р т е н с п о с а б л и в а ю ст н фу к ц и П о др б н е п о с в ящ ен н о

т   воз вращ ат я  п о л ез н ы м и

,  т . е .  з а го л о в о

к   в ы г л я ди

т   та к

:

ь   н и ка и

х  з н а ч ен и й

. Т а к и

е  фн у кц и

и  то ж

е   и н о гд

я

а   о к аз ы

-

.

а   воз м ож н ост я   к   ч и сл й  M ATLAB р а б о та ю е  о  с о з ад н и й  п р о гр а м и р о в а н и

в   п сту

И   f u n c t i o n  [  ]  =   m yfu n ( a ,  b)  ,  TO  ф а й л - ф у н к ц и

ь   с о з ад в т у   ов н дх ы т   и м ен н

ь   фа й л - нфу к ц и х   и   в ы о нх д ы х   а р г м у е н от в о  так и м   образ ом

и  фай л- нфу к ц и

Ф ну к ц и и  M ATLAB  о б л а д ю сь т ю   п о л ч у е н и я   и н фо р м а ц и h elp  fpiot .  С о б с вт ен н ы с вт о м ,  и сп о ль з у я   с рт о к и го л о в к а   и  д о   етл а   нфу к ц и к о м а н до й   h elp.  И з чуи т е котры й   расп о л ж е н   в к атлог а   M ATLAB.  Р аз м есит з н ач ен и и  (ли ст н г  5.7)  и

й  и  фа й л - п р о г а м ю   с о б вт ен н ы

, к о т р ы

е   сам

о

. о  в  чтаис

м   н ап и сан х  п р и л о ж ен и й

и   п ри

.  Бо л ь ш и н с вт

 II,

.

т   ще е  онд и и   о   ни х   пр е   фа й л - н фу к ц и   к о м е н ат р и е в и   ил   с о ед р ж и м о   п о дк а т л о г  п р о в е р ь те

м   п о л ез н ы м  к ач есвт о м   —  в о з м о ж н о и   п ом щ и   к о м ан д ы   h elp,  н а п р и м е р и  та к   ж е   м о ж н о   н а ед л и т ь   эи т м .  Вс е   срто к и   к о м е н ат р и е в   п о сл и   п ос т у й   с рт о к и   в ы в о яд с т я   в   к о м а н дн о е   фа й л а   fplot.m  с  фай л- нфу к ц и е й е   \ toolbox\ matlab\ specgraph\   о с н о в н о г е   в   фа й л - н фу к ц и и  hms  к о м е н та р и и  о : h elp  hms.

,   св о й

-

е   за е  о к н о   fpio t , о   е е  на -

л ав Г

 5. М - й лы фа

227zyxwvutsrqp

 

izyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Л ист ин г  5.7. Пом е щни е  ком м е нт а рие в  в  фа йл - иц кн фу ю  

; zyxwvuts

function  [hour, minute, second] = hms(sec) %hms -  по в е р % Фи ц к н у

д  сн у к е

д  в  чы с а

, мт у н и

я  hms пн е ч а н з а н д е р

% в  чс а

ы  мт у н и

а  дл

ы  и  сы д н у к е

ы  и  сд н у к е я  пд о в е р

ы а  сн у к е

д

.

%  [hour, minute, second] = hms  (sec) % 

sec -  чл с и



hour -  чл с и



minute -  чл с и



second -  оо т а с

о  сн у к е

д

о  пы н л о

х  чо с а

о  пы н л о

в х  муни

к  сн у к е

т д

hour = floor(sec/3600);

minute = floor((sec -  hour*3600)/60); second = sec -  hour*3600 -  minute*60;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML

М ы   н ам ер н н о   з ап и сал и   в   п ер в о ц и ю   о   фа й л - нфу к ц и .  П ер в а я ц и и   н а з ы в а е ст я   H I- line  и   и сп о ль зсету к о м ан д а   ищ е т   ку а з а н н о е   сло в л о га х ,  куаз н н ы х   в   яп т у х   п ои ск а в е р ь ет :  lookfor  hms.  Н а ш л а с н фу к ц и й   лд я   п р е о б р а з о в а н и я MATLAB  о ф р м л ен ы   и м ен о нфу к ц и й ,  п р енд аз н ач ен н ы х   лд п р и ед р ж и в а ь т с я   ад н н ы х   с о гл а ш е н и й ^  ло Б н ма д

Р а зо н с и в д т

Пр и м е ча ни к   к о м н е ра и т е   help.

е   в   н ь зл е

й   с рт о к

е   к о м е н ат р и е в   к р а кт у ю   и н фо р м а а   к о м е н ат р и е в   п о сл е   з а го л в к а   н уф к я   п р и   п о и ск е   к о м а н до й   lookfor.  Э т а о   в   с рт о к а х   H I- line все х   фай л- нфу к ц и й  в   к а т ,  в   от м   ч и сл е   и   в   ещ к т у е м   к а т л о ге .  П р о ь   ка к   в аш а   нф у к ц и я ,  ат к   и   р я д   в срт о ен н ы х   фо р м а т а   в р ем н и .  Вс е   в с рт о ен н ы е   н фу к ц и и  в   та к о м   сит л е ,  п о э тм у   п р и   с о з ад н и и   н абор а я   ш и роког о   к рг у а   п о л ь з о в а ет л й ,  ест ь   см ы с л .   с тр о к

^ я   и с п о л ь з в ат

и  фицунк

О фо р м л ен и е   а л г о р и тм а   в   о нд о й   фа й л - н фу к ц и р ы е   с ат н д а р нт ы е   ч аст о   п о в т р яю щ и ес о е длт ь н ы х   нф у к ц и й , св яз ан н ы х   с  о с н о в н ы ат в л я е т   раз ли ч н ы е   сп ос б ы   о р га н и з а ц и в е а т ын  фукн ци , укн ц пи ,ф до е ын  вж о л

ь   л д я   н ч е п и у ло

я   п с к аз о д

и   п о  ко

-

й я   е дй с в т и м   а л г о р и тм о м и   с в яз е укн  ци .ф

и   н е   в с е гд я   е с ул д й   м ж ед

а   до у б н о .  Н е к о т т   оф рм и т ь   в   ви д е .  M ATLAB  п р еод с у   нфу к ц и я м и  —zyxwvutsrqponmlkj   и п- р

228 

и ц н у к фо П д

и

И сп о ль з о в ан и ч аст

и   а л г о р и тм от м   ж е   ф а й л е П р е дп о л ж и м ч аст о   п р и о х д ст ы ст м   к оп и рован и е ит н г   5.8). j Л ис т ин

  /,  Ос но вы zyxwvutsrqponmlkjihgfedcbaZYXWV  работы  в  MATLABzyxwvut

аЧс т ь

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

е   п о нфд у к ц и а   в   с а м о с т яе л ь н у ,  ч т о   и   о с н о в н а ,  ч т о   в   фай л- нфу кц и я   в ы ч и с л ят м   срт о

й   и  в ло ж ен ы

х   н фу к ц и ю   нфу к ц и ю

я   нфу к ц и я ь   н ек о т р о к   до б а в и т

г  5.8. Ф а йл - иц нк фу

,  етк с

.  Р ас м о рти и   simple,  рахн ящ ей с е   в ы р аж ен и е ь   с о вт ес ю у щ и

я  s i m p l e  в  файл

й   осн ован о   н а   в ы е дл н и и т   котро й   с о е др ж и с т я  в м   м о ед л ь н ы й   п р и м ер . я   в   фа й л е   simple.m, .  К о н е ч н о ,  м о ж н о   п ро е   о п е р а то р ы   (ли с -

е   simple.m zyxwvutsrqponmlkjihgfedcbaZYXW

function simple; х  = 1.1; У  = 2.1; fl = х" 3 -  2*у" 3 + 3*(х" 2 + у">2 ) -  х* у  + 9 х  = 3.1; У  = 4.2; л л f2 = х А 3  -  2*у 3 + 3*(х" 2 + у 2) -  х* у  + 9

х  = - 2.8; У  = 0.7; f3 = х" 3 -  2*у^ 3 + 3*(х л 2 + у^2 ) -  х* у  + 9

П рощ в мд у М - е йл фа j Л и с т и н

е   и   н а г л я нд е е   о п р едл и т я   в о х нд ы м и   и  онд и   simple.m. г  5.9. Ф а йл - иц нк фу

ь   в ы ч и с л яем о м   в ы о хнд ы

е   в ы р аж ен и м   и  ртисеь азм

м   а р мг у е н от

я  s i m p l e с  п о уд нф к ц и е

й  f  в  файл

е   в  zyxwvutsrqponmlkjihgfedcbaZ у кн ц и ф д п о   f  с   е   в  тмо   же

е   simple.m 

I

function simple; % Оа н в о с я  фицкну я fl = f(l.l, 2.1) f2 = f(3.1, 4.2) f3 = f(- 2.8, 0.7) function z = f(x, y) % Пи ц к н у ф д о я z = х л 3  -  2^yA3 + 3*(xA2 + y A 2) -  x*y + 9;

П ер в а о п е р а то р

я   нфу к ц и ы   в ы п о л н я ю тс я

я   simple  яв л сет ,  сел

я   йв он с и   п о л ь з о в а ет л

 фукн цийе ь   в ы з ы в ае

 в   simple.m,  и м ен н т   simple,  н а п р и м е р

о  е е ,  и з

л ав Г

 5. М - й лы фа

к о м а н дн о п р и в о ди ю у д щ ем

229 zyxwvutsrqp

 

й   с рт о к и т   к   п ое р д х у  в о з в р а т

.  К аж од

е   о б р ащ ен и

у   к   р аз м ещ ен н ы у   в  о сн о в н у

Ф а й л - нфу к ц и я   м ож е в о х нд ы м и   и   в ы о хнд ы м то л ь к о   о нд а .  З а го л в о ко м   к он ц а   п р еы д щ у е й п о н фд у к ц и я м и   то л ь к р ем н н ы е ,  о п р едл н н ы  он и   одпсут н и,м ьын коал жи т   п ри м е р   фа й л - н фу к ц и

ю   н фу к ц и ю

е   к  п онфуд к ц и м   в   п о н ф уд к ц и .

и   f  в   о с н о в н о и   о п е р а то р а

т   с о ед р ж а т

ь   он д у   и л и   н ес к о л ь к и   п а р м е тр а м и ,  н о   о с н о в н а к   н ов й   п но ф у д к ц и и   о нд о в р е м н н .  О сн о в н а я   н фу к ц и я   о б м е н и в а ес т о   п р и   п ом щ и   во н хд ы х   и   в ы о нхд ы е   в   п о н ф ду к ц и я х   и   в   осн овн о ы   в   п р е лд а х   св о е й   нфу к ц и и  с  п онфду к ц и ей , п р и в о ядщ и

г 

I  Л и с ти н

о   п о н ф ду к ц и я   н фу к ц и

й  фну к ц и м   и   п о сле й   с о   св о и м я   м ож е т   бы т я   п ри з н а

и и

ь о   я в л се т я   и н фо р м а ц и е й  с х   п а р м е тр о в .  П е й   нфу к ц и ,  яв л ю ст я zyxwvutsrqp .  иЛ сит н г   5.10  соедр й   к  о ш и б к е !zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ

, zyxwvutsrq

............................................... 

г  5,10. Н е д о п у с ти м о

е  и с п о л ьз о в а н и

е  л о к а л ьн ы

х   п а р м е тр о

в zyxwvutsrqponmlkji

function  simplel; ALP =5.3; BET = 9.1; fl = f(l.l, 2.1) function  z = f(x, y) z = x^3  -  2*y^3 + 3*(x^2 + У А 2)  -  x*y + 9 + ALP*BET;

П о п ы тк а  в ы п о л н и т ч т о   п ер м ен а р а ) н е   о п р едл н а

ь   н фу к ц и я   ALP  (о н :

а   п ер в о

ю   sim plel  п ри в ед й   в с рт е и л а с

т   к  в ы в о д ь   п р и   и н ет р п р е ат ц и

у   с о б щ ен и

й   о  то м и   о п е р а от

, -

>> simplel ??? Undefined function or variable 'ALP1. Error in ==> simplel > f at б z = х л 3  -  2*y^3 + 3*(xA2 + y^2) -  x*y + 9 + ALP*BET; Error in ==> simplel at 4 fl = f(l.l, 2.1)

Оид ю ст р ем н ы п ом щ ит н j Л и с ти н

н   и з   воз м ожн ы х   в а р и а н то я   общ и м и   л д я   в се х   н ф у к ц и х   в   н ач л е   осн овн о и   global  с о   сп и ско г  5.11). г  5.11. Оябв ъл е н и

function simple2; global ALP BET ALP = 5.3;

в   и сп о ль з о в ан и й   М - фа й л а й   н фу к ц и м   и ме н   п ер м ен ы х

е   г л о б а л ьн ы

,  со ти и   и   п о н ф уд к ц и

х   перем ен ы

я   п ер м ен ы х ,  к о т р ы т   в   о б ъ яв л ен и и   ад н н ы и   ка к  х,ьын алб о г л ,  р аз едля м ы х   п р о б ело

х

е   яв л х   пе   пр и м   (ли с -

-

230 

Ча с т ь

  I.  Осыовн

 в  M ATLABzyxwvu

 ра бот ы

BET  =   9 . 1 ; fl  =   Ј ( 1 . 1 ,  2.1) f u n c t i o n . z  =  f ( x ,  y) g l o b a l  ALP  BET z  =  x A 3  ­  2 * у л

С е лу д осн овн о п о н фду к ц и не нфу к ц и

ь   в   в и уд

т   и м ет й   н фу к ц и е

3  +   3 * ( х

л

2  +   У

А

2) 

-   x *y  +   9  +   ALP *BE T ;

,  ч т о   члуш и м   сп ос бо й   и   п о н фд у к ц и я м и   я в л се т .  З н а ч ен и е  гл о б а л ь н ы х   п ер м н ы о   в   рабоч е й   с р ед е   и л и   п р и   вы з ов е   рд г оу , к о т р а я  о б р а щ а ест я   к  о нд о и м ен н ы

О м т ие м   о с б ен н о с т о ш и бк ам .  И с то ч н и к о ц и и   в   к а ч е с вт

м   о б м ен я   п е р ад ч х   м ож е й   фа й л - п р о гр а м м  гл о б а л ь н ы

и   работ ы   с   п о фн д у к ц и я м и м   ош и бо к   ч аст о   я в л се т о   а р гм у е н т а   та к и

е   в о х дн о г

, к о т р ы я   н ев р н о

а   п ер м ен н ы м

и   ж мд е

а   и х   в   п а р м е рт а т   бы т ь   с лч у а й н ы   ил м   п ер м ен н ы м

у

о   и з ме и   фа й л

х .

е   ч аст о   п р и в о дя т  к е   ку а з а н и е   п н о фу д к й   M ATLAB,  к а к   fpiot,

х   н фу к ц и

f z e r o ,  f m i n s e a r c h ,  q u a d  И  д р у г и х

,  В ы з ы в а е м ы

О б я з а ет л ь н о   и сп о ль з о в ан и е   с ы лк MATLAB  и гн о р и реу т   п о нфд у к ц и щ ку е м   к атлог е   и   в   яп т у х   п ои ск а осн овн о й   нфу к ц и и  mainfun  с  п онфуд к ц и е п с и ту м о с т ь   з адн и я  и м ен и  п онфду к ц и

и   н а   п о фд н у к ц и ю ,  а   н е   е е   и м ен и ю   и   н ач и н ае т   и ск ат ь   фа й л - нфу к ц и .  Ли сит н г   5.12  соедр ж и т   п рост й   subfun,  дем о н с рт и рюу щ и и  в  п ер в о м  вохнд о м   а р гм у е н т

х   в н утр

и   Н ОВ С О

Й   Н фу К Ц И И

.

,  и н ач е ю  в   ет й   п ри м е р й   н о ед е   fpiot.zyxwvutsrqponmlkjihgfedc

'zyxwvut

г 

i Листин

г  5.12.  ыньливарП

й   ы н ьил и в а р п  ен

й   озыв

в  fpiot в  основно

й и ц к  нуф

и  :ќ

function mainfun % оа н в о н с

я   ицкнуф

figure  % си н а д з о

я е  г о к с е ч и ф а р г

о   нко

subplot(2,  1, 1) % си н а д з о

е  е н х р е в

fpiot(@subfun,  [15])  % пы н ь л и в а р subplot(2,  1, 2) % си н а д з о

й  пр а

ы  ое с

й  во з ы е  е н ж и н

fplot('subfun',  [15])  % ны н ь л и в а р п е

а

й  пр а

й

в   fpiot с  уе л т а з к ы  ое с й   озыв

м   н а  пи ц к н у ф д о

ю

й в   fpiot с  ие н м

м  пи ц к н у ф д о

и

function  у  =  subfun(х ) % и ц к н у ф д о п

я

у  = sin(pi*x);

В  р ез луь ат е   вы з ов >>  mainfun с о з ад е с т гр а фи к

я   гр а фи ч е с к о , п о члуен н ы

а

й   пр

е   окн о   с   мв д у я   п ар м и  в ы з о в е   fpiot  с  указ етл

и   о с ей

,  п р и ч е м   то л ь к м   н а  п о дфну к ц и ю

о   в е рн х и , являет

й -

л ав Г

 5. М - й лы фа

231 zyxwvutsrqpo

 

с я  в е р н ы м .  Е сл и  в  тещку е й   п ап к е  и  пят у х   п ои ск а  н е т   фай л- нфу к ц и т о   н и жн и й  гр а фи к   с о е др ж и т   п р ям у ю   ли н и ю . Т а к   всегд а   р а б о та е гд а   MATLAB  н е   м ож е т   н ай т и   М - аф й л   с   фа й л - н фу к ц и е й   лд гр а фи к а .  З а м еьт ,  ч т о   п р и   н али ч и и  в  тещку е й   п ап к е  фай л- нфу к ц и в  М - фай л е  fplot  едбу т  п ы ать с я   п о с рт о и т ь   е е  гр а фи к . П о фд н у к ц и я   од с п у т н в ы з в ат ь   п о н фду к ц и др г у о й   фа й л - нфу к ц и т о   п о лч у и т е   с о б щ ен и

а   то л ь к о   в н рт у ю   f  н е   и з   фай л- нфу к ц и , фа й л - п р о г а м е  о б  о ш и б к е

и   осн овн о

й   нф у к ц и .  Е сл и   simple  (см . л и сит н ы   и л и   п рост о   и з   к о м а н дн о

и   subfun, т   fplo t ,  к о я   п о с рт о е н и я и   subfun и   в ы   р еш и т е г  5.11),  а   и з й   с тр о к и ,

:

»  f( i,  1) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ??? Undefined command/function 'f. Р а з м у е стя с я  фай л- нфу к ц и п ер м ен а Е сл и  до спут н в с рт о е н н ы е т о   п р и о р и те

,  сле

и  в  тщеку е я  f,  рхан ящ аяс я   f,  т о   о ш и б к ы   раз ли ч н ы ,  п о л ь з о в аетл ь с к и т  св яз ы в ан и

м   к атло г

е   (и л и  пят у х   п ои ск а  MATLAB)  н аохид т я  в   фай л е  f.m,  и л и  в  р а б о ч е й   с р ед е   о б ъ яв л ен а и  м о ж е т   и  н е  б ы ть , и л и  о н а  бед у т  др гуо о   а х р к те р а . е   о нд о и м е н н ы е  фн у кц и и  (п р и в а нт ы е , п о фдну к ц и , е   и з   е к тщ у е г о   к а т л о га ,  нфу к ц и и   и з   Toolbox), я  и м ен и  и  о б ъ ек т а   с ю л уе д щ и й .

1.  И щ ест я  и м я  в  тещку е й   рабо ч е м ен а я   с  так и м   и м ен ем , л и б в)е ,   л и б о   ан о н и м н а я  фн у к ц и  гав.е л ю ст я  в  сйеующ д л

т  б ы т й   сред :  м огу о   в л о ж ен н а я   н фу к ц и я  и л и   inline- нфу к ц и я

2.  И щ ест

я  п онфду к ц и

м   М - фа й л е

3.  И щ ест

я  п р и в а нт а

4.  И щ ест

я  в срт о ен н а

5.  Д а л е и  пят у

я  в  тщеку е я  фну к ц и я  фн у кц и

е   п р о и з в о ид с т х   п ои ск

Т ак и м   образ ом н и е м   с лч у а я   фа й л ен н о й .  К а к   зу н а ть Д л я   э то й   ц е л и ав ег л  1. В о з в р а щ а е м ы 1 —  и м я   з а н я т н а   в   пят у х   п ои ск П р и в а тн ы е   нф у к ц и п ри м е р   max И »  exist  max ans = 5

я  (с.м

.

 сиующй де л

 )ле аздр .

я  (built- in  function).

я   п ои с к  требму о а   MATLAB. ,  п о л ь з о в а те л ь с к и

ь   о п р е дл н ы   ли б о   п ер я zyxwvutsrqponmlkjihgfedcbaZYXWVUTS   (с.м  де ал  в  эйто  га- л , к о т р ы е   р а с м а тр и в а -

й   фа й л - н фу к ц и

и  в  тещку е

м   к атлог

е

е   нф у к ц и и   и м ею т   п р и о р и те т   з а   и ск лю ч е и   и з   ет к щ у е г о   кат лог а   п о   о тн о ш е н и ю   к   в с тр о ,  яв л ест я   л и   нф у к ц и я   MATLAB  в с тр о е н н о й   и л и   н ет ?   сжл уи т   с п ец и аль н а я   нфу к ц и я   e xist ,  о   к о т р о й   ш л а   р еч ь   в е   з н ач ен и я  в   с лчуае ,  есл и   а р гму е н т   ф ну к ц и я , та к о в ы : о   п о д   п ер м ен н у ю   рабоч е й   с р е ыд ,  2 —  нфу к ц и я   расп олож е а   фай л о в ,  5 —  в с тр о е н н а я   нф у к ц и я   (built- in  function). и   и   п о дф н у к ц и и   н е   и д е н ти ф и ц и р ю у тс я .  С р а в н и те ,  н а   ba r : нф у к ц и

232 

аЧс т ь

  I. Ос но вы

 работы

 в  MATLAB zyxwvutsr

»zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   e x i s t  b a r a n s  = 2

И та к , фну к ц и щ е м  к а т л о г н о й   с рт о к в с рт о е н н о

я  max  явлсет я   в с рт о е н н о й , a bar  —  н ет .  П о э то м у , есл и   в   кеу т е   е с т ь   в д е   н фу к ц и и   max  и  bar,  к о т р ы е   в ы з ы в а ю ст я   и з  к о м ан д и   и л и   н ек о т р о й   нфу к ц и ,  т о   о б р а щ ен и е   е д бу т   п р о и с о х ид т ь  к й  фну к ц и и   max и  п о л ь з о в аетл ь с к о й   bar.zyxwvutsrqponmlkjihgfedcbaZYXWVU

е ицнку  ф

л В е о ж ын Д р гу о й   р а з н о в и д н о с ть в л о ж ен н ы е   фн у к ц и осн овн о й   фн у к ц и г о   о б с от я е л ь с вт н ы   и  в о   в л о ж ен н о ж ащ е й  в ло ж ен н у !  Л и с т и н

и

ю   нф у к ц и й , допсут н ы .  Е сл и   п о н ф уд к ц и , т о   в л о ж ен н а я  фн у к ц и а   п ер м ен н ы е  и з  р а б о ч е й   нф у к ц и . П р о с етй ш а ю   fn ested,  п р есдатв лен

г  5.13. Прос т е йша

я  влеожан

я  фуиц кн

х   в   о нд о м   М - фа й л е ,  яв л ю ст я я   я в л се т я   в н еш н е й   п о   о нт о ш е н и ю  к я  являсет я  в н ртуен н ей .  В   си л у   э от й   с р ед ы   осн овн о й  фн у к ц и и   оп д су т я   с р кт у а   н фу к ц и и  main,  соерд а   в  ли сит н г е   5.13.zyxwvutsrqponmlkjihgfedcbaZY я  

; zyxwvuts

function main; ALP = 5.3; BET = 9.1; fl = fnested(1.1, 2.1) function z = fnested(x, y) z = x^3 -  2*yA3 + 3*(x/N2 + y^2) -  x*y + 9 + ALP*BET; end end

С равн и т е   э т у   нфу к ц и ю   с  фн у кц и е й   sim plel  и з  л и сит н г р еали з о в ал с ь   к а к   п о нф д у к ц и я ,  и   п ер м ен н ы е   ALP И в н рт у и   п о фд н у к ц и . Т еп р ь   п ер м н ы е  ALP  И  BET допсут н П р и   н ап и сан и и  в ло ж ен н ы х   н фу к ц и й  се улд т   и сп о ль з о в ат з а к р ы ти я   е т л а   нф у к ц и . П о э т м у   в л о ж ен н а я   н фу к ц и я лю бо м   м ес т е   е т л а   нф у к ц и ,  е е   со едр ж ащ ей .  О с н о в н а в е р ш а ест я   о п е р а то р м   end.  В   онд о м   М - фа й л е   од п с у к а е с т п о н фд у к ц и й   и  в ло ж ен н ы х   н фу к ц и й  о дн о в р е м н н о , н о р а то р о м   п о н фд у к ц и и  до л ж е н   бы т ь   end.

а   5.10,  гд е   нфу к ц и я  f  BET бы л и   н е и з в е сн т ы ы   в  тел е  фну к ц и . ь   о п е р а то р   end дл я   м ож е т   р а з м е щ а ьт с я  в я   н фу к ц и я   ат к ж е   за я   и сп о ль з о в ан и е  то гд а   п о с л е нд и м   оп е -

л ав Г

 5. М - й лы фа

233 zyxwvutsrqpo

 

р Уо в е н ь   в л о ж ен н о с т в л о ж ен и и  в о з н и к а е м ож е т   о б р а ит ь с я в л о ж ен н у ю   н фу к ц и с я   к   н фу к ц и и   то г н фу к ц и ю   в е рн х е г о н ы е   и з   н е .  Н а   п р а к ит к ка к   п р а в и л о , н е  требстуя

и   н фу к ц и й  н е  о гр а н и ч ен т  в о п р о с , к ак и е  в ы з о в   к   св о е й   в л о ж ен н о й   нфу к ц и ю  н и ж н ег о  уро в н я . В ло ж ен н а о   ж е   руо в н я .  Ф ну к ц и   ру о в н я , в   к о т р у ю   он е   та к о й   сло ж н о й .

Д р гу а я   п р о б лем а   м н о г руо в н е в о г н ы х   в   с р ед е   в л о ж ен н ы х   и  вн еш н и в н еш н е й   нфу к ц и , допсут н ы   и  в о с ат в л я е т   ч с ла у й   кол и з и и   п ер м н ы с ч л уа е   в о   в л о ж ен н ы х   н фу к ц и я х   эт и м ен ем .  Е сетв н н о , ч т о   в о   вн еш н е о нд и м  и м ен м  н е  в о з м о ж ен , п о э тм В л о ж ен н ы п оль з оват п ри м е ит п н ы !  Л и с ти н

т   бы т и   м о уг ь   н а   в л о ж ен н у

е   н фу к ц и ь   к у а з етл р  та к о г х   н фу к ц и

о   и сп о ль з о в ан и й  с  р а з н ы м

я   н и ж н ег а   в л о ж ен а   с рк т у

у   п р и   м н о г руо в н е в о , а  к ак и е  н ет , н о   н е   м ож е т   и сп о ль з о в ат я   н фу к ц и я  м ож е т о   р уо в н я   м ож е ,  и  вс е   нфу к ц и ы   в л о ж ен н о с т и

м . Ф ну к ц и

я ь

  о б р а ти ть т   вы з ват , допсут   фн у к ц и й

ь ,

о   в л о ж ен и х   нфу к ц и й   в ло ж ен н о й

я  —  э т о   од спут н о с т ь   п ер м н . П ер м ен н ы е , о п р едл н н ы е  в о ,  и   н а о б о р о т .  И ск лю ч ен и е   со х   л д я   н фу к ц и й   о дн о г о   руо в н я .  В   э от м о   раз н ы е   ло к аль н ы е   п ер м ен ы е   с  онд и м й  фн у кц и и  досут п   к  дву м   п ер м н ы м  с у   н и  онд а  и з  н и х  н е  до спут н а .

ь   од п с у т н

я  в л о ж ен н о и   п а р м е тр а м и

г   5.14. Указ те л

. П о э т м ы  до п суит м ы

ь   н а  в л ое нж у

ы   н е   то л ь к о   в   М - фа й л е ,  сле и   и с ю   нф у к ц и ю .  В   ли ст н г е   5.14  п р и в ед н й   н фу к ц и и  дл я   со з адн и я  дву х   о нд о .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON ю  фун к ц и

ю zyxwvutsrqponmlkjihgfedcbaZYXWVUT

function  pointer  = fixed__parm(a/  b, с ) % a, b,  с  -  пртема % Синадзо

е   летаз ку

ы   ас ецорп

.

я   н а  вунежол

ю   ицкнуф

ю

pointer  = ©process; function  у  = process  (t) у zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  ± a*sin(b.*t + с) ; end end

З ап и ш и т е  фну к ц и ю  f ixed p arm  в  текщ у и »  f = fixed_parm (1.5, 2, 0); >> g = fixed_parm(1, 10, 25); >> fplot(f, [- 2,  2] ) >> hold on; »  fplot(g, [- 2, 2])

й   к атло

г   и  в ы п о л н и т

е  к о м а н ды

:

 I. Ос новы  работы аЧс т ь 234zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

 в  MATLABzyxwvut

е   удб т   п о с рт о е н ы   гр а фи к и  дву х   раз н ы х   нф у к ц и й . Т а к и м   обра В   р е з л уь ат з ом , со з адн ы   вд е   н ф у к ц и и  f  и д ,  з ав и с ящ и е  о т   онд о й   п ер м ен н о й , дл я  к о т р ы х   з н а ч ен и я  п а р м е тр о в   з а фи к с и р о в а н ы  н а   м о ен т   о б р ащ ен и я   к  фн у кц и и fixed_parm.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

а т вы и р н П

е ицнук  ф и

П р о с ет й ш и й   п ри е м   с е лд а т ь   н ек о т р ы в   р а з м ещ ен и и   М - фа й л о в   в   рабоч и та л о г а   с   п о л ь з о в а ет л ь с к и м и   фа й л - н фу к ц и я м в с п о м о г а ет л ь н ы е   нф у к ц и , к о т р ы с о едр ж а щ и м и с я   в   М - фа й л х   да н н о г иг х   к а т л о г в   яв л ю ст я   н е од пс у т н ы м и л о г   с   и м ен м   private  и   р а з м есит Р и нсу о к   5.8  п о яс н яе т  досут п   к  п р и в ант ы

е  фн у к ц и

и  в и д м ы м и   и л и   н ет , со сти .  О п р едл н н а я   с р тк у а   ка и   п о з в о л яе т   з адт ь   н ек о т р ы е   и с п о л ь з ю у ст я   то л ь к о  фай л- нфу к ц и ям и о   к а т л о га ,  а  дл я   фай л- нфу к ц и й  и з   руд .  Д л я   э от г о   е с лу д т   с о з да т ь   п о кд а т ь   в   н е м   в с п о м о г а ет л ь н ы е   фа й л - н фу к ц и м  фну к ц и ям .

т

х   к а т л о га х

е , .

  workl " t i J  private* funl.m fun2.m —  calc.m



t

—  myplot.m ;

~ Zil  work2 3  private funl.m fim2.m test.m

E

Ф а й л - нф у к ц и и  t e st  и  main  ен ют е им д о с п ут а  к  п р и в а тн ы м  фну к ц и ям , раз м ещ ен ы м  в  п о дк а т л о г е  private дру го о  к а т л о г а .

•  main.m Рис

Р а з б и е ни В ер н ем с н и я   о е д тл ь н ы

. 5.8. Семх

е  М - йл фа я   ет п е р

ь   к  фа й л - п р о гр а м а х   и х   ч а с ет й

а  допсут

а  к  п р и в ант ы

а  н а  яеч йк м   и  оидбсу .  Оид

н   и з  с п о с б о

м  фн у кц и я

-

м

и м   о д бу н о в  —  в ы едл н и

е   с р е д вт е   фр а гм е н т

о   в ы п о лн е

а   код

а  и

л ав Г

 5. М - й лы фа

235zyxwvutsrqpo

 

ег о   в ы п о л н е н и е  п р и   п о м о щ р е д а к то р   М - фа й л о в   п о з в о л яе н ят ь   и х   н е з а в и с и м о .  Т ек с м е н ат р и е в , н ач и н аю щ и сх

и   < F 9> —  б ы л   р а с м о рт е н   вы ш е .  К р о м е   э то г о т   раз би т ь   вс ю   п р о гр а м у   н а   яч ей к и   и  в ы п о л т   р а з б и в а е ст я   н а   яч ей к и   п р и   п ом щ и   с рт о к   ком я  с  дву х  ищ уд и х   п о др я д  з н а к о в  п р о ц ен т а  (%%).

, -

т Д л я   и сп о ль з о в ан и я   с р ет д в   р е д а к то р а   п р и   работ е   с   яч ей к а м и   код а   ес л у д с у ат н о в и т ь   р еж и м   Cell  Mode,  в ы б р а в   в   м ен ю   Cell  п ну к т   Enable  Cell  Mode. П р и   э от м   с ат н о в я ст я   од с п у т н ы м и   рд г и у е   пну кт ы   э то г о   м ен ю , а  в ы б р а н н ы й и з м е н и стя   н а  Disable  Cell Mode дл я   омт ен ы  р еж и м а .  К р о м е  то г о , п о яв л ест я п ан ел ь   и н с р тм у е н о т в  дл я  р а б о т ы   с  яч ей к а м и . Д л я   о ф р м л ен и я  фа й л а  м о ж н о и сп о ль з о в ат ь   ю с лу е д щ и е   п ну кт ы   м не ю zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO  Cell: •   Insert  Cell Divider —  в с ат в к

т а   (%%). Е сл ет л ь   в с ат л я е ст

и   к р ус о

а   р а з ед л и е т л

р   н о а хи д с т я   з а  тещку е

я   яч е

я   н е  в   п ер в о й   с тр о к о й , и н ач

к   и з  дву й   п оз и ц и е  п ер

•   Insert  Cell Divider  around Selection—  в с ат в к п о сл е  в ы едл н н о г о   фр а гм е н т а   (срто к и  п р евд а р и етл ь н ед л н ы ) ; •   Insert  Text  M arkup —  р а с к р ы в а ю щ и й с образ ц о в  к о м ен ат р и е в  в  м есот С п ос

б  и сп о лн ен и

я  яче

к  фа й л

я  в  м ен

я   с рт о к

•   Evaluate Entire File —  в ы п о л н яест

я  вес

и   ещ к т у е

ю   лд

й   яч е

к   (%%) д о   и ы   бы т ь   вы -

я   в с ат к

и   с рт о

к

. ю  Cell: й   яч ей к и

я  срт о к

-

, и  о н и  текщу е

а   о са т

-

й  яч ей к и

,

; ь  фа й л

.

и  фай л а  тсяетрбу ,  чотб ы   п рем н ы е , и сп ольмезыу е   в  к о м ан у   н е   р е к о м е н уд , п р и ству о ал и   в   с р ед е   Workspace.  П о э т м ь   яч ей к и   фа й л - н фу к ц и й , т . к .  и м ен а   а р мг у е н о т в   п р и   о бращ е и   и   и м ен а   п а р м е тр о в   в   е тк с е   нф у к ц и ,  к а к   п р а в и л о ,  н .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

П р е уд п р е д ж н и е В ы п н ол е и ел ь т н о г п ом щ р а нх и ь т

т   м ен н   к ру с о р

е  о п р едляст

•   Evaluate  Current Cell  and Advance —  в ы п о л н яю ст и  тещку е й   с ат н о в и ст я  сюлуед щ а я   яч ей к а

в  п р о ц ен , т о   р а з дел и

о   до л ж н

я   пну к

•   Evaluate  Current C ell—  в ы п о л н яю ст сет я  текщу ей ;

П р и   в ы п о лн е и ад х   и  фну к ц и ях с те я   и с п о л н я т н и и   к   н фу к ц и со в п адю т

а   р а з ед л и е т л

, гд е  р а с п о л ж е а  так ж

х   си м вол и   с рт о к и д  н ей ;

е

^ е  яеч к  М - йафл а  в  ржием е  Cell Mode п риод сх о   н р а о сх е и я   ге о   н а  диске , в   лиотч е   о т   з ап с к у и   .  П оэмту ,  лс е и   в ы   лажоит ве е   айф л , и н ча е  вн ес ы е  и знме и я  муог т  бы т ь  п реняот ы

т   еб з  пвраиде о   ай ф л

а   г в ес , н е  зьтд абу .

а  п р и е   ге о   ос -

236 

аЧс т ь

  I. Ос но вы

 в  MATLAB zyxwvut

 работы

м  ввер х   и  в н и з  ощсу есвтля я   вы бор м   в   мн е ю zyxwvutsrqpo  Cell П ер м ещ ен и е  п о  яч ей к а п н у кот в   Previous Cell и  Next  Cell с о вт ес н н о .  Ц в е т   фо н а  яч ей к и   о п ред лс я е т я  в   н а с тр о й к а х   р е д а к то р а   в  ди а л о г в о м   окн е  Preferences.   В  н е м  се улд т в ы брат ь   пну к т  Display,  усатн о в и т ь   фл а г  Show cell highlighting и  в ы б р а т ь   ц ве т в  р а с к р ы в а ю щ ем с я   сп и ск е  с п р а в а  о т   фл а г . Дл

я   о с в ен и

я   п р о с етй ш и

яч ей к и ,  с о з ад й т (см . ли ст н Cell в ы б ер и т и з   вуд х   з н ак о фа й л ,  и сп о ль з у п а н ел и   и н с рт м у е н от в н и т е  со едр ж ащ и й с В и д   п ер в о г гр а фи к   р дг о у в ай т е   гр а фи ч е с к о фа й л , р а з б и ты то р а я   с о вт ес у

х   п ри н ц и п о

в  р а б о т

ы   с   М - фа й л а м и е   н овы й   фа й л   и   с к о п и рй у т е   д у т а   е тк с г  5.1).  П ер м есит е   кр су о р   в   кон е ц   с рт о к е   п ну к т   Insert  Cell Divider.   П о с л е   э о т й   с рт о к в   п р о ц ен т а   %%, делящ а я   фа й л   н а   вд е   яч ей к и я   пн у к т   Evaluate Entire File   и л и   со втесюу щ у .  И з м ен и т е   н фу к ц и ю   е рх ( - х )  н я   в  п ерв о й   яч ей к е  к о д , в ы б р а в   пну к о   гр а фи к а   и з м е н и ст я .  нА а л о ги ч н ы м   образ о й   н фу к ц и и  н а  дргиу е   оси , в ы п о л н и в  в от р у е   окн о ,  п о тм у   ч т о   м ы   с ей ч а с   р а с м о тр и й   н а   яч ей к и , —  ав от м аит ч ес к и  'соз анд у т   н а ш ем у   гр а фи ч е с к о м у   окн у .

, р а з б и ты м

и  н а т   и з   фа й л а   mydemo.m и   p io t ( x, f)  и   в   мне ю и   в с ат в и ст я   с рт о к а .  В ы п о л н и т е   в се ь ю   кн оп к у  н а а   io g( i  +  x)  и  в ы п о л т  Evaluate Current Cell. м   м ож н о   в ы в ес т и ю   яч ей к у .  Н е  з ак р ы м   ещ е   о и д н  М ю   ф а й л - нф у к ц и ю , к о -

П е р й ид т е   в   гр а фи ч е с к о е   окн о   и  сген ер и рйу т е   к о д   л д я   е г о   п о с тр о е н и я б р а в   в  мне ю  File  п н у к т  Generate M- File. В  р е да к то р е   М - фа й л о в   с о з а д ес т во е   окн о   с   ет к с о м   фа й л - н фу к ц и и   c r ea t efigu r e,  п р и в едн н ы м   в   ли ст н г е   5.15.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Л и с ти н • 

г   5.15. Ав то м а ти ч е с к

и  с о з д а н а

я  фун к ц и

я  д л

я   г р иа ф ч е с к о г

о   о кн

, вы я  н о

-

а  

function createfigure(xl, yl, y2) %CREATEFIGURE(X1/  Yl,. Y2) %  XI:  vector of x data %  Yl:  vector of у  data %  Y2:  vector of у  data %  Auto- generated by MATLAB on 24- Jul- 2004 08:16:35 %% Create figure figurel = figure('PaperPosition',  [0.6345 6.345 20.3  15.23],  'PaperSize' [20.98 29.68]);

%% Create axes axesl = axes('OuterPosition',  [0 0 0.4823 1], 'Parent',figurel); hold(axesl,'all');

! • zyxwvut

л ав Г

 5. М - й лы фа

 

237zyxwvutsrq

%% Create plot plotl = plot(xl, yl,  'Parent1, axesl); %% Create axes 1

axes2 = axes('OuterPosition1,  [0.4823 0 0.5177 1], 'Parent , figurel); hold(axes2,  'all'); %% Create plot

plot2 = plot(xl, y2, 'Parent1, axes2);zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML

M ATLAB  со з аде с рт о е н и я :  со з адн и н и т ь   и   до п о л н и т н фу к ц и я   з ав и си т п а р м е тр а м и ,  к о т р ы н ап р и м ер , уадли т и  з ам ен и т ь   фо р м а л ь н ы д ы   х ,  f  и  g с о вт ес н н о фа й л - п р о г а м ы окн а   с  гр а фи к а м н ы е  яч ей к и  к о м а н д

т   фа й л - н фу к ц и ю  с  в ы едл н и е м   чя е к  дл я   к а ж до г о   ш аг а   по я   гр а фи ч е с к о г о   окн а ,  осе й   и   гр а ф и к о в ,  в ы   м о ж ет е   и зме ь   е кт с т   э о т й   фа й л - н фу к ц и и   п о   с в о ем у   с у м о рт е н и ю .  Ф а й л   о т  тре х   армгу ен от в   xi,  yl  и  у2 ,  явл ю щ и с х я   фо р м а л ь н ы м и е   н е   о п р е дл н ы   в   рабо ч е й   с р ед е zyxwvutsrqponmlkjihgfedcbaZY   Workspace.   М о ж н о , ь   з а го л о в о к ,  п р ев р аит в   фа й л - н фу к ц и ю  в   фа й л - п р о гр а м у , е  п ер м н ы е  xi,  yl  и  у 2  н а  п ер м ен ы е  р а б о ч е й   ср е .  П о с л едо в а етл ь н о е   в ы п о л н ен и е  яче к  п о лчуен н о й   п р о ед м о н с р т и р е у т   вс е   ш аг и   л д я   с о з ад н и я   гр а фи ч е с к о г о и  н ж ну о й   нфу к ц и . В  к ач есвт е   п у р а ж н ен и я  до б а в ь т е   в   нж у ы  дл я  в ы в о д а   з а го л в к о в   к  гр а ф и к а м .

Р аз б и ен и е   фа й л - п р о г а м ы   н а   яч ей к и   и   и х   в ы п о л н ен и е   ад е т   в о з м о ж н о с т ь к о н тр о л я  з а   одх м   работ ы   п р о гр а м ы . Д л я   фай л- нфу к ц и й  п р и м ен ен и е  э то й е нт х о л г и и   с о п р яж ен о   с   о п р е дл н н ы м и   р т нд у о с я т м и ,  п о ск о ль к у   е е   п ер м ен ы е   яв л ю с т я   лок аль н ы м и .  Э т о   о б сот яел ь свт о   п о чд е р к н т у о   в   сп рав о ч н о й   с и ем т е   MATLAB.  Р еда к от р   М - фа й л о в  в к л ю ч а е т   в   с бе я   б о л е е   м ощ н ы й и н с рм т у е н т  —  о лт а дч и к ,  о п и сан и ю  и  дем о н срт а ц и и  в о з м о ж н о сет й   котрог о м ы   ле и д у м   адл е е   в н и м ан и е   п р и   п р о гр а м и р о в а н и и   п р и л о ж ен и й   (ср есдвт а  гаве л  8). ди а л о г в о й   о л т а кд и   р а с м а рт и в а ю ст я   в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK О б р а ит м с котра с в р те д

я   е тп р

ь   к   ще я   п о м о га е т   э ф е к ит в н у   M- Lint дл я  ди а гн о с ит к

а  М - лйо фа

и а г н оД с т и к В   с о ат и   к о р е к нт о с т е су л д

в   с р ед т  в   м ен

е   о нд о

й   п р и в л е к а тл ь н о о  р еа л и з о в ы в а т и  М - фай ло в

й   воз м ож н ост

и   M ATLAB, ь   с о б вт е н н ы е   а л г о р и тм ы   —  к .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO

в

ы   MATLAB  в к лю ч ен о   с р е вд т и   н ап и сан н о г о   к о да .  Д л ю  р е да к то р а   Tools  в ы б р а т

я   э от г ь   пну к

о   M- Lint  лд я   п р о в ер к и   к а ч е с вт о   п о сл е   с о р ха н е н и я   М - фа й л т   Check Code with M- Lint (есл

а и

а

аЧс т ь

238

фа й

л  н е  бы

л  с орха н ен

, т о  э от

with M- Lint).  В о с п о ль з йу етс

л и с ит н г

а   5.9. П о с л

Report с  о тч е о м

 I. Ос но вы

 в  MATLABzyxwvu

 р аб о т ы

т   пну к ь   эи т

е  в ы п о л н ен и ,  п р есдатв л ен н о

т   м не ю   н а з ы в а ес т я zyxwvutsrqponmlkjihgfedcbaZY   Save  and  Check Code м  срсевдто м   лд я  п р о в ер к и   фа й л - н фу к ц и и  и з я  п р о в ер к и   п о я в и ст я   окн о  M- Lint Code Check е   н а  р и с . 5.9.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR

К * M - Lint Code Check Report zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA File  Edit  View  Go  Debug  Desktop  Window  Help zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

M- Lint Code Checker ReportzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC

k\uork 5zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM \зimp1 e Report for file e:\MATLAB7\wo r  e:\MATLAB7\work\uork_5\simple.m 7 messagesiij_ Extra semicolon is unnecessary J3: The value assigned here to variable 'f1'  is never used 13: Terminate line with semicolon to suppress output ;4^_ The value assigned here to variable  ' f 2' is never used |4: Terminate line with semicolon to suppress output 15: The value assigned here to variable 'f3'  is never used !5: Terminate line with semicolon to suppress output

Рис

В   к а ж од Н ом е п е ор д х

. 5.9. О к н

о  M- Lint: Code Check Report с  ди агн о сит ч еск и м

м   п р еу д ж е дн и р  срто к

и   куа з н и  яв ляест

у  к  со втесюу щ е

я  ги п ер с ы л к о й й   с рт о к

ы   н ом е , щ елч о е  в  р е да к то р

и   с о б щ ен и ям

р   с рт о к и   и   в ы яв л ен н ы к   мы ш и  п о  к о т р о е   М - фа й л о в .

и

й   н ео д ч т й   п р и в о ид

. т  к

В   н аш е м   п р и м ер е   в ы яв л ен ы   рт и  ти п а   н е д о с ат к о в .  В о - п ерв ы х ,  в ы в едн о  со о б щ ен и е   о  то м , ч т о  в   п ер в о й   с рт о к е   н е  требсту я   си м в о л   то ч к и   с  з а п я то й . В о - в от р ы х ,  п ер м ен н ы е   fl,  f2,  f3  н и гд е   н е  и сп о ль з юу ст я   (срто к и  3, 4 и  5). В - рь е т и х , п о л ь з о в а етл ю   р е к о м е н с ту д я   с ат в и т ь   от ч к у   с  з а п я то й   лд я  п о адв л ен и я   вы вод а   р е з л у ь ат о в   в ы п о л н ен и я   н а  э к р а н   (срто к и  3, 4 и  5). В   н аш е м с ч л уа е   и ме т   см ы с л   ч есу т ь   и н фо р м а ц и ю   о б  и с п о л ь з о в а н и и   от ч е к   с  з а п я то й . О с ат л ь н а я   д и а г н о с ти к а   н е  в а ж н а ,  т . к . п р и м е р   с  фай л- нфу к ц и е й   simple и л л ю с тр и р о в а л   рд г и у е  в о з м о ж н о с т и   п ак ет а   M ATLAB.

л ав Г

 5. М - й лы фа

Зад ни

239 zyxwvutsrqpo

 

я

лд я  соньлетясма

й  работ

1.  Н а п и ш и т щ и х   н фу к ц и н ы е   ит п фа й л - н фу к ц и ю р и нс у к е

ы

е   и   вы п олн и т е   фа й л - п р о г а м й  с  з а г о л о в к о м ,  п о д и сям ы  л и н и й  и  м а р к е р о в . Д л я  в ы ч и слен и . Д л я   fpiot  и   p lo t  и сп оль зй у т :

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP

у   п о с рт о е н и и  к  о сям

, с ект о й я  з н ач ен и е   вд е   п о д б л а с т

я   гр а фи к о .  И с п о л ь з йу т й  фну к ц и

в   ю с ул е д

е   раз

-

й  с о з да й т и   н а   о нд о

е м

• zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   u (x)  = sin (in (x + 1)) +  cos (in (x  + 1)),  х  G [О ,  2п] ;

J C G T - 09  0  9l• zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI

-  

f(x)  = 

l  +   x



х

g(x)  = x х   , zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   * e [ 0 . 5 , U j; x



2.  Н а п и ш и т Д л я  в ы ч и слен и

е   и  в ы п о л н и т

3.  Н а п и ш и т

е  фай л- нфу к ц и

•   вы ч и сли т •   н ай т и   м ак си м аль н о н о й   м а рт и ц ы

•   п р о с му и р о в а т

2

x ),  

ю  дл у   в ек от р м   о т  сренд ег ь   м су

* e [ 0 , 1] .

е   фа й л - п р о г а м й  фн у к ц и

я  з н ач ен и

•   п о   з адн н о м о кт л н е н и е

•   п е р с ат в и т



у   лд й  с о з адй т

я  р еш ен и

у   о п р е дл и т о   а р и ф м е ит ч е с к о г

у  все

х  э лем н от

е   с р ед

я   п о в е р н х о с ет й :

я  сю луед щ и

х   з адч

ь   н ом е

р   ег о   э л е м н т о  все х  э лем н от

в  в е к то р

е   з н ач ен и

я   п о с рт о е н и е  фай л- нфу к ц и ю

.

:

а   с  н еч нт ы м

а   с  н а и б о л ь ш и в   в е к то р а

м ;

и  и н едк с а м и

и   ди а г о н а л ь н ы

;

х   э л е м н от

в   з адн

-

; ь   п ер в ы

й  сотлб е ь   вс е  в н еди а го н а л ь н ы

ц  к в а др тн о

й   м а рт и ц е  э лем н т

ы  с  е е  ди а го н а л ь ю ы  з а д н н о

; й  м а тр и ц ы

;

240 

аЧс т ь

•   з ам ен и т э л е м н от в

ь   м ак си м аль н ы ;

•   з ам ен и т м ен от

ь   э л ем н в   м а тр и ц ы

•   п о с рт о и т ь   м н ог уль н и (xi9yi),  з а д н н ы м •   от браз и т ь   э л ем н т м аль н ы й   э лем ен т н о г о   э л е м н ат .

й   э л ем н

т   в е к от р

т   м а рт и ц

ы   с   и н е дк с а м

и   в е к от р а м

к   (з ам к н ыту й и   х ун ;

  I. Ос но вы

а   с рн ед и

 в  MATLAB zyxwvu

 р аб о т ы

м   в ес

м   з н ач ен и е

и   1,1  п р о и з в едн и е

м   в се

х   ег о х   э ле

-

;

ы   з адн н ог —  к расн ы

о   в е к от р м   и  в ерн ту

)  с   к о р ди н а т м

а   си н и м ь   з н а ч ен и

и   м ар к ер ам и е   и   н ом е

и   в ер ш и

н zyxwvutsrq

,  а   м акси р   м ак си м аль

-

-

ТС АЧ И ЫВ Н Ч С Л Е И  И МН АРВОИ Г П

Ь  II Я Е

л Га в

а  6

Мд е то

ы и елнс вч ы

й  в  MATLABzyxwvutsrqponmlkjihgfedcb

т   бо ль ш и M ATLAB  о б л а д е раз ли ч н ы е   ч и с л ен н ы е п р и б л и ж ен и е   ат б л и ч н ы н о й   а л ге б р ы ,  о п ти м и з а ц и я н ы х  урав н ен и й , р а б о т а п ер ч н ь   в о з м о ж н о с ет й н о  р еш ен и е  ти п о в ы х   з ад ит ч е с к и е   п р о б л ем ы   ч и с л ен н о г рам к и  н асотящ е й  к н и ги

с И л е о в да н и

м   н або р   м е о т ыд х   нф у к ц и й

м   с п ец и а л ь н ы .  Н аохж едн и

е   корн е ,  и н етгр и р о в а н и е е  си ест

, р еш ен и   с  р а з р еж н н ы м , п р еод сатв ляем ы ч   н а   п р и м ен ен и о   ан али з .

е  фицунк

х   нф у к ц и й й   р уа в н е н и ,  р еш ен и

, р еали з юу щ и й   и   с и е мт е   з ад ч   л и н ей

м   о б ы к н о в ен н ы х  ди ф ер н ц и аль и  м арт и ц а м и  —  в о т  дал ек о   н е  п о лн ы х   MATLAB.  В  эот й   гл а в е   раз обра е  в ы ч и сли етль н ы х   м е от д в .  Т ео р а   р а с м а рт и в а е м ы х   з ад ч   в ы о х яд

х , й т  з а

й

Р еш ен и е  ура в н ен и й ,  н оахж едн и е   м ак си м у а   ил и   ми н и му а   н фу к ц и и  о нд о й и л и   н ес к о л ь к и х   п ер м н ы х   о щ с у е св т л я ю с т я   вы з ов м   с п ец и а л ь н ы х   н уф к ц и й   M ATLAB.  Чи с л о   а р мг у е н от в   э и т х   н фу к ц и й   м ож е т   бы т ь   раз ли ч н ы м , в з ав и си м о ст и   о т  тр еб ум о г о   в и д а   р е з л у ь ат .  Д л я   р а б о т ы   с  н и м и , к а к  п р ав и л о ,  н ео б хид м о   з а п р о гр а м и р о в а т ь   и ем с у л д ю   нф у к ц и ю ,  н а п р и м е р ,  в в и д е   фа й л - н фу к ц и . П р и  эот м   м о ж н о   о б р а щ а ьт с я   к   фа й л - н фу к ц и и  л и б о  п о и м ен и  фа й л а , л и б о  п о  ссы лк е  н а  н е е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE   (с.м  р.азд   "Ф- айл кн ци "фу авыг л  5). Е сл и   и се м л у ад лой , т о   н е  о б яз а етл ь н с т и   в с рт а и в а е м у in lin e ,  и л и  о п р едли т

с Вт р а и в е м ы

я   н фу к ц и

я  з адестя

  д о с та о ч н ь   фа й л - нфу к ц и ю ю   (inline- нфу к ц и ю ) ь   ан о н и м н у ю  фну к ц и ю

ю   н фу к ц и

е  и  аионм ын

В с рт а и в а е м а н и е  к  к о т р о _ ямИ ицкнуф

я   н фу к ц и й  в ы гл яид

я  о п редляст т   ю с лу е д щ и

и  = inline('ф' алумро 9 Зк а

. 130

о   п рост

о   с о ат в л я т

, в о с п о л ь з о в а ш и с

, _ к о с ви оп тс н е м у г р а

й   фо р м у о   о д бу н ь   н фу к ц и е

о   ве

й

.

е  фицнку я   пр м   образ ом

й   и  к о р о тк о о   э от г

. В м ест

и   п ом щ

и

и   н фу к ц и и   in lin e ,  о б р а щ е :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR )

244 

аЧс т ь

к   а р гм у е н от т   в ы р аж ен и

С п и со з а де С ю лу е д щ и н уф к ц и

в   н е  о б яз аетл н е  дл я  в ы ч и слен и

, а   'формлау я  з н ач ен и

  II. Вчиы с лени я

zyxwvut

 и  пр о г ам м и р о вани е

'  явлсет

я  тек с от в

я  фну к ц и

й   с рт о к

й  и

.

й   п ри м е р  дем о н срт и реу т   с о з ад н и е  в  р а б о ч е й   с р ед е   в с рт а и в а е м о й и   fun:zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA A

»  fun = inline('sin(x) -  x. 2.*cos(x)') fun = Inline function: fun(x) = sin(x) -  х. Л 2.*cos(x)

Inline- нфу ц и я   fun  м ож е MATLAB, н а п р и м е р :

т   бы т

ь   и сп о ль з о в ан

а   ка к   лю ба

я   др г у а

я   н уф к ц и

я

> >  у   =   f u n ( 0 . 5 ) У   = 0.2600

Е сл и   н фу к ц и мгу е н ат м ке :

я  з а в и с и и   в е дн н о

т   о т   н ес к о л ь к и й   inline- н фу кц и

х   п ер м ен н ы х и  и  р а с п о л а г ю ст

, т о   вс е   он я   в   а л ф в и нт о

и   яв л ю ст

я   ар м  п о ряд

-

> >  funl = inline('sin(a*x)  -  х. Л 2.*cos(b*x)') funl = Inline  function: funl(a / b / x)  = sin(a*x)  -  x.^2.*cos(b*x)

Дл

я   и з м ен ен и сп и ск

я  п о р ядк е  в ы р а ж е н и я

е  п осл

а  ар мгу ен от , о п р едляю щ ег

в   и х   е услд о  в и

т   п ер ч и с л и т д  фну к ц и

ь   ч ер

з   з а п я ыт

е  в

:

>>  fun2 = inline('sin(a*x)  -  х.^2.*cos(b*x)' , 'х 1 ,  'a', 'b') fun2 = Inline  function: fun2(x, a, b) = sin(a*x)  -  x.^2.*cos(b*x)

Е сл н фу к ц и е

и   в   сп и ск

е   с чл у а й н

о   п ро п щу е я  н е  уадстя

й  в о с п о л ь з о в а ть с

н   о тх

я   б ы   оид

н   и з   а р г м у е н то в

,  т о   inline-

:

>>  fun3  = inline('sin(a*x)  -  х . Л 2.*cos(b*x)', 'х 1 ,  'b') fun3 = Inline  function: fun3(x,b)  = sin(a*x)  -  x.A2.*cos(b*x)

Даж в ед

е   п р и   н али ч и т   к  с о б щ ен и > >  а   =   1 ; > > 

fu n 3( 5, 0)

и   п ер м ен н о ю  о  то м

й  а  в  р а б о ч е й   с р ед , ч т о  армгуен т   а  н е  з а д н

е   вы з о :

в   нфу к ц и

и   fun3  п р и

-

л ав Г

 6. М е т ыо д

 вчиы с лени й   в

 MATLAB 

245zyxwvutsr

??? Error using ==>  inlineeval Л

Error  in inline expression  ==> sin(a*x)  -  x. 2.*cos(b*x) ??? Error using  ==> eval Undefined  function  or variable 'a'. Error  in ==> inline.subsref  at 25 INLINE_OUT_  =  inlineeval(INLINE_INPUTS_/  INLINE_OBJ_.inputExpr, INLINE_OBJ_.expr);zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Э от т   п ри м е р   ед м о н с р т и р е у т ,  ч т о   п р и   в ы ч и слен и и   з н ач ен и я   в с тр а и в а е м о н фу к ц и и   п ер м ен н ы е   рабоч е й   с р ед ы   н е од пс у т н ы .  Вс е   армгу ен т ы   н фу к ц и i n li n e  од л ж н ы   бы т ь   си м воль н ы м и   с тр о к а м и , з ак л ю ч ен н ы м и   в   а п о с тр о ф ы и л и   с рт о к в ы м и   п ер м ен н ы м и . В   п р о ит в н о м   чс л ау е   п о лч у а е с т я   н ео д п с и ту ма я  к о н с ртку ц и я . Р а б о т а   с о  срт о к в ы м и   п ер м ен н ы м и  о п и с ан а  дале е   в  к н и ге ,  а   п р и   чент и и   э от й   г л а в ы   д о с та о ч н о   п р и ед р ж и в а ь т с я   п ростг о   п рав и л а  —  сатв и т ь   а п о с рт о ф ы  в  армгуен ат х   н фу к ц и и   in lin e . л А ь ет р н а ит в н ы н и и  а н о н и м н о _ ямИ ицкнуф

й   сп о с й  фн у к ц и

б   з адн и и  с  п о м щ ь

я   и с е м л у од

й   н фу к ц и а   к у а з ет л

ю  о п е р а то р

и  = @(с_ к о с ви оп т н е м у г р а

) фл у м р о

В   о л ти ч и е   о т   inline- н уф кц и , и  армгуен ыт н о м   в и ед ,  а  н е  к а к  тек сот в ы е   с рт о к н фу к ц и и   о д сп у т н ы   п ер м ен н ы е  р а б о ч е О дн а к о   о н и   яв л ю ст я   к о н с та н та м и эи т х   п ер м н ы х   в   м о ен т   с о з ад н и и з м ен ен и е  и х  з н ач ен и й  н е  бед у т  учи ыт в аьт с

и   со ти я   (@):

й и , -

т   в   о б ъ яв л е

-

а

,  и  формл у а   з ап и сы в аю ст я   в   обы ч и   в   а п о с рт о ф а х .  К р о м е  то г , а н о н и м н о й   с р еы д ,  к о т р ы е   в о х яд т   в   фо р м л у ,  в   к ач есвт е   котры х   б с етр у я   з н ач ен и я   ан о н и м н о й   нф у к ц и ,  и   п о сюлеуд щ е я   п р и  в ы ч и слен и и  фну к ц и :

й . я е

>> а= " 1; »  п и д пид

З  = @(х , b)  (sin(a*x) -  х. А 2.*cos(b*x)) З  = @(х , b) sin(a*x)  -  х. л 2.*cos(b*x)

>> дипЗ(5

, 0)

ans = - 25.9589 »  а  = 1000; » 

дипЗ(5

, 0)

ans = - 25.9589

П о   сп о с б н о   о лт и ч а ест

у   и сп о ль з о в ан и я   ет м

я  а н о н и м н а ,  ч т о   со з адест

я  фн у к ц и я   к у а з ет л

я  н а п о м и н а е ь   н а   нф у к ц и ю

т  inline- нфу к ц и ю , к о т р ы й   с в яз а

, н  с

246 

аЧс т ь

.  Э т о   охр ш и с п о л н яем ы м   кодм вы вод е   и н фо р м а ц и и  о  фн у кц и я > whos gun3 Name  Size  пид

З  

о   в и нд х  с  п о м о щ ь

  II. Вчиы с лени я

zyxwv

 и  пр о г ам м и р о вани е

о   ли б о   в   окн е zyxwvutsrqponmlkjihgfedcba   Workspace,   л и б о   пр и ю   whos:zyxwvutsrqponmlkjihgfedcbaZY Bytes  Class

lxl 

16  function_handle  array

Grand  total  is 1 element  using  16 bytes >>  whos  fun3 Name  fun3

 

Size 

Bytes  Class

l

  lxl 

908  inline  object

Grand  total  is 79 elements  using  908 bytes

И н фо р м а ц и н и мн о н фу к ц и

я   о   в ы ед л н н о й  фну к ц и и  и сп о лн яем ы и  э т о  еид н ы й   о б ъ ек т

й   по

д   н фу к ц и й  к о д  и  указ етл

и   п а м ят

и   п о к аз ы в ает ь   н а  н е е  о детл н ы

,  ч т о   лд я   ан о ,  а  дл я  inline-

.

В ы ш ео п и с а н н ы е   сп о с б ы   з адн и я   и е м с уы л д х   м а ет и ч е с к и х   н фу к ц и й (п о   и м ен и   М - фа й л а , п о   с ы лк е , а н о н и м н а я  фн у кц и я  и л и   inline- нфу кц и я ) до п ис т у м ы   в о   в се х   в ы ч и с л и етл ь н ы х   а л г о р и мт а х   M ATLAB,  о   к о т р ы х   п о й ед т м   и сп о ль з о в ат ь   вс е  э т и  в о з м о ж н о с т и  и р еч ь   в  сюлуед щ и х   р а з де л а х .  М ы  бе д у . П о дч е р к н е м , ч т о  дл я  до с та о ч н о   п р о с ыт х   и с е м л у ды х   н фу к ц и й р я д  дргиу х о д б ну е е   в с ег о   о п р е дл и т ь   с о в т ес ю у щ у ю   inline  и л и   ан о н и м н у ю   н уф к цию .  В   т о   ж е   в р ем я ,  лсе и   н фу кц и я   з адн а   г р о м о з дк и м   в ы р аж ен и ем ,  члуш е в с ег о   н ап и сат ь   с о в т ес ю у щ и й   М - фа й л .  А   в   счлуае ,  к о гд а   н фу к ц и я   вы ч и с л яет я  п о  сло ж н о м у   а л г о р и мт у ,  э т о  о к аз ы в аест я   п рост о   н е о б х ди м ы м .zyxwvutsrq

Р е ш ни

е  руа вне и

Д л я   н оа х ж е д н и лд я   о п р е дл н и

Р е ш ни е Ф ну к ц и котро В   п р о с е тй ш е о н хд ы ф а й л - нф у к ц и б л и ж ен и н ап р и м ер

й я   корн е я  все

 пынловьизр

й   п рои з воль н ы х   корн е

й  п о л и н о м о

х   р ау в н е н и в  п р и м ен яест

х  ура енв и

й

й   ж с л иу

т   н фу к ц и я   ro o t s.

я   f zero,   a

я   f zero  п о з в о л яе т   п р и б л и ж ен н о  в ы ч и с л и т ь   к о р ен ь   р уа в н е н и я   н а  н е м   и н ет р в а л е   и л и  б л и ж ай ш и й  к  з адн н о м у   н ач ль н о м у   п р и б ли ж ен и ю м   вари ан т е   f zero  в ы з ы в аест я   с   вм д у я   в о х нд ы м и   и   о нд и м   вы f м   а р мг у е н о т м   х   =   fzero  ( ' func_name   ,  О)х ,  гд е   func_name  —  ИМ , в ы ч и сляю щ е й   л ев у ю   ч аст ь   руа в н ен и я ,  х О  —  н а ч л ь н о е   п ри е   к   корн ю , х —  н ай едн н о е   п р и б л и ж ен н о е   з н ач ен и е   корн я .  Р еш и ет , н а  о рт ез к е   [- 5,  5]  руав н ен и е : si n x- x  cosx =  0. 

. Я ,

(6.1)

л ав Г

 6. М е т ыо д

 вчиы с лени й

 в  MATLAB

247zyxwvutsrqpon

П ер д  н оажхенд и е м   корн е й  п о лез н о  п о с рт о и т ь   гр а фи к  фну к ц и , вояхдщ е й  в л ев у ю   ч аст ь   руа в н е н и я .  Д л я   п очлуен и я   гр а фи к а   м ож н о   п р и б е гн т у ь   к   p lo t , н о   вс е   р а в н о   п о н а од б и с т я   з а п р о гр а м и р о в а т ь   нф у к ц и ю ,  п о э тм у   и ме т см ы с л   в о с п о л ь з о в а ьт с я   fpiot ,  к о т р а я   к  то м у   ж е   п о з в о л яе т   п о лч у и т ь   бо ле е от ч н ы й   гр а фи к   п о   с р а в н ен и ю   с   p lo t  (н ап и сан и ю   с о б втен н ы х   фа й л н фу к ц и й  п освящ е н zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  р.азд   "Ф- айл укн ци "ф  гавы л  5). В  л и сит н г

е  6.1  п ри вед

н  тек с

т  треб ум о

й  фай л- нфу к ц и

.

 Л и с т и н г  6.1. Ф а йл - ицянку ф ,  в ы ч и с л я ю щ а я  л е в у ю  ч а с т ь  у р а в н е н и я zyxwvutsrqponmlkjihg ; zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

i  '• zyxwvutsr

function у  = myf(x) у  = sin(x) -  х.^2.*cos(x) ;

Т еп р

ь  п о с рт о й т

е  гр афи

к  фн у кц и

и  myf,  и сп оль з у

я   fpiot ,  и  н ан еси т

е  скеут

.

1

»  fpiot('myf , [-5 5]) >> grid on И з   гр а фи к н ес н ы   с р е дв т а м корн я . Оид в   р уа в н е н и

а   нф у к ц и н   к о р ен е  (6.1).

, и з о б р а ж ен н о г о   н а  р и с . 6.1  (п о ясн ен и и   MATLAB),  в и дн о , ч т о   н а   эот м   ортез к ь  р а в е н   н л юу , в   че м   н есло ж н о  убеид ьт ся

и фа Гр

к и ц  фук н

и  myf- пра во

й  чатс

и  уиенавр

я  н а   гр а фи к е   и м ею с т ,  п о сдатв и

е  н а я   ч еы т р е в   х   =  О

я

15

10

V\ 4\1 1

\ \ \ \

/

/ ре н \

/

Ч

к о )е н ь  в

ь  izyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF бл и з и х = - 2 /

1

\

ШИЗ

И  )

у

— _5

ор е н

ь в  бли

\

з ix= 5

- 10

- 5 - 4 - 3 - 2 - 1 0 1 2 3 4  Рис

.  6.1.  Г рафи

к   л ев о

й  ч аст

и  уравн ен и

я   (6.1)

5

248 

аЧс т ь

от У ч н и т е   з н ач ен и f zero:

е   корн я

,  р а с п о л ж ен н о г

  II. Вчиы с лени я

о   в бли з

zyxwvu

 и  пр о г ам м и р о вани е

и zyxwvutsrqponmlkjihgfedcbaZYXWVU   х  =  - 5 ,  п р и   п о м щ и

»  xl  =  fzero('myf',  - 5) Zero  found  in  the  in t erval:  [- 4.7172,  - 5.2]. xl  = - 4.7566 И та к н ог

,  п р и б л и ж ен н о о   п р и б л и ж ен и я  к т .  е .  в б ли з и   з адн н ог ж ащ и й   к о р ен ь .  В  эот о п р е дл н и я   нф у к ц и ч и сли

в  з н ач ен и

е   з н ач ен и е   корн я   равн о   - 4.7566.  П р и   ку а з а н и  к о р н ю  а л го р и т м   f zero  а в от м аит ч ес к и   о ед т л я о   н ач ль н ог о   п р и б л и ж ен и я   н а о х ид с т я   о тр е з о к м   с ч л уа е   f zero  м ож е т   и сп о ль з о в ат ь   боль ш и , че м   и осндх ы й   о рт е з о к   [- 5,  5].  П р о в е р ь т

е  фн у кц и

и  myf  в  то ч к

о   з н ач ен и ю   то ч н о с т   з н ач ен и   фа к ит ч е с к

е   н фу к ц и и  б л и з к о   к  н люу ,  в о б щ е   го в о р я ь   н а й ед н н о г о   корн я .  Г а р н ти р о в а н н а я   о п р е дл я с т я   р а с от я н и е м   д о   е г о   и с ит н н о г и   т о   ж е   сам о е )  к о ли ч есвт о м   в ер н ы

и   н ач ль т   к о р ен ь , ,  соерд й   и н ет р в а л е   о вт е ,  в ы -

е   xlzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP

» myf(xl) ans = 2.6645e- 015 К о н еч н о , то , ч т ч а е т   д о с ат о ч н у п р и б ли ж ен н о г о ч ен и я   и л и   (ч т о ц и фр .

З адн и ю   то ч н о с т и   в ы ч и с л ен и й   п о с в ящ е ин й "   й а он д  г.авы л  Д л я   то г о   чотб ы   в иу е тд е су л д т   с у ат н о в и т ь   фо р м а т   long  и   вы вест м ы х   п а к е от м   M ATLAB  р а с ч еот в   н е   з ав и си та !) .

н  р.азд   "Уине апврл  хм о д о ь   бо ль ш е   з н ач щ и х   циф и   xl  ще е   р а з   (то ч н о с т т   о т   фо р м а т а   вы вод

,  н е  о з н а я   от ч н о с т о   зн а х   з н ач щ и  в-е лисч ы р  к о р н ь   п р о в ид а   р е з л ьу а т

ь х

я   xl, -

»  format long »  xl xl = - 4.75655940570290 В о з н и к ае т   воп рос тьсюон ч   н а й ед н ч и слам и ,  и м ею щ и м ч и сла) .  Э т о   со втес у сел , к о т р у ю   воз вращ ае

,  с к о л ь к о   в   о вт е е   от ч н ы х   з н ач щ и о   р еш ен и е .  Н а   к о м п ь ю етр е   в ы ч и с л ен и и   52  вд о и ч н ы х   р аз р яд а   в   м ан ит с т   о нт о с и ет л ь н о й   п о гр е ш н о с т т   н фу к ц и я  eps, в ы з ы в а ем а я   бе з

»  eps ans = 2.220446049250313е- 01 6

х   ц и фр

,  т .  е .  с   к айо я   п р о и з в о дя ст я  с е   (бе з   ч ует а   п о р я дк а и   п р е сд а т в л е н и я   чи  вохнд ы х   а р г м у е н то в :

л ав Г

 6. М е т ыо д

л Аг о р и т ьс т ч ес к н ит

 вчиы с лени й

249 zyxwvutsrqpo

 в  MATLAB 

м   н фу к ц и и  f zero  п о  ум о л ч ан и ю   н а о х ид т   к о р ен ю   eps,  т . е .  ±  2 в   ш еснт ацд аот м   з н ак е  п о сл е  десяит ч н о и   с  м а к с и м а л ь н о   воз м ожн о й   то ч н о с ть ю .  Ч то б ы   б и е уд ь т с е  фо р м а т  п р есдатв лен и я  дан н ы х   н а  long  e и  в ы в едт

ь  урав н ен и й   от ч к

я   с  то ч н о и  —  п р а к ит я   в  э то м , и з м е е   xi:zyxwvutsrqponmlkjihgfed

»  format long e >> xl xl = - 4.756559405702904e+000 Чи с л о   з н ач щ и х   циф long).  Э т о   сам о е  то ч н о т а   MATLAB.  И з м ен и т в  то ч к е   xl:

р   в уе л и ч и л о с е   п р е сд а т в л е н и е  п о сленд ю

ь   н а   но д у   (п о   ср ав н ен и е   ч и сл а   в  десяит ч н о ю   ц и фр у   4 н а   5 и  в ы ч и сли т

й   фо р м

ю   с   ф о р м а то е  дл е   з н ач ен и

м я   п ак е е  myf

»  xl = - 4.756559405702905e+000; »  myf (xl) ans = - 1.765254609153999e- 014 П оск оль к л еж и корн

у   и с е м л у ад т   и ск ом ы е  в  п ослнед



П р и м е ча н и

и Ч н елс о ю а жр д ве щ т и р е з ло ь а в т у ла е д П р о в ер ь т л я , та м

й   к о р ен й  з н ач щ е

я   н фу к ц и ь   руа в н ен и я

я  см ен и л й  ц и фр е

а   з н ак , т о   мжед у   э ит м и  з н ач ен и ям и .  С л едо в а етл ь н о ,  о ш и б к а   в   н а й едн н о м .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ

е   ^Д е  рше н и

и  тако е   работ , гд е  то ч н о

е  лю об х   (ка к   п рави ло .  Дл я  зачд й  чнеилс ы

й   з ач д

и   е бр у т , толь к

и   н е ж о ди х а й  экпсрие мн т

у   fzero,  в ы ч и с ли е  з н ач ен и е  к о р н

в   к о р ен я  р а в н

т  доп лн иьент ы о   нк ов се о я   к орн . о   н л юу

х   р а с ч о е вт )  п рави льн ост

я  увнра е и

, пдо ь   н ч е п у ол ы

я  в ы  толь к

ь   myf,  р а с п о л ж ен н ы .

х

о   чт о  п ро й   вбли з

-

и   ну -

1 >> х 4 = fzero ('myf , - O.I)

Zero found in the interval:  [0.028, - 0.19051]. x4 = - 1.242386505963434e- 022

Ф ну к ц и я   fzero  едй свт и етл ь н ш е  eps. Н а й ди т

е  с а м о с т яел ь н

о   г а р н ти р е у т о   корн

и  х 2  и  хЗ

,  ч т о   от ч н о с т , р а с п о л ж ен н ы

ь   р еш ен и е  о к о л

я   н е  мне ь о  то ч е

-

к  - 2  и  - 5.

250 

аЧс т ь

В м ес т и н ет р в а л

о   н ач ль н ог , н а  к о т р о

» 

о   п р и б л и ж ен и м   е с лу д

х 2  =   f z e r o ( ' m y f \  

т   н ай т

я   в от р ы и  к о р ен ь

  II. Вчиы с лени я

м   п а р м е рт о :

zyxwvu

 и  пр о г ам м и р о вани е

м   f zero  м о ж н

о   з адт

ь

[- 3  - 1 ]  )

Z e r o  f o u n d  i n  t h e  i n t e r v a l : 

[ - 3 , 

- 1].

x2  = zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA - 1.85392745969615

Н а  гр а н и ц а раз н ы х  з н а к о в В   к а ч е св т ч ес к а

х   ку а з ы в а е м о г

о   и н ет р в а л , и н ач

е   и с е мл у д о я  фну к ц и я

а   н фу к ц и

е  вы всетд й   н фу к ц и р

, н а п р и м е

я  до л ж н е  о б  о ш и б к е

я   с о б щ ен и и   м ож е

т   в ы пс у т а

а   п ри н и м ат ! ь   и  в с рт о ен н а

ь  з н ач ен и

я

я   м ае т и

-

»  fzero('sin', [2 4]) Zero found in the interval: [2,  4]. ans = 3.14159265358979 Д о п с у ит м гл а в е з адт

ы   др г у и .  В о- п ервы х ь   п р и  п о м о щ

е   сп ос б ,  нфу к ц и и  указ етл

ы   вы з ов а   f zero,  о  к о т р ы ю  с  и есмлуод й   м а ет и ч е с к о я   н а  н е :

) ; » х 2  = fzero(@myf,  [- 3  - 1]  х 2 = - 1.8539

В о - в от р ы х

,  в о с п о л ь з о в а ш и с

ь   н фу к ц и е

й   in lin e :

A

»  fun = inline('sin(x) -  x. 2.*cos(x)') fun = Inline function: fun(x) = sin(x) -  x.^2.*cos(x) »  xl = fzero(fun, - 5) xl = - 4.7566 »  fun(xl) ans = 2.6645e- 015 В - рь е т и х

,  со з ад

>>  f u n  =   @( х ) 

в   ан о н и м н у

ю  фну к ц и ю

s i n ( x ) 

-  

x. A2. *c o s( x)

f u n  = @( x) 

s i n ( x ) 

-  

> >  x l  =   f z e r o ( f u n , 

x. A2. *c o s( x) - 5)

:

х   шл

а   р еч ь   р а н е й   н фу к ц и е

е  в  э от й  м о ж н

й о

л ав Г

 6. М е т ыо д

 вчиы с лени й

251 zyxwvutsrqp

 в  MATLAB 

x l  = - 4.7566

О б р ащ ен и п р и б л и ж ен н то ч к е

е   к   f zero  с  дмву о   н ай т и   к о р ен ь

я   в ы о хнд ы м , н о   и   п о лчуи т

и   а р мг у е н ат м

и   п о з в о л яе е   н фу к ц и

ь   з н ач ен и

т   н е   то л ь к и  в   н а й ден н о

о й

.

» 

[х 2 ,  f]  =   fzero(@m yf,  - 2)

х 2  = - 1. 8539 f  = - 2. 2204е - 01 6

В аж н о й   о с б е н н о с ьт н и ,  в   к о т р ы р ен ь  урав н ен и

ю   f zero  явлсет я   то ,  чт о   о н а   в ы ч и сляе т   то л ь к о   т е  к о р х   н фу к ц и я  меzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA т е ян   з ан к ,   а   н е   к а с ет я   ос и   а б с ц и с .  Н а й т и   ко я   х   = О  п р и  п о м щ и  f zero  н е  уасдетя :zyxwvutsrqponmlkjihgfedcbaZY

>> fun=inline('х. Л 2'); >> х  = fzero(fun,  - 0.1) Exiting  fzero: aborting  search  for an interval  containing  a sign change because NaN or Inf function value encountered  during  search (Function value at 1.372960e+154 is Inf) Check function or try again with a different  starting value. x4 = NaN

В  да н н о г о   з н ач ен и щс у е с в т о а н и о п р е дл и т окн о .

м   п р и м ер

е   fzero  п ы атл с ь   н ай т и   myf  и м ею т   раз ли ч н ы е   корн я  н а  эот м   п р о м ежкту ь   н е   ад л у о с ь ,  и   fzero  в ы в ел я   н фу к ц и

,  н а  гр а н и ц а е   з н ак и ,  ч т о   г а р а н ти р о в а л .  Т а к о й   п р о м е ж от у к а   с о б щ ен и е   о б   ош и бк

П р о гр а м и р о в а н и е   с о б втен ы х   п р и л о ж ен и е тл ь н ы х   н фу к ц и й   ртеб у т   п о ч л уе н и я   с е нв д и н о г о   п р о ц ес а   л д я   п е р о хд а   к   с о в т ею у щ е м щ ен и е   к  fzero  с  трем я  в ы охнд ы м и   а р мг у е н ат м

и   п р о м е ж от ук

й   с   и сп о ль з о в ан и е й   о   з а в ер ш ен и у   бло к и

х   котро

о  б ы

,  ест в ен н о е   в   к о м а н дн о

, е

м   в ы ч и сли

-

и   в ы ч и с л и ет л ь у   а л г о р и тм а

.  О б р а

-

»  [xl,  fl,  flag]  =  fzero(fun,  0.1); п о з в о л яе т   вы брат ь   ад л ь н е й ш и е   е дй с в т и я   в  з ав и с и м о с т и   о т   с о ед р ж и м о г р ем н н о й   fla g.  П о л ж и те л ь н о е  з н а ч ен и е   flag  св и едлть св у н о м   з а в ер ш ен и и   в ы ч и с л и ет л ь н о г о   п р о ц ес а .  О тр и ц а те л ь н о е   з н ач ен и р и т   о  то м , ч т о   л и б о   н е  уадлос ь   о ед тл и т ь   и н е тр в а л   с о   с м ен о й  з н а к н а   гр а н и ц а х ,  л и б о   в   п р о ц ес е   в ы ч и с л ен и й   п о чл у и л о с ь   к о м п л ек с н о н и е ,  б ес к о н еч н о сьт ,  и л и   в ы п о л н ен а   о п ер ац и я   с   н е о п р е дл н н ы то м , н а п р и м е р , дел н и е  нл у я   н а  н о л ь .

о   пе т   о б   с п у ше е   го в а  фн у к ц и и е   з н ач е м   р е з л ьу а т -

252zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   аЧс т ь  II. Вчиы с лени я  и  пр о г ам м и р о вани е

zyxwvuts

Ф ну кц и я   fzero,  ат к   ж е   к а к   и   б о л ь ш и н с вт о   в ы ч и с л и ет л ь н ы х   н фу к ц и й MATLAB,  до п сук а е т   пу р ав л ен и е   м н о ги м и   п а р м е тр а м и   з ал о ж ен н ы х   в   не й а л г о р и тм о в .  К р о м е  то г , дл я   к о н тр о л я  в ы п о л н ен и я  а л го р и тм а   и  и з м ен ен и я ег о   п а р м е т р о в   е ус л д т   п о чл у и т ь   и н фо р м а ц и ю   о   о дх е   в ы ч и с л ен и й .  пУ р ав л ен и е  а л го р и тм о м   и  к о н тр о л ь   з а   н и м  тр ебюу т   с п ец и а л ь н ы х   сп ос бо в   вы з о в а   н фу к ц и й  M ATLABzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   (с.м  р.азд   "Уине апврл  хм о д о  виней"лисч ы  дйаон  гавы л и ине пж о илр  1).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

и с лч еы В н

е  все

х  корне

й  пол инм

а

П оли н о

м   в   MATLAB  з адестя

  в е к от р

м   е г о   к о э ф и ц и е н от в

о п р е дл н и

я   п оли н ом

з о в ат

ь   к о м ан д

» 

а   -р х  

, н а п р и м е р

+ 3.2х   - 5.2л :  + 0.5х   +х- 3  

е с лу д

, дл

я

т   и сп о ль

-

у

р   =   [ 1  0  3 . 2  - 5 . 2  0  0 . 5  1  - 3 ] ;

Чи с л и ед н и ц в е к от р е

о   э л е м н от у   боль ш .

Ф ну к ц и котрог

в   в е к то р а е   е г о   се п т н и

я  poiyvai  п р енд аз н ач ен о   а р г м у е н ат :

» 

p o i y v a i ( р , 

,  т .  е .  ч и сл , н левыу а   лд

о   к о э ф и ц и е н от е   к о э ф и ц и ен т я   в ы ч и с л ен и

в  п о л и н о м а ы  до л ж н я   з н ач ен и

,  всегд ы   с о едр ж а ь т с я   п оли н ом

а  н а я  в а   о т  н е -

1)

a n s  = - 2.5000

р м гА у е н п о э л ем н т о м арт и ц

т   м ож е у   ил

т   бы т ь   м а рт и ц е й   ил е   в ы ч и с л ен и е   з н а ч ен и и  в е к то р  то г о   ж е  р а з м е р а

и  в е к то р о м й   п оли н ом , ч т о   и   армгуен т

, в   э от м   счлуа а   и   р е з л у ь ат .

е   п р о и з в о д и ст т   п р е сд а т в л я е

я т

Н а о х ж ед н и е   в се х   к о р н е й   п оли н ом о в   о щ с у е св т л я я   п р и   п ом ощ и   нфу к ц и и ro o t s,  в   к ач есвт е   а р мг у е н т а   котро й   к у а з ы в а ес т я   в е к от р   с  к о э ф и ц и ен атм и п оли н ом а . Ф ну к ц и я  ro o t s  в о з в р а щ а е т   в е к от р   корн е й  п о л и н о м а , в  то м   ч и сл е и  к о м п л ек с н ы х :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA >> г  = roots(р ) г  —- 0.5668 + 2.0698i - 0.5668 -  2.06981 1.2149 0.5898 + 0.6435i 0.5898 -   0.6435i - 0.6305 + 0.5534i - 0.6305 -   0.5534i

л ав Г

 6. М е т ыо д

И з в е с тн о и д е ст то р

 вчиы с лени й

253 zyxwvutsrqpo

 в  MATLAB 

,  ч т о   ч и сл о   в се х   к о р н е й   п оли н ом а   с о в п аде т   с   е г о   с е тп н ь ю .  беУ ь   в   п рав и ль н о ст и   работ ы   ro o t s,  в ы ч и сли в   з н ач ен и е   п оли н ом а   о т   в ек а   ег о  к о р н ей :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

» polyval(p,r) ans = 1.0е- 01 2 * - 0.1008 + 0.0899i - 0.1008 -  0.0899i - 0.0666 0.0027 -  0.0018i 0.0027 + 0.0018i 0.0102 -  0.0053i 0.0102 + 0.0053i

В  венрх е то р ы

й   с рт о к й  се улд

а Н х о де ж н и В ы ч и с л и е тл ь н ы н фу к ц и й ын н фу к ц и е дл н и д о с та о ч н

е  р ез луь ат т  умн о ж и т

а   с о е др ж и с т

я   общ и

ь   к аж уд

й   м н о ж и е тл у  п о члуи в ш его с

ю   к о м п о н ен т

е  эскт ре м ум о

в  фицунк

ь   l .  Oe- 012,  н а  к о я   в е к то р а .zyxwvutsrqponmlkj

й

т   н ай т и   от ч к и   ми н и му а е   н фу к ц и и   MATLAB  п о з в о л яю й   и л и   н ес к о л ь к и х   п ер м н ы х .  Р ез луь ато м   я в л се т я zyxwvutsrqponmlkjihgfe   ь- к о а л   ,ум ин м   т . е .  то ч к а ,  в   о к р еснт о ст и   котро й   з н а ч ен и я   и с е м л у до й и   п р ев ы ш аю т   е е  з н ач ен и е  в   то ч к е   лок аль н ог о   м и н и м уа .  Д л я   оп ре я   от ч е к   лок аль н ог о   м ак си м у а   н е т   с п ец и а л ь н о й   нфу к ц и , п о ск о ль к у о   и ск ат ь   ми н и му м  фн у кц и и  с  о б р а нт ы м  з н а к о м .zyxwvutsrqponmlkjihgfedcbaZYXW и   о нд о

Мин м зац

я  функци

П ои с к   лок аль н ог р ез к е   о щ с у е св т л я f zero. Н а й ди т

о   ми н и му я   пр е  л о к а л ь н ы

и  оонд

й  понемр

а   н фу к ц и и   п ом щ е  м и н и м у

й

и  о нд о й   п ер м ен н о и   fminbnd,  и с п о л ь з о в а н и ы  фн у к ц и и

й  н а   н е к о т р о е   котро

м   от е  с

й   о жс х

2

e* + sin 37U  н а   о рт е з к фа й л - н фу к ц и ю н фу к ц и у кн ц и ф П ер н фу к ц и

е   [- 1.5,1.5].  Т р ебсту , н а з в а в  ее , к  п ри м ер ю   (н ап и с ан и ю   с о б вт е н н ы  " гавы л  5). д   н о а ж х е нд и е и   к о м а н до

(6.2)

я   п р е дв а р и е т л ь н

м   ло к аль н ы х   м и н и м уо й   fpiot.  И з  гр а фи к а

у   ft e st ,  и л х   фа й л - н фу к ц и в   п о с рт о й т , п р и в едн н о г

о   с о з ад т и  ввест

ь   с о в т ес ю у щ у и   inline и л и  ан о н и м н у й   п о с в ящ е н   .аздр е   гр а фи о   н а  р и с

к   и с е м л у до . 6.2,  в и дн о

ю ю  "Ф- айл й , ч т о

  II. Вчиы с лени я  и  пр о г ам м и р о вани е zyxwvuts аЧс т ь 254zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

и е м с лу а д я   н фу к ц и я  и м е т   ч ые т р е   ло к аль н ы х   м и н и м уа .  В ы ч и сли т е   з н ач е н и е  х ,  п р и   к о т р о м   од с и т г а е с т я   в то р й   ло к аль н ы й   ми н и му , з а д в   п ер в ы м а р м гу е н от м   fminbnd  и м я   фай л- нфу к ц и и   и л и   к у а з ет л ь   н а   н е ,   а   в от р ы м  и рт еь и м   —  гр а н и ц ы   о рт е з к а ,  н а   к о т р о м   и щ с ет я   лок аль н ы й   ми н и му м (усатн о в к а  то ч н о с т и   и  до п о л н и етл ь н ы х   п а р м е рт о в   м и н и м и з ац и и  о п и сан а  в .аздр   "Уине апврл  хм о д о  виней"лисч ы йаон д  г)авы л : » 

х 2  =   f m i n b n d ( @f t e s t , . - 0 . 5 , 

0)

х 2  = - 0.1629

- 1.5.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

с иР

Дл ж ащ и

я   чл у ш е г

.  6.2. Рн ежиоплса

о   п о н и м ан и й  вс е  то ч к

е  лньлаыко я  р а б о т

и  л о к а л ь н ы

х  момин у

в  фнцки у

и  (6.2)

ы   fminbnd  з а д й т е   и н ет р в а л   п ои ска , соерд .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO

х   м и н и м уов

»  х х  = fminbnd('ftest', - 1.5, 1.5) х х  = 0.4861

Дл е уд

я   о дн о в р е м н н о г т  в ы з в а т » 

о   в ы ч и с л ен и ь   fminbnd  с  двму

я   з н ач ен и

[ х 2 ,  f]  =   f m i n b n d ( @f t e s t , 

x2  = - 0.1629

я  фн у к ц и :

я   а р гм у е н а т м и - 0 . 5 , 

0)

и  в   то ч к

е   ми н и му

а   сле

-

л ав Г

 6. Метыо д

 вчиы с лени й

 в  MATLAB zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM   255 zyxwvut

f  = 0.0275

Т а к   ж е ,  к а к   и   fzero,  нфу к ц и ным и   а р г м у е н ат м и : » 

[ х 2 ,  f, 

р м гА у е н о ж х е нд и г о   к о л и ч е с вт р а с о х ид м о с т

я   fminbnd  м ож е

f l a g ]  =   f m i n b n d ( @f t e s t , 

т   flag  м ож е и   лок аль н ог а   вы з ов и   в ы ч и с л и ет л ь н о г

т   п ри н и м ат о   м и н и м уа в   и с е мл у до

т   бы т

ь   вы з ван

а   с  трем

я   в ы о хд

-

- 0 . 5 ,  0)  ;

ь   рт ,  н левуо

и   з н ач ен и я й   н фу к ц и

о   п р о ц ес а

е   с а м о с т яе л ь н и  (6.2).

Р е к р су и в н ы п р и в ед

й   а л го р и т м   лд я   п о и с к а   в се х   л о к а л ь н ы х   м и н и м уо в   н а   о рт е з к ав е л  8. н  в  гzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA м   н фу к ц и й   ад л е х  п ер м ен н ы х

М и н м и за ц

и  не оислкь

я   н фу к ц и

и  н еск о ль к и ю   с   м и н и м и з ац и е й   а д п ит в н ы х   с п у еш н о   р еш и т о   п р и б л и ж ен и и  о нд о й   п ер м ен н о х  —  в е к то р м

й   п о   с р а в н ен и х   с ч л ау я я   н ач ль н о г е  фн у к ц и х  п ер м ен н ы

З адй т е   н ач ль н о л а  и  н ай ид т

е  точ к

е   ми н и му

ы   и   м ак си м у

ы е

и   м ож н о   ат к ж е   с   п р и м ен ен и е м   fminsearch,  р а с я   п р е нд а з н а ч е н а  дл я   м и н и м и з ац и и  фн у к ц и и  од .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED

я  фицунк

М и н и м и з ац и ад ч е к ом би н и рован н ы м н о ги куа з н и чс л ау ск о ль к и

» 

,  к о т р а

е   ло к аль н ы

—  п р и   н а и   м ак си м аль н о е  —  в   счлуа е

Н а й ди т н фу к ц и

И ск ат ь   ми н и му с м а рт и в а е м о н о й  и  н еск о ль к и

о   о с ат л ь н ы

: п о л о ж и те л ь н о е е  —  п р и  досит ж ен и и   и   о тр и ц а те л ь н о .

е   п р и б л и ж ен и у   лок аль н ог

х  пе р м е ын х   п ер м н ы

х   я в л се т и   о нд о

я   бо ле е   сло ж н о й   за й   п ер м ен н о й ,  о дн а к о й   а л го р и т м   н фу к ц и и  fminsearch  п о з в о л яе т  в о .  Ф ну к ц и я   fminsearch  рт еб у т ь   эт у   з а дч у я  дл я   и с к о м й  то ч к и   м и н и м уа , к о т р о е  в й  до л ж н о   бы т ь   ч и слом , а  дл я   нфу к ц и и  н е . й   н фу к ц и

е  р а в н о о   м и н и м уа

х 2  =   f m i n s e a r c h ( @f t e s t , 

х

е  - 0.5  в   п р и м ер :

е  п р еыд щу ег

о   р а з де

-

- 0.5)

х 2  = - 0.1629

В ы би ра вс е  то ч к Р а с м о рт и м ер

е  фн у к ц и

я   п о с л е од в а е т л ь н и  м и н и м у о м  теп ер и  дву

о   п о хд я щ и

е   н ач ль н ы

в  и  м ак си м уо ь   м и н и м и з ац и х  п ер м ен н ы

в  фну к ц и ю  фн у к ц и

е   п р и б л и ж ен и я

,  н а й ид т

е

. й  н еск о ль к и

х   п ер м ен н ы

х   н а  п р и

-

х

/ ( х ,  ;y) =  sin7Uc- sin7ry. 

(6.3)

256

аЧс т ь

С н ач л а   п о лч у и т р уо в н я   п р и   п ом ощ ц и и  дву х  п ер м ен ы

е   п р е сд а т в л е н и и   ю с ул е д щ и х   о п и сан

 II. Вчиы с лени я

zyxwvutsrqp

 и  пр о г ам м и р о вани е

е   о   п о в е дн и и   нф у к ц и , п о с тр о и в   е е  л и н и и х   к ом ан д   (о от б р а ж ен и е   ли н и й   руо в н я   н уф к о zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  в  р.азд   "Ке тныуор ик "гафр  гавы л  3):zyxwvutsrqponmlkj

»zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   [X, Y] = meshgrid(0:0.01:2); »  Z = sin(pi*X).*sin(pi*Y); »  [CMatr, h] = contour(X, Y, Z,[- 0.96, - 0.9, - 0.8, - 0.5, - 0.1, 0.1, ..., 0.5, 0.8, 0.9, 0.96]); »  clabel(CMatr,h) »  col  ormap (gray) Н а   п о лч у и в ш е м с ло к аль н ы

я   гр а фи к е х   м и н и м уо

,  п р и в едн н о

м   н а   р и с . 6.3,  в и дн о   р асп о л ж ен и е .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG

в   и  м ак с и м у о в

Лин

и   руо в н

и   sin лх

я  фуиц кн

 sin л у

1 8 Г

  н ы Л ь л оа к

е м и н м му

н ы Л ь л оа к

ы

zyxwvutsrqponm

е м с ак и м у м

ы

с Ри

.  6.3. Рн ежоиплса

и  момин у П ер д   п р и м ен ен и е ч и с л яю щ у ю   з н ач ен и од л ж е н   бы т ь   в е к то р а   в то р о й   —  у.   Т ек с г е   6.2.

е  льнлакоы в  фнцки у

м   fminsearch  н ео б хид м я   и ск ом й   нф у к ц и , п р и ч е , п ервы й  э лем н т  к о т р о г т   р т е б му о й   фа й л - н фу к ц и

х   ом и ус к ам и  (6.3)

в

о   с о з ад т ь   ф а й л - нф у к ц и ю ,  в ы м   а р мг у е н о т м   фа й л - нфу к ц и и о   с о вт ес у т   п ер м ен н о й   х, и   f t e st 2  п р и в ед н   в   л и с ит н -

л ав Г

 6. М е т ыо д

 вчиы с лени й

257 zyxwvutsr

 в  MATLAB 

J...«,.,»,,««.—«,,,,,.„«,.«««  ,.....,  ,,,,,».«.«.,».»«. ; zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л и с т и н г  6.2. Ф а йл - иц кн фу я  f t e s t 2 

jzyxwvutsrqp

fu n c t i o n  f  =   f t e s t 2 ( v) x  =   V( l ) ; У   =  v ( 2 ) ; f  =   s i n ( p i * x ) . * s i n ( p i * y ) ;

Т еп р в о х нд ы м н ие м и н и м уа » 

ь  дл

я  ноажхенд и и   а р мг у е н ат м

я   лок аль н ог и   —  и м ен

м   и  в ы охнд ы

м   а р мг у е н от

о   ми н и му м   фа й л - н фу к ц и м   —  в ек от р

а  в ы з о в и т и   и   н ач ль н ы м   с  к о р ди н а т м

е   fminsearch  с  двму м   п ри бли ж е и   и ск ом й   то ч к

я и

: М

 =   f m i n s e a r c h ( ' f t e s t 2 ' , 

[ 1 . 4 ,  0 . 6 ] )

М  = 1 . 5 0 0 0 

0.5000

Р еш ен и е  н ай едн о  с  то ч н о с ьт ю   Ю - 4, к а к  п о  знач ен и я м zyxwvutsrqponmlkjihgfedcbaZYXW   х   и   у  , та к  и  п о  знач е н и ю   нфу к ц и . Д л я  п очлуен и я   н е  то л ь к о   в е к от р а   с  к о р ди н а т м и   от ч к и  ми н и м уа , н о  и  з н ач ен и я  фн у к ц и и  се улд т  в ы з в а т ь   fminsearch  с  двму я   в ы о хд ным и   а р г м у е н ат м и :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 0.6]) »  [М , f] = fminsearch(@ftest2,  [1.4,  М  = 1.5000 

0.5000

.р - 1.0000

О б р ащ ен и flag » 



п о з в о л яе г о   а л г о р и тм а с м о рт е н н о

е  к  fminsearch  с  треьт и ,  f, 

м   в ы о хнд ы

f l a g ]  =   f m i n s e a r c h ( @f t e s t 2 , 

т  з а п и с а т .  С м ы с й  в  п рыедщ у е

И с е лм у д а я   н фу к ц и п .   В   э о т м   с ч л уа н фу к ц и и  и  н а ч л ь н о В   н аш е фа й л е в е к то р

м   до п о л н и е т л ь н ы

й  з а д ч .  П о с к о л ь к , т о  сюлуед щ и

ь  в  н ег о  и н фо р м а ц и л  ег о  з н ач ен и м   р а з де л я   м ож е е   в о х нд о е  п р и б ли ж ен и

е   н е  о б яз а етл ь н у   в о хн д ы е   к о м ан д

й  то . т   з а в и с ет й   а р мг у е н

о   бы л м   а р мг у е н от ы  п р и в еуд



,  f]  =   f m i n s e a r c h ( f u n , 

м

[ 1 . 4 ,  0 . 6 ] ) ;

ю  о  п р и ч и н т  ж е , ч т

е  о с та н о в о  и  дл я  фн у к ц и

ь   о т  п р о и з в о л ь н о г т   argvect  со втесюу щ е е  до л ж н ы   бы т ь  в е к то р а м о   п р о гр а м и р о в а т м   ан о н и м н о т   к  п ои ск

»  fun  =   @(v)sin (pi*v(l)).*sin (pi*v(2)); » 

м   а р мг у е н о т

[ 1 . 4 ,  0 . 6 ] )

а   в ы ч и с л и ет л ь н о и   fminbnd, рас о   ч и сл

а   п ер м ен н ы

ь   фа й л - н фу к ц и й   н фу к ц и у   м и н и м уа

и   м ож е :

х й   фа й л ы  п .

и  дли н

-

-

ю  в   М т   бы т ь

258  м

аЧс т ь

  II. Вчиы с лени я

zyxwvutsrq

 и  пр о г ам м и р о вани е

= 1 .5000 0.5000 =  . f - 1 .0000zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Пр и м е ча н и

е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Optimization  Toolbox,  окртм ь л ен т ы е   в т с д ре а   м и н и м з ца и п о ль з о в ат ь  дл я  п ои кс а  ми н ми у

инелварпУ

е  ход

Ф ну кц и е тл ь н ы ля   ед м бы т п р е д в а р и ет л ь н ет р о м ен а ных ч е тн и м ож н и сп о ль з о в ан и х а ын д

Э ТОГ

м  винелсчы

м   к   фо р м и р о в а н и и   о нд о й   п ер м ен н о ю   о  р а б о т О   ВЫ ЗОВе

М   ф уН К Ц И

е   а л г о р и тм Ю

а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP   ав г л  16,  ржеиосд т   о п д нл и . Н ап ри м ер ,  fminunc  мжон о  ис и  н ькослие х  пмнер ы х .zyxwvutsrqponmlkj

й

и   fzero,  fminbnd  и х   п а р м е тр о в   лд я   п у р а в л е н и з а   н им . П а р м е тр ы   з а д ю ст   н аз ы в ат ь   opt ion s,  к а к  в ь   п рои з воль н ы м .  П ер о   с фо р м и р о в а т м   рт е б у м о г о   к о н тр о л я я   option s  н а   сам о м   е дл —  д о   ис х   п о р   в ы   и м ел и   р а з де л о в   э от й   г л а в ы о   п рост о   с л е од в а т ь   п р и в е дн ы я   пу р а в л яю щ е  опаинс  в  гаве л   8).

П р и пс у т и н фу к ц и и н фо р м а ц и

у   п щ вя ос н е и  фн укц и й а  фн цку и

  fminsearch  од п сук аю т   о п р е дл н и е   од п о л н и я   в ы ч и с л и етл ь н ы м   п р о ц ес о м   и  к о н тр о я   в   п у р а в л яю щ е й   с р кт у е ,  к о т р у ю   м ы   уб   сп рав о ч н о й   с и ем т е   M ATLAB,  отх я   и м я   м ож е д   вы з ов м   в ы ч и с л и етл ь н ы х   н фу к ц и й   е ус л д ь   п ер м н у ю   option s  в   с о вт ес и и   с  хар к ,  в о с п о л ь з о в а ш и с ь   н фу к ц и е й   optim set.  П ер е   я в л се т я   уткйрс.о   Э т о   н овы й   и т п   ад н и   едл о   то л ь к о   с   ч и сло в ы м и   м ас и в ам и .  П р   м уе н и е   р а б о та ь   с о   с ртк у а м и   н е   р т е б су я м   п рав и ла м   з ап о лн ен и я , п р о с м о тр а й   ср к т у ы   option s  (ртао б   ос   и уткрсам ю   с рк т у ы   option s  н а   п р и м ер е  м и н и м и з ац и й  (6.2)  п р и   п о м щ и   fminbnd.  П о лчу и м   сн ач л а   м и н и м и з ац и и  н а  ег о   п о сленд м   ш а ге .  Д л

  o p t i m s e t  С  О ДН И

М   В Ы ОХ Д Н Ы

М   ар гум ен то

т т и ,  и

и а я

м   o p t i o n s  И

мв д у я   в о х нд ы м и   'D isplay'  и   ' fi n a l 1 ,  а   з ает м   к а жу е м   option s  в   до п о л н и ет л ь н о м   ч е вт р о м   в о х нд о м   а р мгу е н т е   fminbnd.  В сю д у   ад л ь ш е   м ы   е д бу м и сп о ль з о в ат ь   ет р м и н ы   тйв,со  вид  ,я локтнр   п ц ои я   и л и   т е р па м р  (в  дан н о м   с ч л уа е   D isplay)  и   инезач  св о й свт а   и л и   п а р м е тр а   (в   да н н о м   с ч л уа е ' fi n a l ' ) .  сУат н о в и т е   фо р м а т   вы вод а   long,  п о ск о ль к у   н а м   п о н а до б я с т я   вс е з н ач щ и е  ц и фр ы  дл я   а н а л и з а   р е з л у ь ат .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP »  format long »  options = optimset('Display', 'final'); »  x2 = fminbnd(@ftest, - 0.5, 0, options) Optimization terminated successfully:

л ав Г

 6. М е т ыо д

 вчиы с лени й

 в  MATLAB zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ 259zyxwvutsrq

the current  x  satisfies  the  termination  criteria  using  OPTIONS.TolX  of 1.000000e- 004 x2 - 0.1629zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

К ром е   к о р ди н а т ы  то ч к и   лок аль н ог о   ми н и му с п у еш н о м   з а в ер ш ен и и  в ы ч и с л и етл ь н о г о   п р о ц ес му о л ч а н и ю )  н ай едн о   р еш ен и е .  Д л я   и з м ен ен и с фо р м и р о в а т ь   р к ус т у   option s,  куаз в   ще то в .  В   ю уследщ е м   п р и м ер е   м ы   з а де м   н е  то л ь к н ост ь   10~9 п о  армгуен т у   п р и  п о м щ и  п а р м е тр

а  в ы в о ид ст а  и  то ч н о с ти я   от ч н о с т е   он д у   п ар о   оп ц и а   Toix.

я   и н фо р м а ц и я  о б , с  к о т р о й  (п о и   е с ул д т   з ан ов о у   в о нх д ы х   а р м гу е н ю   D isplay,  н о   и   от ч -

1

 'final ,  'TolX', 1.0e- 09); »  options = optimset('Display',zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI >> x2 = fminbnd(@ftest, - 0.5, 0, options) Optimization terminated successfully: the current x satisfies the termination criteria using OPTIONS.TolX of 1.000000e- 009 x2 = - 0.16289942841268 С рав н и т е   п о чл уе н ы й   р е з л у ь ат т   с о   з н ач ен и ем , в ы ч и слен н ы м   fminbnd  с  и с п о л ь з е му о й   п о   му о л ч а н и ю   от ч н о с ьт ю   1(Н .  Р аз л и ч и е   п о лч у е н о   в   ш е ос т м з н ак е   п о сл е  десяит ч н о й   то ч к и , с л едо в аетл ь н о ,  п р и   п ерв о м   в ы ч и с л ен и и   от ч н о ст ь   бы л а   10~5, а   н е   Ю - 4 к а к   в ы в едн о   в   с о б щ ен и .  И н ф о р м а ц и я , в о з в р а щ а ем я  фн у кц и е й  fminbnd,  соедр ж и т   г а р н ти р о в а н н у ю   то ч н о с ть , в  т о   в р ем я ка к  р еа л ь н а я  то ч н о с т ь   м ож е т   бы т ь   боль ш е . н А а л о ги ч н ы м и з ац и

и  фн у к ц и

м   о браз о

В  о бщ е

м  счлуа

м   от ч н о с т

ь   з а д ес т

и  н еск о ль к и

я   пр .

х   п ер м ен ы х

е   в о хн д ы

е   а р мгу е н т

и   корн е

ы   optim set  з адю ст

 f

  див ' ялортнок (...., _ options = optimset 

В  дву х   п р ые д щ у и х   п р и м ер а 1.0е - 09 ,  с о тв е тс в е н н о ви _д кон ротл я  И   з н ач ен и

и   н о а хж е д н и я   п оп арн

, е и н е ч а н з

д  кон рлт

D isplay

я

-

о

, . . .)

х   D isplay  и  Toix  —  в и д ы   к о н тр о л я , а   ' fi n a l '  и —  и х   з н а ч ен и я . В о з м о ж н ы е   с о ч еат н и я   п а р м е тр о в е  п ри в едн ы  В  табл .  6.1.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON и ц Та л б

Ви

й   и  м и н и

З н чеа и ' o ff

'iter'

е

 6.1. Пытер амр

Р ез л ь ау т И н о ф р м ац и ьл ен т о с и тд В ы си вод т о ж д ак ле ь т н о г

  optimset П ир м ч н а е и

т я  о  вы чи лс

м  пцорс е

е  н е  вы во

-

я я   и н о рм ф ц а и м   ш га е  вы чи лс о  п цорсе

я  о а

-

е

аЧс т ь

260

 II. Вчиы с лени я

 6.1zyxwvutsrqponmlkjihgfe   (оаин)екч о zyxwvuts

а ц и а лб Т Ви

д   ол р т он к

Р ез л ь а у т т я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA и ен ч а Зн е и н а е ч м Пи р е ' fi n a l '

D isplay

' n o t ify'

MaxFunEvals

M axlter

TolFun

TolX

Ц ло е

е  чилс

Ц ло е

П о л ж и еь н т о щ н ве т с о чи л с П о л ж и еь н т о щ н ве т с о чи л с

е  чилс

о

В ы с и тв о д о лт ь к ч и сл ь е н т о г

я  и н ормфца и о  о  зршвеа н и

В ы с и вод т н ие с и тд м о лч н а у и ю

я   е ж пд р у д п е р , ел с и  пцорсе я  (ис тпеьлозу )

М ак с и м л ь н о вы з ов н у цк ф и

в  мое у делис и

М ак с и м ал ь н о ирцае т п о цр с е о

е е

я и  вы о  п роц се

а -

с  н е  со х я  п о

-

е  коли вчсте

о

Т о ль к о  дл я fminbnd fminsearch

й е  коли вчсет

о

й  вы чи сльент ог

о

а

Т о ч н о ст о а нс т о в

ь  п о н цкуфи а  вы чинелс

Т о ч н о ст н у цк ф и н ич е л с

ь  п о  амне утрг и  дл я  оанст в й

и  дл

я

е е о

в   н уф к ц и ь   р еш ен и е  имеоуслд о  н есколь к

,  и м ею щ и м   п р е сд а т в л е н и е   в ы ч и с л ен и й , в ы в о ди м ы 1 м   ' i t e r .  П о с л едо в а етл ь н о с т

у а  вы

Т о ль к о  дл я fminbnd fminsearch Т о ль к о  дл я fminbnd fminsearch

й

о

О гр а н и ч и в а т ь   к о л и ч е св т о   вы з ов л с е и   тс е ь   о п а с е н и е , чт о  п очлиу т ч и с л и е ть н о г о   п р о ц ес а .  В   н ек о тры н о сь т , н ап р и м ер , елс и  вы ч и слен и м не и , а  трсетбу я   п оч л иу т ь   от л ь к П о л ь з о в а те л я м с вен д и я   о  ход D isplay,  р а в н о

zyxwvuts

 и  прогам м и р о вани е

-

о   и е тр а ц и й   и ме т   см ы сл й  и  чи сл е   н е  ус атд я   и з - з а   р а о с ж х е нд и я  вы х   ч аяс л у х   п р и о дх с т я   м уен ь ш а т ь  точ й   н уф к ц и и  з ан и м ае т   м н ог о  вре о  п ревы х  з н ач щ и х  ц и ф р  овтае . е   о   ч и с л ен ы е   н а  э к р а ь   к ом ан

н  п р

f(x)  0.873024 

Procedure initial

-

х   м е о т ад х ,  п о лез н ы и  з н ач ен и и   п а р м е тр а д zyxwvutsrqponmlkjihgfedcba

1 »  options = optimset('Display', 'iter , 'TolX', 1.0e- 09); options) »  x2 = fminbnd(@ftest, - 0.5, 0,  п р и в о ид т   к  п оявлен и ю   в   к о м ан д о м   окн е   кром е   р е з л уь а т а   ще е  и  та б л и ц ы т   и н фо р м а к аж д я   с рт о к а   котро й   с о ев т у т   онд о й   и е рт а ц и и   и  соердж и ц и ю  о  то м , к а к о й  р а з  выз ы в ал с ь   и ме а у с л д я   н фу к ц и я , щекут е   п р и б л и ж ен и и  з н ач ен и е  фн у кц и и  о т  н ег о  и  м оетд , п ри м ен яем ы й  н а  адн н о й  и етр ац и .

Func- count  x  1  - 0.309017 

, -

, е

-

л ав Г

 6. М е т ыо д

 вчиы с лени й

 в  MATLAB 

261 zyxwvutsr

2zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA - 0.190983 0.063294 golden - 0.118034 0.117247 3 golden 9

- 0.162899

0.0275217

parabolic

10

- 0.162899

0.0275217

paraboliczyxwvutsrqponmlkjihgfedcbaZYXWVUTS

Ф ну к ц и р ы . Н а п р и м е р

я   optim set  жслиу , елс и  с н ач л

» 

т   ат к ж а   бы л

е   л д я   м о ид ф к а ц и а  з а д н а  то л ь к

o p t i o n s  =   o p t i m s e t ( ' T o l X ' , 

а  в  даль н ей ш е и   п о лч у и т с ат о ч н

м   п о рт е б о в а л о с ь   и н фо р м а ц и о   о б р а ит ь с

и  сщ у ювест щ е

я   к  фн у кц и

-

ь   п о   а р мгу е н т

у

1.0е- 09) ;

ь   д о п о л н и те л ь н ю   о   к а ж од

й   кср у т

о  то ч н о с т о   куа з т

ь   от ч н о с т

м   ш аг е   в ы ч и с л и ет л ь н о г и  optim set  юсулед щ и

ь   п о  фну к ц и о   п р о ц ес а

м   образ ом

и , т о   од

-

:

1 »  options = optimset(options, "TolFun', 1.0e- 07, 'Display , 'iter');

П ри м и т и м ен ам и л ен и

е  в о  в н и м а н и е , к  п р и м ер у

, ч т о   м о ж н о  с о з адт ь   н ес к о л ь к :  o p t io n si  и  option s2,  лд м   а л г о р и тм о м .

я  в ы ч и сли етль н ы

Дл

я   п р о с м о тр а   все х  тещку и х   оп ц и й  м о ж н м а н нд о е   окн о   и л и   о кт р ы т ь   е е   в   р е д а к то р с рт о к е   с   option s  в   ок н е   б р азу е р а   п ер м н ы з н а ч ен и я   о ед т л ь н о г о   п а р м е тр а   п р о и з в о ид с т optimget,  вохнд ы м и   а р мг у е н ат м и   котро з в ан и е  тр еб ум о г о   п а р м е тр а :

о  сркту

р  с  р а з л и ч н ы м

я   раз ли ч н ы

о  вы вест е   м ас и в о

х   в а р и а н то

и в   пу р а в

-

и   р кс у т в   вд о й н ы

у   option s  в  к о м   щ ел ч к о м  п о х   рабоч е й   с р еыд .  П о лчу ен и е я   п р и   п ом ощ и   н фу к ц и и й   яв л ю ст я   и м я   с р кт у ы   и   на -

1

»  err = optimget(options, 'TolX ) err = 1.0000e- 009 Е сл р ут ы

и  дан н о м , т о  в о з в р а щ а ест

Вы зо

в   н фу к ц и

у   п а р м е рт я   п ос т у

у   н е  б ы л о   п р и с в о ен й   м ас и в .

и  optim set  бе з  вонхд ы

о  з н ач ен и

х   а р мг у е н от

е  п р

и  ген ер ац и

и   кср т у

о   м н о ж е с вт х   ск обк а е   п о  ум о л ч а н и ю

х   к уа з

-

в

»  optimset п р и в о ди р а м е тр о н ы  з н а ч ен и я

т   к   о т б р аж ен и ю   в   к о м а н нд о в   в м ес т е   с  и х  до п сиут м ы м , и сп о ль з ему ы е  в  в ы ч и с ли етль н о

м   окн

е   н аз в ан и

и   з н ач ен и ям и

я  всег . В  фи рнгу ы

м   а л г о р и мт

а   па .

  Mathematics:  Function  Functions: ы   MATLABzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ а   п о др о б н а я   и н фо р м а ц и я  о м и н и м и з ац и и   н фу к ц и й   и   р еш ен и и   р уа в н е н и й   и ,  к р о м е   то г ,  п р и в едн ы с ы лк и   н а   л и ет р а у у   с   о п и сан и е м   в ы ч и с л и етл ь н ы х   м е от д в ,  р еа л и з о в а н н ы х   в   MATLAB.  Н е к о т р ы е  до п о л н и етл ь н ы е   воз м ож н ост и   н фу к ц и й   fpiot , f zero,  fminbnd  и  fminsearch  обжсаудю ст я   в   ю с у л ед щ е м   р а з де л .  В  з ак лю ч е н и е   э от г о   р а з де л а   о мт е и м ,  ч т о   б о л ь ш и н с вт о   в ы ч и с л и ет л ь н ы х   нф у к ц и й , в

В   р а з ед л

е   сп рав о ч н о

й   с и ем т

Minimizing Functions  and  Finding  Zeros   р а з м ещ ен

262 

аЧс т ь

 II. Вчиы с лени я

zyxwvutsr

 и  пр о г ам м и р о вани е

от м   ч и с л е   f zero,  fminbnd  и  fminsearch,  н ап и сан ы  н а   яз ы к е  п р о гр а м и р о в а н и я   MATLAB.  О н и   и м ею т   о кт р ы т й   к о д   и   р ас п о л ж ен ы   в   п о дк а т л о г е \ toolbox\ matlab\ funfun  о с н о в н о г о  к а т л о г а   MATLAB.zyxwvutsrqponmlkjihgfedcbaZYXW

е  продбн

л ое Б

М ы  уж е   о тм е ч а л и н ог о   в ы бо р а   ш аг ж аю щ и м   п о в е дн и н о е  в н и м ан и е  те а д п ит в н ы й   вы бо ц и и   и  р а б о та ь   н ес к о л ь к и х   п а р м е тр о в

о  о  fplot zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB ,  ч т о   fplot  чуи ыт в ает   п о в е дн и ,  ч т о   п р и в о ди т   к   гр а фи к а м е   и е с м лу о д й   нфу к ц и . Уелид м   сп ос ба м   вы з ов а   fplot,  к о т р ы р   ш аг ,  п о лчуат ь   в м ес т о   гр а фи к с   м а ет и ч е с к и м и   нф у к ц и я м и .

е  фн у к ц и ,  до с та о ч н м   ет п р е   п о з в о ляю а  та б л и ц , з ав и с ящ и м

и  з а   сч е т   адп ит в о   то ч н о   отбра ь   бо ле е   п р и сатл ь т   н а с рт а и в а т у   з н ач ен и й  фн ук и   о т   о дн о г о   ил

ь и

Д о   ис х   п о р   п р и   и с п о л ь з о в а н и и   fplot  м ы   з а д в а л и   в о   в о х нд ы х   а р мгу е н ат х и м я   фа й л - н фу к ц и и   (указ етл ь   н а   н е ,  i n l i n e  и л и   а н о н и м н у ю   н фу к ц и ю ) , п р елд ы   н ез ав и с и м о й   п ер м ен о й   и   с в о й с вт а   ли н и . С а м ы й   общ и й   сп о с б вы з ов а   fplot  та к о в :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA [X, Y] = fplot(@pfun, limits, tol, n, LineSpec, PI, P2,...) С е лу д з а н о с ят ч ен и л яе то ч н

т   ч у е сь т ,  ч т о   п р и  указ н и я   з н ач ен и я   н ез а в и с и м о я   нф у к ц и , а   са м   гр афи к  н т  п о лчуи т ь   та б л и ц у   з н ач ен и о  в ы п о л н и т ь   plot(X, Y).

и  н ео б яз аетль н ы й   п ер м ен н о й е  в ы в о ид ст я й  фну к ц и

х   в ы о х нд ы , B Y  —  с о вт ес юу щ и .  Т ак и м   образ ом , дл я  в и з аул и з а ц и

х   а р мг у е н от

в  в   х е   зн а ,  fplot  п о з в о и   котро й   од с а т -

Дли н а   сп и ск а   в о х нд ы х   а р мг у е н от в   до л ж н а   бы т ь   боль ш е   и л и   равн а   в дм у , т . е .  нфу к ц и я , в ы ч и с л яю щ а я   з н а ч ен и я   м а ет м а ит ч е с к о й   фн у к ц и й , и  в ек от р  с п р е дл а м и   л д я   п о с рт о е н и я   гр а фи к а   з а д ю ст я   в с е га д .  О мт еи м ,  ч т о   в ек от р lim it s  м о ж е т   с о ед р ж а т ь   к а к   дв а   э л е м е н т а —  п редл ы   п о   ос и   абсц и с , та к и   ч е ты р е —  п р едл ы   п о   ос и   абсц и с с   и   о р ди н а т ,  н а п р и м е р ,  fplot  (@sin, [- 2*pi  2*p i. - 0. 5  0.5]) .  лАго р и т м   fplot  а д п ит в н о   п о дб и р а е т   ш аг ,  и з м ел ь ч а я   ег о   в б л и з и   ч у а с кт о в   б ы с рт о г о   рост а   и л и   буы в а н и я   н фу к ц и и   та к , ч от б ы   о б ес п еч и т ь   о нт о с и ет л ь н у ю   от ч н о с т ь   2# 1(Н .  П р и   н ео б х ди м о с ит , от ч н о с т ь   м ож н о   з адт ь   в  треьт м   в о нх д о м   а р мг у е н т е   t o l  (о н а  до л ж н а   бы т ь м ен ь ш е   е ид н и ц ы ) .  С р а в н и т е   гр а фи к и   ф ну к ц и и   sin(l/ x)  н а   о рт ез к е [0.01  1], п орстен ы

е  с  точ н осьт

ю  2«1(Н п

»  fun = inline('sin(1/x)') »  subplot(2, 1, 1) »  fplot(fun, [0.01 1]) »  subplot(2, 1, 2) 1.0e- 4) »  fplot(fun, [0.01 1], 

о  умолчан и

ю  и  с  то ч н о с ть

ю   КН

.

л ав Г

 6. М е т ыо д

Д р гу о н ог до л ж н

 вчиы с лени й

й   сп ос б   пу р ав л ен и о   ч и сл а   р аз б и ен и о   бы т ь   боль ш

263 zyxwvutsrqpo

 в  MATLAB 

я   а л г о р и мт о й   и с о х нд о г е  л и б о  р а в н

о   о рт е з к о  еид н и ц е

м   fpiot  со ти т   в   з адн и и   м и н и м аль а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK   п   (1  п о   му о л ч а н и ю ) ,  п р и ч е м  п .

П я ыт й   п ар м ет р   LineSpec  п р енд аз н ач е н  дл я   о п р едл н и я  ти п а  л и н и , ц в ет а и   м ар к ер а .  П о ск о ль к у   от ч н о с т ь   t o l  м ож е т   бы т ь   то л ь к о   м ен ь ш е   е ди н и ц ы , м и н и м аль н о е   ч и сл о   р аз б и ен и й   п   боль ш е   е ид н и ц ы ,  a  LineSpec  н е   яв л ест я ч и сло м ,  т о   нфу кц и я   fpiot  од п сук ае т   оид н   и з   ю с лу е д щ и х   вы з ов в   с   рт е м я в о х нд ы м и   а р мг у е н а т м и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA >> fpiot(@pfun, limits, tol) >> fpiot(@pfun, limits, n) >> fpiot(@pfun, limits, LineSpec) и  с ам Р аз б ер н ач и н а ск а

а  в ы б и р а е

т   нжу

м   е тп р я  с  ш еост я   н фу к ц и

ь   н аз н ач ен и й   п оз и ц и я   м ож е

ю   п о с л е од в а е т л ь н о с т

ь   ед й с в т и й е   во н хд ы

и  сп и ск т   з ав и с ет

Pl x

у( х)   = e '   -   р 2  sin x.  Т ребсту п а р   з н ач ен и й се т я вн оси т гр а м и р о в а т ры х ит н

,  м о ж н

:  р х   = 0.1,  р 2- 2\  

.

х   а р г м у е н от в ,  к о т р ы а  п о сл е  LineSpec.  И с лемуда ь   о т   н ес к о л ь к и х   п а р м е тр о в

я   п о с рт о и т р х =0.2, 

ь   гр а фи к р 2- 2.Ъ\  

и  фну к ц и

е   к у а з ы в а ю ст я я   м а ет м а ит ч е ,  н а п р и м е р й  дл

, :

я   юс л уе д щ и

х

/ ^ = 0. 3,  р 2  =  3.7.  Р азмуе

-

о   н ап и сат

ь   тр и   н ф у к ц и и  дл я   в ы ч и слен и я   у ( х ) ,   и л и   к а ж ыд й   ра з ь   и з м ен ен и я   в   он д у   и   т у   ж е   нф у к ц и ю .  Г о р а з д о   э ф е к ит в н е  з а п р о ь   н фу к ц и ю   с   рт е м я   в о х нд ы м и   а р г м у е н ат м и ,  п ер в ы й   и з   кот —  н ез ав и си м а я   п ер м ен н ая , а   о сатл ь н ы е   —  п а р м е тр ы   н фу к ц и и   (ли с г   6.3).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Л ист ин г  6.3. Ф а йл - иц кн фу я  дл я  фицнку ,  за виесщя й  о т  па р м е т ро в   I zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

j

fu n c t i o n  f  =   p fu n ( x,  p i ,  p2) f  =   e xp ( p l *x)  -   p 2 *s i n ( x ) ;

Т еп р ь   п р и   вы з ов е   fpiot  е услд т   куа з т ь   е к тщ у и е   з н ач ен и я   п а р м е тр о в сп и ск е   в о х нд ы х   а р г м у е н от в ,  н а ч и н а я   с   ш е ос т й   п оз и ц и . Д л я   э от г о   н ео б х ди м о   з адт ь   п я т ь   п р ые д щ у и х   а р г м у е н от в ,  п ри ч е м   в   к а ч е с вт е   t o l ,  n  и л т   и с п о л ь з о в а ьт с я   с ау т н о в л е н LineSpec  м о ж н о   в з ят ь   п со ту й   м ас и в  —  удб н ы е   п о   му о л ч а н и ю   з н ач ен и я .  одУв л ет о р и м с я   с ат н д а р нт о й   то ч н о с ть ю м и н и м аль н ы м   ч и сло м   р аз б и ен и й , о п редли м   то л ь к о   ит п   л и н и и  дл я   к аж од п а р ы   п а р м е тр о в : »  fplot(@pfun,  [- 3  3],  [  ],  [  ],  ' - ' ,  0.1,  2); >> hold  on »  fpiot(@pfun,  [- 3  3],  [ ] , [ ] ,  '- - '/   0.2,  2.5); »  fpiot(G pfun,  [- 3  3],  [ ] , [ ] #   ' : ' /   0.3  , 3.7) ;

 в и  и й

264 

аЧс т ь

В оз м ож н ост н е   от л ь к о д п с ук а ю е м  м и н и м и з ац и

ь   работ ы   с  фну к ц и ям и о   в   fpio t .  В с е   обжсаудем ы т   н али ч и е   п а р м е тр о в ю  и  н оахж едн и

е  фицункй х  о т  па р м е т ро

с И л е о в да н и з а ви с щ я

 II. Вчиы с лени я

, з ав и сящ и м е   в   э от .  В  сю уледщ е е   к о р н ей  так и

zyxwvuts

 и  пр о г ам м и р о вани е

и  о т  п а р м е тр о в , р е а л и з о в а н а й   гл а в е   в ы ч и с л и ет л ь н ы е   з адч и м   р а з ед л е   м ы   п р о ед м о н с р т и р у х  фну к ц и й .zyxwvutsrqponmlkjihgfedcbaZYX

, в

Ф ну к ц и и   f zero,  fminbnd  и   fminsearch  п оердж и Ё аю ск и м и   фн у к ц и я м и ,  з ав и сящ и м и   о т   п а р м е тр о в MATLAB  7.0  ну а с л еод в а л а   о т   п р ые д щ у е й   то т   ж fpiot ,  отх я   ег о   о п и сан и е   и с к л ю ч ен о   и з   сп рав о ч н о р а м е тр о в   п о с л е од в а е т л ь н о   з а д ю ст я   в   сп и ск е   в о хнд ы пу р а в л яю щ е й   с р кт у ы   option s.  З ап о л н ен и е   сам о те л ь н о , есл и  п р и  реш ен и и  урав н ен и я   и л и   м и н и м и з ац и н ел О п д р ы х   П О  умо лч ан и ю   З н ча е и й   'D isplay',  'ToiF un 1 ,  'T o ix 1 .  К а к  и  в  счлуа е   с  fpiot  одп сук ает си в а  в м ест о   н е и н е рт ю с у щ е и   н а с  уп р ав ляю щ е й   с ртк у ы

т   работ .  З а м е ти м е   п о дх й   с и е мт ы

у   с   м ает и ч е ,  ч т о   верси я ,  ч т о   оаслт я  в .  З н ач ен и я  п а х   а р гм у е н от в   п о сл е й   с р тк у ы   н е   о б яз а и  фну к ц и и  до с та о ч н о 'MaxFunEvals',  'M axlter', я   ку а з а н и е   п с о ут г о   м ас ,  н а п р и м е р

»  [xl,  fl]  =  fzero(@pfun,  0,  [  ],  0.1,  2) xl  = 0.5570 fl  = 0 н А а л о ги ч н ы нф у к ц и

м   образ о , з ав и сящ е

м   р е ш а ест й  о т   п а р м е тр о в

я   з адч .

а   о   п о и ск

е   лок аль н ог

о   ми н и му

В   в ер с и и  7.0  р ек о м ен студ я   п р и м ен ят ь   п о дх ы ,  о с н о в а н н ы е   н а   и сп о ль з о в ан и и   ан о н и м н ы х   и л и   в л о ж ен н ы х   нфу к ц и й .  В   п ерв о м   с ч л уа е   д о с та о ч н з адт ь   з н ач ен и я   п а р м е тр о в   в   п ер м н ы х   рабо ч е й   с р ед ы   и   о б р а ит ь с нфу к ц и , о п р едл и в  в  к ач есвт е   а р мг у е н т а   ан о н и м н у ю  фну к ц и ю : >>  p i  =   0. 1; > >  р 2  =   2 ; » 

[ x l , 

f l ] 

x l  = 0.5570 f l 

= 0

=   f z e r o ( @( x ) 

e x p ( p l * x ) 

-   p 2 * s i n ( x ) / 

0)

а о я  к

л ав Г

 6. М е т ыо д

 вчиы с лени й   в

265zyxwvutsrqp

 MATLAB 

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

function  [х , у ] = froot(pl, p2, хО [х , у ] = fzero(@pfun, xO); function f = pfun(x) f = exp(pl*x) -  p2*sin(x);

)

end end

Т ер н фу к ц и

ь   в м ес т о   вы з ов и   froot:

» 

[ х ,  у ] 

и   fzero  е услд

а   н фу к ц и

=   f r o o t ( 0 . 1 , 

т   о б р а щ а ьт с

я   к   с о б с вт е н н о

й

2, 0)

х   = 0 . 5 5 7 0zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA У   = 0

Пр сп и со м ож е

и   н е о б х ид м о с т к   в о нх д ы т  в ы б р а т

и   м ож н х   а р мг у е н о т ь   н аи бо ле

о   до б а в и т в   лд я   п е р адч е  п р и ем л ы

н И т е гр и о в а н и л   п о с в ящ е

н   п р и б л и ж ен н о м х   о п р е дл н н ы ь   вы би рат я  в  з ав и с и м о с т

у   в ы ч и с л ен и в   с  з а д н н о ь   н аи бо ле е   п о х дя щ и и  о т  св о й ст в  п о ды н етгр а л ь н о

е  опре дл е ын м  с  п р и м е р

а  н оахж едн и

у   option s  в ь   п ак ет а

й х   и н ет г р а л о

т   воз м ож н ост

ис л ч е ы Вн

ю   р с к ут и   е е   fzero.  П о л ь з о в а те л я  н ег о  в а р и а н т .

й  дл

е  фуцинк

Э от т   р а з ед л о в   и  дв о й н ы е тл ь   и м е и н ет г р и р о в а н и

Н ач н е

ь   пу р а в л яю щ у

х  итнерагл о я   з н ач ен и

я  о п р едл н н о г

ю   о п р е дл н н ы й   то ч н о с ть ю й   м ое т й  фну к ц и

х   и н е тг р а .  П о л ь з о в а д   ч и с л ен н о г

о .

в о   и н те г р а л

а

1 x

JzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC  e~  sin  x'dx.

266 

П ер в ы в ы р аж ен и е

аЧс т ь

м   ш а го

м   я в л ес т , е е  тек с

я   с о з ад н и т   п р и в ед

е   нф у к ц и

  II. Вчиы с лени я

zyxwvutsr

 и  пр о г ам м и р о вани е

, в ы ч и сляю щ е й   п о д ы н ет г р а л ь н о е е   6.5.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP

н  в  ли ст н г

: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л ис т ин г  6.5. Ф а йл - ицянку ф ,  вичсыалщюя я  пнтоыд е гра л ноь е   рв ы а е ж н и

е

fu n c t i o n  f  =   f i n t ( x ) f  =  e x p ( - x ) . * s i n ( x ) ;

Т еп р с ы кл и н те г р и р о в а н и я м ен о й

ь   лд я   в ы ч и с л е н и у   н а  фну к ц и , в  к о т р у

я   и н ет г р а л ю   f in t ,  а  в от р ы .  В   к ач есвт е   в ы о х дн о г ю   е ус л д т  з а п и с а т

а   вы з ови т м   и  тр еьт и

е   quad, з а д м   —  н и ж н и о   а р мг у е н т а   м ож н ь   н а й ед н н о е  з н а ч ен и е

в   п ер в ы м   а р м гу е н о т м й  и  в ернх и й   п рел д ы о   ку а з а т ь   и м я  п ре :zyxwvutsrqponmlkjihgfedc

>> format long »  I  =  [email protected],  - 1,  1) I = - 0.66349146785310 ^ 

Пр и м е ча ни

е  

j |

П ы о д н рег а л т ь н а я   н цку ф и я   м ж ое ка к   inline- н укцф и я   и л и   на о и м н а fminsearch, fminbnd.

т   бы т

П о   му о л ч а н и ю   н фу к ц и я  quad  в ы ч и сляе с   от ч н о с ьт ю   1(Н .  Д л я   и з м ен ен и я   от ч н о с т п о л н и ет л ь н ы й   ч ев т р ы й   а р мгу е н т : »  I = quad(@fint, - I, I, 1.0e- 07)

ь   з ан д я   а т к   же т   п р и б л и ж ен н о и   в ы ч и с л ен и

а   и нм е , ли б о   н ел о п д р а ,  ка к   и   в   ча улс е   fzero, е  з н а ч ен и й   е с ул д

е   и н те г р а л т   з адт

а ь   од -

I = - 0.66349366574399 Р еали з о в ан н ы й   в   quad  р ек уси в н ы фо р м л у е   С и м п сон а   с   а в от м а ит ч е с к и од с и т ж е н и я  тр еб ум о й   о нт о с и ет л ь н о р е з л у ь ат ы ,  м о ж н о   с е лд а т ь   вы вод ад е т   о ж и д а е м о г о   к о л и ч е с вт а   в ер н ы б л ем а   з а к л ю ч а е ст я   в   сп ос б е   о ц ен к м о м   а л г о р и тм е ,  н о  э от т   в о п р о с  и з о хи д т   з а   рам к и   и з лаг ем о г о   м а ет р и а л н е о б х ид м о   п рост о   ч у и ыт в а т ь   ег о ет о р е ит ч е с к и м и   а с п е к ат м и   п р и м ен яем о г тр а с и р о в к а   в ы ч и с л ен и й , к о т р а я в о м   з н ач ен и и   п я от г о   в о х дн о г о   а р мг у е н т л ен и й   п р е сд а т в л е н а   в   в и д е   та б л и ц ы

й   а л го р и т м   осн ова н   н а   к в а д р ту н о м   п о дб р о м   ш аг а   и н те г р и р о в а н и я   лд й   п о г р е ш н о с ит . С р а в н и в а я   п о лч у е н н ы 6 ,  ч т о   о нт о с и етл ь н а я   п о г р е ш н о с ть ю  н х   з н ак о в   п о сл е   ед с я и т ч н о й   то ч к и .  П р о и  п о гр еш н о с т и   в ы ч и с л ен и й   в  п р и м ен яе  о б л ас т и   в ы ч и с л и ет л ь н о й   м а ет м а ит к и  вы .  П р и   и с п о л ь з о в а н и и   с р е дт в   п ак ет   о с б е н н о с ит . Е сл и  п о л ь з о в а те л ь   з н ак о м о  м еотад , т о   ме у   о к аж ест я  п о л ез н о   в ы в о ид с т я   в  к о м а н дн о е  о к н о  п р и   н е л у е  в ы ч и с а   quad.  И н ф о р м а ц и я  о   о хд .  В   к аж од й   е е   с рт о к е   п р и в е дн ы   з н ач е

й я е е а  с й -

л ав Г

 6. М е т оы д

ни е тк щ у е г

 вчиы с ле ни й

я   к о л и ч е с вт

267zyxwvutsrqpo

 в  MATLAB 

а   в ы ч и с л ен и

й   п о ды н е т г р а л ь н о

о   п р о м е ж кт у

а   и н те г р и р о в а н и я

, ег о  дл и н

й   нф у к ц и а  и  з н ач ен и

,  н а ч л ь н а е  и н те гр а л

я   то ч к :

а

»  I = quad(@fint, - 1, 1, 1.0е- 07 , 3) 9 

- 1.0000000000 

5.43160000е- 00 1 

- 0.7696256630

11 

- 1.0000000000 

2.71580000е- 00 1 

- 0.4927577867

13 

- 1.0000000000 

1.35790000е- 00 1 

- 0.2772168074

15 

- 0.8642100000 

1.35790000е- 00 1 

- 0.2155409801

37 39 41

0.4568400000 0.4568400000

5.43160000е- 00 1 

0.1696814429

2.71580000е- 00 1 

0.0830983395

П р о а н а л и з и р йу т от ч н о с т

0.7284200000zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC 0.0865830829 2.71580000е- 00 1  е   к о л и ч е с вт

и  в ы ч и слен и

Ф ну к ц и щ ен и я

о   от ч н ы й  в  quadi  лд я   п р и м ер а

и   quad  и   quadi  м о гу

х   з н ак о

т   в ы в о ди т

в   в   з ав и си м о ст , р а з о б р а н н о г

ь   ю с ул е д щ и

о  в ы ш е

и   о т   з ад в аем о .

й

е   ид а г н о с и т ч е с к и

е   со б

-

:

• 

'M in im um  s t e p  s i z e  r e a c h e d '  — ш а

н ог и ме

о   з н ач ен и я т  н еи н етгр и рему

, н о   рт еб ум а

г   и н тегр и р о в а н и

я   от ч н о с т

я   И ТС О Д

ь   н е   п о чл у е н а

ю   о с б е н н о с ьт

Г   М И Н И М аль

.  В о з м о ж н о

-

, фну к ц и

я

;

•   'Maximum  fun ction  count  exceeded 1  —  од сит гн у г о   к о л и ч е с вт а   в ы ч и с л ен и й   з н а ч ен и й   п о ды н ет г р а л ь н о 10 000).  В о з м о ж н о ,  нфу к ц и я  вед т   с еб я   к а к   н ф у к ц и о с б е н н о с ьт ю ;

т   п р ед

л   м ак си м аль н о

й   н фу к ц и я   с   н е и н ет г р и р е ум о

и   (б о л е

е й

L3  ' I n f i n i t e  o r  N o t - a - N u m b e r  f u n c t i o n  v a l u e  e n c o u n t e r e d '  —П р О И З О Ш

л о   п ер п о л н ен и в а л а  и н те гр и р о в а н и я Н ап р и м ер му

е  п р

,  п р

и  в ы ч и слен и .

и   и н ет г р а н д

и   и н ет г р и р о в а н и

ю   о с б е н н о с ьт

, п о  ортез к

»  fun = inline('х.^- . О ' Э )

и   н фу к ц и

а   в о  в н ртеун н е

й  то ч к

-

е  и н етр

-

и  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML у  = х~ 0'9,  и м ею щ е й   и н ет г р и р е у -

у   [0,1] ;

»  I = quad (fun, 0, 1, le- 7) Warning: Minimum step size reached; singularity possible. > In quad at 88 I = 9.8955

в   к о м а н дн о м ож н ог

о   ш аг

е   окн о   в ы в о ид с т а   и н те г р и р о в а н и я

я   с о б щ ен и ,  п ри ч е

е   о   од с и т ж е н и м   е дл а с т

я   вы во

и   м и н и м аль н д   о   воз м ожн о

о   воз й   ос

-

268 

аЧс т ь

б ен о с т и   п о д ы н те г р а л ь н о в о ж а д се т я   н о м ер о л о  к   п р еуд ж едн и ю

й   нфу к ц и и   фа й л - н фу к ц и

м   с рт о к

  II. Вчиы с лени я

zyxwvut

 и  пр о г ам м и р о вани е

.  Д и а гн о с ит ч ес к о

е   с о б щ ен и и  quad, в ы п о л н ен и

е   соп ро й  п ри в е

е  к о т р о

-

.

О ч е в и нд о ,  ч т о   п о лчуен н ы й   о вт е т   9.8955  н е   со втес у т   з адн н о й   то ч н о ст и  —  о б р а щ ен и е   к  quadi  атк ж е   н е  учлшу и т   с и а уц т и ю .  П р и ч и н а   з ак л ю ч ает с я  в  м еотадх , р еа л и з о в а н н ы х   в  MATLAB  лд я   в ы ч и слен и я   о п р е дл н н ы х  и н те г р а л о в .  Чи с л ен н о е  и н етгр и р о в а н и е  фн у к ц и й  с  о с о б ен н о сятм и   м ож е т   бы т ь о сн о в ан о  н а  к в а др утн ы х   ф о р м л уа х ,  з ул ы   к о т р ы х   н е  яв ляю ст я  гр а н и ц а м и и н ет р в а л ,  и л и   н а   к в ард утн ы х   ф о р м л ау х   с  в есо в й   н фу к ц и е й  дл я   вы елд н и я   о с б е н н о с ит .  Т а к о й   а л го р и т м   в ы   с м о ж ет е   з а п р о гр а м и р о в а т ь   сам о с от я е л ь н о   п осл е   ч ен т и я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   ав ыг л  7,  п о св ящ ен н о й   к о н с рт к у ц и я м   яз ы к а   п ро  8  р а с м о рт ен о   н ап и сан и е   с о б вт е н н ы х гр а м и р о в а н и я   MATLAB.  В   авег л фа й л - н фу к ц и й   лд я   в ы ч и с л е н и я   о п р е дл н н ы х   и н ет г р а л о в   н а   осн ов е   рд г и у х к в а рд у т н ы х   фо р м лу . П осл н о с ть н фу к ц и о с б е н н о с ьт

е   вы вод а   п р еу д ж е дн и я   о   то м ,  ч т о   н фу кц и я   м ож е т   и м ет ь   о с б ен ,  в ы ч и слен и я   п р о д л ж а ю тс я .  П о п р о б йу т е   вы ч и сли т ь   и н ет г р а л   о т и   у  = I/ х   п о   ортез к у   [0,1],  н а   к о т р о м   он а   и ме т   н е и н е т г р и р е му ю .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

^  Пр

Пр и м е ча н и и  и н ргеит ован и

м ы е ур об ч т о т  быромнетсюя щ си х г о  пк тромжеу

и с лч еы В н

е   ^] и  нки далге

й  раз ры в ы   н а   п ы о д н р е в ал т

) и н рвеа т

х   н цку ф и

и   м о н т н о ст

й  (тип я  се у дел я  бы л а   к л га о д й й  та к   ж е  воз м жн и  п ыод н ргаельт о

х  итне рагл о

в

л   и н р г е т о в ан и х   н цку ф и я   н цк у фи

а   н а  ук тчса

е  дынйов

а   |л : ; ил и  июме щ и т  раз би ват .  Вы нчиелс о   пр и  раз би не и

х  и нриге т ь   н а  чтса е   и н р гае л о т и  ин до хс й  фн укц и

В   MATLAB  о п р едл н а   н фу к ц и я   dbiquad  лд я   п р и б л и ж ен н о г е  в ы ч и слен и я   о п р е дл н н ы вд о й н ы х   и н те г р а л о в .  К а к  и  в   счлау е с лу д т   н ап и сат ь   фа й л - н фу к ц и ю   лд я   в ы ч и с л е н и я   п о д ы н те г р а л ь н о г ж ен и я . Н а й ди т е  з н ач ен и е   и н ет г р а л а

и  так

, в -

.

о   в ы ч и с л ен и х   и н те г р а л о в

я , о   вы ра

-

1 71

J J (е х   sin у  + е   х   cos у  I dxdy .zyxwvutsrqponmlkjihgfedcbaZYXWV 0- я

Ф ну к ц и п р и в ед

я   fin t 2  до л ж н н  в  л и сит н г

а   с о ед р ж а т е   6.6.

ь   в д а   в о нх д ы

х   а р мг у е н т

а   х   и   у ,  е е   етк с

т

л ав Г

 6. М е т ыо д

 вчиы с лени й

269 zyxwvutsrqp

 в  MATLAB 

  Л ист ин г  6.6. Ф а йл - ицянку ф ,  ичвысалщюя я  пнтоыд е гра л нуь ю  фицнку ! zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

ю zyxwvutsrqponmlk

function f = fint2(x, у ) f = exp(x).*sin(y).Л 2  + exp(- x).*cos(у). Л 2;



П р и м е ча н и

т с Ве м

о  фй-ал н цкуиф

Ф ну к ц и м о   ч у е сь т в то р ы м

е   ^Д zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC и  мнжо

о  и пс оьлз вта

ь  ан о и мн ы

е  ил и  inline- н цкуфи

.

я   dbiquad  и м е т   п я т ь   в о хн д ы х   а р г м у е н от в ,  п р и   е е  в ы з о в е   н е о б х ид ,  ч т о   п ерв ы м и   з а д ю ст я   п р е дл ы   в н р т уе н н е г о   и н ет г р а л а   п о zyxwvutsrqponmlkjih   х,   а и  —  в н еш н ег о  п о   у: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED

»  dbiquad(@fint2, - pi, pi, 0, 1) ans = 23.0977 Д о п о л н и те л ь н ы м   ш еы с т м   п а р м е тр о м   м ож н о   з адт ь   от ч н о с т ь   в ы ч и с л ен и я и н ет г р а л .  П о ск о ль к у   в   dbiquad  р е а л и з о в а н ы   в дм у е р н ы е   к в а д р ут н ы е ф о р м л уы ,  о с н о в а н н ы е   н а   о нд о м е р н ы х ,  т о   п р и   в ы ч и слен и и   дв о й н о г о   и н ет гр а л а   dbiquad е у З Ь Л ОП СИ т  quad.  ЕСЛ И  сьедм ы м   а р мгу е н от м   куа з т ь   'q u a d l 1 , т о  бед у т  п р и м ен яьт с я  со втесюу щ и й   а л го р и т м »  format long »  dbiquad(@fint2, - pi, pi, 0, 1, 1.0e- 012, 'quadl1) ans = 23.09747871451549 В   сч л ау с о к р а ит

е   г л а кд и ь  в р ем

х   п о ыд н е т г р а л ь н ы я   с ч еа т .

ис л ч е ы Вн В   да н н о ци , з ав и сящ е н и м   п р едл о м

т н И е раг л ы

х   н фу к ц и

е  неот ркы м   р а з де л

х  итне рагл о

е   раз обран й   о т   п а р м е тр о в .

, за висщя

о   н ес к о л ь к ,  и  в ы ч и слен и

т   н а о х ид т и   п а р м е тр о ,  к о т р а

т

в о   п р и м ер о в е   и н ет г р а л

е  о т  па р м е т р

Ф ну к ц и и   quad  и  quadl  п о з в о л яю о т   п а р м е тр о в .  П р и ем ы   п е р адч f zero.  О п и ш е м   т у   в о з м о ж н о с ть п о с лн е д й   в ер с и и   п ак ет .  рмАгу ен атм

е   'qu ad l 1  п о з в о л яе

й   з адн и

:  и н те гр и р о в а н и а   с  п ер м ен н ы

е   н уф к м  верх

-

а ь   з н а ч ен и я   о с ат л с и   нф у к ц и

я  и н те гр а л о в , з ав и сящ и в   т е   ж е ,  ч т о   и   лд я   нфу к ц и ь   н е до к м у е н и т р о в а н н о ,  в ы ч и сляю щ е й   п о ыд н е т

х и й  в -

270 

аЧс т ь

рт а л ь н о е   в ы р аж ен и е н о   и  вс е   п а р м е тр ы чи н а я  с  ш есот г

,  до л ж н .  З н ач ен и

  II. Вчиы с лени я

а   бы т ь   н е   то л ь к о   п ер м ен н а я   п а р м е тр о в   к у а з ы в а ю ст а   quad и л и  quadi.  В ы ч и сли т

о   а р гм у е н т

zyxwvuts

 и  пр о г ам м и р о вани е

я   и н те г р и р о в а н и я , я   ч ер з   з а п яю у т ,  н а е   и н ет г р а л zyxwvutsrqponmlkjihgfedcb

+ р 2  sin  xjdxzyxwvutsrqponmlkjihgfedcbaZYXWVU

- l п р и  з н ач ен и я Н ь ю то н а —Ко те с Т ек с з н а ч ен и

х   п а р м е тр о

в   р х   = 22.5,  р 2  = - 5.9  п о   к в а др утн ы м   вы бор м   ш аг .

а  с  ав от м аит ч ес к и

т   н фу к ц и

и   fparam,  з ав и сящ е е  п о ды н те гр а л ь н о

й   нф у к ц и

г  6.7. Па р м е т р иеч с к

i  Л и с т и н

й   о т   х ет р , п ри вед

и  за дн

  а р г м у е н от в

я  фуиц нк

м   фо р м л ау

м

,  к о т р а я   в ы ч и с л яе т е   6.7.zyxwvutsrqponmlkjihgfedc

н  в  л и сит н г я

fu n c t i o n  z  =   fp a r a m ( x,  P a r l ,  P ar2) z  =   P a r l . *x . / 4 2  +   P a r 2 . *s i n ( x )  ;

Н а й ди т в о ид с т

е  з н а ч ен и я   а н а л о ги ч н о

е  и н етгр а л

а   п р и  п о м щ и   quad, и с п о л ь з о в а н и е  quadi  п р о и з .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

 - I, 1, l.Oe- 05, 1, 22.5, - 5.9) »  q = quad(@fparam,zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA q = . 15.00000005742834 П я ыт й   п а р м е тр , р а в н ы й   е ид н и ц е , п о сатв ле н   лд я   в ы в о д а   в   к о м а н дн о е  о к н та б л и ц ы   с   и н фо р м а ц и е й   о   о дх е   р ек ус и в н о г о   а л г о р и тм а   и н те г р и р о в а н и я Е сл и   н жу о   п о лч у и т ь   то л ь к о   з н ач ен и е   и н ет г р а л ,  т о   п яыт й   п ар м ет р   од л же н   бы т ь   н л е ум .  З а м еьт ,  ч т о   сле и   п р о п суит ь   э от т   п а р м е т р , т о   п о яв и ст с о б щ ен и е   о б   ош и бке ,  т . к .  нфу кц и я   fparam  п р едп о л а г е т   н али ч и е   рте в о х нд ы х   а р г м у е н то в .  И та к ,  п р и   в ы ч и слен и и   и н те г р а л ,  з а в и с ящ ег о   о т   па р а м е тр о в ,  и х   еслуд т   к у а з ы в а ть ,  н а ч и н а я   с   ш е с от г о   а р гм у е н т а   quad  и л quadi. Т ак ж е   лд я   в ы ч и с л е н и и сп о ль з о в ан а  а н о н и м н а »  P arl  =  22.5;

я   и н те г р а л я  фну к ц и я

» 

Р аг

» 

q  =   q u a d ( @( x)  Р а г 1 . * х .

,  з ав и с ящ ег :

о   о т   п а р м е тр о в

,  м ож е

о . я х и

т   бы т

2  =   - 5 . 9 ;

ь

л

2  +   P a r 2 . * s i n ( x ) , 

- 1, 

е   в л о ж ен н у

ю   н фу к ц и

1, 

1.0е- 05 )

q  = 15

В   к а ч е с вт з адч и

е   пу р а ж н ен и .

я   п р и м ен и т

ю   лд

я   р еш ен и

я   э от

й

л ав Г

 6. М е т ыо д

 вчиы с лени й   в

т н Ие р а г л

ы  с  пе р м е ны

И н те г р а нф у к ц и ю

271 zyxwvutsr

 MATLAB 

м  ве инрх

л   с   п ер м ен ы , н а п р и м е

м  пре д л о

м zyxwvutsrqponmlkjihgfedcbaZYXW

м   в е рн х и м   п р е дл о м   п р е сд а т в л я е т   соб й   н ек о т р у ю р zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA у

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED

F (У )  ~ I e Л  ( s*n  x- cosx)dx.zyxwvutsrqponmlkjihgfedcbaZYXWVUT о Дл

дл

я   в ы ч и с л ен и я   п о ды н е т г р а л ь н о л д я   к а ж од г г е  6.8, п ри ч е

я   та к о г о   з н ач ен и м   Fy являсет

I  Л ис т ин

г  6.8. Ф а йл - ицякну ф





f

u



f



n

c



u

о   и н ет г р а л й   нфу к ц и я   у .  Т ек ст я   осн овн о

n



Т еп р з ад гр а л

c

t

i

o



q

u

a

d

t

i

o



e

x

p

(



"' 

а   п р и с е дт , и  Fy —  к о т р а ы   рт е бму ы й  фну к ц и ей

, вичсаылщюя

я   н ап и сат

ь   в д е   нф у к ц и я   н а о х ид т   з н ач ен и х   н фу к ц и й   п р и в е дн , a  fin t  —  п онфду к ц и ей

я  знаеч и

е   и тн е р г а л

-  



l

(

x

)

f

.

*



а  

j

-  



@

:  fin t  — я   и н те г р а л а ы   в   л и с ит н .zyxwvutsrqponmlk

F

y

(

n

t



f

i

n

t

(

s

i

n

(

x



zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

y

i

;

)

0



(



y

x



1

.

0

e

-

0

9

o

s

(

x

)

)

;

)

;

)

-  

ь   м ож н о   в ы ч и сли т в   ег о   в   к а ч е с в т е   а р мг у е н т а   о т  в ернх ег о   п р е дл

c

ь   и н ет г р а а   о щ с у е св т л я

л   п р и   лю бо а   Fy.  П о с рт о ен и я   пр

м   з н а ч ен и е   гр а фи к и  п о м щ

и   в е рн х е г а   з ав и си м о ст и   fpiot

о   п р едл а

, и   и н ет

-

»  fplot(@Fy,  [0,  pi})

ло м иПн Т е кщ у и ет р п о л я ц и г о  дх ву

ы  и  итнеирлпоц я й   р а з ед и   пр -  и  трмех р н ы

л   п о с в ящ е и   п о с рт е н и

н   о п ер ац и я и   п оли н ом а е   та б л и ч н ы

Оп е р а иц

и  с  пол инм а м

м У н о еж н и е

, де л е ни

Н ап ом н и м э ф и ц и е н от з н ач ен и

я м   с   п оли н ом а , н аи члуш и е   да н н ы е .

и   и  р еш ен и м   образ о

ю   з адч

и   ин

м   п ри бли ж аю щ е

и , с л оеж ни

е  и тианч ыв

,  ч т о   п о л и н о м ы   в   MATLAB  п р есдатв ляю ст в   (з адн и е   п оли н ом а , н оахж едн и е   в се й  о п и с а н о  в  р.азд   "Вине лисч ы  вхес  кйенро

е я   в   в и д е   в е к то р а   ко х   ег о   к о р н е й  и   в ы ч и слен и е а" пмион ло  дйаон  г)авы л .

-

272 

аЧс т ь

м У н о ж ен и лд я  в ы ч и слен и

е   вд у

х   п оли н ом о я  п р о и з в едн и

  II. Вчиы с лени я

zyxwvuts

 и  прогам м и р о вани е

в   о щ с у е св т л я я   п р и   п ом ощ и   conv.  Н а п р и м е р , я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB   s(x)  п о л и н о м о в

(р х)   = х 5  + х 3  + 1  и   q(x)  = x2  +2х   + 3zyxwvutsrqponmlkjihgfedcbaZYX

еуделс отнемугра

т т а д з о с

ь  вд а  р о т к е в в  conv:

» 

р   =   [ 1 0  1 0 

» 

q  =   [ 1 2 

» 

s  =   c o n v ( p ,  q )

в  и т а в о з ь л о п с и

а  и х  отнеицфэк

ь  и х  вв т с е ч  а к

е

0  1 ] ;

3];

s  = 1

2

В   р е з л у ь ат от р у   s

4

2

е   п о лч у а е с т

3

1

я   п оли н о

2

3

м   с ье д м о

й   се пт н и

,  с о вт ес юу щ и

й   в ек

-

s(x)  = x7  +2х 6  +4х 5  +2х 4  +3х 3  +х 2  +2х   + 3 . Ф ну к ц и я   deconv  ощсу есвтля с те я  с  дмву я   в ы о х дн ы м

т   е лд н и

е   п оли н ом о и   —  ч аснт ы

и   а р мг у е н ат м

в   с  о с та к о м м   и  о с ат к о

.  О н а   в ы з ы в а м   о т  дел н и я

:

»  [d,  r]  =  deconv(p,  q) d = 1 2 2 2zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   =

т



Р аз м е и з   р аз м ер о



р   в е к от р а

1 0 -

о   к о э фи ц и е н т

ы  о сатк х   е л ди м о

ь   м ак си м аль н ы

ь   н овы

В   л и с ит н г е  6.9  п р и в ед м су ы  п о л и н о м о в

5

, соювстеу щ и

я   и   в ы ч и ат н и я   п оли н ом о е   в р ем я   и сп о ль з о в ан и й   ес п т н и   п р и в ед т  к .  Е сл и   в ы   и з ч уи л   н ап и сан и е  со бсвтен н о т   боль ш ог о т   в е к от р ы  р

2.  С о вт ес юу щ и м ак си м аль н о м 3.  С л о ж и т

0 -

,  соердж ащ ег в  в ек от р в

Д л я   с л о ж ен и ц и .  В   т о   ж н ом о в   раз н о раз н ы х   р аз м ер о в нф у к ц и й , т о н ом о в   н е   п р е сд а т в л я е котры м  с о вт ес юу 1.  В ы б р а т



й  р а з м е м   образ о у   р аз м ер у

.

е  в е к то р ы

. н   е тк с

.

в  в е   з н ак а   ош и бке и   работ й   н фу к ц и   р т ад у  и  q, до с та о ч н

р   и з  дву

,  рав е у   п о ли н о м

н   м ак си м аль н о м у  и  ег о   едли тю

  MATLAB  н е т   с п ец и аль н о й   н уф к   "+ " дл я   н оахж едн и я   м су ы   п о ли , т . к .  н ель з я   с к л а ыд в а т ь   в е к от р у   с   м ас и в ам и   и   с о з ад н и е   фа й л и  дл я   н оахж едн и я   мсу ы   п о ли .  лАго р и т м   с л о ж ен и я   п оли н ом ов о   п рост ,  рт еб уст я : х  в е к то р о в

у . ы ,

.

м   п р ео бр аз о в ат

ь   к а ж ыд

й   и з   в ду

т   фа й л - н фу к ц и

и  poiysum,  н оаяхдщ е

х   в е к то р о

й   з н ач ен и

в  к

е

л ав Г

 6. М е т ыо д

 вчиы с лени й

 в  MATLAB 

273

 Л ис т ин г  6.9. Ф а йл - иц кн фу я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  p o lysum ,  вичсаылщюя я  сму м у  пол инм о в zyxwvutsrqponmlkj \ zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA function s = polysum(p, q) % ви н е л с и ч ы

е  см у

% ни н е д ж о х а

е  не ш ь л о б и а

ы  пв о м н и л о

, зы н а д й  и з  ди л

х  вм а р о т к е

н  вы н д о х

и  ко т н е и ц ф э о

х  во р т к е

в

в

maxlen = max(length(p), length(q)); % си н а д з о

е  в ыньлетагом пс

% ии щ ю е м

х  во р т к е

х  ны в е л у

е  эт н е м л

в  pi и  ql дн и л

ы  maxlen,

ы

pi = zeros(I, maxlen); ql = zeros(1, maxlen); % пи н а в о з а р б о е р

е  иы н д о х с

% рр е м з а

х  во р т к е

в  к  ва р о т к е

м  ог о в к а н и д

о

а  maxlen

pi(maxlen -  length(p) + l:maxlen) = р ; ql(maxlen -  length(q) + limaxlen) = q; % ви н е л с и ч ы

е  ко т н е и ц ф э о

% по м н и л о

в  па м о н и л о

, яс о г е щ ю я л в

я  со м у

й  иы н д о х с

х

в

s = pi + ql;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Т еп ер ь   л д я   н о а хж е д н и polysum.

я   м су

ы   и  р а з н о с т

и   п оли н ом о

в   е су л д

т   и сп оль з оват

ь

»  s  =  polysum(p,  q) 1 0  1 1 »  d  =  polysum (p,  - q) d  1  0  1 -

ис л ч е ы Вн



4

1 -

е  ын дорпивз

2 -

х

Ф ну к ц и я   p io iyd er  п р едн а з н а ч ен о т   п оли н ом а ,  н о   и   о т   п р о и з в едн и poiyder  с   онд и м   а р мг у е н от п р и в о ид т   к  в ы ч и слен и ю   в е к то р » 

р   = 

» 

p i  =   p o i y d e r ( р )

а   лд м   —  в е к то р м а   к о э ф и ц и е н от

[ 1 0 1 0 0 1 ] ;

p i  = 5 



2





0

я   в ы ч и с л ен и я   и   ч а с нт о г

я   п р о и з в о дн о х   п оли н ом ов о   в уд ,  со втесюу щ и в  п р о и з в о дн о

й   н е   то л ь к о .  В ы з о в м   п оли н ом у , й   п оли н ом а :

274 

Дл з о в ат

аЧс т ь

я   в ы ч и с л ен и я   п р о и з в о дн о ь   poiyder  с  двму

 И.   Вчиы с лени я

т   и сп о ль я   п оли н ом о в   е с лу д :zyxwvutsrqponmlkjihgfedcbaZYXWVUT

й   о т   п р о и з в е дн и и   а р г м у е н ат м и

я   в о х нд ы м

zyxwvu

 и  пр о г ам м и р о вани е

»  р  =  [10  1 0  0 1]; »  q =  [12 3]; »  pql = poiyder(p, q) pql = 7 

Е сл др о б и е ус л д

и   н е о б х ди м ,  ч и сли етл т  в ы з в а т

12 

20 



о   н ай т и   п р о и з в о нд у ь   и   з н а м е н а ет л ь   poiyder  с  двму

»  [n,  d]  =  poiyder  (p,  q) n = 3  8  16  4  d = 1  4  10  12  П ер в ы й  ар мгу ен d —  з н а м ен аетл

т   п  р ез луь ат я   п о лч у а ю щ е г о с





ь   котро я   в ы о х нд ы м

ю   о нт о ш е н и я   в ду й   ат к   ж е   я в л ю с т и   а р г м у е н ат м и

9 -

2

2 -

в   в   в и ед ,  т о

2

9 а   с о едр ж и я   о нт о ш е н и

т   к о э ф и ц и ен т

ы  ч и с л и етл я , а   в то р й .zyxwvutsrqponmlkjihgfedcbaZ

я  п о л и н о м о в

е  и  с гл аивж н

тн И е р п о л и в а н

х   п оли н ом о я   п оли н ом ам и :

е

Т абли ч н ы е   да н н ы е   о ч ен ь   ч аст о   о д уб н о   и н те р п р е ти р о в а т нф у к ц и ю ,  в   ч а с нт о с ит ,  п о л и н о м и а л ь н у ю   ил и котра я   н а   о рт е з к а х   о бласт и   о п р е дл н и я   равн с е тп н и .  ед уБ м   раз ли ч ат ь   дв а   к р и е т р и я   п р и б л и ж ен и ваоин,ер лпиотнре  п р и   к о т р о м   а п р о к с и м и р юу щ а та б л и ч н о й   в  уз л ах , и  сиван,е аж г л  о с н о в а н н о к р и те р и я , н а п р и м е р , см у ы   к в а д р то в   о кт л н е н и з адч а   о   п о с рт о е н и и   п о ли н о м и аль н о й   и л и   к суо ч н о ц и и   лд я   п р и б л и ж е н и я   н ек о т р ы х   и д с к р ен т ы х н ы х   н фу к ц и й   M ATLAB  соедр ж и т   н фу к ц и и   лд с ч л уа е  о дн о м ер н ы х ,  ат к   и  м н о г м ер н ы х   ад н н ы х соб в   п р и б л и ж ен и я  та б л и ч н ы х   нф у к ц и й , п р елдаг ем ы п оли н ом и аль н о е   с гл а ж и в а н и е   м ео т д м   н а и м ен ь ш и

ь   к а к   н ек о т р у ю  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP а й н п лс  —  гл акд у ю   нф у к ц и ю , а   п оли н ом а м   о п р е дл н н о й я   та б л и ч н ы х   нф у к ц и й : я   н фу к ц и я   со в п аде т   с е   н а   м и н и м и з ац и и   н ек о т р о г о й   в  уз лах .  И та к , в о з н и к а е т п о ли н о м и аль н о й   н уф к   да н н ы х .  Н а б о р   в ы ч и с л и ет л ь я   р еш ен и я   ат к и х   з адч ,  к а к   в .  Онд и м   и з  п р о сетй ш и х   сп о м   M ATLAB,  явлсет я х   к в а д р а то в .

рП и б л ие ж н

х  квард т о

П с ут фи к с и р о в а н н о м ен о

е  п о  м е т од ь   и с е м л у ад

я   н фу к ц и й   е пс т н

й   п р о и з в о ди с т

у  наим ешиьн

я   да н и   лд я   п р и б л и ж е н и я   п р и   п ом щ

а   в   в и ед

в

  та б л .  6.2.  П о с рт о ен и е   п оли н ом я   та б л и ч н о й   н фу к ц и и   о дн о й   п ер и   p o iyfit .  П ер в ы е   дв а   е е   в о х н д ы е   а р уг

а -

л ав Г

 6. М е т ыо д

м ен т нф у к ц и

а   яв л ю ст

 вчиы с лени й  в

я   в е к от р а м й  —  ртебму о

, а  тр еит

275zyxwvutsrqponm

 MATLAB

и   с о   з н а ч ен и ям й   е пс т н ь

и   абсц и с ю   п оли н ом а и ц Та л б

П ри бли з ь т гр а фи к да й т

с   и   о р ди н а т   та б л и ч н о й .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR  6.2. Ф,укн ция

 заня д

 тицйе лаб

0.1

0.2

0.4

0.5

0.6

0.8

1.2

- 3.5

- 4.8

- 2.1

0.2

0.9

2.3

3.7

е   е е   п оли н ом а

и   ч е вт р о й й   а х р к ет р   п р и б л и ж ен и й у   LSin terp, тек с

, о рт а ж ю щ и е  фай л - п р о г ам

,  п оят

й   и   ш оес т . Д л я   реш ен и й   п р и в ед

т   котро

й   еп с т н

и   и   в ы в е ид т е й   з адч и   со з е   6.10.zyxwvutsrqponm

я  эот н   в  л и сит н г

! zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л и с т и н г  6.10. Прибле жни е  пол инм а м и  м е тод м  на им е шиьн х   в а рк д т о

% зи н е л о п а

е  мо в и с а

в  дл

я  то н ч и л б а

й  фи ц к н у

в  

; zyxwvutsrq

и

х  =  [0.1 0.2 0.4 0.5 0.6 0.8 1.2]; у  -   [- 3.5  - 4.8 - 2.1 0.2 0.9 2.3 3.7]; % во в ы

д  гк и ф а р

а  то н ч и л б а

plot(х , у , 'к' о % ви н е л с и ч ы

й  фи ц к н у

е  ко т н е и ц ф э о

% пи щ ю а ж и л б и р

и  мм а р е к р а

и

) в  по м н и л о

х  ту н ч и л б а

в  ры н з а

х  сй е н п е т

,

ю  фи ц к н у

ю  п о  мд о т е

р 4 = polyfit(х , у , 4); % ни н е д ж о х а

е  ко т н е и ц ф э о

в  пм о н и л о

а  4- о й  сн е п т

р 5 = polyfit(х , у , 5); % ни н е д ж о х а

е  ко т н е и ц ф э о

в  пм о н и л о

а  5- о й  сн е п т

р б  = polyfit(х , у , б ) ; % ни н е д ж о х а

е  ко т н е и ц ф э о

в  пм о н и л о

а  б- о

% ко т а р д а в

у  ни ш ь н е м и а

х

в

% пи н е о р т с о

е  го к и ф а р

в  по м н и л о

и и

й  сн е п т

и

в

t = 0.1:0.01:1.2; Р 4  =   p o l y v a l ( p 4 , 

t);

Р 5  =   p o l y v a K p S ,  t )  ; Р б   =   p o l y v a l ( p 6 ,  t )  ; h o l d  o n p l o t ( t ,  P 4 , 

' k - \ 

legend('ты н ч и л б а title('Пи н е ж и л б и р

В   р е з л уь ат б р а ж ен н ы о хр ш и й 10  Зак

t ,  P 5 ,  ' k : \  

е  д' еын а е  то н ч и л б а

е   в ы п о л н ен и й   н а   ри с   р е з л у ь ат . 130

t ,  P 6 ,  ' k - .  ' )

f ,  ' n = 4 ' ,  ' n = 5 ,  'n=6',0)

й  фи ц к н у

и  пм а о н и л о

я   фа й л - н фу к ц и . 6.4.  П р и б л и ж ен и т   н е  в сеагд , бо ле

е   м ео т д е   то г о

и  сн е п т

и   LSin terp  п о члуаестя м   н а и м ен ь ш и , п р и  увели ч ен и

и  n f )

  гр а фи к

,  и з о в   ад е

х   к в а д р от и   еп с т н

и   воз м ожн

о

т

аЧс т ь

276 е   п р и б ли ж ен и я е   п оли н о м   ш ео с т й я   котрог о   со в п адю е  та к о е   п р и б л и ж ен и й   р ег с и и   пр и и   та б л и ч н о   з адн н о о   п е р о хд а   о т  о дн о г

ш д у не х и ч с ла у з н а ч ен и м не м и аль н о ро в ан и п лав н о г

и н е ж и лб р П

 II. Вчиы с лени я

zyxwvuts

 и  пр о г ам м и р о вани е

,  к а к   п р о и сохид т ,  н а п р и м ер ,  п р и   п   =   б .  В   н аш е м   еп с т н и   яв л с ет я   и н ет р п о л я ц и о н н ы м   п оли н ом ом , т   с о   з н а ч ен и ям и   та б л и ч н о й   фн у к ц и .  Те м   н е е   и с п о л ь з ес т уя ,  н а п р и м ер , дл я   п о с рт о ен и я   п о ли н о   м о ед л и р о в а н и и   ад н н ы х .  О б ы ч н о ,  п р и   и н етр п о ли й   н фу к ц и и   п р и м ен яю ст я   сп лай н ы   л д я   п о ч л уе н и я .zyxwvutsrqponmlkjihgfedcbaZYXWVUTS о   з н а ч ен и я  к  дргоум

е о н ч и бл а т

й иц кн фу

и  пмони ла

и  снеп т

и  п

30 25

/

20

t 9 t t

15 / i

10

\ i i i i

#

\ i i i i i 1

t 1

/

50 Г О

Рис

е  дына

е

n=4 n=5

-5 10 0 

ы н ч и бл а т

0.2  

. 6.4.  П р и бли ж ен и

1 0.6

0.4 

е  п о л и н о м а

и  п о  модте

0.8

у   н а и м ен ь ш и

1.2 

1

х  к в а др то

1 4

в   (poiyfit)

П ри бли ж ен и е   та б л и ч н ы х   ф ну к ц и й   п о   м е от д у   н аи м ен ь ш и х   к в а др а то в   яв л я е тс я   п р о с те й ш е й   з адч е й   п о дб о р а   п а р а м е тр о в .  Б о л е е   де та л ь н о   э то т к лас с   з ад ч   раз обра н   в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB   ав ег л   19,  п о с в я щ е н н о й   оп и сан и ю   Curve  Fitting Toolbox.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

я  спл а йн м

т н И е и р п ол ц я С ам ы сп лай н о н л юу ) равн ы

м   п р о с ыт м   н л уе в о г ,  п р и   к о т р о м   б л и ж а й ш ем

м   сп о с бо о   п о р я дк й   з н ач ен и у   з н ач ен и ю

и м   и н ет р п о л я ц и а   (н а   к аж од е   в   к а ж од , з а д н н о м

и   я в л се т я   ап ро к си м ац и м   ч уа ск т е   е пс т н ь   п оли н ом й   п р о м е ж от у ч н о й   то ч к е   п р и н и м а е ст у   в   та б л и ц е .  В  р ез луь ат

я   ад н н ы а   равн

х а я

е   да н н ы

е

л ав Г

 6. М е т ыо д

п р и б л и ж а ю ст ц и й е я л п от р е неи ю ст п о чл у е н и и кс м п о ль з о в ан и от ч е к ли рован и я

и   с о н ед и я   лом ан о  си.айнм пл ,  в

 вчиы с лени й

277zyxwvutsrqpo

 в  MATLAB 

я   пс у т е н ч а о т  по  синм дес о х   от ч е к   о рт е з к а м й   ли н и е й   я   бо ле е   г л а кд о й  Вс е   э т и я   котро й   е су л д   котры х   в ы ч и с л яю ст :

й   н фу к ц и е й  т.к чамо (сп лай   н фу к ц и   сп о с б

•   ' n e a r e st '  —  п р и б ли ж ен и •   ' l i n e a r '  —  ли н ей н а сп ос б  и н те р п о л и р о в а н и

, а  Лийеаня и   п рям ы х н   п ер в о г о и  се улд ы   р еали з о в ан т   з адт ь   к о р ди н а т я   з н а ч ен и я

  сам

е  п о  сонсед и

м  э лем н атм

я   и н ет р п о л я ц и

•   ' pch ip   —  и н етр п о л яц и

и  с п л а й н а м и

я  кбиу ч еск и м

х   от ч к а х х   сп ос бо

I  НИ ТСЛ ќ 

% зи н е л о п а

е  мо в и с а

и  с п л а й н а м и я   сп лай н т   е фдк н   с о р ха н я е

н   и ме й   сп лай

м   i n t e r p i  явлсет .  Т ек с т   фа й л - п р о г а м в   и н ет р п о л и р о в а н и

Г  6 . 1 1 .  Ф а Й Л - п р о г р а м м

,  сел

я   в е к от

.

а  м ож е т   бы т ь   раз ры в т   вда )  в   о лт и ч и т   ч у а ск т и   м он отн

я  то н ч и л б а

я  п ри вед

й  фи ц к н у

и

у  =  [- 3.5  - 4.8 - 2.1 0.2 0.9 2.3 3.7]; % во в ы

д  гк и ф а р

а  то н ч и л б а

% зи н а д

е  пы н ч о т у ж е м о р

й  фи ц к н у х  те ч о

е  со т а ч н е п у т

и

)

xi = [х(1):0.01:х(length(x))] % ви н е л с и ч ы

и  мм а р е к р а к  дл

я и и наворилопретн

я

;

й  фи ц к н у

и  в  пы н ч о т у ж е м о р

х  та к ч о

х

ynear = interpi(х , у , xi,  'nearest'); % ви н е л с и ч ы

е  к- о н ч о с уо н й е н и л

й  фи ц к н у

и  в  пы н ч о т у ж е м о р

l у in e = interpi(x, у , xi,  'linear'); % мнжо % ви н е л с и ч ы

е  кг о к с е ч и б у

о  сн й а л п

а  в  пы н ч о т у ж е м о р

yspline = interpi(x, у , xi,  'spline'); hold on

-

; zyxwvutsr ;

х  =  [0.1 0.2 0.4 0.5 0.6 0.8 1.2];

plot(x, у , 'к' о

е   о т

р   з н а ч ен и й   и н ет р п о л я н т а  в ы   in terpidem  лд я   ср ав н ен и я н  в  ли сит н г е  6.11.zyxwvutsrqponmlkjihgfed

а   i n t e r p i d e m 

в  дл

и

;

и  э р м и от в ы м

П р и   и сп о ль з о в ан и и  pchip  в то р а я   п р о и з в о нд а н а   (в   э от м   чслау е   го в о р ят ,  ч т о   сп лай sp lin e.  О дн а к о   кб и у ч е с к и й   э р м и от в ы н о ст и  и осндх ы х   ад н н ы х . м   а р мг у е н о т

я   п о   му о л ч а н и ю

;

я  кбиу ч еск и м

f

;

я   (п ри м ен ясет я  н е  з а д н )

•   ' sp li n e '  —  и н етр п о ляц и

В ы о н хд ы п р о м е ж о т уч н ы раз ли ч н ы

о   п р и б л и ж ен и е   н а з ы в а е ст я zyxwvutsrqponmlk   и -н  иция лпотнре  о с н о в а н а  н а  соиед —  та б л и ч н ы е   ад н н ы е   п ри бли ж а   п о р я дк а   е дф к т а   е ди н и ц а ) .  Д л я т   п р и м ен ят ь  ицию я лпотнре  -екичуб ы   в   н фу к ц и и   i n t e r p i ,  лд я   и с ы   абсц и с с   п р о м е ж от у ч н ы х   и н ет р п о л я н ат ,  и   сп о с б   и н ет р п о -

х  та к ч о о  н е  ут а в ы з а к х  та к ч о

х

х

ь   'linear'

аЧс т ь

278

  II. Вчиы с лени я

 и  пр о г ам м и р о вани е

zyxwvut

%zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  пи н е о р т с о е  го к и ф а р в  ио т н я л о п р е т н в 1

plot(xi, ynear,  'k , xi, yline,  'k:', xi, yspline,  'k- .') title('Ры н ч и л з а

е  сб о с б п

ы  ии ц я л о п р е т н

и  ф' йицкну

)

xlabeK '\itx' ) ylabeK '\ity') legend('та н ч и л б а

я  ф' яицкну

,  'п о  си н д е с о 1

'ла н й е н и

1

м  эа т н е м л

я   (linear) , 'ки к с е ч и б у

м   (nearest) , ... 1

ы   (spline) ,4)zyxwvutsrqponmlkjihgfedc

е  сн й а л п

В ы п о л н ен и е   in terpidem  п р и в о ид т   к  п о яв лен и ю  г р а ф и к а , и з о б р а ж ен н о г о  н а р и с . 6.5,  к о т р ы й   н а г л я нд о   ед м о н с р т и р е у т   сп ос б ы   и н те р п о л я ц и . Д о б а в ь т е   с а м о с т яел ь н о   гр а фи к   к б уи ч е с к о г о   э р м и то в а   сп лай н а , ука з а в   'p ch ip 1  в к а ч е св т е   ч е вт р от г о  а р мгу ен т а  фн у кц и и   i n t e r p i .zyxwvutsrqponmlkjihgfedcbaZYXWVU

ы н чи л з а Р

е  сопс б

ы иц я лоп ире тн

и  иц к н фу

й

 УМ . zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA у

3

 

t

2 1 ^ 0 -1 г

-2 О а н чи б л а т я иц к фун я >3 п о  с осинде м  эа метлн м   (nearest) а нй е и л я  (linear) - 4 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA • 



• • •• '

б еис у ч к



0.2 

0.4  0.6

.  6.5. Ризнлчаы

MATLAB  п о з в о л яе вд м у е р н ы е   и  м н о г м ер н ы

т н И е р п ои л ц я И н те р п о л я ц и р ем н н ы х

е  сбосп

ы  аипцскмаор

е  да н н ы е

.

т   и н те р п о л и р о в а т

я   вд м у е р н ы ,  п р и б л и ж аю щ е



• 



' • 

1  . 

х  и  м онмг е рын х   ад н н ы й   з адн н ы





1.2  • 

• • •.  

••

 

и  фнцки у ь   н е   то л ь к

я  дмув е ырн

ы  (spline)

0.8  > С  

с иР

е  снй а лп

е   в   от ч к а

 

• 

• 

.





-



1.4 ;

.













.:  :

=

zyxwvutsrqponmlkjihgfed

й  (interpi)

о   о дн о м е р н ы е

х  дыан

х   с в яз а н

:

,  н о   атк ж

е

х

а   с   п о с рт е н и е м   н фу к ц и и  дву х   пе х   (х / :, zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR   yt)  з н ач ен и я   zt.  Д л я   и н -

л ав Г

 6. М е т ыо д

 вчиы с лени й

я   в мд у е р н ы й   meshgrid  и  в о с п о л ь з о в аьт с в   и н те р п о л и р о в а н и я

те р п о л и р о в а н и к о м а н до сп ос бо м ен ат

279 zyxwvutsrqp

 в  MATLAB 

х   ад н н ы

х   е у слд т   з адт ь   п р о м е ж от уч н ы я   in t erp 2,  к о т р а я   р еал и з еу и   о т   з н а ч ен и я   п о с л ен д е г

, в   з ав и си м о ст

е   з ул т   о ид

ы н  и з

о   а р гу

-

:

•   •  n e a r e st '  —  и н етр п о л яц и

я  п о  соснед и

1

•   ' b i l i n e a r   и л и   ' l i n e a r '  —  би ли н ей н а му о л ч а н и ю , елс и  сп о с б  и н етр п о л и р о в а н и •   ' bic u bic '  и л

м  э л ем н атм

;

я  и н етр п о л яц и я  н е  з а д н )

;

и   'cubic'—и н т е р п о л я ц и

я  би кбиу ч еск и м

я  кбиу ч ески м

и  с п л а й н а м и

•   ' sp l i n e ' —  и н етр п о ляц и

я  (п ри м ен ясет и  с п л а й н а м и

я  п о ;

.zyxwvutsrqponmlkjihgfedcbaZYX

\ ^zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   П р и м е ча н и е   ^Д й  в  ча улс

Д л я   н е к ро с и у я  вы чинелс я и с ющм я н е и з м  и,ант мдрко п о ль ю з с яу т , свнест о ил и   ' *sp li n e ' . С р ав н ен и бы т ро в мд у е р н ы п ер м ен н ы х

е  рzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK ищх ятаосвн   к е чт о  с  моонт х   ба л и т ч н ы м   ан д ы м , ис ы   ' ^ n e a r e st ' ,  ' *l i n e a r 1 ,  ' *c u bic '

  ю ву щ т с иве о т с , амне утгр

е   п ер в ы

ь   о щс у е св т л н й   п р и в ед

;  Л ист ин

х   рте х   в ы ш еп р еч и с л ен ы х   сп ос бо в   и н ет р п о л я ц и и  м ож е т о   п р и   п ом щ и   фа й л - п р о г а м ы   interp2dem,  етк с т   кот н  в  ли ст н г е  6.12.  Д л я   и з беж ан и я  уот м и етл ь н о г о   в од а   та б л и ц ы х   ад н н ы х   о н и  ген ер и рюу ст я   п р и  п о м щ и  н ек о т р о й  фну к ц и и  дву х .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA г  6.12. Ф а йл - прога м м

% ги н а в о р и е н

е  зи н е ч а н

а  i n t e r p 2 d e m  й  то н ч и л б а

й  фи ц к н у

[X, Y] = meshgrid(O:0.2:1); Z = sin(3*pi*X) .*sin(3*pi*Y) .*е( рх - . Х % ви ц а з и л а у з и

я  то н ч и л б а

й  фи ц к н у

izyxwvutsr

л

и 2 -  Y. /4 2);

и

subplot(2,zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  2, 1) surf(X, Y, Z) title('та н ч и л б а я  ф' яицкну ) % си н а д з о е  ск т е и  дл я  пы н ч о т у ж е м о р [Xi, Yi] = meshgrid(0:0.02:1) ,ќ

х  зи н е ч а н

й

% ии ц я л о п р е т н я  п о  си н д е с о м  зя и н е ч а н м ZiNear = interp2(X, Y, Z, Xi, Yi,  'nearest'); % ба н й е н и л я  ии ц я л о п р е т н я   (мн ж о о  н е  ут а в ы з а к ь   'bilinear') ZiBiLin = interp2(X, Y, Z, Xi, Yi, 'bilinear'); % ба к с е ч и б у к и я  ии ц я л о п р е т н я ZiBiCub = interp2(X, Y, Z, Xi, Yi,  'bicubic');

280

 //.  Вчиы с лени я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ  и  прогам м и р о вани е zyxwvut

аЧс т ь

%zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  во в ы д  о т а ь л у з е р в subplot(2, 2, 2) surf(Xi, Yi, ZiNear) title ('п о  и н д е с о

1

м  я и н е ч а н з

м   (near) )

subplot(2, 2, 3) surf(Xi, Yi, ZiBiLin) title('ба н й е н и л

я   (bilinear)') 

i

subplot(2, 2, 4) surf(Xi, Yi, ZiBiCub)

я   (bicubic)')zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED

title('ба к с е ч и б у к и

Н а   ри с . 6.6  п р и в едн иф к и   о тр а ж а ю ли ч н ы м и  с п о с б а м и

ы   гр а фи к и

, п очлуен н ы е   п р и   п ом щ и   interp2dem.  Г ра е   и н етр п о л и рю у щ и х   нф у к ц и й ,  п о члуен н ы х   раз .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

т   п о в е дн и

а н чи лб а т

я и ц к н  фу

я

п о  си н дсео

м яи зне ч ан

м  (р о щ

1

0

0

•.   1

1 1  • • '• • ,

о" о а нй е ни либ

я  (bilinear)

/киб а ске чиб

1  ь

1

0

0

- 1,

•1 I

0  0 zyxwvutsrqponmlkjihgfedcbaZYXWV

0  0

Р ис

п ри бли ж ен и

й  (bicubic)

.   6.6.  Р а з л и ч н ы

я   д в ум е р н ы

е  сп о с о б х  д а н н ы

ы х  ( in t erp 2)

Дл я   ап ро к си м ац и и  трмех р н ы х   ад н н ы х   ж с ли у т   н фу к ц и я  in t e r p 3, дл я   м н о го м ер н ы х —  in t erp n .  С о з да н и е   м н о г м ер н ы х   со е т к   о щс у е св т л я я   н уф к ц и е й   n dgrid.  М н о г м е р н о е  п р и б л и ж ен и е  п р о и з в о ид ст я   а н а л о ги ч н о   вм д у е р н ом у ,  п о др б н е е   о   н е м   м ожн о   зу н ат ь   и з   сп рав о ч н о й   с и ем т ы   п о   M ATLAB, н абра в  в  р а з дел е  Index  и м я  фн у к ц и и  in t erp n .

л ав Г

 6. М е т ыо д

 вчиы с лени й

281 zyxwvutsrqpo

 в  MATLAB 

В  эот м  р аз едл е   раз обран ы   сам ы е   п р о с ыт е   сп о с б ы   п р и б л и ж ен и я   та б л и ч н ы х н фу к ц и й   сп лай н ам и  р а з л и ч н ы х   п о р я дк о в .  П р и м ен ен и ю  с п л ай н о в  п о св ящ е н   18).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB Spline ToolboxzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   (с.м  гаву л

З адч

и  л иен йо

й  аелгрб

ы

П оск оль к у   н аз в ан и е   MATLAB  явслет (м арт и ч н а я   л а б о р а то р и я ) ,  т о   есвтн MATLAB  лд я   з ад ч   л и н ей н о й  алгебр ы с п ец и а л ь н ы е   н фу к ц и и   MATLAB  п о з в о л яю в е к то р о в ,  о б р а щ а т ь   м а рт и ц ы ,  р еш а т ь ч и сл е   п е р о п р е дл н н ы е   и   н е од п р е д л н н ы м и ) ,  н аохид т ь   с о б вт е н н ы е   ч и сл а   и   в е к от р ы ч и с л ят ь   н фу к ц и и   м а рт и ц .  В   п р и ло ж ен и я ж ен ы е   м а рт и ц ы   (соедр ж ащ и е   боль ш о э ф е к ит в н о г о   р еш ен и я   з ад ч   с  р аз р еж н н ы м ц и аль н ы е   а л г о р и тм ы ,  м н о ги е  и з  к о т р ы г о   ч от б ы   о с з н ан н о   и сп о ль з о в ат ь   б о г а ыт MATLAB  лд я   р еш ен и я   з ад ч   л и н ей н о м и ,  н ео б хди м о ,  к а к   м и н и м у ,  о б л а д т не тх и ч е с к о г о   взу а  (р аз р еж н н ы м   м а рт и ц а

м   о т   Matrix  Laboratory ,  ч т о   в о з м о ж н о с т и о   ш и роки . Д е й с тв и те л ь н о , т   в ы ч и с л ят ь   н орм ы   м а рт и ц  и   с и ем т ы   л и н ей н ы х   руа в н е н и й ,  в   от м е   (с   п р ям огу л ь н ы м и   м а рт и ц а ,  фа к то р и з о в а т ь   м а тр и ц ы ,  в ы х   о ч ен ь   ч аст о   в с рт е ч а ю ст я   раз ре е   ч и сл о   н л ев ы у х   э л е м н от в ) .  Д л я и   м а рт и ц а м и   щ с у е ю св т у т   сп е х   р еали з о в ан ы   в   M ATLAB.  Д л я   то е   в о з м о ж н о с ит ,  п р еод сатв л яем ы е й   а л ге б р ы   с  р аз р еж н н ы м и   м а рт и ц а ь   з н а н и ям и   в   о б ъ ем е   п р о гр а м ы м   п о с в ящ ен а  гав л  17).

Дан н ы й   р а з де л   о п и сы в ае е т   MATLAB  лд я   реш ен и л и ет л й , н оажхенд и я   с о б втен ы

е  в о з м о ж н о с ит

и сС т е м о б р а е щ ни Зн а а л ге б р а и ч е с к и сп рава ч аст фе к и т в н ы Р еш ен и ин е

т   п р о с е тй ш и я   си е т

ы  ура енв ий

я   с о к р а щ ен и е о   п р е дп о л ж и ь т   д о с та о ч н

м   л и н ей н ы х   ч и се

,  к о т р ы

х   руа в н е н и й л  и  в е к то р в

я   о п р ед

-

.

, опре дл ит е л и е  м а т ри

е   п р е од с а т в л я , в ы ч и с лен и

,

ц

к   о б р а тн о

й   кос й   ч ер т ы   \   п р е нд а з н а ч е н   лд я   р е ш е н и я   си е т м   л и н ей н ы х х   руа в н ен и й ,  слев а   о т   н ег о   з а п и с ы в а ест я   м а рт и ц а   с и с етм ы ,  а —  в ек от р   п рав о й   ч а с ит .  П р и ч е м , к а к   м а рт и ц а ,  ат к   и  в ек от р   п раво й т   бы т ь   к о м п л ек с н ы м и .  MATLAB  сам а   п о бд и р а е т   н аи бо ле е  э ф и   м о гу й   м ое т д   и  р еш а е т   с и ем т у . е  си емст

 стимес

ы   р уа в н е н и  лх ийеын

И сп о ль з о в ан и ад ж

е   пр В   сп рав о ч н о

и   та к о

й   р а с м о рт е н  уавинрей"

е  з н а к а  \  явлсяет м   п рост м   п о хд й   с и ем т е   п р и в ед

о   в   к а ч е с вт  гавы л я   сам ы

м   п р о с ыт

м   сп ос бо ы   щ с у е вс т н ы

е   воз м ожн н   а л го р и т

е   п р и м ер

а   в  р.азд

 "Р-еш

 2.

м   р еш ен и

м   р еш ен и я я   си е т

е   з а р т нд у е н и я м   л и н ей н ы

, о дн а к

о .

х   р аув

-

282 

н ен и й а л го р и т

 //.  Вчиы с лени я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ  и  прогам м и р о вани е zyxwvutsr

аЧс т ь

,  к о т р ы м   о п и с ы в а ест

й   ч у и ыт в а е

т   ви я   ю с ул ед щ и

1.  Е сл и   м а тр и ц т о   п р и м е н я ес т

а   к в а д р тн а я  сп ец и аль н ы

2.  Е сл

а   тр е г у о л ь н а я

и  м арт и ц

3.  Е сл и   м а рт и ц т о   п р и м е н я ес т

д   м а рт и ц м   образ ом

ы   с и ем т

я   и  л ен от ч н а й   а л го р и т

я   с  о гр а н и ч ен н о м   р еш ен и

,  т о  и сп о ль зсету

а   п е р с ат н о в к а м я   м о ид ф к а ц и

и   с рт о я  м еотд

и   м а тр и ц

6.  Е сл п о л ь з се т у м а рт и м уен ь ш ен и

и   м а рт и ц

е  с  тр егоу л ь н о

а   к в а д р тн а я   м е от д   Г са у ц   п р е дв а р и е т л ь н я   з ап о лн ен и

7.  Е сл и   м а тр и ц лд я   QR- фа к от р и з а ц и р еш ен и е   с и е мт в ает , р а з р еж н н а

т

я  л ен от ч н ы д   п о д с та н о в к и

в   с в о ид с т

й   л е н ыт х   м а рт и ц

, .

. я   к   тр е г у о л ь н о й

,

.   в   к о м п л ек с н о и   н а  ди а г о н а л и ь   р аз ло ж ен и   п о л ж и ет л ь н а

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

я   м ео т

д

.

т   с лу о в и я м   п . 1—5,  т о  и с я   и  н е  уод в лето р яе а   в   фо р м е   LU - фа к то р и з а ц и .  Д л я   р а з р еж н н ы х о   п е р с атв л я ю ст я   с рт о к и   и   с от л б ц ы   с   ц ел ь ю я  м арти ч н ы х   м н о ж и е лт й   LU - р а з л о ж е н и я .

а   п р я м о гу л ь н а я и   м а рт и ц ы ы   в   см ы сл я   м а рт и ц а

о   э от

й   ш и ри н о

к   и  сот л б ц о а   п о д с ат н о в к и

,  н о  н е  р а з р еж н н а я й   м а рт и ц е й

а   е сх н б е р г о в а я  к  си семт

.  К р а тк

я  дл

я   м ое т

4.  Е сл и   м а тр и ц а   с и м ер т и ч н а я   (э р м и от в а срт а н свт е )  с   п о л ж и етл ь н ы м и   э л е м н атм н фу к ц и я   ch oi,  к о т р а я   п ы а т ес я   вы п олн и т эот м   в   п р о ц ес е   р аз ло ж ен и я   в ы я с н яс е т я е   п о л ж и ет л ь н о   о п р е дл н н о м а рт и ц ы .  В   счлуа м н о ж и е лт ь   р аз ло ж ен и я   Хо л е ц к о г ,  с  к о т р ы от д м   п о д с ат н о в к и   л д я   п о ч л уе н и я   р еш ен и н ий .  Е сл и   м а тр и ц а   с и ем т ы   р аз р еж н а , т п р о и з в о ид с т я   с и м ерт и ч н а я   п е р с ат н о в к ю   м уен ь ш ен и м у   м и н и м аль н о й   еп с т н и   с   ц ел ь Хо л е ц к о г . Д л я  в ы п о л н ен и я  э от й  о п ер ац и 5.  Е сл с ве н д и

ы   руа в н е н и й .

,  т о   п р о и сохид ,  к о т р а е   н а и м ен ь ш и , и л и  н ет

т   о б р ащ ен и я   п о з в о л яе х   к в а д р а то в

т   н ай т .  лАго р и т

е   к   н фу к ц и и   qr и   н а и ч л уш е е м   qr  чиу ыт -

.

Ф ну кц и и   M ATLAB,  и сп о ль з ему ы е   в  в ы ш ео п и с а н н о м   а л г о р и тм е ,  о сн о в ан ы н а   п р о ц ре у д а х   п о п л уя р н ы х   б и б л и о ет к   LAPACK  и  U M F P AC K дл я  р еш ен и я з ад ч   л и н ей н о й   а л ге б р ы .  С о вт ес юу щ а я   и н фо р м а ц и я  соедрж и ст я   в  сп ра вочн о й   с и ем т е   M ATLAB.  Д л я  е е  п о члуен и я   д о с та о ч н о   о б р а ти ь с я   к  раз ел д у zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  MATLAB:  Functions  — Categorical List: Mathematics: Linear  Algebra и  пе р ей т и   в   н е м   п о   ги п е р с ы л к е   \   and  /.  П р и   эот м   о кт р ы в а ест я   с тр а н и ц а сп рав о ч н о й   с и с етм ы ,  п н у к т   Algorithm  к о т р о й   п о с в ящ е н   о б жс у а д е м о у з ес д ь   а л г о р и тм у .  В  н е м  уп о м ян ту ы   т е  фн у кц и и   б и б л и о ет к и   LAPACK,  к  ко то р ы м   о б р а щ а е тс я   MATLAB  п р и   р еш ен и и   си е т м   л и н ей н ы х   ру а в н е н и й . х   м арт и ц , MATLAB в ы з ы в ае т  п р о В  р яд е   чслаеув ,  н а п р и м ер , дл я  раз реж н ы

л ав Г

 6. М е т ыо д

 вчиы с лени й

ц р уед с ы лк

ы   б и б л и о ет к и  дл я  до спут

283 zyxwvutsrqp

 в  MATLAB 

и   U M F P AC K.  В н и з а   к  до кму ен атц и и   эи т

у   с рт а н и ц х  б и б л и о ет

ы   р ас п о л ж ен к  в  И н етр н ет

ы   вд .

е   ги п е р

-

В  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ав ег л  15  р а с м арт и в а ю ст я   о с б ен н о с т и   р еш ен и я   си е т м   с   р аз р еж н н ы м и м а тр и ц а м и .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

ис тС е м

ы  с  плхо

о  осмлубвоеын

Р а с м о рт и

м   п рост

й  п р и м ер

и  матрицм : требсту

я   н ай т

и и  р еш ен и

  =8

2*1 + 3 х 2 + 3 х

3

4*!  +  2х 2  +  Зх

3

е  сю улед щ е

й   с и с етм ы

:

'>

  =  7;

] +5х 2  + 6х 3 = 7. В в ие д т е   м арт и ц у   и  в ек от р   и з   к о м а н дн о й   с рт о к и   и  п р и м ен и т е   о б р а нт у ю   ко ус ю   ч е р у т :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA » 

А   =   [ 2  3  3 4  2  3 6  5   6 ] ;

» 

b  =   [ 8 ;  7 ;  7 ] ;

» 

х   =   A\ b

В   к о м а н дн о н а  и л и  п ло х

е  о к н о   о бс ул о в л е н а

о  в ы в о ид ст

я   п р уе д ж нд и ,  и  з ает м   п о лч у е н н о

е   о  то м е  реш ен и

, ч т о   м а рт и ц а   в ы р о ж ед е  х :zyxwvutsrqponmlkjihgfed

Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 1.306145e- 017. x = 1.0e+016 * 0.9007 1.8014 - 2.4019 П о лчу е н н о е   р еш ен и е   н ев р н о , в   че м   н еслож н ж и в  А  н а  х .  Д ел о   в  то м , ч т о   А  являсет я   в ы р о ж ед н н о й н лю у .  Д л я   в ы ч и слен и я   о п р е д л и е тл я   п р е нд а з н а ч е н det: »  det (A) ans = 0

о   б ие у д ь т с

я   п р о в ер к о й ,  е е  о п р едли етл а   в с рт о е н н а

, умн о ь   рав е я   н фу к ц и

н я

284 

аЧс т ь

О дн а к р еш ен и

о   "о ч ен и  си семт

ь   м ал ен ь к о е ы  в о з н и к н у

"  з н ач ен и т  трнду о сит

е  о п р едли етл .  Н а п р и м е р

[ 2.О  -  Ю" ^

р е ш а ес т я   то ч н о ,  н и к а и х   с о б щ ен и ри ц ы   с и емт ы   рав е н   2.96-  Ю о п р едл и етл ь !) . В оз м ож н ост ем л о е тр и з ю у щ и п р е сд а т в л е н и чл у и ь т с и ме м ощ е тм

ь   р еш ен и

80

 (убиед ст

1

  JCJ -

 II. Вчиы с лени я

zyxwvutsr

 и  пр о г ам м и р о вани е

я   ще е   н е  о з н а ч е т ,  ч т о   п р и , си семт а zyxwvutsrqponmlkjihgfedcbaZY

40

h 3 .0 •  1 0 ~  =  2

й   н е  в ы в о ид ст я ь   в  э то м

,  отх , р еш и

я   о п р е д л и ет л в   с и ем т

ь   м ат

-

у   и  в ы ч и сли

в

ы   л и н ей н ы х   а л ге б р а и ч е с к и х   руа в н е н и й   с  п ри я  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH м о ли с ч т оис оне в ло усб  м а тр и ц ы ,  архк м   ч в у с т и е тл ь н о с т ь   р еш ен и я   к   ош и бк а м   в ы ч и с л ен и я   и  то ч н о с т и я   ад н н ы х   в   к о м п ь ю ет р .  Е сл и   он о   в ели к о , т о   о вт е т   м ож е т   по е   н ев р н ы м .  П ер д   р еш ен и е м   с и ем т ы я   н е   о ч ен ь   от ч н ы м   и л и   ад ж т   см ы с л   вы ч и сли т ь   ч и сл о   о бс ул в л е н н о с т и   м а рт и ц ы   с и емт ы   пр и   по и  фн у к ц и и  cond, з ад в   а р м гу е н от м   м а рт и ц у .  Н а п р и м е р , дл я   п ер в о й  си с :zyxwvutsrqponmlkjihgfedcbaZYXWVU ы   н фу к ц и я  cond в ы аде т   ю с ул ед щ и й   р е з л у ь ат й   то ч н о с ть

я   с и ем т

ю   о п р е лд я с т

»  cond(А ) ans = 2.752б+ е 01

Чи с л р е ш а ес т

б

о   о бс ул о в л е н н о с т я  п р а в и л ь н о ^ 

и   м а рт и ц ы   в то р о й   с и ем т ы   равн о   3.0808  и   си емт а .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Пр и м е ча ни

Н а   м ао с ск б е о н ч и о ст ич л с а   с л о в н еб у и о с т р и м та ц н и е   чи л с м е ит с ы З н а к   о б р а тн о ш ен и я   н ес к о л ь к и ч а с ят м и .  Д л в а т ь   м а рт и ц от м   я в л с е т юв у щ е й   с и ем т р еш ен и я   с и с е тм л о ж ен и е  м арт и ц

е   м   ле д м   м уог а   о лс н в е б у о тс  може й   кос

^|

е   чи л с о   н о лве с у б о т с .  MATLAB  и псеьолзу ,  корты т  дав т ь   н р ев ы и   си н г и л а з е р у т  бы т ь  н пе рави льн ы м

и   ри м т ац ы   п рв о е й   м е и тс ы   р ав н т   н еич л с ы е   до т м е ы   л д я   н е ж оид х а е   в   п и рн м е и и   к   п олх о   н е овл с у б ы й  резльату . Н о  вс е  р ав н о , больш о е  з н чае т   о   о тм ,  чт о   н йае д н о е  рше н и .

й   ч ер т ы   м ож е т   бы т х   си е т м   с   о нд о й   и   от я   э то г о   и з   в е к от р - с от л б ц о у   и   п о м е с ит ь   е е   п о сл е   з н ак я   м а тр и ц а ,  кажыд й   с от л б е ы   л и н ей н ы х   руа в н е н и й , та к о й   п о хд д  сщ у евстн ы  в ы п о л н яест я  то л ь к о

ь   п р и м ен е й   ж е   м арт и ц е в   п р ав ы х   а   о б р а тн о ц   котро й .  В   олти ч и о   экон оми   о ид н  р а з .

н   лд

я   о дн о в р е м н н о г й   и   раз н ы м и   п рав ы м т   с фо р м и р о ч а се т й   е с лу д й   кос й   ч е р ыт .  Р езльуат   се т ь   р е ш е н и е   с о в т ес е   о т   п о с л е д о в а ет л ь н о г т  в р ем я , п о с к о л ь к

о я м е о   ре и о

у  р а з

-

л ав Г

 6. М ет ыо д

 вчиы с лени й

 в  MATLAB

е П р о п е д л е ын

285zyxwvutsrqp

е   и  неопрд л еын

е   си т е м

ы zyxwvutsrqponmlkjihgfedcb

т   р еш ат ь   с и ем т ы   с   п р я м о гу л ь н ы м и   м а тр и ц а м и ,  ат к MATLAB  п о з в о л яе н аз ы в аем ы е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  е ын ле дпрое  сиемт ы ,  в   к о т р ы х   р уа в н е н и й   боль ш е   н еи з в е снт ы х ,  и е ын  нле дпро де  сиемт ы   с   ч и сло м   руа в н е н и й ,  м ен ь ш и м   ч и сл а н е и з в е сн т ы х . П ер о п р едл н н ы р а м е тр о че м  ч и сл

е   с и ем т ю   од у в л е т о р е н и

в   с   ц ел ь о   п а р м е тр о в

х   п о дб р ,  ч и сл

я   с о нт о ш е н и я м

а   н ес к о л ь к и о   котры

х  п а

-

х   боль ш е

,

.

м   з а дч

Р а с м о рт и з ак он

я   в   з адч а

ы   в с рт е ч а ю ст

у   о   п о дб р

е   п а р м е рт о

в   а   и   Ъ  н е к о т р о г

о   фи з и ч ес к о г

о

а у  -   a •  e~r + b •  t

п о   р е з л у ь ат та б л . 6.3.

м   и з м ер н и

я  в ели ч и н

ы   у   в   м о ен т

и ц Та л б

ы   в р ем н и

 6.3. Рьта ызуел

, п р и в едн н ы

 иинейр зм

 фикйсеозич

 виынч ле

hzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 0 0.2 0.4 0.1 0.3 [У

Д л я   н а хо ж д е н и ском у   з акон у

4.25

3.64

3.95

я   п а р а м е тр о , т . е . в ы п о л н е н и

в   п о т р е б уе е   ш ест

3.41

я   и з м ерен и в   в и да

0.5 3.04

3.21

м   с о тв е тс тв и и   равен ст

е  в

й   фи з и ч е

-

:

у.   =  а  •  е~ Г /  +  Ъ  •  Ц. Э т и   р а в е н с тв а   я в л я ю тс я   н и  ч е ш ест и   ли н ей н ы х   алгебр аи ч еск и м а тр и ц а   А   и  в е к т о р   п раво й   част

м  и н ы м ,  к а х   ур а в н е н и и   Y  с и с те м

к  п е р е о п р е д е л е н н о й   с   д в ум ы   и м ею

й   с и с те м о я   н е и з в е с тн ы м т  в и д

й  и з и   а   и  Ъ ,

\У А  =

Y =

гУ У  в

Д л я   н а хо ж де н и я   н еи з в естн ы х   с л е дуе п ом щ и   з н ак а   о б р а тн о й   кос й   ч е р ыт н фу к ц и ю   б е з   п а р м е тр о в ,  р еш аю щ у рам и  гр афи к  и осндх ы х   ад н н ы х   и  ли н и е

т   реш ит ь   э т у  с и с т е м у   в   M A T L A B  п р .  Н а п и ш и т е   с а м о с т яел ь н о   фа й л ю   ад н н у ю   с и ме т у   и   срт о я щ у ю   м ар к е й  гр а фи к  фи з и ч еск о г о  з а к о н а  с  п олу

и -

286 

аЧс т ь

чи вш и м и с я   п а р м е тр а м и ц и и   о т   р т е х   а р гм у е н о т н уф к ц и и   fi t  с  в л о ж ен н о

.  Ф и з и ч еск и в   —  п ер м н о й  фн у кц и е

 II. Вчиы с лени я

zyxwvutsr

 и  пр о г ам м и р о вани е

й  з а к о н   ч л шу й   t  и   п а р м ерт о й  law  соердж и ст

е   оф рм и т

ь   в   в и д е   н уф к в   а ,  ь .  Т ек с т   фа й л я   в  л и сит н г е   6.13.zyxwvutsrqponmlkji

  Л ист ин г  6.13. Ф а йл - иц нк фу я   f i t  бпорд а  па р м е т ро в zyxwvutsrqponmlkjihgfedcbaZY IzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA izyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   ; function  [a, b]=fit function у  = law(t, a, b) у  = a.*exp(- t) + b.*t; end % зи н а д

е  тц и л б а

ы  с м ы н ь л  эа т н е м и р е п с к

и  дм ы н а

и

t =  [0; 0.1; 0.2; 0.3; 0.4;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG  0.5] ; у =  [4.25; 3.95; 3.64; 3.41; 3.21; 3.04]; % си н а д з о

е  мцирта

ы  см е т с и

ы  лы н й е н и

х  уи н е в а р

й

А  = [exp(- t) t]; % ри н е ш

е  см е т с и

х  = \ А у

ы  и  пи н е ч у л о

е  иы м о к с

х  ко т н е и ц ф э о

в  фг о к с е ч и з

о  зн о к а

а

;

а  = х(1) ; Ъ  = х( 2) ; % пи н е о р т с о

е  гк и ф а р

а ы н ь э латнемирепск

х  ды н а

х

plot(t, у , 's') hold on % пи н е о р т с о

е  гк и ф а р

а  фг о к с е ч и з

о  зн о к а

а

fplot(@law,  [0 0.5], [ ], [ ], ќ- ', а , Ь ) end

Ф а й л - н фу к ц и з и ч ес к о г в ращ ае

о   з ак он т   в  в ы охнд ы

я   fi t  с рт о и т   и з о б р аж ен н ы а   п р и   н а й е дн н ы х   а р мгу е н ат

х   з н а ч ен и я

е   н а   ри с х   п а р м е тр о в

. 6.7  гр а фи к

и   да н н ы ,  к о т р ы

е   он

х   и  фи а   воз

-

х

»  [a,  b]  =   fit » 

а   = 4.2478

b  = 0.9070

В н ес и т та б л и ч н ы гр а фи

е   с а м о с т яел ь н е   да н н ы к   н ан о си т

о   в   фа й л - н фу к ц и е   с ч и ыт в а ю ст я  вс я  н ео б хид м а

я   и з   те к с то в г я  и н фо р м а ц и я

ю   fi t  н е к о т р ы о   фа й л .

е   и з м ен ен и я а   н фу к ц и е

.  П сут ь й   load,  а   н а

л ав Г

 6. Метыо д

 вчиы с лени й

О  

с иР

П ер й ед ры

 в  MATLAB

0.05  

0.1  

0.15  

0.2  

ь   к  н еод п р едл н н ы а   руа в н е н и й а   со ти т   и з   о дн о г о   м н ог о   р еш ен и й ы   MATLAB  и щ е .  Ба з и с н о е  р еш ен и е  уп р аж н ен и я   с и ме т

с и е мт б ес к о н еч н с и ем т н л е йу вс т

0.3  

0.35  

0.4  

0.45  

0.5 zyxwvutsrqponmlkjihgfedc

. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  6.7. Поб д р  пор тмеа в  фгокисзеч о  зкноа а

м   е тп р

х   боль ш

0.25  

287zyxwvutsrqp

е   ч и сл

м   с и с е тм а м   п рост я   с  дмву

.  В   сам о о   р уа в н е н и

, ч и сл м   чс л ау

о   н е и з в е нс т ы е   н е од п р е д л н н а

х   в  к о т

я

я   н е и з в е с нт ы м и , к о т р о е   и ме т .  П р и   н оажхенд и и   р еш ен и я   н е од п р е д л н н о й т zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB   е а о нз и с б  рин,еш  соедр ж ащ е е   ка к   м о ж н о   боль ш е е  то ж е   м ож е т   бы т ь   н е  еид н свтен н ы м . Р еш и т е  в  к ач е у Г  х х   +  2х 2  + Зх

3

  = 2;

[3*! +  4х 2  +  5х 3  = 2 и  п р о и з в еид т Дл о нд о си е т

я   р еш ен и я   н ес к о л ь к и й   и  то й   ж е  м раит ц е м  с  к в ард нт о

Р е ш ни Пр н ей н ы роки зн а

е   п р о в ер к у

и   и сп о ль з о в ан и х   р уа в н е н и е  в о з м о ж н о с т к   о б р а тн о е т м   с   о нд о э о т м   од п с у к а е

е  с ис т е

, умн о ж и

в   м арт и ц у

х   п е р о п р е л дн ы й  п ри м ен и й   м ар т и ц е й

м  пр

м  то , оп и сан ы

и  пом ощ

и  фицунк

  с и ем т х   ил т   ж е  сам ы й  в  кон ц

ы   н а  н ай едн н о и   н ое д п р е лд н ы й  п охд е  п рыедщ у ег

е  р еш ен и е х   си е т ,  чт о   и  п р и  реш ен и о   р а з ед л а

.

м  с и .zyxwvutsrqponm

и zyxwvutsrqponmlkjihgfedcbaZYXWVUT  linsolve

и   з н ак а   о б р а тн о й   кос й   ч ер т ы   лд я   р еш ен и я   с и ем т ы   ли й   вы бо р   м ео т д а   р еш ен и я   о с а те я   з а   M ATLAB.  Бо л е е  ш и и   п р е од с а т в л я е т   н фу к ц и я  lin so lve ,  к о т р а я , та к   ж е   к а к  и й   кос й   ч е р ыт ,  п о з в о л яе т   р еш ат ь   с и ме т у   и л и   н ес к о л ь к о  си с й   и   от й   ж е   н е о б я з а е т л ь н о   к в а д р тн о й   м а рт и ц е й   ХА   -   В ,   и   п р и т   вы бо р   м ео т д а   е е   р еш ен и я   в   с о вт е с и и   с о   с в о й с вт а м и

 II. Вчиы с лени я  и  прогам м и р о вани е zyxwvutsrq аЧс т ь 288zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

м а рт и ц ы н фу к ц и

,  ку а з а н н ы м и  lin so ive  и м е

X  =   l i n s o i v e ( А , 

и   п о л ь з о в а ет л м т  в и д

.  В   п р о сетй ш е

м   с ч л уа

е   о б р ащ ен и

е  к

:

В )

Пр

и  эот м  дл я  р еш ен и я  си емст ы  в  счалу е  к в а др нт о й   м а рт и ц ы   А   п р и м ен яет с я   LU - р а з л о ж ен и е   с   вы бор м   щ в уед г о   э л е м н ат ,  а   лд я   п р ям огу л ь н о й  — QR- р а з л о ж ен и е .  Р а с м о рт и м ,  ка к   п о в ли ят ь   н а   вы бо р   бо ле е   э ф е к ит в н о г о т  с фо р м и р о м ое т д а   р еш ен и я , учи ыт в а я   с в о й свт а   м а рт и ц ы . Д л я   э то г о   е с лу д в а т ь   пу р а в л яю щ у ю   рс к т у ,  соедрж ащ у ю   п ол я   с о   з н а ч ен и ям и   t r u e  и л и false  в   з а в и с и м о с т и   о т   св о й ст в   м а рт и ц ы ,  и   куаз т ь   е е   в   к а ч е с вт е   рт еь г о ,  к а к   и   р а н е ,  и с п о л ь з о в а т ь в о х нд о г о   а р гм у е н т а   н фу к ц и и   lin so ive.  емд Бу лд я   п у р а в л я ю щ е й   с ркт у ы   и м я  opt ion s,  отх я   о н о   м о ж е т   бы т ь   п рои з воль ным ,  боле е   то г о ,  сле и   р еш аест я   м н ог о   си е т м   с  р а з н ы м и   с в о й с вт а м и ,  ц ел со браз н о   с о з ад т ь   н ес к о л ь к о   п у р а в л яю щ и х   с р тк у ,  и сп о ль з у я   нжу ю  в к о н к р е нт о м   с лч у а е .  П о л е   TRANSA  о п р едля т ,  ка к   з а д н а   м а тр и ц а   с и е тм ы : з н ач ен и е   t r u e  о з н а ч е т ,  ч т о   солвер у   п е р а сд т я   тр а н с п о н и р о в а н н а я   м арт и ц а  си сетм ы . Н ап р и м ер ,  сел и   в енд а   м а рт и ц е ус л д т  о б р а ит ь с я   к  солвер у   ю с у л ед щ и >>  options.TRANSA = true; >> 

т ь   с и ем т у   А   Х   = В,   т о :zyxwvutsrqponmlkjihgfedcbaZYX

у   = linsoive(А ,  В ,  options)

П а р м е тр ы

, о п р едляю щ и

е   с в о й свт и ц Та л б

Ф ла

а   А   и   н ад о   р еш а т м   образ ом

г

а   м а рт и ц

 6.4. Фаг и,л

ы  си семт ы  июще я ле дпро

ы  в  та б л

 стйвсоа

С вой т с

о  мри тац

LT

Н и жн я

я   р т е г оу л ь н а

UT

В нер х я

я   р т е г уо л ь н а

UHESS

В не р х я

я   п очт

SYM

С и м е рт и ч н а

POSDEF

П о л ж и те л ь н

о   о п р е дл н н а

RECT

П р я м о гу л ь н а

я

В  та б л .  6.5  п р есдатв лен ы   воз м ожн ы л яю щ е й   с р тк у е .  Н е к о т р ы е  к о м б и н а ц и г о в а   м а рт и ц а   н е   м ож е т   бы т ь   тр е г у о л ь н о й с о в м е щ а ьт с я ,  н е   до п суит м ы .  Н а п р и м е р

, свенд

 маитцры

.  6.4.  сы тимес

ы я я и  тр егоу л ь н а

я   (хес н бер го в а

)

я я

е   к о м би н ац и

и  з н ач ен и и  о ч ев и нд ы ,  а   н е к о т р ы е , тр егуо л ь н а

й  фл а го , н а п р и м е р , к о т р ы я   м а рт и ц

в   в   пу р ав , хесн бер е   м о гл и  б ы а   м ож е т   бы т ь

л ав Г

 6. М е т ыо д

 вчиы с лени й

п о л ж и ет л ь н щ и м   ф а к от р

289zyxwvutsrqpo

 в  MATLAB

о   о п р едл н н о й м  являсет

,  н о   п р я  е е  п р о фи л ь

и   вы бор е   сп ос б а   р еш ен и я   о п р е дл яю .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK Таблиц

 6.5, Возмжные

  комбинац

 флагов

LT

UT

UHESS

SYM

POSDEF

RECT

true

false

false

false

false

true/false

false

true

false

false

false

true/false

false

false

true

false

false

false

false

false

true

true

true

true

true/falsezyxwvutsrqponm falsezyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH falsezyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI false false falsezyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

е  2

П р е д у п р е д же н и

Ф н у кц и

я   lin so lve  н е  п реовя ы   в   п ю я вл а р у щ е м   п ар м е т .  П омэт у  рлзеаьту т   же м о

к аз у н н ий Е сл

и   м а рт и ц

т о  в ы в о ид ст си м ы м

а   с и ем т я   п р еу д ж е дн и е и  с рт о к а м

ы   п ло х и  дае

т   п р ав и л ь н о с т т  бы т

о   о бс ул о в л е н .  Н а п р и м е р

т   р е з л у ь ат

ь   вой с т ,  и  н е  вы ивод ь  н рнве ы й

в   м р и ат ц ы

, корты

т   н и ка

х   е пж д р у п е р

а   и л и  е е  р а н г   м ен ь ш , реш ен и е  си емст

е  р а з м е р н о с ти ы   с  л и н ей н

е -

. , о  з ав и

-

:

> А  =  [2 3 3 - 2  - 3  - 3] ; »  b  =  [8; 7] ; >> X = linsolve(A,  b) Warning:  Rank  deficient,  rank  = 1,  tol  = 2.8262e- 015. ќ X = 0 0.1667 0

С о б щ ен и е   м ож н то р ы й   з а п и с ы в а ест в ел и ч и н а ,  о б р а тн а цы) .

о   п о д а в и ть ,  сле я   ран г   м а рт и ц я   к   ч и сл у   о бс ул о в л е н н о с т

>>  [X, г ] = linsolve(A,  b) X =

и   з адт ь   в то р й   в ы о х нд о ы   (в   счлуа е   п р я м о гу л ь н о и   (в   счлуа

й   а р мг у е н т й   м а рт и ц ы е   к в а д р нт о

,  в  к о )  и л и й   м арт и -

290 

аЧс т ь

  II. Вчиы с лени я

zyxwvutsr

 и  прогам м и р о вани е

0. 1667 0 г  = 1

Е сл о хн д о г

и   п р уе д ж нд и о   а р гм у е н т

а   лд

я   п о да в л я ю с т я я   о ц ен к

е  м а т ри

О б р а е щ ни

,  т о   е услд и   п о лч у а е м о г

ь   з н а ч ен и

е   вы .zyxwvutsrqponmlkji

о   р еш ен и я

ц zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB

ай т рон б О  к   к в а др тн о й  й оне д ж о рвены ри ц а   ~ А   , к о т р а я   п р и   м ун о ж ен и ие д н и ч н у ю   м а рт и ц у .  В срто ен н а н ы м   а р мг у е н о т м   яв л с ет я   и о с н хд а и д т е   к в а д р нт у ю   м ар т и ц у   р аз м ер в ы р о ж ед н н о с т и   п р и   п ом щ и р е з л у ь ат т   м ун о ж ен и е м   сп рав В   п ри н ц и п е , р еш ен и е   си е т м м ож е т   о щ с у е с в т л яь с я   м ун о ж е н и е ч аст и   с и е мт ы .  О дн а к о   ат к о й и   п а м я ит , к  то м у   ж е   о н   м ож е м у   лд я   р еш ен и я   си е т м   е ус л д н фу к ц и ю   lin so lve . Ф ну кц и й.ьон угл о

т   и сп о ль з о в ат

и  п р ав и л ь н о с т

 м арти ц и  н а   А   я   н фу к ц и я я   м а рт и ц а а   рт и   с а м о с т я е л ь н о   det  и   н ай ид т а   и   с л ев а   п о чл у е н н о   л и н ей н ы х   р уа в н е н и м   о б р а тн о   сп о с б   рт е б у т   ад т ь   б о л ь ш у т   п р и м ен ят ь

е   А   н а з ы в а е ст я   та к я   м ат сп рав а   и   с л ев а   да е т   в   р е з л уь а т   inv  о б р а щ а е т   м а рт и ц у ,  е е   одвх ,  а  в ы охнд ы м   —  о б р а тн а я .  Вве ,  беиуд ст ь   в   е е  н е е   о б р а тн ю у ,  а   з ает м   п р о в ер ь т й   м а рт и ц ы   н а   и ос н х д ю у й   с   к в а д р а тн о й   м а рт и ц е й   м а рт и ц ы   н а   в е к то р   п рав о т   щ с у е вс т н о   боль ш е   в р ем н ю   п о гр е ш н о с т ь   р еш ен и я . П о э то   з н а к   о б р а тн о й   кос й   ч ер т ы   ил

е е . й й и и

я   pinv  п о з в о л яе т   н ай т и  патрунюб о ведс  м арти ц у   к  и сохнд о й  п-о м яр zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA А  =  [1 2;  3 4;  5 6]; »  »  Р  = pinv (А ) ; »  * Р А ans = 1.0000 

0.0000

- 0.0000 

1.0000

о С б с т ев ы н иц у н к ф

е  числ и  м а т ри

етвсынб о С

 ча лис

А   до у в л е вт о р я ю н ы м   а р мг у е н о т сы в ае т   и х  в  в ы охнд о » 

а  и  вте рок

ы  матыриц

,

ц   Xi  и  етвсынб о  выкерто т   р а в е н с вт а м   -А и {  =^ iui.  Ф ну к ц и м   м а рт и ц е й , н аохид т   вс е  со бсвтен н ы й   а р мг у е н т   —  в е к то р :

А   =   [2.  3 ;  3  5 ] ;

>>  l a m  =   e i g ( A )

  ut  Ф  0  к в а др тн о я   eig,  в ы з в а н н а е  ч и с л а   м а рт и ц

й   м а рт и ц я   с   ов дх ы   и  з ап и

ы -

л ав Г

 6. М е т ыо д

 вчиы с лени й

291 zyxwvutsr

 в  MATLAB 

lam = 0.1459 6.8541zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Д л я   о дн о в р е м н н о г в ы з в ат ь   eig  с  дмву

я  все и   а р гм у е н а т м и

о  в ы ч и слен и я   в ы о х нд ы м

х  собсвтен ы

х   в е к от р

в  и  чи се

л  се луд

т

.

»  [U,  Lam] =  eig(A); П ер в ы й   в ы о х нд о р о й   яв л ю ст с о б вт е н н о м от ч и я

й   а р мгу е н я   с о б втен н ы м у   в е к от р

т   и  п р есдатв ляе и   в е к то р а м и т   и сп о ль з о в ат

у   е су л д

т   со б я  до спут а ь   и н едк с а ц и

.  Д л

й   м а рт и ц у

,  сот л б ц ,  н а п р и м е р ю   пр

ы   кот , к   п ер в о м и  п о м щ и   вд о е

у -

»  ul  =  U (:,  1) ; В от р ы с о ед р ж а щ а

м   в ы о н хд ы

м   а р мгу е н от я   с о б вт е н н ы

» Lam Lam = 0.1459 0 П р о в е р ь те с о в т ес ю у щ и

е  ч и сл

м   Lam в о з в р а щ а ест а  и оснхд о й   м а рт и ц ы

я   ди а г о н а л ь н а .

я   м а тр и ц а

,

0 б .8541

,  п р а в и л ь н

о   л и  н а й едн ы у  со бсвтен н ы

й   ме

,  н а п р и м е р й  в е к то р

, в то р . В о сп о ль з йу ест

е   с о б вт е н н о

е   ч и сл ь   о п р е дл н и е м

о  и :

»  A*U(:,  2)  -   Lam(2,  2)*U (:,  2) ans = 1. 0е - 01 5  * 0. 4441 - 0. 8882

В о з в е дн и п р и  п о м щ » 

е   к в а д р нт о и  з н а к

В   =  А

Л

й   м а рт и ц а

 А

, н а п р и м е р

ы   в   лю бу ю   ц ел у ю   епс т н ь   о щс у е с в т л я я :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ

2

В  =

Пр еонитчр ма

1 3 

21

2 1 

34

и   в о з в е дн и

и   м а рт и ц  умн о ж ен и , в  о лти ч и

ес п т н и Д л я   о рт и ц а ет л ь н ы м ож н о   и сп о ль з о в ан и к в а д р тн о й   м а тр и ц ы п о н ен т а  И  Лифр аГО

е   м а рт и ц е   о т  п о э л ем н нт о г х   еп с т н е е  др о б н ы , т о  лч уш С Т мЯЮ Л С И  ВЫЧ

ы   в   ц ел у ю   п о л ж и ет л ь н у ю   есп т н ь   п р о и с о х ид т zyxwvutsrqp ы   н а  сам у   сб е я   с о т л ь к о   раз , к а к о в   п о к а з а ет л ь о   м ун о ж ен и я   п р и  п о м о щ и   о п ер ац и и   .А . й   в ы ч и с л яет я   е пс т н ь   о б р а тн о й   м а тр и ц ы . В оз х   се п т н е й .  Е сл и   р т е бс у я   и з в л еч ь   к о р ен ь  и з е   п р и м ен и т ь   н фу к ц и ю   sqrtm.  М а тр и ч н ы е  экс Я  П р и   ПОМОЩ И И Ц К уН  ф Й  expm И  logm.

292 

аЧс т ь

П о л ь з о в а ет л е ус л д т   с о з да т inline- нфу к ц и ю п ер в ы м   а р мг у е н о т и л и   к у а з е тл ю в у щ тс е н фу к ц и

ь   м ож е

  II. Вчиы с лени я

zyxwvutsr

 и  пр о г ам м и р о вани е

т   н ай т и  з н ач ен и е  л ю б о й   н фу к ц и и  о т   м а тр и ц ы . Дл я   э от г ь   с о б втен н у ю   фа й л - н фу к ц и ю ,  ан о н и м н у ю   н фу к ц и ю   ил ,  а  з еат м   и сп о ль з о в ат ь   с п ец и а л ь н у ю   н фу к ц и ю   funm,  з ад м   и м я   фа й л - н фу к ц и и  в  а п о срт о фа м   м а рт и ц у ,  а  в от р ы

ь   н а   нф у к ц и ю

.  В ы ч и сли ет и  matrf  п ри евд о   и сп о ль з о в ан и

й   аф й л - н уф к ц и и  о б я з а те л ь н

о и в х

А

,  н а п р и м е н  в  ли ст н г

р   е   - sin Л  . Т ек с т   с о в те е  6.14.  П р и  соз адн и и  фай л х  о п е р а ц и й !zyxwvutsrqponmlkjihgfedc

е  п о э лем н т ы

 Л ист н г  6.14. Ф а йл - иц нк фу я  m a t r f  дл я  вичсыл е ни я  фицнку и  м а т риц ы zyxwvutsrqponmlkji • zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA :  . . . . . . . . . . . .   ;  , . . . . . . . . . . . . . . . .;  ... ,..;.... . ... ... . . ;   : zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON zyxwvuts ' . . . . . . . . . . . . . 

. . . . . . . . . . ; ' . ; . . . -



. . . . . . . . . . . . . .  . . . . . . . . . 

. . . Л . . . . . . . . . .



• ; • . . . .

. . . . . . .

function В  = matrf(A) В  = ( рхе ) А .*sin(A)

;

Т еп р

и   funm н ай ид т

ь   пр

и  п о м о щ

е  з н ач ен и

е  з адн н о

й  фну к ц и

и  о т   м арти ц

ы  в :

В   = funm(A, @matrf) >>  В   = 141.6829  228.9756 228.9756  370.6585

Д л я   к о н тр о л я   то ч н о с т и   в ы ч и с л ен и й   н фу к ц и в ат ь   в ы з о в   funm  с  дмву я   в ы о хн д ы м и   а р гм у е н а т м и м е щ са е т я   и н фо р м а ц и я  о  то ч н о с т и   в ы ч и с л ен и й н фу к ц и и   M ATLAB  (sin ,  cos  и  дргиу е )  м о ж н ги ч н ы м  о б р а з о м , н а п р и м е р » 

В

 =   fu n m ( A, 

'sin ')

П р е пд о ч и т е л ь н е е   п р о и з в о ди т в ан и е м   с п ец и а л ь н ы х   м а рт и ч н ы (ртех А )  в м ест о   funm (А ,  ' е хр ' в а н ы   с п ец и а л ь н ы е   а л г о р и тм ы а л го р и т м   funm. Ф ну кц и с и ме т

и   м а рт и ы  ли н ей н ы

ц  и м ею х  ди фер н ц и аль н ы

т   ш и року

ь   в ы ч и с л ен и я  фн у к ц и й  о т   м а рт и ц   с  и сп о ль з о х   н фу к ц и й  expm,  logm, sqrtm,  т . е. , н а п р и м ер )  и  т . д .  В  эит х   м арти ч н ы х   н фу к ц и я х  р еал и з о ,  р а б о та ю щ и е   от ч н е е   и   н а ед ж н е ,  че м   о бщ и ю   о бласт

т   бы т х  урав н ен и

ь   н а й ед н й  и  си ест

ь   п р и м ен ен и я х  уравн е и

—  = А- ,Х dt м ож е ны

и   о т   м а рт и ц ы   чл у ш е   и сп о ль з о .  В о   в то р о й   а р мг у е н т   по . В срто ен н ы е   м ает и ч е с к и е о   в ы ч и с л ят ь   о т   м а рт и ц   ан ало -

о   п о   фо р м л у м   п о с в ящ е

 

, в  ч аснт о сит й  с  н ач ль н ы

(Х 0)   =  Х

tA е   X(t)  = X0- e .  н  сюлуед щ и й   р а з де л

, реш ен и м   с л о ув и е

, й е

м

0

Р еш ен и

ю   ид ф е р н ц и а л ь .

-

л ав Г

 6. М е т ыо д

 вчиы с лени й

293 zyxwvutsrq

 в  MATLAB 

 дре ифе ацн лыьф

Р е ш ни е

х  ура вне и

й

zyxwvutsrqponmlkjihg

Дан н ы й   р а з ед л   п о с в ящ е н   о п и сан и ю   в о з м о ж н о с ет й ,  п р еод сатв л яем ы M ATLAB,  лд я   ч и слен н о г о   р еш ен и я  з ад ч   К ош и  и  к р аев ы х   з ад ч   лд я   о б ы к н о в ен н ы х   ид ф е р н ц и а л ь н ы х   р уа в н е н и й   п рои з воль н ог о   п о р я дк а   и   с и с е тм в к лю ч а я   к р а ев ы е   з адч и   с   н е и з в е сн т ы м и   п а р м е тр а м и   и   в ы р о ж ад ю щ и м и с к о э ф и ц и е н ат м и .  Р ас м арти в аест я   атк ж е   р еш ен и е  ди ф ер н ц и аль н ы х   р уа в неи й   с  з а п а з ды в а ю щ и м   а р мг у е н о т м .  Д л я   реш ен и я  эит х   з ад ч   п р е нд а з н а ч е н ы   с п ец и а л ь н ы е   н фу к ц и и   MATLAB,  в   в ы ч и с л и етл ь н о й   м а ет и к е   и х   на з ы в аю т zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  .ывре л ос  MATLAB  и м е т   д о с та о ч н о   боль ш о й   н або р   со лв ер о в ,  ос н о в ан н ы х   н а  р а з л и ч н ы х   ч и с л ен ы х   м ео т а д х .

Р е ш ни Дл

е  за д ч я   р еш ен и

и  Кош

я   з адч

и   К ош

, в к лю ч а о   о бщ е

и   в   MATLAB  щсу евт

я   ю с ул ед щ и х  в ы ш

я   сп о с б м   сч л ау м   о браз о

е  с о л в ер о в )

, я -

и т   м ес

ь   с о лв ер о в

ode23, odell3, odel5s, ode23s, ode23t И  ode23tb. Мето д и к

н и я   о ди н а к о в а В   д о с та о ч н и з в о ид с т ч и с л ен ы

х

:  ode45, zyxwvutsr

а  И Х  ИаВОЗЬЛПС

ы   з адн и я  вонхд ы х   и  в ы онхд ы е   вы з о в   с о л в ер а   лд я   р еш ен и я   з адч м   (зсед ь   п о д   so lver  п о н и м аест :

-

х   а р г м у е н то в и   К ош и  п р о я   оид н   и з   п ер

. -

[Т , Y] =  solver(odefun,interval,YO,options)

дг е   odefun  —  н фу кц и я   лд я   в ы ч и с л е н и я   в е к о т р - н фу к ц и и   п рав о й   ч аст и   си е тм ы   руа в н ен и й ,  in t e r va l  —  м аси в   и з  дву х   ч и с ел ,  з адю щ и й   п р о м е ж от у к й   в е к от р   н ач ль н ы х   з н ач ен и й   и ск о лд я   р еш ен и я   р уа в н е н и я ,  YO —  з адн н ы м о й   в е к о т р - нф у к ц и ,  o p t i o n s—  сркту а   лд я   п у р а в л ен и я   п а р м е тр а м и  и о дх м   в ы ч и с л и ет л ь н о г о   п р о ц ес а . С о л в е р   в о з в ращ ае т   м ас и в   т   с  к о р ди н а ат м и   зу ло в   с ек т и , в   к о т р ы х   н а й ед н о   р еш ен и е , и   м арти ц у   р еш ен и й   Y, каж ыд й   с от л б е ц   котро й   я в л се т я   з н а ч ен и е м   к о м п о н ен т ы   в е к от р - н фу к ц и и   ре ш ен и я  в  узла х  секти . Дале е   м ы   ио д б с у н а  р яд е  п о к а з аетл ь н ы З адч нф у к ц и п о р я дк

м   п р и м ен ен и х   п р и м ер о

е   с о л в ер о в  и з  п ер ч и слен ы

а   К ош

в   и   пу р а в л ен и х  в ы ш

е   п р о ц ес о е  к лас о

м   р еш ен и в   з адч

я .

и   я л д   ди ф е р н ц и а л ь н о г о   р уа в н е н и я   со ти т   в   н оа хж е д н и , уод в лето р яю щ е й   ид ф е р н ц и а л ь н о м у   р уа в н е н и ю   п рои з воль н ог а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

и о

WzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC   .А   '  М ) и  н ач ль н ы

м   с луо в и я

м   пр

и   t = t0

294 

С ем х

аЧс т ь

а  р еш ен и

я  та к и

1.  П р и в едн и р ау в н е н и н е т  н ео б хди м о с ит ) 2.  Н а п и с а н и

о   п о р я дк .

а   (елс

е  сп ец и аль н о

3.  В ы з о

о   с о л в ер а я   р е з л у ь ат

м   р еш ен и х   м а ет р и а л ь н о й   с о п р о ит в л е н и

и  дл

х   э та п о в

я   к  си есмт о   з адн я   с и ем т

zyxwvuts

 и  пр о г ам м и р о вани е

т   и з  сюлуед щ и

о  урав н ен и и   и з н ач ль н

й  фн у кц и

в   п о хд я щ е г

4.  В и з аули з ац и Р а з б ер бан и я в аю щ е с я  уравн ен и е

ч   в  MATLAB со сти

х   з ад

е  ди ф ер н ц и а л ь н о г й   п ер в о г

 II. Вчиы с лени я

е  ди ф ер н ц и аль н ы а   с и с етм а

ы  ура в н ен и й

. х ,  т о   в   эот

м

.

. .

е  ди фер н ц и аль н ы й   от ч к и   п о д  в о з едй свти е е  к о л еб а н и ям м   в то р о г о   п о р я кд а

х   р уа в н е н и

й   н а  п р и м ер м   в н еш н е

. П ер м ещ ен и

е  то ч к

е  з а д ч и   о  коле й  си л ы  в  сред , о к аз ы и  в  сред е   о п и с ы в а ет

-

/ '  +  2 /   +   1PJ> =  sin zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO  t. П р е дп о л ж и м л а с ь   еи д н и ц е в и я  и м ею

,  ч т о   к о р ди н а т , а   с к о р с т т  в и д

П ри м е р   н о си т   д е м о н с рт а ц и о н н ы ск и х  в ели ч и н   к у а з ы в а ьт с к  си емст е  ди ф ер н ц и а л ь н ы г а ет л ь н ы х   фн у к ц и й м ы  дв е  в с п о м о га те л ь н ы

а   от ч к ь  —  н люу

.  Т о гд

и   в   н ач ль н ы а   с о в т ес ю у щ и

о   д о г а д ть с я и  усл о в и ям и

, треб ум а

т   в р ем н е   н ач ль н ы

й   а х р к те р ,  п о э тм у   р аз м ер н о ст я   н е  бт уд .  Т еп р ь   и о нс д х у ю   з адч у   н ад х   р уа в н е н и й . Д л я   э от г о   в о дя т   с от л ь к , к а к о в   п о р яд к   руа в н е н и я .  В   да н н о м   с чл у а е   н фу к ц и и   у х   и   у 2  , о п р едля м ы е   ф о р м луа м \У  = У>  

Н ес л о ж н ным

й   м о ен

,  ч т о   си емт я   лд

и  р а в н я е   с л оу

и   фи з и ч е о   п р и в ес т о   всп ом е   н е о б ихд и

-

и -

2У  = У'  •

а   ид ф е р н ц и а л ь н ы я  даль н ей ш е

х   р уа в н е н и й  р а б о ты

, та к о в

й   с  н ач ль а zyxwvutsrqponmlkjihgfedcba

oj" В от р й   э ат п   с о т и т   в   н ап и сан и и  фн у к ц и и руа в н е н и й .  Ф ну к ц и я  до л ж н а   и м ет ь   вд а   во н хд ы п о   котро й   п р о и з в о д и ст я   ди ф е р н ц и р о в а н и е рав е н   ч и сл у   н е и з в е сн т ы х   н фу к ц и й   с и е мт ы фи к с и р о в а н ы , да ж е  есл и   t  яв н о  н е  вохид т  в н фу к ц и и   я в л се т я   в е к от р   п рав о й   ч аст и   с и е мт ы р аз би р аем о г о   п р и м ер а  п ри в ед н  в  л и сит н г е

 дл

я   с и емт ы   ид ф е р н ц и а л ь н ы х х   а р гм у е н а т :  п ер м н у ю   /, , и   в е к то р ,  р а з м е р   котрог о .  Чи с л о   и   п о р я до к   а р гм у е н от в  си есмту .  В ы онхд ы м   а р гм у е н о т м .  Т ек с т   н фу к ц и и   o sc il  лд я   6.15.

л ав Г

 6. М е т ыо д

 вчиы с лени й

 в  MATLAB  

2

95zyxwvutsrqpo

Р еш и т е   з адч у ,  и с п о ль з яу ,  н а п р и м ер ,  со лв е р   o d eii3.  Вондх ы м и   а р мг у е н ат м и   с о л в ер о в   в   сам о м   п рост м   сч л ау е   я в л ю ст я :  куаз етл ь   н а   нф у к ц и ю   (и л и е е   и м я   в   а п о с тр о фа)х ,  в ек от р   с   н ач ль н ы м   и   к о н еч н ы м   з н а ч ен и е м   в р ем н и х   а рм гу е н н а б л ю ед н и я   з а   п р о ц ес о м   и  в ек от р   н ач ль н ы х   с ул о в и й .  В ы ондх ы от в   дв а :  в е к то р ,  соедр ж ащ и й   з н а ч ен и я   в р ем н и ,  и   м а рт и ц а   з н ач ен и й   и ск о м ы х   н фу к ц и й  в   со втес юу щ и е   м о ен т ы   в р ем н и .  З н ач ен и я  фну к ц и й  р а с п о л ж ен ы   п о   с от л б ц а м   м а тр и ц ы ,  в   п ерв о м   с то л б ц е —  з н ач ен и я   п ер в о й нф у к ц и ,  в о   в то р м   —  в то р й   и  т . д .  В   ис л у   п р о едл ан н ы х   з ам е н zyxwvutsrqponmlkjihgfe   у х   =  у, У  г  = у\   йвпыре  сце б лто  маитцры   с о е др ж и т   ка к   р а з   з н ач ен и я   н е и з в е с нт о й н фу к ц и и   y(t) 9  йещ я вдхо   в   е о н д х и со е ьон циалр фе иф д   авуин,ре   а   в то р о й с от л б е ц  —  з н ач ен и я   е е   п р о и з в о дн о й .  К а к  п р а в и л о , р а з м ер ы   м а рт и ц ы   и  век е   ср аз у   от браз и т ь   р е з л у ь ат т   н а   гр а т о р а   д о с та о ч н о   в ел и к и , п о э тм у   чл уш фи к е .  П р и м ен ен и е  со лв ер а   л д я   н о а жх е д н и я   р еш ен и я   п р и   t  > sxint = deval(sol, xint) п р е дп о л а г е е уд

т   вы ч и сли т с ы в а ю ст к о м п о н ен п р и м ер со т я щ и к о м а н ды

т   куа з н и е   в е к то р а   xin t  с  к о р ди н а т м и   от ч е к ь   р еш ен и е .  Н а й ден н ы е   з н а ч ен и я   к о м п о н ен я   в  в ы охнд о м   а р мг у е н ет ,  т .  е . в   sxin t  (:,  i)  рхан яст т   и ск ом й   в е к о т р - н фу к ц и и   в   от ч к е   с   к о р д и н а то ,  лд я   в ы ч и слен и я   к о м п о н ен т   р еш ен и я   н а   о рт е з к х   от ч к а х   с  ш аго м   0.02  и  п о срт ен и я  гр а фи к о в  до с та о ч н :

,  в   к о т р ы х   сле т   п о с тр о ч н о   з ап и я   з н ач ен и я  все й   xi n t ( i ) .  Н а е   [0, 5]  в   р а в н о т о   вы п олн и т

х ь

»  xint = 0:0.02:5; »  sxint = deval(sol, xint); »  plot(xint, sxint(1,  :), xint, sxint(2, :)) И н ет р п о л я ц и ч с ал у во н хд ы

я   воз м ожн е  н ео б хид м х   а р мг у е н от

о   ку а з т в

а   то л ь к о   лд ь   и х   н о м ер

>> sxint = deval(sol, xint, idx)

я   н ек о т р ы а  в  в ек от р

х   к о м п о н ен е   idx  и  в к лю ч и т

т  р еш ен и я

, в  эот ь   ег о  в  сп и со

м к

298 

аЧс т ь

 II. Вчиы с лени я

zyxwvut

 и  прогам м и р о вани е

В   н аш е м   п р и м ер е   р еш ен и е   з адч и   К ош и   лд я   с и емт ы   ид ф е р н ц и а л ь н ы х р уа в н е н и й ,  с о втесюу щ е й   и о с н хд о й   з адч е   л д я   ди ф е р н ц и а л ь н о г о р ау в н е н и я   в то р о г о   п о р я дк а ,  б ы л о   п о чл у е н о   п р и   п ом ощ и   с о л в ер а   o d eii3, котры й   осн ова н   н а   м ое т д е   дАа м с а —Бэ ш ф о р та —М и л то н а .  К р о м е   с о л в ер а o d e i i 3 ,  M AT L AB  и м е т   е щ е  р я д   с о л в е р о в   дл я   з а да ч и   К ош и :  ode45,  ode23, я   о т o d e i5s,  ode23s,  o d e23t ,  o d e23t b,  и н т е р ф е й с   к о то р ы х   н е   о тл и ч а е тс o d e l l 3 .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Пр и м е ча н и Вы зо в   с о лв р е н ак о в м у   в ы бо р о б д а в л яе т   о ч н п т р м ы ж еу ач е  обрща не и П р и   вы бор е   с о л в ер с и ем т ы   ид ф е р н ц и а л ь н ы р е з л у ь ат т   и л и  з а тр а ти т р а з де л е   н а   п р и м ер с я  в а ж н о с т ь   с о вт е с и

Р е ш ни

е  ура вне и

В   к а ч е с тв

е   объект

з а   с ущ е с т в о в а н и е ков

.  Ч и с л

е а   с  он ди у   з ол у

м   и  дм ув я   н вы од х м и   м н е у ра г т в   н а  зан д о м   рзе о т к . Еи дн ве тсн ы е   о ч кт и   и  са м  ещялв утсое у  с  дм ув я   н вы од х м и   м н е а ур г и т

я  к  нм е а   лд

я   р еш ен и ь   сли ш к о

е   с и ем т

м   м н ог ы   р уа в н е н и

я   с о л в ер

а  р еш а ем о

й  Ли— т о к т л о ьеВ р а   и с л е до в а н и в   и  ж е р т

т   к  ои д р   ode45 ю  в  су л -

й  своел т   и н р пе т о ц л я и .

и   н е о б х ид м о   ч у и ыт в а т ь   с в о й свт ,  и н ач е   м ож н о   п о лч у и т ь   н еот ч н ы о   в р ем н и   н а  р еш ен и е . В   ю уследщ е й   Ло тк и —В о л ь те р ы   е д м о н с р т и р е ту й   з адч е .

х   руа в н ен и й

.  О б о з н а ч и м о   хи щ н и к о

я   з адч

и   п ри вод

а й м -

ы я   воз ьме

м   м о де л

ь   Л о т к и —В о л ь т е р р

ы   борьб

ы

:zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG   у {  (t)  —  ч и с л о   ж е р тв ,  у 2  (t)  —  ч и с л о   хи щ н и в   в  т е ч е н и

е   врем ен

и   t  и з м е н я е т с

я  п о  з а к о н

у

\ у'\ =Р'У\ - Р'У\ У2> \2У =- 'К 2У +

Г

'У\П У

г д е   Р —  ув е л и ч е н и е   чи сл а   ж ерт в   в   о т с ут с т в и е   хи щ н и к о в ,  R—  ум е н ь ш е н и е чи сл а   хи щ н и к о в   в   о т с ут с т в и е   ж е р тв .  В е р о я т н о с т ь   п о е да н и я   хи щ н и   П к о м   ж е р тв ы   п роп орц и он альн а   и х   чи сл у   \У 2У * Р И   э то м   слагаем о е ~Р'\У 2У   с о т в е т с т в уе т   вы ми ран и ю   ж е р тв ,  а   г •  у х у 2  —  п о я в л е н и ю   хи щ н и ков .  В о з ь м и т е   дл я   п р и м е р а   Р  = 0.8,  R =  1,  р   =  г  =  0.001,  с ч и т а й т е ,  ч т о  в  н а чальн ы й   м ом ен т   врем ен и   бы л о   1000  ж е р т в   и   1100  х и щ н и к о в .  П р и  п о м о щ и солвер а   o d e i i 3  р е ш и т е   э т у   с и с те м у   ди ф е р е н ц и а л ь н ы х   ур а в н е н и й   дл я Г  <  100,  а   з а т е м   и с п о л ь з уй т е   ode23s  (з а д а н и е   е г о   а р г ум е н т о в   п р о и з в о ди тс я ан ало ги ч н о   o d e i i 3 ) .  В ы в е д и т е   п о л уч е н н ы е   пр и   п омощ и   o d e i i 3  и   ode23s реш ен и я   н а   раз н ы е   графи к и ,  и   с р а в н и т е   и х .  Л и с т и н г   6.16  с о д е р ж и т   те к с т н е о б хо д и м ы х   ф ун к ц и й .

л ав Г

 6. М е т ыо д

 вчиы с лени й

299 zyxwvutsrqpon

 в  MATLAB

,  от ч н ы м   р еш ен и е м   з адч и   Ло тк и —Во л ь те р ы   н а   п лоск ост и zyxwvutsrqpon я   з а м к н ат у я   к ри в ая .  Г р а фи к и   п р и б л и ж ен н ы х   р еш ен и й , п р и в е г   о т   рд г а у ,  о хт я   в ы ч и слен и я  п о ед н н ы е   н а   ри с . 6.9,  си ль н о   о лт и ч а ю ст я   рд у му о л ч а н и ю   в   o d eii3  и   ode23s  п р о и сохяд т   с   о ди н а к о в й   то ч н о с ть ю .  П р и б л и ж ен н о е   р еш ен и е ,  п о члуен н о е   с о л в ер о м   ode23s,  н а м н о г о   от ч н е ,  че м   в сч л ау е   o d eii3.  Д ел о   в   то м ,  ч т о   руав н ен и я   Ло тк и —Во л ь те р ы   яв л ю ст я п р и м ер о м  та к   н аз ы в аем ы х  ткс их же   ,тимес  дл я   реш ен и я  к о т р ы х   в   п ак ет е M ATLAB  и м ею ст я   с п ец и а л ь н ы е   с о л в ер ы .  Оид н   и з  них —  ode23s.  В   сп ра вочн о й   с и ем т е   MATLAB  п ри вед н   рд г о у й   п ри м е р   ж е ск т о й   з адч и   —  руав н ен и е  В ан - ерд- П ол я   с  б о л ь ш и м   з н а ч ен и е м   п а р м е тр а , дл я   и с леодв ан и я  к о то р о й   е с ул д т  п р и м ен ят ь  сп ец и аль н ы й   со лв е р   odei5s  (см . р а з д .zyxwvutsrqponmlkjihgfed  Mathematics: Examples:  Differential  Equations  -  Initial  Value  Problems,   п о рд а з едл ы   The  van der  Pol Equation, ц   =  1000 (Stiff)  и  Stiff Problem (van  der  Pol  Equation) с п р а в о ч н о й  си емст ы   MATLAB).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Ка

к   и з в е с нт о у х у 2  я в л е с т

ше Р ине

е   и н е в ра у

й  Л-а к от ре т ьоВл

а  (ode113)

ше Р ине

е  уиневра

й  Л-а к от ре т ьоВл

а   (ode23s)

1100

1000

900

800

700 700 600

600

900 

1000  1100  1200  1300  1400 в рт же ы

700 800 900 1000 1100 1200 1300  1400

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA втреж ы

Рис

И та к ,  п р и   реш ен и н ач ль н ы м и   с лу о в и я м о т   св о й ст в   з адч и м ен и я  с о лв ер о

.  6.9.  С р а в н е н и

е  с о л в е р о

и   в   MATLAB  ид ф ер н ц и аль н ы и   е с ул д т   п рав и ль н .  В   ю уследщ е м   р а з ед л в   MATLAB.

в  o d e l l 3  и   ode23s

о   вы би рат е   к р а тк

х   р уа в н е н и ь   со лв е о   о б ж с а у дю с т

й   и   си е т м  с р   в   з ав и си м о ст и я   о бласт и   п ри -

300 

аЧс т ь

  II. Вчиы с лени я

zyxwvuts

 и  пр о г ам м и р о вани е

; zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л ист ин г  6.16. Ф а йл - иц кну ф я  дл я  с ра вне и я  ode45  и  ode23s izyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

function comparesolvers % фи н а в о р и м р о

е  вр о т к е

а  ны н ь л а ч

х  уи в о л с

й

Y0 =  [1000; 1100]; % во з ы

в  ср е в л о

а  odell3

[Т , Y] = odell3(@LotVol,  [0 100], Y0) ; % во в ы

д  гк и ф а р

% в  вд и

а  ри н е ш

я  иг о н д о х с

е  п оксечиртемар

о г  д оньлаицнер ф и

й  ко в и р

о  уи н е в а р

я

й

subplot(1, 2, 1) plot(Y(:, 1), Y(:, 2)) % во в ы

д  пи н е с я о

й  н а  ги ф а р

title('Ри н е ш

й  Л— икто р етьлоВ

ы   (odell3)')

1

xlabel('жывтре

)

ylabel('х' ик нщи %во з ы

к

е  уи н е в а р )

в  ср е в л о

а  ode23s

[Т , Y] = ode23s(@LotVol,  [0 100], Y0) ; % во в ы

д  гк и ф а р

% в  вд и

а  ри н е ш

я  иг о н д о х с

е  п оксечиртемар

о г  д оньлаицнер ф и

й  ко в и р

о  уи н е в а р

я

й

subplot(1, 2,zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  2)zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA plot(Y(:, 1), Y(:, 2)) % во в ы

д  пи н е с я о

й  н а  ги ф а р

title('Ри н е ш

е  уи н е в а р

xlabel('ж' ывтре

й  Л— икто р етьлоВ

ы   (ode23s)')

)

ylabel('х' ик нщи % пи ц к н у ф д о

к

) я  ви н е л с и ч ы

я  пы в а р

х  че т с а

й  уи н е в а р

й

function F = LotVol(t, у ) F =  [0.8*у(1 ) -  0.001*у(1)*у(2)

об ы В

р  сол ве р

В   да н н о м   р а з де л р еш ен и я   о б ы к н о в ен н ы ч аль н ы м и   сул о в и я м и от д а х   р еш ен и сан и е м   а л г о р и тм о M ATLAB.

а  дл е   о п и сан

я  ре ш ни а   с рт а е ги х   ид ф е р н ц и а л ь н ы .  Ч и та е л и

я   ид ф е р н ц и а л ь н ы в   с о лв ер о в

; - 1.0*у(2 ) + 0.001*у(1)*у(2)]

я  за д ч

и  Кош я   п р и м ен ен и

,  и м ею щ и х   руа в н ен и й ,  к о т р ы е   п р и в е дн

и zyxwvutsrqponmlkjihgfedcbaZYXWVU я   с о л в ер о

х   р уа в н е н и е   п р е сд а т в л е н и ,  м о гу

;

в   M ATLAB  лд й   и л и   си е т м   с   на е   о   ч и с л ен ы х   ме т   в о с п о л ь з о в а ть с я   оп и ы   в   сп рав о ч н о й   с и ем т

я е

л ав Г

 6. М е т ыо д

 вчиы с лени й

301 zyxwvutsrqpo

 в  MATLAB 

О ч ен ь   ч аст о   со лв е р   ode4 5 дае т   в п о л н е   о хр ш и е   р е з л у ь ат ы ,  и м   соти т   вос п о л ь з о в а ьт с я   в   п ер в у ю   о ч е р ьд .  О н   о сн о в а н   н а   ф о р м л ау х   Р ну ге—Кту ч е вт р от г о   и   п я от г о   п о р я дк а   то ч н о с ти .  С о л в е р   ode23  атк ж е   осн ова н   ф о р м л ау х   Р ну ге—Кыту ,  н о   ж у е   бо ле е   н и з ког о   п о р я дк а   то ч н о с ти .  И м е см ы с л  п р и м ен ят ь  ode2 3 в  з а д ч а х , соедр ж ащ и х   н еб о л ь ш у ю   ж е с кт о с ьт ,  к о гд р т е бс у я   п о чл у и т ь   р еш ен и е   с  н ев ы со к й   е сп т н ь ю   то ч н о с ти .  Е сл и   ж е   рте с ет б у я   п о чл у и т ь   р еш ен и е   н е ж ск т о й   з а дч и   с   вы сок й   то ч н о с ть ю ,  т о   н аи т   адс т   o d eii3,  о с н о в ан н ы й  н а   моетд е   п ер м ен н о г о   п о р я дк чл у ш и й   р е з л у ь ат дАа м с а —Бэ ш ф о р та —М и л то н а .  С о лв е р   odeii3  о к аз ы в аест я   о с б ен н о   эф фе к и т в н ы м   лд я   н е ж к с ти х   си е т м   ид ф е р н ц и а л ь н ы х   руа в н е н и й ,  п р а в ы ч аст и   котры х   в ы ч и с л я ю ст я   п о   сло ж н ы м   ф о р м л уа .  Вс е   солвер ы   п ы ат ю ст н ай т и   р еш ен и е   с   о нт о с и ет л ь н о й   от ч н о с ьт ю   1(Н   и   а б с о л ю т н о й —  К Н .  оХ рош и м   е тс о м   к а ч е с вт а   п р и б л и ж ен н о г о   р еш ен и я   я в л се т я   в еу л и ч е н и е   от ч н о ст и  в ы ч и слен и й   (з адн и е  то ч н о с т и   в ы ч и с л ен и й   и  р яд а  дргиу х   п а р м е тр о о п и сан о  в  сю уледщ е м   р а з ед л ) . Е сл и   в с е   п о п ы кт т о  в о з м о ж н о си е т м   п о хид котры й   од п с у к а е ад ч у   с   н ев ы с о к ode23s, р еали з юу щ и

ы н а

и   п р и м ен ен и я   ode45,  ode23s,  odeii3  н е   п р и в о дя т   к   с п у хе , ч т о  р еш а ем а я   с и емт а   яв л сет я  ж ескто й . Д л я  р еш ен и я  ж ексти т   со лв е р   odei5s,  о с н о в ан н ы й  н а  м н о г ш а го в м   м ое т д е   Г и ра т   и з м ен ен и е  п о р ядк а .  Е сл и  требсту я   р еш и т ь   ж к е с ут ю   за й   то ч н о с ть ю ,  т о   охр ш и й   р е з л у ь ат т   м ож е т   да т ь   с о л в е й   о дн о ш а г о в ы й   м ое т д   Р о з ен б р о к а  в то р о г о   п о р я дк а .

т а а е я в , х , р

П р о с ет й ш е е  и с п о л ь з о в а н и е  в ы ш еп реч и слен н ы х   с о л в ер о в   п р о и з в о ди с т я  та к   "Са хме  ринеяш   ач з д   с  и м ьын алч и"м увиоя лс ж е ,  к а к   и   odeii3zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   (с.м  р.азд й а он д  г)авы л .

П р и   р еш ен и и   п р а к ит ч е с к и х   з ад ч   в аж н о   к о н тр о л и р о в а т ь   в ы ч и с л ен и я .  В с е с о л в ер ы   од п с у к а ю т   з адн и е   р яд а   п а р м е тр о в ,  п о з в о ляю щ и х   п овы си т ь   эф фе к ит в н о с т ь   в ы ч и с л ен и й   в   з ав и си м о ст и   о т   р еш а ем о й   з адч и .  В   ч а с нт о с ит , п р и  реш ен и и  жкести х   з ад ч   з адн и е   як о б и ан а  си емст ы   п о з в о л яе т   в уе л и ч и т ь б ы с р т о ед й с в т и е   в ы ч и с л ен и й .  О нд о й   и з   в а ж н ей ш и х   а х р к ет р и с ит к   п ри бли ж ен н о г о  р еш ен и я  явлсяет я  ег о  ттьс.он ч zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM

е  проец с о

п р а Ув л е ни Э ф е к ти в н о н и м ан и я   осн овн ы M ATLAB  н вы брат ь   п о дх я щ и и   п р о и з в ес т бли ж ен н о г о то ч н о с ть ю . С о л в ер в ы ч и с л и е тл ь н ы

м  ре ш ин

е   р еш ен и

я

е   ди ф е р н ц и а л ь н ы

о   бе з   п о .  С о л в е р ы я   "ч е р н ы м и   ящ и к ам и " .  П о л ь з о в а те л ю   н е о б х ди м о й   со лв ер ,  в   з а в и с и м о с т и   о т   свой ст в   р еш аем о й   з ад ч и , е   су та н о в к и ,  о б е с п е ч и в а ю щ и е   п о лчу е н и е   п ри я   с   тр е б у м ы м и   с в о й с тв а м и ,  н а п р и м е р ,  с   з а д н н о й

х   воп росов е   я в л ю ст и   н е о б х ди м ы   р еш ен и

ы   од п с у к а ю

т   куа з н и м   п р о ц ес о м

х   ру а в н е н и х   с  ч и с л ен н ы м

, с в яз а н н ы

е   п а р м е тр о .  С п о с

б   з адн и

в   л д я   к о н тр о л я   п а р м е тр о

й   н ев о з м о ж н и  м е то да м и

я   и   пу р ав л ен и в   с о л в ер о

я в   ode4 5,

302 

аЧс т ь

 II. Вчиы с лени я

 и  прогам м и р овани е

zyxwvutsrq

  а н а л о ги че н   т о му ,  к о т о р ы й o d e 23,  o d e l l 3 ,  o d e l 5 s ,  o d e 2 3 s,  o d e 2 3 t  И  o d e 2 3 t bzyxwvutsrqponmlkjihgfedcbaZYXWVUTS в ы  п р и м ен ял и  п р и  н оажхенд и и   корн е й  фн у к ц и и  и л и  л о к а л ь н ы х   м и н и м уов . З н а ч ен и я   п а р м е тр о в   з а п и с ы в а ю ст я   в   пу р а в л яю щ у ю   с р кт у ,  к о т р а я с о з а де т я   н фу к ц и е й  odeset.  В  общ е м   сч л ау е   о б р ащ ен и е  к  odeset  и м е т  в и д :

o p t i o n s  =   o d e se t ( . . . ,  ' в и д _ к о н т р о л я ' П а р м е тр п р и в е нд м н о иг п о ч л уе н и

ы   со лв ер о в ы   в   та б л

,  с грпу и р о в а н н ы .  6.6.  С елуд в   м ож е т   п о в л еч х   р е з л у ь ат о в

х   п а р м е тр о е   н ев р н ы

,  з н а ч е н и е

,  . . . )

е   в  к аетго р и и   п о   с в о ем у   н аз н ач ен и ю , ь   в   в и уд ,  ч т о   н е о п р а в да н н о е  и з м ен ен и е ь   м уен ь ш ен и е   э ф е к ит в н о с т и  с о лв ер а   ил и .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF

т   и м ет

 6.6. Пытер амр

и ц Та л б п у Гр

Им а

К о н р от л ыв ч и н е л с

ь  точн ост й

Ша

е  дан ы

Як о б и а М р иа т ц

J a c o bia n ,  J P a t t e r n ,  Ve c t o r iz e d

а  мса с  и  мриат ц ы  ОД У

С о бы и т

M ass,M StateD ependence,  M vP attern , M assSin gu lar,  I n i t i a l S l o p e а

E ven t s я

Т о ль к

MaxOrder, BDF

о  дл я  ode 15s

С р тк у а   с   о п ц и ям optim set  п р и  р еш ен и

и   с о л в ер о и  урав н ен и

в   м о и д ф ц и р ес т у й   и  м и н и м и з ац и

options = odeset(options, в_д и я л о р т н о к Вы зо окн ск обк а

в   odeset  бе з   овндх ы е   и м ен а   в се х   с в о й с т х   куа з н ы  з н а ч е н и я

Ф ну к ц и р ут

)

O u t p u t F c n , O u t p u t S e l, R e fin e , S t a t s е

н

м е итс

д   я ол р т онк

I n i t i a l S t e p ,  M axStep я

н В доы х

а   (ви

R elTol, AbsTol,  N ormControl и

г   и н р гие т о в а н и

я  прет ма р

 odeset

, з,е и н е ч а н ...

х   а р мг у е н от в   и   и х   воз м ожн ы , и сп о ль з ему ы

я   odeget  п р едн а з н а ч ен

я   та к   ж е и  фну к ц и й

а   лд

,  к а к   и   в   чслау е  с :zyxwvutsrqponmlkjihgfedc

)

в   п о з в о л яе

т   п о с м о рт е е   з н ач ен и я

е   с о л в ер ам я   и з в л еч н и

ь   в   к о м а н дн о м   в   ф и р г ун ы .

,  п ри ч е и   п о  ум о л ч а н и ю я   з н ач ен и

я  с в о й свт

м х

а   и з   к р с ут

-

ы

инечанз Пр лен о П р е дн а з н а ч е н и вочн о

е  = odeget(options, _д и в я л о р т н о к и   ге н е р а ц и , в  э от й   с и е мт

и   ср к т у м  счлуа

ы   н фу к ц и е е   в о з в р а щ а е ст

е  все .  Д л

)

х   п а р м е тр о я   п о чл у е н и

я   п ос т у

й  odeset  з н ач ен и й   м ас и в

в   с о л в ер о в   раск ры т я   эот й   и н ф о р м а ц и

е  м о гл

о   бы т

ь   н е  о п ред

-

. о   в   и н те р а к ти в н о и   о б р а ит е с

й  сп ра ь   к   о п и сан и

ю

л ав Г

 6. М е т ыо д

 вчиы с лени й

303 zyxwvutsrqpo

 в  MATLAB 

,  н а п р и м е р ,  и н екдсн ы м   п ои ск о м   н а н фу к ц и и   odeset  (в о с п о л ь з о в а ш и с ь в к лад е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Index)  и  к  р а з д . Mathematics: Differential  Equations: Initial Value Problems for  ODEs  and  DAEs: Changing  ODE  Integration Properties.   Р я д   о п ц и й  со лв ер о в ,  к   и з м ен ен и ю   котры х   п р и о хд ст я   п р и б е га т ь   н аи бо ле е   ч а с то ,  м ы р а с м о рт и м   в  сю улед щ и х   н ес к о л ь к и х   р а з ед л а х .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP

е  т онсчт

З а д ни Т оч н ост б л и ж ен н о г да н н о г к о н тр о л

ь   в ы ч и с л ен и о   р еш ен и я о   в и д а   к о н тр о л я  то ч н о с т

1.  П о   л о к а л ь н о есл и  п а р м ет 2.  П о   ев к ли одв

и  всилечны

й  и  ша г

й   о к аз ы в ае . Уп р ав л яю щ и я   п ер ч и с л ен и  в  з ав и с и м о с т

а  итн е ригаовн

т   щ с у е вс т н о е   п а р м е рт ы   в   та б л и  о т  з н ач ен и

я

е   в л и ян и ы   с о л в ер о .  6.7.  Д о п сук аест я  п а р м е тр

е   н а   к а ч е с вт о   п ри в   и  и х   з н ач ен и я  дл я   дв а   с п о с б а  N ormControi:

я а

й   п о гр е ш н о с т и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   е 1  z'- о й   (yt)  к о м п о н ен т ы   в е к то р а   р еш ен и й , р  N ormControi и м е т  з н ач ен и е   ' o ff  (п о  ум о л ч а н и ю ) . й   н орм

е   п о г р е ш н о с ит

,  лд я   N ormControi, усат н о в л ен н о г

о  в

'оп \

В   п ер в о м   чс л ау е   от ч н о с т ь   с ч и а с ет я   од с и т г н о т у й   п р и   в ы п о л н ен и и   с лу о в и т  в е к то р а   р еш е Ј / ( ^ )  > options = odeset('OutputFcn', @odeplot) »  [T,Y] = ode45(@oscil, [0 15], Y0, options); П р е сд а т в л е н и и з в о ид с т

е   р еш ен и

я   н а   фа з о в й   п ло ск т И  odephas2!

и  ПОМОЩ

я  п р

и   та к о е

, к а к   н а   р и с

. 6.13,  п ро

-

>> options = odeset('OutputFcn', @odephas2) »  [T,Y] = ode45(@oscil, [0 15], Y0, options); П о л ь з о в а те л н и я  и л

ь   м ож е и  о б р а б о тк

Р а с м о рт и те г р и р о в а н и

т   с о з ад в т и   р е з л у ь ат о

м   о ид н   п рост е  ди ф ер н ц и а л ь н о г

ь   св о в   к а ж од г

и   фа й л - н фу к ц и

и  дл о   ш аг

й   п р и м ер

.  Т ресбту

а   ч и с л ен н о г

я   в и з аул и з а ц и о  и н те гр и р о в а н и я

и   р еш е

я   п р о и з в о ди т ь   ч и с л ен н о е   ин я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM

о  урав н ен и

у"   + у  =  е л   (sin х  +  2cos у )  пр

и   н ач ль н ы

ни

я   н фу к ц и

н о в ен н ы ч аст

х   с л уо в и я

х   у( 0 ) =  0 ,  F(t,Y,Y)  д о   ет х   п о р

и   у( х)   н е  п р ев з о й ед х   ид ф е р н ц и а л ь н ы

ь   в  фай л- нфу к ц и

т   100.  П р и в еид т х   р уа в н е н и

и  syst  (ли ст н

.

е  урав н ен и й   и   з а п р о г р а м и р йу т

г  6.18).

(6.6) , п о к

а   м л оуд

ь   з н ач е

е   к  си есмт

е  о бы к е   е е   п рав у

ю

-

л ав Г

 6. М ет ыо д

 вчиы с лени й

 в  MATLAB

- 0.2 

- 0.4 

Рис



. 6.13. В и залуи з ац и

я   р еш ен и н а  фаз о в

нт с и Ч

г  6.18. Прав

0.2 

я  част

f u n c t i o n  F  =   s y s t ( t , 

ь  сист е м

я  ди фер н ц и аль н о г й   п ло ск т

309zyxwvutsrqponm

0.4 

0.6 

0.8 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ

о   р а ув н е и я  (6.4) и   (odephas2) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR

ы  де рф инца л ньы

х   р у а в не и

й  ( 6.6)

у )

F  =   [ у ( 2 ) ;  e x p ( t )  . * ( s i n ( t )

2* cos(t))  -   yd)];

П р и   вы з ов е   с о л в ер а ,  к  п р и м ер у ,  o d eii3,  ртесбу рован и я , н о  ег о   п р ав я  гр а н и ц а  з а р н е е  н еи з в еснт в   ка о й   м о ен т   в р ем н и   м л оу д ь   з н а ч ен и я   н фу к ц и п р и м ер , дл я  о рт ез к а   [0,  10]  п о члуаю ст я   щ с у е вс т н

я   ку а з а т ь   о рт е з о к   и н е тг р и а  —  м ы  н е  з н ае м  а п р и о р и и   с а нт е т   боль ш е   100.  Н а о   бо ль ш и е  з н а ч ен и я :

, -

»  [T,Y]  =  odell3(@syst,  [0,  10],  [0  1]) »  plot(T,  Y(:,  1)) Вы ох д   со ти т   в   н ап и сан и и  фай л- нфу к ц и и  дл я   о б р а б о тк и   з н ач ен и я , в ы ч и с лен н о г о   н а   щек ту е м   ш аг е   и н те г р и р о в а н и я .  С о л в е р   е д бу т   в ы з ы в ат ь   эт н фу к ц и ю   п о сл е   к а ж од г о   ш аг а   и  ощсу есвтля ь   ад л ь н е й ш и е   е дй с в т и я   в  з ав и си м о ст и   о т   в о з в р ащ аем о г о   е й   з н ач ен и я . Н а з о в е м   э т у   н фу к ц и ю   soiproc.  Е з а го л в о к   од л ж е н   и м ет ь  в и д : fun ction  st a t u s  =  so ip r o c ( t ,  y,  flag)

у е

-

310 

н Во д х он д

аЧс т ь

й   а рм гу е н о  и з  тре х  з н ач ен и й

т   flag  явслет , к о т р о

1

•   ' i n i t   —  п р и   п ерв о ц се а   и н те г р и р о в а н и я от в  —  г р а н и ц   о рт е з к ч аль н ы х  з н а ч е н и й

я   с рт о к в о е  в  сво ю  оч ерд

м   вы з ов .  П р а   и н ет г р и р о в а н и

 II. Вчиы с лени я

й   п ер м н о ь   о п р е л дя

й   и   м ож е т   с о е рд ж и м о

е   н фу к ц и и   soiproc  с о лв ер о и   эот м   t  явлсет я   в е к от р я   п о   в р ем н и

1

т   п р и н и м ат

ь е   t zyxwvutsrqponm   ц  у :

м   д о   н ач л а   п ро м   и з   в уд х   э л ем н ,  а   у   —  в ек от р м   на -

;

•   •   '  (пасту я   с рт о к а ) —  п осл е   к а ж од г о   ш аг а   и н те г р и р о в а н и я а р мгу е н ат х   t  и  у  н оахядст я   е кт щ у и е   з н а ч ен и я  а р гму ен т т   t  м ож е т   с о ед р ж а т ь   н ес к о л ь к г о   р еш ен и я . Армгу ен п р и   эот м   в   i- о м   сот л б ц е   м ас и в а   у   з ап и сан ы   з н ач ен и н и я  дл я   t  ( i ) ; •   'don e   —  п о сл аль н ы х   руа в н е н и й

zyxwvu

 и  пр о г ам м и р о вани е

е   з ав ер ш ен и . В  к ач есвт

я   ч и с л ен н о г е   t  и  у  п ер адю ст

.  В о   овндх ы

х

а   и  п р и б л и ж ен н о о   е тк щ у и я   к о м п о н ен

о   р еш ен и

я   с и ем т я   п сы т у

х   з н ач ен и й

, т  реш е

-

ы   ид ф ер н ц и

-

е   м ас и в ы

.

я   п ос т у й   с тр о к о й , дл и н а   в о х дн о г о   а р мгу е н т а  t В   с ч л уа е ,  к о гд а   flag  явлсет о п р е дл я с т я   з н а ч ен и е м   с в о й свт а   Refine.  П о   му о л ч а н и ю   он о   равн о   1 и  вс е с о л в ер ы   (к р о м е   ode45)  н а   к ажод м   ш аг е   удб т   в ы з ы в ат ь   н фу к ц и ю   soiproc то л ь к о   о т   о дн о г о   з н ач ен и я  н ез ав и си м о й   п ер м ен н о й . С о тв е с тв е н н о ,  у   уб м   п оль з о е д т   в е к от р м   с о   з н а ч ен и ям и   к о м п о н ен т   р еш ен и я ,  че м   м ы   и   е д бу в а ьт с я  в  н аш е м  п р и м ер е  дл я   со лв ер а   o d eii3.zyxwvutsrqponmlkjihgfedcbaZYXWVUTS ^ 

Пр и м е ча ни

ю п я л в а р щУ и й  п мрате о ры к т х   с т ы ве я ич л с Refine  на етлвос у о ль т к о  дл я  кон ц щ еук м   ш е га . П р з ек р е   и н р г е т о в на и я к ь ос л о  указн о п ц с е ьи н л а ы х   н ж ел о п д и р й ич е  о т  оьлан тс ы х

е р  Refine  н пдзаер ч н  дл я   ш е нр и е   н а   о дж а к м   ш га н  в  1 (п о  умчнола и ю ) , т о  пирлнбже о а  орзетка , п о  корм т у   п ио р с з т д в и  униелч в и  Refine  с тя дов я   ч о н т ы п ж ум о р е ,  оркыт е   р аз б и в аю т   ге  в  Refine.  шРен и е  в  эи т х  точка , энокщмя и х  вм ер я  са тче , вд гес а   п о  унчмало и ю  ие пьсзлоу

е   работ ы   н фу к ц и и   soiproc  фо р м и ресту В   р е з л у ь ат st a t u s,  к о т р ы й   м ож е т   бы т ь   1  л и б о   0.  Е сл н фу к ц и я   soiproc  в ер н лу а   1, т о   п р о ц ес с  и н те гр и р о в а н и л и  0 —  т о   п р о д л ж а е тс я . И та к ,  н а м   ртебсу я   з а п р о гр а м и р о в а т а л г о р и тм :  сел и   fl a g—  п сату 100, т о   в ер н ту ь   1, и н ач е  в ер н ту в  л и сит н г е   6.19.

ь   нф у к ц и ю я   с рт о к а   и   мл о у д ь   0. Т ек с т  требму о

и   со лв е

я  унилеч в

я  чилс

а  точке

е   и н р г е т о в на и я

.  л сЕ е  рше н и

я  и рнигеоват и

е  нси тдо ха

е  н а  те е   оч к т и  н а  от о   и н о вл р а е т , я   пр и  пщмо и р  ode4 5, в  оил т .

о   н а   о ь л к тс х   с ы т в е яи ч л с . Свеол т  4 и н рвеал т я   в ы о х дн о р   о б н а р жу и в а е т я  п р е к р а щ а е тс я

й   а р мг у е н

, р еал и з юу щ у ь   з н ач ен и

, в и я

т ,  ч т о , а  ес -

ю   п рост

й

я   (у 1 )  п р ев о с хид й   фа й л - н фу к ц и

т и  п ри в ед

н

л ав Г

 6. М е т ыо д

 вчиы с лени й

з  11 zyxwvutsrqp

 в  MA TLAB 

; zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Л ист ин г   6.19.  Ф а йл - иц кн фу я   s o l p r o c   л д я   п р о ве к и   р икт е р и я   о с т а но в а   с о л ве \  р а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

- zyxwvutsrqp

function  status  = solproc(t,  у ,  flag) % фи ц к н у

я  т е я л е д р п о

% ри н е ш

я  л с и ч

% ел с

, и с ы в е р п о   100 пл с о

л   л и  мл у д о е  г о д ж а к

и  д а  — status = 1, ел с

о  шг а и  не

ь  по в р е

й  кт н е о п м о

а  и н а в о р и г е т н и

ы я

т  — status  = 0

status  =  (length(flag)  == 0)&&(abs(y(l))  > 100)zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ

В  тел е   нфу к ц и и  дл я   о п р едл н и я  з н ач ен и я  в ы охдн о г о   а р мг у е н т а   м ы  з ап и са л и   л о ги ч е с к о е   в ы р аж ен и е   с   о п е р а то р м   && (ло ги ч еск о е   "и ") , к о т р ы й   пр и н ев ы п о л н ен и и   п ер в о г о   с лу о в и я   в то р е   ж у е   н е   п р о в ер я т .  Д ей с вт и етл ь н о , в то р е   с лу о в и е   и ме т   см ы с л  п р о в ер ят ь   то л ь к о   в  то м   счлуае ,  к о гд а   со лв е р  н а ще к т у е м   ш аг е  и н етгр и р о в а н и я  в ы з в а л   н аш у   н фу к ц и ю  с  flag,  р а в н ы м   п ос т у й с рт о к е .  П р и   п ослнед м   вы з ов е   solproc  со лв ер о м   в о   в о х нд о м   а р мг у е н т е  у п е р а дс т я   п со т у й   м ас и в , и  о б р а щ ен и е   к  ег о   п ерв о м у   э л ем н т у   п р и в ел о  б ы к  о ш и б к е  (з ап и с ь  ло ги ч еск и х   в ы р аж ен и й  в  MATLAB  п о др о б н о   р а с м о тр е н а в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  гаве л  7). П р и   фо р м и р о в а н и solproc  в  к ач есвт гр а фи к   п ер в о

и   с рк т у е  з н ач ен и

ы   option s  з а д й т я  output Fen, в ы з о в и т ы  р еш ен и я .

й  к о м п о н ен т

е   к у а з етл е   со лв е

ь   н а   н фу к ц и р   o d eii3  и  п о с тр о й т

ю е

, ©solproc) »  options = odeset('OutputFcn'zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ »  [T, Y] = odell3(@syst, [0, 10], [0 1],  options) »  plot(T, Y(:,l)) П о лч у и в ш и й с в р ем н н о М п о лч у а е м о р еш ен и ны ны ни

я   гр а фи к

,  п р и в едн н ы

м  о с ат н о в

е  в ы ч и с л и етл ь н о г

ы   п р и в ели

б уду

, п о ж а лйу й   в   п р о ц ес я   solproc  м о гл й   н а   яз ы к е   п р о гр а м и р о в а н и й   сп ос б   в и з а ул и з а ц и я   к о н с рт к у ц и й   яз ы к т   Н Т П ЯО

нж е ы И з ч уе н и о   то м м и ро в ан и П р и  п о м щ р еш ен и я г о   н е о б х ид м

Ы   те к с т

. 6.14,  св и елдть св у .

й   п ри м е р   и сп о ль з о в ан и о   и н те г р и р о в а н и я ь   и   бо ле е   сло ж н ы я   MATLAB,  к о т р ы я   и  р я д а   е г о   а х р к ет р и с ит к я   и   де с к р и п о т р н о

т   о   св о е

.  Ф ну к ц и й   а л г о р и тм й   р еал и з еу

-

я  и н фо р м а ц и , я   о б р а б о тк и , з а п и с а н т   с о б втен .  П о с л е   о св е й   гр а фи к и   ва м

Й   o d e p l o t ,  o d e p h a s2 ,  o d e p h a s 3 , р а с п О Л

-

е   \ toolbox\ matlab\ funfun\   осн овн ог о   к а тл о г а   MATLAB. в   э и т х   фа й л - н фу к ц и й  п о з в о л и т   п о чл у и т ь   п р е сд а т в л е н и е ь   о б р а б о тк у   в ы о х нд ы х   ад н н ы х   с о л в ер о в   (п р о гр а м   7—9). й  гр а фи к е  п о св ящ ен ы  гавы л

и  п а р м е тр е   удб о   ку а з а т

и   р еш ен и а   п р о гр а м и р о в а н и ы   ф а Й Л - ф ну К Ц И

х   в   п о к д а лт г е  а л го р и тм о ,  к а к   о р га н и з о в а т ю  и  дес к р и п то р н о , к о т р ы

,  сам ы й   п рост е   ч и с л ен н о г а   б ы   с о ед р ж а т

й   н а   ри с о   п р о ц ес а

а   Outputsei  в ы   м ож ет т   п е р ад в ь т с я   в   фа й л - н фу к ц и ь   в е к от р   н о м ер о в   р т е б му ы

е   о п р е дл я т

ь   н о м ер ю  о б р а б о тк и х   к о м п о н ен

а  к о м п о н ен т   ил

. Д л и   о ид

т я  э от н  н о

-

м ер п р о ц ес

  //.  Вчиы с лени я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ  и  пр о г ам м и р о вани е zyxwvuts

аЧс т ь

312

,  ка к   э т о   седлан а  н оахж едн и

о   в   ю су л е д щ е я   то л ь к

о   п ер в о

м   п р и м ер й  к о м п о н ен т

е   лд

я   гр а фи ч е с к о г ы  р еш ен и я

о   о т б р аж ен и я .zyxwvutsrqponmlkjihgfe

»  options = odeset('OutputFcn', @odeplot, 'OutputSel', 1) »  [T, Y] = odel!3(@syst, [0, 10], [0 1],  options)

0  0,5  1  1.5  2  2.5  3  3,5  4  4.5  5zyxwvutsrqponmlkjihgfedcb . 6.14.  Ршн еи

с Ри

с  киер итр

о  унваери а  сревло

а  п о  зн ечиа

П р и   к о н тр о л е   з а   н па с у т л е н и е м   н ек о т р ы и н ет г р и р о в а н и я   ч аст о   в аж н о   д о с та о ч н с о б ы ит я . Д л я   э то г о   е услд т  з а п р о гр а м и р о в а т г о   в и ад , з а д т ь   к у а з ет л ь   н а  н е е  в  к ач есвт з в ат ь   со лв е р   с  п яьт ю  в ы охнд ы м и   а р мг у е н ат м

х   с о б ы ит о   то ч н

е  м ат риц

З а д ни лд

е н ер дцьилфгао м  она твос

я  пешиынво

ы  Яобк я е эткифвнос т

ю нцки у ф

о   з н ат ь   фа й л - н фу к ц и

й   в   п р о ц ес ь   в р ем

е   з н а ч ен и я

 п а р м е тр и   ил

и   с рт к у о й

я  (6.6) и

е   ч и с л ен н о г о я   н ап с у т л е н и я ю  сп ец и аль н о а   Events  и  вы .zyxwvutsrqponmlkjihgfe

и и  всилечн ы

й

П осл е   з ав ер ш ен и я   с ч ет а   со лв е р   м ож е т   в ы в ес т и   в   к о м а н дн о е   окн о   см у а р н у ю   и н фо р м а ц и ю   о   в ы ч и с л и ет л ь н о й   р а б о те ,  в к л ю ч аю щ у ю   к о л и ч е с вт о   вы ч и с л ен и й   п рав о й   ч аст и   м а рт и ц ы   Як оби , усп еш н ы х   и  н спеу ш н ы х   ш а го в   со лв ер а   и  дргиу е   с в е дн и я .  Д л я   э от г о   е су л д т   с уат н о в и т ь   с в о й с вт о   ' st a t s  •   в 'o n 1 .  П о др о б н о е  о п и с ан и е  все х  свой ст в   пу р а в л яю щ е й   с ркт у ы   и  п р и м ер ы с о ед р ж а с т я   в   сп рав о ч н о й   с и ем т е   MATLAB  в  р а з д . Mathematics:  Differential Equations: Initial Value Problems for  ODEs and  DAEs: Changing ODE Integration Properties.

л ав Г

 6. М е т ыо д

 в  MATLAB zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC 313zyxwvutsrqponm

 вчиы с лени й

и  жкисет х   ис е т П р и  реш ен и ode23s,  ode23t  и   ode23tb  с и ем т ы   м ое т д м   к о н еч н ы бы т ь   п о в ы ш ен а  пет у м   з адн и е уд т   н ап и сат ь   фа й л - нфу к ц и ю щк у и х   з н ач ен и й  н ез ав и си м о н фу к ц и и  до лж е н   и м ет ь   ви д f u n c t i o n  J  =   j m a t r ( t , 

Д л я   т о г о   ч от б ы   со лв е м о   п ри свои т ь   с в о й вс т н фу к ц и ю   jm atr.  Е сл м и ро в ат ь   фа й л - н фу к ц и свт а   Jacobian .

м   и д фер н ц и а л ь н ы а п р о к с и м и р юу х   р а з н о с те й я   м а рт и ц , к о т р а й   п ер м ен н о

х   р а ву н е и

й   с о л в ер ы у   Як о б и   п рав о .  Э фекит в н о ст ь   в ы ч и с л ен и ы  Я к о б и  в  явн о м  в и ед . Д л я   э то г я   в о з в ращ ае т   м арт и ц у   Як об и й   и  к о м п о н ен т  р еш ен и я . З а го л в о т   м ар т и ц

  odei5s, й   ч аст и й   м ож е т о   с ле   лд я   е т к

у )

р   м о г   в о с п о л ь з о в а ьт с у   Jacobian  пу р ав ляю щ е и   м а рт и ц а   Як о б и   п о с т ян н а ю  —  до с та о ч н о   куа з т

я   яв н ы м

и  фо р м луа м и й   р с к ут , т о   н е  требсту ь   е е  в  к ач есвт

,  н ео бхид

-

ы   к у а з а ет л

ь   н а я   п р о гр а м

е  з н ач ен и

я  св о й

-

Дл

я   р а с м о рт е н н о й   вы ш е   с и ем т ы   р уа в н е н и й   Ло тк и —Во л ь те р ы   (6.5), п р и Р  =  0.8,  Д  =  1,  р   = г  =  0.001,  нфу к ц и я , в ы ч и с ляю щ а я   м ар т и ц у   Як оби , п ри в е ед н а  в  ли сит н г е   6.20.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л и с т и н г  6.20. Прога м м ирова ни е  м а т риц ы  Яобк и   | zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA f u n c t i o n  J  =   J L o t Vo l ( t , 

I

у )

J  =   [ 0 . 8  -   0 . 0 0 1 *у ( 2 )  -   0 . 0 0 1 *у ( 1 ) 0 . 0 0 1 *у ( 2 ) 

- 1  +   0 . 0 0 1 * у ( 1 ) ] ;

В н ес и т (ли ст н м и рй у т а р мг у е н т

е   JLotVol  В  к ач есвт г  6.16)  и   п ер д   вы з ов е   пу р а в л яю щ у ю   р кс у т а   ode23s.  С о вт ес юу щ и

j Л ис т ин

г   6.21. Уакз ни



е   П н у ф о кд ц и

и   В  фЙа- Л н цкуфи ю   comparesoivers й   н фу к ц и и   с фо р м   с о л в ер а   ode23s  в   о с н о в н о у   option s  и  укаж и т е   е е  в  к ач есвт е   в о х дн о г о е   к о м ан д ы  п ри венд ы  в  л и сит н г е  6.21.



е  м а т риц

• 

ы  Яко б

и  с о л в е р


> sol  = ode45(@syst,  [tO, tl], YO, options, pi, p2,  ...)

Вы зо то г о н о жеахд и н о в л ен н ы м

в   р г ди у ,  в м ест

Т ак о й   п о хд ци , в ы ч и сляю щ е е е  з а го л в о

х   с о л в ер о о   с р кт у я   п р и б л и ж ен н о г и  п о   му о л ч а н и ю

в   лд я   з а д ч и   К ош и   п р о и з в о ид с т я   а н а л о ги ч н о ы   option s  од п сук аест я   з адн и е   п с уот г о   м ас и в о   р еш ен и я  с  точ н о сьт ю   и  дргиу м и   о п ц и ям и .

д   н а к л а ыд в а е к   од л ж е

й   п р ав у н   и м ет

f u n c t i o n  F . =   s y s t ( t , 

Е сл м а рт и ц с о вт ес ю у щ е

и   в   п р о ц ес ы   Як оби

е   р еш ен и ,  т о   п а р м е тр й   н фу к ц и

f u n c t i o n  F  =   j a c ( t , 

т   о п р е дл н н ы ю   ч аст ь   с и ем т ь  в и д : у ,  p i , 

е   рт е б о в а н и ы   ид ф е р н ц и а л ь н ы

я   н а   и н е тр ф й

;  к р о м

с   н уф к х   р уа в н е н и

е

а   лд , уа ст

я -

й  —

р2,... )

я   и с п о л ь з ю у ст

я   яв н ы ы   в к л ю ч а ю ст

е   фо р м л у я   в   сп и со

ы   лд к   в о х нд ы

я   в ы ч и с л ен и х   а р мг у е н от

я в

и у ,  p i , 

р2,... )

П р и в едн н а я   вы ш е   с и с ет м а   ди ф е р н ц и а л ь н ы х   ру а в н е н и й   Ло тк и В о л ь те р ы   з ави си т   о т   ч е ыт р е х   п а р а м е тр о в :  Р,   ,р   R  и   г ,  и   п р и   м н о г к р а тн о м   е е   р еш ен и и   дл я   р а з л и ч н ы х   з н ач ен и й   п а р а м е тр о в   ц ел со бр аз н н ап и сат ь   с о тв е с тв ю у щ у ю   ф а й л - фну к ц и ю ,  в м ес т о   то г о ,  ч то б ы   к а ж ды р а з   и з м ен ят ь   з н ач ен и я   э ит х   п а р а м е т р о в .  Т ек с т   та к о й   ф а й л - фну к ц и и  п р и в ед н   в  л и с ти н г е   6.22.

— о й -

л ав Г

 6. М е т ыо д

 вчиы с лени й

315zyxwvutsrqp

 в  MATLAB 

• 

;

zyxwvutsr

function LVpar(P, p, R, г ) Y0 =  [1000; 1100]; % зи н а д % фи н а в о р и м р о

е  ны н ь л а ч

е  уе щ ю я л в а р п

х  уи в о л с

й  ср у т к у р т

й

ы  с  ме ц и р т а

й  Яб о к

и

1

options = odeset('Jacobian , @JLotVolPar); % во з ы

в  ср е в л о

а  и  пч а д е р

а  зи н е ч а н

й  по р т е м а р

в

[Т , Y] = ode23s(@LotVolPar,  [0 100], Y0, options, P, р , R, г ) ; % пи н е о р т с о

е  гк и ф а р

а  ри н е ш

я

figure plot(Y(:, 1), Y(:, 2)) % пи ц к н у ф д о

я  дл

я  ви н е л с и ч ы

я  по в а р

й  чт с а

и  сы м е т с и

, зе щ я с и в а

й  о т  по р т е м а р

в

function F = LotVolPar(t, у , Р , р , R, г ) F =  [Р*( у 1

) -  р*( у 1)*у(2

)

- R*y(2) + * г ( у 1)*у(2)] % пи ц к н у ф д о

я  дл

я  ви н е л с и ч ы

; я  мц и р т а

ы  Яи б о к

, зе щ я с и в а

й  о т  по р т е м а р

в

function J = JLotVolPar(t, у , Р , р , R, г )zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP J = [Р  -  р*( у 2 ) -  р*( у 1 ) у 1)] ;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA * г ( у 2 ) -  R + г*(

Т еп р ь   о б р ащ ен и е   к  фай л- нфу к ц и и  LVpar  п о з в о л яе В о л ь ет р ы   лд я  р а з л и ч н о г о   н абор а   з н а ч ен и й  п а р м е тр о в »  LVpar(0.75,  0.002,  0.95,  0.001) ИЛ

т   р еш и т

ь   з а дч ,  н а п р и м е

у   Ло тк и р



И

» L V p a r ( 0 . 8 , 

0 . 0 0 1 , 

0 . 9 , 

0.003)

л Аь ет р н а ит в н ы й   сп о с б   р еш ен и я   з ад в   и сп о ль з о в ан и и   ан о н и м н ы х   и л и   в л о ж ен н ы п о хд д  п р и   п о и ск е  к о р н е й   и  л о к а л ь н ы ев д м   з ес д ь   то л ь к о   е тк с т   с о в т ес ю у щ е ным и   н фу к ц и я м и   бе з   до п о л н и е т л ь н ы х щ ен и е  К  LVparl  С Т ВОДИ З ОИ Р П Я  аТ к  Же , Ка

ч   с  и з в еснт ы м

и   п а р м е тр а м и   со ти и   э от .  М ы   о бжсаудл х   м и н и м уо в   нфу к ц и й , п о э т м у   п ри й   фа й л - н фу к ц и и   с  дмв у я   в л о ж ен   к о м е н ат р и е в   (ли ст н г  6.23).  О б р а к  И   К  LVpar. х   нф у к ц и й

! zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Л ист ин г  6.23. Пе р адч а   па р м е т р о в   ечр з  вынодх е  а рмгу е нт ы   с о л ве р

function LVparl(P, p, R, г ) % ва н е ж о л я  фи ц к н у я  дл я  ви н е л с и ч ы % зе щ я с и в а й  о т  по р т е м а р в function F = LotVolPar(t, у )

я  по в а р

й  чт с а

и  сы м е т с и

,

а

т т -

316 

аЧс т ь

F  =   [ Р *у ( 1



-   р *у( 1 ) *у( 2

 II. Вчиы с лени я

zyxwvutsrq

 и  пр о г ам м и р о вани е

)

- R *y ( 2 )  +   r * y ( l ) * y ( 2 ) ] / e n d zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

% ва н е ж о л

я  фи ц к н у

я  дл

я  ви н е л с и ч ы

я  мцирта

ы  Яи б о к

, зе щ я с и в а

й  о т  по р т е м а р

в

function J = JLotVolPar(t, у ) J = [Р  -  р*( у 2 * г ( у 2

) -  р*( у 1

)

) -  R + г*( у 1)]

;

end; Y0 =  [1000; 1100]; % зи н а д % фи н а в о р и м р о

е  ны н ь л а ч

е  уе щ ю я л в а р п

х  уи в о л с

й  ср у т к у р т

й

ы  с  ме ц и р т а

й  Яи б о к

.

1

options = odeset('Jacobian , @JLotVolPar); % во з ы

в  ср е в л о

а

[Т , Y] = ode23s(@LotVolPar,  [0 100], Y0, options); % пи н е о р т с о

е  гк и ф а р

а  ри н е ш

я

figurezyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA plot(Y(:, 1), Y(:, 2)) endzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

, н е  ра зре ш ны

и Сс т е м ы е р ф и нд ц а л н ь о - а л г е б р а и е ч с к

е  отсони е л ь

о  произвндй е  руа енв и

Д о   ис х   п о руа в н ен и й

р   м ы   р а с м а рт и в а л , р а з р еш ен н ы

и   з а дч

у   К ош о   п р о и з в о нд ы

х   о нт о с и ет л ь н

Y' =  MATLAB  п о з в о л яе н ы х  в  н еяв н о й  фо р м

В аж н ы

м   ч а снт ы

т   р еш ат е

ь   с и ем т

м   ч с л а уе

м  так и

и   лд

я   си е т

м   ид ф е р н ц и а л ь н ы х х zyxwvutsrqponmlkjihgfedcbaZYXWVUT

f(t,Y).

ы   ид ф е р н ц и а л ь н ы

х   си е т

, я

м   яв л ю ст

я   с и е мт

х   ру а в н е н и й

,  з адн

ы   с  м арт и ц е

й   м ас

-

с

M(t,Y)Y'=F(t,Y), п ри ч е Дл м а рт и ц е ласт

м   М  (t,  У )  м о ж е я   р еш ен и ь   п р и м ен ен и

я   си е т й   м ас с   м о гу

т   бы т

ь   к а к  н ев ы р о ж едн н о й

, та к   и  в ы р о ж де н н о й

м   в и д а   F(t,  F, Y')  = 0  жслиу т   со лв е т   бы т ь   р еш ен ы   лю бы м   и з   с о лв ер о в я   с о л в ер а   ode23s  о гр а н и ч е н а   то л ь к

.

р   o d e isi,  а   си емт ы  с .  З а м е ти м ,  ч т о   об о   п о с т ян н ы м и   м а рт и -

л ав Г

ц ам и

 6. М е т ыо д

 вчиы с лени й

,  а   в   чслау

е   в ы р о ж ед н н о

317zyxwvutsrqpo

 в  MATLAB 

й   м а рт и ц

ы   н е о б х ид м

о   п р и б е га т

ь   к   с о л в ер а

м

o d e l 5 s  И   o d e 2 3 t .

В ы р о ж ед н н а я   м а рт и ц а   м а с с   с о в т ес у а л ге б р а и ч е с к и х   руа в н е н и й ,  к о т р а я   н а р яд т   а л ге б р а и ч е с к и е   с в зя y'  = f(t,y9  u)  соедр ж и з адн н ы е   в е к о т р - нф у к ц и , а   у   и   и   —  и ск о м ы ет м а   м ож е т   бы т ь   р еш ен а  в   MATLAB  п р и   суло в и н ице , т . е .  м а рт и ц а   (dgj/ diij)  н ев ы ро ж едн а н о - а л ге б р а и ч е с к и х   р уа в н е н и й   п р и м е н я се т М   У   =  F (7, У )  с  в ы р о ж едн н о й   м ар т и ц е й   м ас

дг е   /   —  еид н и ч н а я   м а тр и ц а н е и з в е сн т ы х   у  , а  о сатл ь н ы

Е сл ч ес к и та к о

и   ид ф е р н ц и а л ь н ы х  урав н ен и й  си емст

Р а с м о рт и т о   п р и в о ид м о р еш ен и О нд н ен

,  р а з м е

р   котро

е   бло к

а   р еш ен и

я   ж ек с т и

о   и з   ид ф е р н ц и а л ь н ы о  урав н ен и е

х   р уа в н е н и

й   с и ем т

Л

(

0

Пр и м е ча н и

+

Л

(

е   и   и л чо т м я е  и з  п акте

а

, т о   лд й   м ар т и ц е у   и х м и ч ес к о

я  р еш ен и

й   м ас с   н а   ч ас ,  лд я   и л ю с рт а ц и й   к и н е ит к и

я и

ы   (y'3(t^  = 3- 10  ^ ( О   )  з ам е

. -

0.04yl(t)- l04y2(t)y3(t)- 3- W 1y2(tf;zyxwvutsrqponmlkjihgfed 0

te  [0,100], 

С   н о р кы е т м п ир м е

й   в е к то р

.

y2{t)  = 

К ^ 

е   ид ф е р н ц и а л ь н о - а л г е б р а и о   п р о и з в о дн о й р   o d eisi.

е   си е т м   с  в ы р о ж едн н о ,  о п бул и к о в а н н о м   Р о б е р тс о н о м й  —  н ели н ей н у ю   з а дч

м   бал н са

т   с   лд и н о

е  и

ы   о нт о с и ет л ь н ь  со лв е

м   п р и м ер х   р уа в н е н и

и zyxwvutsrqpon ь   /   и   g  — . Т а к а я  си с о   е е   и н е кд с  р ав е н   и де и  ди ф ер н ц и ал ь с вен д и е   к   с и емт е

я   в   с и ем т

й   н е  р а з р еш ен т  п р и м ен ят ы   е ус л д м   сн ач л

е   ид ф е р н ц и а л ь н о   ид ф е р н ц и а л ь н ы м  w) =  0 .  Зесд

й   с о в п аде

и  н левыу

е   р ау в н е н и

т   с и ем т у   с и   g(t,  у, е  в екотр - нфу к ц и ,  ч т .  П р и   реш ен и я   и х   с

+

Й

(

0

-

1

=

°

5

> ,(0) =  1,  у 2(0)  = 0,  >>з(0 ) =  0- zyxwvutsrqponmlkjihgfedc

^

и   э т а   ж е   з ач д а   п н е ир д в а  MATLAB (фн цук и я  ihbldae).

а   в  дмеон рацст и он о

м

318 

аЧс т ь

м  счлуа

В  н аш е

е  м а рт и ц

а   м ас

с  п о с т ян н

 II. Вчиы с лени я

а  и  и м е

zyxwvutsr

 и  пр о г ам м и р о вани е

т   ви д

:

(\ zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK   О   О zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM

М  = О   1  О 0  0  0 Д л я   и л ю с рт а ц и г о   к лас а   н ап и сан з о в ан и е м   в л о ж ен н о жо д й   н фу к ц и м а с ш а т б и р е с ут

и   п р и м ен ен и а   фа й л - н фу к ц и й   н фу к ц и и   в ы в о ид с т я   о с ь   о р ди н а

г  6.24. Ре ш ни

Л ист ин

я  со лв ер

а   odeiss  п р и  р еш ен и и  з а д ч   куа з н н о я   (ли ст н г  6.24)  бе з   а р гму е н то в ,  с   и сп оль и   лд я   в ы ч и с л ен и я   в е к то р а   F(t,  Y).  Г р афи к   ка я   н а   св о и   о с и ,  п р и   эот м   а в от м аит ч ес к и т  дл я  к о м п о н ен т ы   у 2  .zyxwvutsrqponmlkjihgfedcbaZYXWVUT

е  с ис т е м

ы  де рф инца л ньы • 

f

u

n

c

t

i

o



e

% Ванежол

x

a

m

p

l

e

_

я  фицкну

d

a

• 

х  ура вне и

й  



я   инелс чыв

я   роткев

а   f(x, у )

function resid  = rob(t, у ) resid  (1) = - 0.04*y(l)  + Ie4*y(2)*y(3); resid  (2) = +0.04*y(l)  -  Ie4*y(2)*y(3)  -  3e7*y(2)^2; resid  (3) = y(l)  + y(2) + y(3)  -  1; endzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA е  условия

.

yO =  [1; 0; 0] ; %  циртам

а   мас

с

m = diag([1, 1, 0]); % иавретн

л   интегр ова я

.

xtime =  [0 100]; % зинад

е  уещюялварп

й   рутк с

ы   (тьтсонч

) 1

options  = odeset('RelTol',  1С  4,  'mass , m ) ; % возы

в   ревлос

а

[t,y] = odel5s(@гоЬ % вовы

д   окифарг

в  ринеш



:

.

;

zyxwvuts

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

e

resid  = zeros(3, 1 ) ;

%  ыньлач

: • • 

, xtime, yO,  options); й

subplot(3,  1,  1 ) ; plot(t, y(:, 1)); grid on legend  ('y_{l}'); subplot(3,  1, 2 ) ; plot(t, y(:, 2));

л ав Г

 6. Метыо д

 вчиы с лени й

319 zyxwvutsrqpon

 в  M ATLAB

g r i d  on l e g e n d  C y_ {2 }  ' ) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  ;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA subplot(3,  1, 3 ) ;  plot(t, y(:,  3)); grid on legend  ('y_{3}' , 4) ; end

П осл п р е сд а т в л е н н ы

е   в ы п о л н ен и

я  фай л- н фу кц и и  и з  л и с ит н г а  6.24 п о лчуаю ст я   р е з л у ь та ы , е  н а  р и с  6.15.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC

О  

с Ри

П о др о б н ы м ас п о з в о л яе з ав и си м о ст э л е м н от м а рт и ц ы

е   с в ен д и

с   п р и в е дн

10 

20 

30 

40 

50 

60 

70 

80 

90  

100

10 

20 

30 

40 

50 

60 

70 

80 

90  

100 zyxwvutsrqponmlkjihgfed

. 6.15.  Ршн еи

е  зча д

и  хок с иемч

й  кикнт е

и  (6.7)

я   о  н а с рт о й к а х   с о л в ер о в   лд я  р еш ен и я  з а д ч   с  м арти ц е й й   с и ем т е   M ATLAB.  пУ р а в л яю щ а я   с р кт у а ы   в   сп рав о ч н о т   з адт ь   кром е   м а рт и ц ы   м ас с   ще е  р я д  о п ц и й , в  ч а с нт о с ит :  епст н ь и   м а рт и ц ы   м ас с   о т   н е и з в е снт ы х ,  р а с п о л ж ен и е   е е   н е л в уы х ч   боль ш о й  р а з м ер н о с т и  и  и н фо р м а ц и ю  о  в ы р о ж едн н о с т и в  дл я  з а д . В  р а з д . Mathematics: D ifferential  Equations: Initial Value Problems for

320 

аЧс т ь

 II. Вчиы с лени я

zyxwvutsr

 и  пр о г ам м и р о вани е

O D E s  and  D AE s :  E x ample s :  Applying  the  O D E  Initial  Value  P ro ble m  S olverszyxwvutsrq

п ри вед н   п ри ме м ы х   п р и в о ди тс м а тр и ц е й   м ас

р   ур а в н е н и я   к   с и с те м

я   в   ч а с тн ы е   обы кн овен н ы

х   п р о и з в о дн ы х х   ди ф е р е н ц и а л ь н ы

,  к о т о р о

е   м е то до х   ур а в н е н и

м   п ря

й   с

.

О б р а ти м с я   те п е р ь   к   реш ен и ю   з а да ч и   К ош и   дл я   д и ф е р е н ц и а л ь н ы х   ур а в н е н и й   ви д а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   F(t,  К ,  К ' ) = 0 ,  н е   р а з р е ш е н н ы х   о тн о с и те л ь н о   с та р ш е й   п рои з вод н ой ,  п р и   п о м о щ и   солвер а   o d e i 5 i .  О б р а щ е н и е   к   н ем у   н есколь к о   о тл и ч а е тс я о т   с л уч а я   р а с м о тр е н н ы х   вы ш е   солверов ,  п о с к о л ь к у   в о   в хо д н ы х   ег о   а р гу м е н та х   до л ж н о   бы т ь   з а да н о   з н ач ен и е   YpO  п р о и з в о д н о й   реш ен и я   в   н ачаль н ы й   м ом ен т   врем ен и   Y'(t0):zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB [Т , Y] = odel5i(odefun,  interval, YO, YpO, options) Смы с ч и слен и ди тс п ерем ен н ой з н ач ен и н а й де н н о Воз може н ей ш е рез к

л   о с та л ь н ы я   в е к т о р - ф ун к ц и я   и н те г р и р о в а н и е ,  д л я й   Y(tQ);  е   реш ен и н   вы во д м   и с п о л ь з уе т с а   и н те г р и р о в а н и

х   е г о   а р г ум е н т о

в   то т   ж е   с а м ы й :  o d e f u n —  ф ун к ц и я   дл я   в ы и   F;  i n t e r v a l  —  о т р е з о к ,  п о   к о т о р о м у   п рои з во ,  и л и   у п о р я д о ч е н н ы й   в е к то р   з н ач ен и й   н ез ави си м о й т   н ай т и   реш ен и е ;  YO —  в е к т о р   н ачальн ы х   к о то р ы х   с л е ду o p t i o n s —  у п р а в л я ю щ а я   с т р ук т ур а .  М о м е н т ы   врем ен и   и е   в   н и х   з а п и с ы в а ю тс я   в   в е к то р - с то л б е ц   т   и   м а тр и ц у   Y.   р е з ул ь т а т а   и   в   с т р ук т ур у   с   п олям и   х   и   у ,  к о т о р а я   в   да л ь я   дл я   в ы ч и с л е н и я   реш ен и я   в   п рои з вольн о й   то ч к е   и з   от   "Ринеш   и ач з д   иш"о К йтоэ   )авыг л . я   (с.м   .аздр

В оз н и кае т   воп рос ,  о т к уд р о е   н е   може т   бы т ь   п рои з вольн ы м t0  т р е б уе т с я   вы п олн ен и п ри бли ж ен н ог о   уд о в л е т в о р е н и В   до с та то ч н о   общ е м   с л уч а

а   вз ят

ь   н ачальн о

е   з н ач ен и е   дл я   п р о и з в о дн о й ,  к о т о ,  п о с к о л ь к у   в   н ачальн ы й   м ом ен т   врем ен и е   ус л о в и я   с о в м е с тн о с т и   F(to,Y(to),  K ' ( fo ) ) = O . ' Д л я я   э то м у   ус л о в и ю   с л уж и т   ф ун к ц и я   decic е   обращ ен и е   к  н е й  в ы г л я д и т   с л е д ую щ и м   образ о м

[YO,YpO] = decic(odefun, tO, YOInit, YOFlag, YpOinit, YpOFlag) и   п о д р а з ум е в а е т ,  ч т о   з а д а н ы   н ачальн ы е   п ри бли ж ен и я   к   Y(t0)  и   ^'(/ о )  с о т в е тс тв е н н о   в   в е к то р а х   YO in it  и   YpOin it.  К а ж д о м у   и з   н и х   с о п ут с т в уе т   сво фла г   —  в е к т о р ы   YOFlag  и   YpOFlag  т о й   ж е   д л и н ы ,  о н и   у к а з ы в а ю т   ком п он ен е   м о гу т   и з м е н я ть с я   п р и   уд о в л е т в о т ы   в е к то р о в   YO in it  и   YpOin it,  к о т о р ы рен и и   ус л о в и я   со гласо в ан и я .  Д л я   з а п р е т а   и з м ен ен и я   н е к о то р о й   ком п он ен т реш ен и я   и л и   п р о и з в о дн о й   с л е ду т   ус т а н о в и т ь   э лем ен т   в е к то р а   флаг а   с  но м еро м   ком п он ен т ы   в   1,  а   д л я   р а з р е ш е н и я   в   0.  Д е й с т в и т е л ь н о ,  н е   в с е г д а   до п ус т и м о   п рои з вольн о е   и з м ен ен и е   н ачальн ы х   з н ачен и й .  В   з а д а ч е   К ош и   в ек т о р   Y(t0)  з а д а н   и   т р е б уе т с я   н ай т и   п о д хо д я щ е е   Y'(t0).  Д л я   э т о г о   с л е ду з а да т ь   фла г   YO in it ,  ц е л и к о м   с о с то я щ и й   и з   е ди н и ц .  Е с л и   н и каки е   ком п он ен т ы   в е к то р о в   YO in it  и л и   YpOin it  н е   ф и к с и р у ю т с я ,  т о   с о т в е т с т в у ю щ и фла г   можн о   н е   з а да в а ть .  В о з в р а щ а е м ы е   з н ач ен и я   YO  И  YpO  п р и б л и ж е н н уд о в л е т в о р я ю т   ус л о в и я м   с о в м е с тн о с т и   и   м о гу т   с л уж и т ь   в хо д н ы м и   а р г ум е н та м и   р е В Л ОС а   o d el5i.

й ы т й о -

л ав Г

 6. М е т ыо д

 вчиы с лени й

321 zyxwvuts

 в  MATLAB 

е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

р П и м н ае и ч

П о   му о л ч а н и ю   сул о в и я   с о в м е с нт о с т и   д уо в л е т в о р я ю т с я   с   о тн о с и те л ь н о й т   о б р а ти ть с я   к   ф ну к ц и и то ч н о с ть ю   10~3.  Д л я   и з м ен ен и я   то ч н о с т и   с ле у д d e c i c  с   сеьд м ы м   в ох дн ы м   а р г му е н т о м   —  пу р а в л я ю щ е й   с т р ку т р о й o p t i o n s,  п р е дв а р и те л ь н о   с фо р м и р о в а в   е е   пр и   п омощ и   o d e se t  (п о л е R elT ol  о тв е ч а е т   з а   о тн о с и те л ь н у ю   п о г р е ш н о с ть ) .  Д л я   к о н тр о л я   вы п олн е н и я   су л о в и й   с о в м е с тн о с т и   п о лез н о   вы з ват ь   ф ну к ц и ю   d e c i c  с   тр е ть и м в о х дн ы м   а р г ум е н т о м ,  в   к о т р ы й   з а н о с и тс я   н ев яз к а ,  т .  е .  з н а ч е н и е F ( / o ,  (У г 0), zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Y'(tQ))  лд я   п р и б л и ж е н н о   н а й де н н ы х   У  (/ о ) ,  K'(fo)П р о д е м о н с т р и р уе К леро

м   и сп ольз ован и

И з в е с тн о и   б ду е К ош

е   солвер

а   o d e i 5 i  н а   п р и м е р

е   ур а в н е н и

я

:

,  ч т о   у   = Ct  + h(C)  е с т м   сравн и ват и   дл

я   ур а в н е н и

ь   п о л уч а е м о я   К лер

ь   общ е

е   реш ен и

е   п ри бли ж ен н о о   пр

е   э то г

о   ур а в н е н и я

е   реш ен и е

,  с   н и

.  Р а с м о т р и

м  м ы

м   з а да ч

у

ss

и   / ?(s)  =   e : te[0, 5]

с то ч н ы

м  реш ен и е

м

П оскольк у   э т о   ди ф е р е н ц и а л ь н о е   ур а в н е н и е   п ервог о   п о р я дк а ,  т о   н е и з в е с т н о й   я в л я е тс я   всег о   о дн а   ф ун к ц и я ,  и   п р и   о б р а щ е н и и   к   d e c i c  в   к а ч е с т в е   фла г о в   и с п о л ь з ую т с я   чи сл а   YOFlag  =   1 и   YpOFlag  =   о  (л и с т и н г   6.25).  П о с л е   вы п олн ен и я   ф ун к ц и и   d e c i c  п о л уч е н н ы е   н ачальн ы е   з н ач ен и я   д л я   ф ун к ц и и  и  е е п р о и з в о дн о й   в ы в о дя тс я   в   к о м а н дн о е   окн о .  О б р а т и т е   вн и ман и е , ч т о   н а ч а л ь н о е   з н ач ен и е   ф ун к ц и и   н е   и з м ен и лос ь   и з - з а   то г о ,  ч т о   с о т в е т с т в у ю щ и й   фла г раве н   е ди н и ц е ,  а   н а ч а л ь н о е   з н ач ен и е   п р о и з в о дн о й   н а й де н о   до с та то ч н о   ох рош о   (т о ч н о е   з н ач ен и е  равн о   е ди н и ц е )  т а к ,  ч т о   н е в я з к а   п р и   уд о в л е т в о р е н и и ус л о в и я м   с о в м е с тн о с т и   име т   п о р я до к   10~ 9.  В ы ч и с л е н н ы е   вели ч и н ы   YO И  YpO м ы   п е р е да е м   в   к а ч е с тв е   в хо д н ы х   а р г ум е н т о в   солвер а   o d e i si  и   с р а в н и в а е м п ри бли ж ен н о е   реш ен и е   с  т о ч н ы м   (р и с . 6.16). : zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Л ист ин г  6.25. Испол зьва ни е   с о л ве р а   o d e l5 ±  лд я  ре ш ни я  ура вне и

fu n c t i o n  k l e r o tO  =   0;  % н а ч а л ь н а я   то ч к YO I n it  =   е х р ( 1 ) ;  % з а д а н н о YOF lag  = 1 ;  % н а ч а л ь н о % п р и   у д о в л е т в о р е н и

а   о тр е з к е   н ачальн о е   з н ачен и

а   и н те г р и р о в а н и е   ус л о в и е   и ском о и   ус л о в и я

я   л е Кр

о  

я   [0,  5] е й   ф ну к ц и м   с о в м е с тн о с т

и   н е   до л ж н

о   и з м е н и ть с и

я

;

аЧс т ь

322 YpOInit = 0 ; % пи н е ж и л б и р

е  дл

YpOFlag = 0 ; % но н ь л а ч

я  нг о н ь л а ч

е  зи н е ч а н

% ис ь т и н е м з

я  пр

 II. Вчиы с ле ни я

о  зи н е ч а н

я  по н д о в з и о р

е  по н д о в з и о р

й

й  ио м к с

и  у инеровтелвод

zyxwvut

 и  пр о г ам м и р о вани е

й  фи ц к н у

и  уя и в о л с

и  межо

м  ст с о н т с е м в о

т и

format long e % Пс и о % уя и в о л с

к  нг о н ь л а ч

о  зи н е ч а н

я  пй о н д о в з и о р

м  ст с о н т с е м в о

, у гещюяровтелвод

о

и

[Y0, YpO] = decic(@klerofun, tO, YOInit, YOFlag, YpOInit, YpOFlag) % Ри н е ш е

е  уи н е в а р

я  Кр е л

о  н а  ок з е р т

е   [0, 5]

[Т , Y] = odel5i(@klerofun,  [tO 5], Y0, YpO) ; % Пи н е о р т с о

е  гк и ф а р

plot(T, Y, ' о

1

а  пг о н е ж и л б и р

о  ри н е ш

я

);

hold onzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA % П о с т р о е н и

е   гр афи к

а   то ч н о г

о   реш ен и

я

e xso l  =   i n l i n e ( r x  +   e x p ( l ) 1 ) ; f p l o t ( e x s o l ,  [tO  5] ) le ge n d ( ' п р и б л и ж е н н о

е   р е ш е н и е ', 'то ч н о

е   реш ен и е'

)

fu n c t i o n  F  =   k l e r o f u n ( t ,  Y,  Yp)

F'  =   Y  -   Yp*t  -   e xp ( Yp ) ; zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB

О  

п е рн и о б л ж о н чт

Рис

. 6.16.  Р еш ен и

е  урав н ен и

е   р еш ени е   р еш ени

я   К л ер

о

е

е

л ав Г

 6. М е т ыо д

 вчиы с лени й

е   с и ем т В   с ч л уа аль н о   н е   о лт и ч а е ст

323 zyxwvutsrq

 в  MATLAB 

ы   ид ф е р н ц и а л ь н ы

х   р уа в н е н и о   п р и м ер а

я   о т   раз обран н ог

Yp O l n i t ,  YOF lag  И  YpOF lag  Н Ж ЛО Д

Ы  б ы т

й   ме с х ,  то л ь к

ь   В еК Т О р а М И

а   р еш ен и ,  К а

я  п р и н ц и п и о   YO, YpO,  YOinit,

к   И  ВН ОД ЫХ

Й   аргу

-

м ен т   н фу к ц и и   лд я   в ы ч и с л е н и я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC   F(t,  Y, У' ) .  Д о п о л н и те л ь н ы е   воз м ож н ост и с о л в ер а   o d eisi,  в   от м   чи сл е   р еш ен и е   си е т м   с   з адн н ы м и   п а р м е тр а м и ,  и оп ц и и   п у р а в л яю щ е й   с рк т у ы   о п и сан ы   в   сп рав о ч н о й   с и ем т е   M ATLAB (см . р а з д .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  MATLAB: Mathematics: Differential  Equations: Initial Value Problems for  ODEs  and  DAEs: Solver for  Fully Implicit ODEs  и  сю луед щ и й   з а   н им , а  та к ж е  с ат н и ц ы , п о св ящ ен н ы е  фн у к ц и я м  o d eisi  и  decic).zyxwvutsrqponmlkjihgfedcbaZYXWV

е р п дП у и н ж

е

П р и   о ф р м и о в ан и и  р у кт р с сю т я  н е  так , ка к  дл я  оьлантс ы с я   р м и ат ц а   Як о б и   с   н о яп т с ы м к еч я

, сщжаре до е к  оп и нас

а  в  гаве л

ы   option s  н оркыет х   с о л в ре . Н ап ри м ер и   к о и э ф ц и н е ма и т

м   в д е   ри м та ц  8.

ы   dF/ dy  и   dF/ dy . Р абот

М ы  р а с м о рт ел с и е мт , в к лю ч а ч а й   ру а в н е н и й ит м с я  теп р аль н ы м   р уа в н е н и я

и   р еш ен и е  з адч и   К ош я   ид ф е р н ц и а л ь н о - а л г е б р а и ч е с к и , н е  р аз р еш ен н ы х   о нт о с и ет л ь н ь   к  дргоум у   ит п у   ид ф е р н ц и а л ь н ы м  с  з а п а з ды в а ю щ и

Р е ш ни

е  дре фе ицна лыьф

с  за п взыиадщю В   п ак е с и е тм а

и  дл

я  ди ф ер н ц и аль н ы о   с а тр ш е

х  урав н ен и

1.  Н а п и с а н и во нхд ы м н и я  к о м п о н ен

е   н фу к ц и и   а р мг у е н а т м

и   лд т  реш ен и

я   в ы ч и с л ен и и   котро я  в  м о м ен т

й  и й   улс .  О б р а

-

й  — ди фер н ц и

р   dde23  лд я   р еш ен и й   в и ад :

-

я   з адч

,  о п и с ы в аем ы

х

...,y(t- xk )),te[a,b], 

х   р уа в н е н и х   э та п о в я   п рав о й   яв л ю ст ы  в р ем н

-

й

дг е   y(t)  —  и с к о м а я   в е к о т р - нф у к ц и я ;  /   —  и з в еснт а в о й  ч аст и   с и с е тм ы ;  т 1, т 2  , ...,  т к  —  м о ен т ы  з а п а з ды в а н и ч и сла) . Д л я   реш ен и я  си есмт ы   р уа в н е н и й   (6.8) требсту ш ен и я  дл я   t  Д е   (У

м ож е

я   в   к а ч е с вт

е   ч е вт р о г

о   в о х дн о г

ь   ч у а е св т

т   в   о ц ен к х

т   бы т

ь   ч и слом

п о л ь з ес т у

я   лд

к а ж од п о л н ен и

м   и з  учаскто и  усло в и я

,  л и б я   о ц ен к

о   в е к от р

  г

о   а р мг у е н т й   к о м п о н ен т Х

)— 

а   с о л в ер

й   с ек т и

а   bvp4c.  б Ас о ы   в е к о т р - нф у к ц и

п р и б л и ж ен н о

м   и з   п   э л е м н от в

и   и н ет г р а л ь н о в   р а с ч е нт о

е   к а ж од

е   р еш ен и е .  П а р м е т

й   н орм

ы   ||  |  к о м п о н ен

. В ы ч и слен и

я   о с ат н а в л и в а ю ст

и ,  и

р   RelTol  и с т   н ев яз к

и   г (  н а я   пр

и  вы

-

: || JJ / max{|/ )- | , AbsToi ( i) /  RelTol}  || 0

и   g(y(0),  y(b))  = O. П р и   э от м   м а рт и ц а   S  до л ж н ь   н е о б х ид м о у   с ул о в и ю   сщ у е с в т о а н и :  Sy(0)  = 0.  В о з м о ж н а   и   бо ле е   общ а я   п о с та н о в к я   н е и з в е сн т ы е   п а р м е тр ы ,  к о т р ы е   м о гу ю   / ,  ат к   и  в  в екотр - нфу к ц и ю  гр а н и ч н ы х   с л оу

а я а т -

л ав Г

 6. М е т ыо д

 вчиы с лени й

343 zyxwvutsrqp

 в  MATLAB 

П о с л е д о в а ет л ь н о с т ь   е дй с в т и й   п р и   и с л еод в а н и и   в ы р о ж ад ю щ и с х я   з ад ч  в а   с   р еш ен и е м   р а с м о рт е н н ы х   вы ш е   к лас о в   гр а н и ч н ы х   з адч . ц ел о м   о сжх О лт и ч и е   со ти т   в   то м ,  ч т о   нфу к ц и я  п р а в о й   ч аст и   с и ем т ы   до л ж н а   вы чи с л я т ь   то л ь к о   / ( х , zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   у ) ,   а   м а рт и ц а   S  п ерасдт я   с о л в ер у   в   к а ч е св т е   з н ач ен и я с в о й с вт а   singuiarTerm  пу р ав ляю щ е й   с р тк у ы . Р аз б ер р е . Т р ебсту

м   р еш ен и

е   в ы р о ж ад ю щ и с х и  р еш ен и

я   н ай т

я   гр а н и ч н ы е  урав н ен и

х   з ад

ч   н а   м о ед л ь н о

м   п ри м е

-

я

,/   2  , х н а   о рт е з к

е   [0, 2],  одув лето р яю щ е

w(2) =  - 7 .  Легк П р е о б р а з йу т

о   б уе и д ь т с я

,  ч т о   от ч н ы ю   з адч

е   и о н сд х у

п ер в о г

о   п о р я дк а

е   гр а н и ч н ы

, введ

я   н овы

м   р еш ен и е

у   к  гр а н и ч н о е  фн у к ц и

м   с ул о в и я м м   яв л сет й   з адч

ь   с и емт

и  в екотр - нфу к ц и

П о лчу е н н а р ы е   м о гу ц а   S  о б есп еч и в ае

ы   р уа в н е н и

й   в  в ек от р н о

я   н фу к ц и я   с и ем т

я   1 — JC . ы   р уа в н е н и

й

и   у {  (х)   = w(x)  ,  у }  ( я   )  =   0:

2 у' 2=- у 2- 21У +2(1- х 3);  х' З ап и с

е   лд

:  г / (0 ) =  0,

[у 2(0)  = 0. м   ви д

е   п о з в о л яе

т   п о лч у и т

ь   м а рт и ц

у  S

ю   f(x,  у) :

я   з адч а   в о х ид т   бы т ь   р еш ен т   в ы п о лн ен и

т  в   к лас ы   п р и   п ом щ

с  в ы р о ж адю щ и сх я   гр а н и ч н ы х   з адч ,  к о т и  со лв ер а   bvp4c.  Д ей с вт и етл ь н о ,  м арт и е  услови я   5у ( 0 )  =  0, т .  к .  у 2(0)  = 0.

я   / (л % у}   З а п р о г р а м и р йу т е   н фу к ц и ю   r sbsid e  лд я   в ы ч и слен и sbound  гр а н и ч н ы х   с ул о в и й .  О п р едли т е   п о х дя щ е е   н ач ль н о е н и е ,  н а п р и м е р , п о с т ян н о е   у 0  = [~ 7, 0],  лд я   к о т р о г о   S у 0  =0.  он д х у ю   к тс е у   н а   о рт е з к е   [0, 2]  и з   п ят и  р а в н о тс о я щ и х   зу ло в  и 6 а дч у   с   о нт о с и ет л ь н о й   от ч н о с ьт ю   10~ .  С р а в н и т е   гр а фи ч е с к и   е  в о з н и к н о в ен и р еш ен и е  с  то ч н ы м , та к   к а к  э т о   седлан о   н а  р и с . 6.21. В  счлау з а нр д т у е н и й   в о с п о л ь з й у ет с ь   л и с ит н г о м   6.34.

и   н фу к ц и   п ри бли ж е З адй т  р еш и т п о лч у е н н о

-

ю е   ис е   за е я

 //.  Вчиы с лени я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP  и  пр о г ам м и р о вани е аЧс т ь 344zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

п р и б е л ин ж о от чн

О  

0.2 

0.4 

. 6.21.  С р ав н ен и

Рис



1.2 

1.4 

е  п р и б ли ж ен н о г

в ы р о ж а дю щ е й с

за д ч

0.8  

0.6 

я   гр а н и ч н о

е   реш ени е

е   реш ени

1.6 

е

zyxwvutsrqponmlkjihgfedcbaZYXW

1.8  

о  реш ен и и   с  то ч н ы

й  з адч

2 zyxwvutsrqponmlkjihgfedcbaZ

я м zyxwvutsrqponmlkjihgfedcba

1н г  6.34. Ф а йл - иц кн фу я  лд я  ре ш ин я  веардщыоюйжс я   гр а н и оч й и  (6.13) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

!

function SingularProblem S =  [0 0; 0 2]; % Зи н а д

е  мцирта

у О  =  [- 7  0]; % Ои н е л д е р п

ы  S

е  нг о н ь л а ч

о  пи н е ж и л б и р

meshinit = linspace(0, 2, 5); % Зи н а д % Фи н а в о р и м р о

е  ср у т к у р т

ы  с  ны н ь л а ч

я

е  но н ь л а ч

й  ск т е

м  пе и н е ж и л б и р

и

м

solinit = bvpinit(meshinit, у0 ) ; % Фи н а в о р и м р о

е  уе щ ю я л в а р п

й  ср у т к у р т

ы 1

options = bvpset('SingularTerm ,  S,  'RelTol1, le- 6) % Во з ы

в  ср е в л о

а

sol = bvp4c(©rsbside, @sbound, solinit, options) % Пи н е о р т с о

е  гк и ф а р

а  по в р е

й  кт н е о п м о

ы  ри н е ш

я

plot (sol. x,  sol.yd,:),  'or');zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG % Ди н е л в а б о

е  гк и ф а р

а  тг о н ч о А

fun  = inline('l -  х . 3'); hold on fplot(fun,  [0 2])

о  ри н е ш

я  и  лд н е г

ы

л ав Г

 6. М е т ыо д

 вчиы с лени й   в

 MATLAB 

legend('по н е ж и л б и р

е  р' еинеш

345zyxwvuts

,  'то н ч о

е  р' еинеш

)

% % фи ц к н у

я  дл

я  ви н е л с и ч ы

я  f(х , у )

function f = rsbside(x, у ) f =zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  [у(2 ) - 2*у(1 ) + 2*(1 -  х . А 3)]; % фи ц к н у

я  гы н ч и н а р

х  уи в о л с

й

function g = sbound(ya, yb) g = [ya(2)zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA y b ( l )  +   7 ] ;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

З а д ни

я

лд

я  са м ост яе лонь

й  ратоб

1.  В ы ч и сли т

е   и н ет г р а

л   о т  фн у кц и

ы

и c o s( ; t - V2 ) e 2 s i n *- l

п о   п р о м ке ж т у ор тез к

у   м ж де у   [0, 4].

2.  В ы ч и сли т

е   и н ет г р а

у   е е   мв д у

л   о т  фн у кц и

я   с о нед и м

и   к о р н ям и

мо 3.  Н а й ди т

у   м ж ед , абсц и с

ы  к о т р ы е  к о р ен

cosx  = 0

у   е е   ло к аль н ы

м   м ак си м уо

м   и  л о к а л ь н ы

х   п р и н а лд е ж а

т   ортез к

у   [- 5,  0].

ь  урав н ен и

я   f(z)  = 0.1, есл

м   ми н и му

и

f(z)  =  ]xtg2xdx. о 4.  Р еш и т

е  си мест

у   ид ф е р н ц и а л ь н ы х)Ш

  =1У  (х- )Х ;

и

и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG s'mx- x 

п о   п р о м екж т у

,  п р и н а лд еж а щ и м

х   р уа в н е н и  

\ у2(х)   = - у 2{х- 0.5)  

й   лд

я   хе [ 0

,  5] :

\ S ](x)  = smx  +  0.1; + у, (х- 1);  

\ s2(x)  =  x- 2

-

346 

и  дл

аЧс т ь

я   п о лчу е н н о г

о   р еш ен и

•   и н ет г р а

л   п о  всем

•   корн 5.  Р еш и т

и  урав н ен и

я  в ы ч и с л и ет у   п р о м ек ж т у

 II. Вчиы с лени я

zyxwvutsrq

 и  пр о г ам м и р о вани е

:

у   о т zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI   yl  (х) ;

я   у х [х)   =  - \ .

е  ди ф ер н ц и а л ь н о

е  урав н ен и

е  дл

я   ЕХ

 [О , 7]:

6.  /   +  3 y- 0 . 1 ^ 2 = 2 si n x,  y(0) =  0.02,  / ( 0 )  =  1 и   лд

я   п о лчу е н н о г

м ум

ы   у( х ) .

о   р еш ен и

я   н а й ид т

е   вс е   л о к а л ь н ы

е   м ак си м у

ы   и  м и н и

-

л а вГ

а  7

п р а Уи в л щ ю я к зы я

е  конс т ицрку

и

а  прога м м ирова н

Ф а й л - нфу к ц и п р ые д щ у и к о м ан д Дл я ры х ви й пу р а в л яю щ и м о уг нфу к ц и й

я

и   и   фа й л - п р о гр а м ы х   гл а в ,  яв л ю ст ы   M ATLAB,  соедрж ащ и ес   р еш ен и я   м н о ги х   бо ле   едй с в т и я   п о в т р я ю ст   в ы п о л н я ю ст я   раз ли ч н ы е   к о н с р тк у ц и т   бы т ь   и сп о ль з о в ан ы .

пеО р а т о

ы  цлик

С о хж и е   и   п о в т р яю щ и ес ц и кл а   for  и  while.  Ц и к п о в т р яю щ и сх я   ед й с в т и й н е  и з в ес нт о , н о  и з в еснт

и кЦ

я   сам ы м е   с ер ь з н ы я   ц и к л и ч ес к и е   и   яз ы к   пр и

zyxwvutsrqponmlkjihgfedcbaZYXWVUT

,  к о т р ы е   в ы   с о з ад в л и   п р и   ч е тн и и   в ду х и   п р о с ыт м и   п р и м ер ам и   п р о гр а м .  Вс е я   в   н и х ,  в ы п о лн яю ст я zyxwvutsrqponmlkjihgfedcbaZYX  .ьон ватле д лспо х   з ад ч   р т е бю у с т я   п р о гр а м ы ,  в   к о т , а  в  з ав и с и м о с т и   о т   н ек о т р ы х   с л оу ч аст и   п р о гр а м ы .  В   да н н о й   гл а в е   о п и сан ы а   п р о гр а м и р о в а н и я   M ATLAB,  к о т р ы е   н ап и сан и и   к а к   фа й л - п р о гр а м ,  ат к   и  фай л -

а я   едй с в т и я   в ы п о л н я ю ст л   for  п р енд аз н ач е ,  a  wh i le —  лд о  увиое лс  п р о д лж ен и

н   лд я   ед й с в т и й

я   пр я   в ы п о л н ен и я  ц и к л а

и   п ом ощ ,  ч и сл .

и   о п е р а то р о я  згаон д о   котры

в а члис х   з ар н е

е

л  for zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

И сп оль з ован и

е  for  ощсу есвтля

я   ю с лу е д щ и

м   образ ом

:zyxwvutsrqponmlkjihgfedcb

for count = start:step:final днамок

ы  MATLAB

end

З се д к о н еч н о

ь   c o u n t — аняе мепр е  з н а ч ен и е

 ц и к л а , a  st ep  —  ш а г

,  s t a r t —  е е   н а ч л ь н о , н а  к о т р ы й  увели ч и в аест

е   з н ач ен и е

,  fin a l  — я   count  п р и  каж -

348 

од

аЧс т ь

м   ю с у л ед щ е count  сатн о в и ст то л ь к о   ц ел ы е неи е  ц и к л П ст у

  II. Вчиы с лени я

м   з ао х д е   в   ц и кл .  Ц и к л   з а к н ч и в а е ст я я   боль ш е   fin a l.  П ер м ен н а я   ц и кл , н о   и  в ещ есвтн ы е   з н ач ен и я  л ю б о г а   for  н а  н ек о тр ы х   а хр к ет р н ы х   п р и м ер ах

ь   рт е б с у

я   в ы в ес т

з адн о   н фу к ц и е н и й   п а р м е тр ет л ь н о   в ы ч и с л ят

и   гр а фи к

и  сем й свт

zyxwvutsr

 и  пр о г ам м и р о вани е

,  к а к   то л ь к о   з н а ч ен и е а   м ож е т   п ри н и м ат ь  н е о   з н ак .  Р а з б ер м   п ри м е .

а   кри вы

х   лд

я zyxwvutsrqponmlkjihgfedcbaZYXWVU   ЕХ  [О , 2т]с , к о т р о е

й   у( х,   a^ — t'^sinx,  з ав и сящ е й   о т   п а р м е тр а   а   о т   - 0.1  д о   0.1  с  ш аго м   0.02.  М о ж н о , к о н е ч н о ь   у( х,   а )  и   срто и т ь   е е   гр а фи к и   лд я   р а з л и ч н ы

а   a , дл я   з н ач е ,  п о следв а х   з н ач ен и

й

а   о т   - 0.1  д о   0.1,  н о   го р а з д о   о д б ну е е   и сп о ль з о в ат ь   цик л   for.  В  р е да к то р е М - фа й л о в   н аб ер и т е   е тк с т   фа й л - п р о гр а м ы ,  п р и в едн н ы й   в   л и с ит н г е  7.1, с ор ха н и т е   ег о   в   ф а й л е   F ORdeml.m  и  з ап суит е   фа й л - п р о г а м у   н а   вы п ол н ен и е  (и л и  и з  р е да к то р а   М - фа й л о в , и л и   и з   к о м а н дн о й  с тр о к и , н а б р а в   в  н е й FORdemi  и   н аж в   )  (р а б о т а   в   р е д а к то р е   М - фа й л о в   и   з ап су к   фа й л  5).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED п р о гр а м м   о п и сан ы  в  гаве л Л

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO

IzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Л ист ин г   7.1.  Ф а йл - прога м м а  FORdemi дл я   В Ы Р izyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

figure % си н а д з о

е  гг о к с е ч и ф а р

о  он к

х  = 0:pi/30:2*pi;  % ви н е л с и ч ы % по б е р

р  зи н е ч а н

а

е  вр о т к е

й  пр т е м а р

а  в  цл к и

а  зи н е ч а н

а zyxwvutsrqponmlkjihgfe

й  ат н е м у г р

е

for a = - 0.1:0.02:0.1 % ви н е л с и ч ы

е  вр о т к е

а  зи н е ч а н

у  = е( рх - * а ) х .*sin(x)

й  фи ц к н у ;  % ди н е л в а б о

и  дл

я  тг е щ у к е

е  гк и ф а р

о  зи н е ч а н а  фи ц к н у

я  пр т е м а р

а

и

hold on plot(x, у ) end



Пр и м е чан и

е  

Р о а к т де рв н т у

р   М - й а фо л и   ц и кл а   с  п оу тс о

в   о и м ав т ч с к е

J3

м   о т   лв е о г л д я   р и у к от в ан с и я   к е ст а   п р о г ам ы н ав л и ае т   п у тс о ы   щ я од е хп й   лид н ы indent  н а  вклад е   Language дл я   комп н е т ок н е  Preferences. В   р е з л у ь ат н о е  н а  р и с

е   в ы п о лн ен и . 7.1, к о т р о

е  со едр ж и

я   FORdemi  п о яв и ст т   р т е б ум о

и   еапгл др о   к р ая

т   р ас п о л ж и т ь   о п ер а т .  И сп ольйз ут е   эт у   в о з м ж н о с т .  Р аокедт р   о а мв и т ч с е к , елс и  вы бра н   п кр е лю ч т а ы  Editor/ Debugger  в   ид алогв я   гр а фи ч е с к о е   с е м й св т

е   окн о о   кри вы х

,  и з о б р а ж ен .

ы ь и   а тс у ь   Smart м -

л ав Г

 7. У пр юавлщя и е

 конс т рцкуи

 яазкы

е  фай л- п р о г ам

349 zyxwvutsrqpo

 

. 7.1. Св тйсем

Рис Н ап и ш и т

 пр о г ам м и р о вани я

о  киырв

у   лд я  в ы ч и слен и

я  см у

х

ы zyxwvutsrqponmlkjihgfedcbaZYXWVUT

„  й   1 л Аг о р и т м   в ы ч и с л ен и я   м су ы л а   мс у а   равн а   н л юу , з ает м  в с я   l/ k\   (т . е .  1/1!), до б а в л яест я в у е л и ч и в а ес т я   н а   еи д н и ц у ,  и га е м ы м   н е   с а тн е т   1/10!.  Ф а й л - п р о гр а м г е  7.2, в ы ч и сляе т   и ск о м у ю   м су

ин е а к п л о  р ез луь ат ,  т . е .  сн ач   и сп о ль зе у т  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML  п ер м н у ю   к   з а н о с и ст я  еид н и ц а , в ы ч и сляет   к   S  и  р ез луь ат т   в ао н с  зиятсаон  в   S.  Д а л е е  к   п р о ц ес с   п р о д л ж а е ст я ,  п о к а   п о с л ен д и м   сла а   FORdem2, п р и в едн н а я   в   ли ст н .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI

J^zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   П р и м е ча н и е   ^ лЕс I  Л ис т ин

и  ш а

г  ц и кл

а  рвае

г  7.2. Ф а йл - прога м м

н   1, т о  ег о  можн а  FORdem2 дл

% Ф- Л Й А М А Р Г О Р П А  ДЛ Я  ВИ Н Е Л С И Ч Ы Я  М У С %.  1/1! + 1/2! + . . . + 1/10! % ои н е л у н б S = 0;

е  S дл

я  ни н е л п о к а

я  м у с

я  вичсыл е ни Ы

ы

.zyxwvutsrqponmlkjihgfedcbaZYXW

о  н е  указ ы вьат я  сму м

ы zyxwvutsrqponmlkjihgfe

350 

аЧс т ь

% ни н е л п о к а

е  см у

ы  в  цл к и

е  с  шо г а

 //,  Вчиы с лени я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP  и  пр о г ам м и р о вани е zyxwvut

м  1

for k = 1:10 S = S + I/factorial(к) ; end % во в ы

д  рт а ь л у з е

а  в  ко н д а м о

е  он к

о

SzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Н аб ер и т ат л о г м ан д о от ч к

е   фа й л - п р о г а м у   в  р е да к то р е   в   фа й л е   FORdem2.m  и  в ы п о л н и т м   окн е , т .  к .  в   п ослнед й   с рт о к и  с  з а п я то й  дл я   о т б р а ж ен и я  з н ач ен и

е   М - фа й л о в е   е .  Р ез луь ат е   фа й л - п р о г а м я  п ер м ен о

, с орха н и т

е   в  тещк у е

м   ка я   в  к о я   s  бе з е  о к н о

т   о т б р а ж е тс ы   с о ед р ж и с т й  s  в  к о м а н дн о

s  = 1.7183 О б р а ти б ы  п о в леч л д я   п о ад в л е н и

е   вн и м ан и е ь   вы во

, ч т о   о сатл ь н ы я  в ы в о д

П ер в ы

е   с рт о к х   з н ач ен и й е  о к н о

д   п р о м е ж о т уч н ы а   в  к о м а н дн о

е  дв е   срт о к

и   с  к о м ен атр и ям о   ет к с а   п р о гр а м ы ь   п р и   п ом щ ю  о  н аз н ач ен и

о т   о с ат л ь н о г п о л ь з о в а ет л и н фо р м а ц и

и  фа й л - п р о гр а м ы , з ав ер ш аю ст .

, к о т р ы я   то ч к о

и   н е  счлуай н о   о е д тл н .  И м ен н о   о н и   в ы в о дя с т ы   h elp  и з   к о м а н дн о ы  FORdem2

и   к о м ан д и  фа й л - п р о г а м

е   м о лг й   с  з а п яот

ы   п со ту й   с рт о к ,  к о гд я   н а   э к ран й   с рт о к и   п о лч у а е

и й й а т

»  help FORdem2 -ЛЙАФ М АРГОРП

А  ДЛ

Я  ВИ Н Е Л С И Ч Ы

Я  СМ У

Ы

1/1! + 1 / 2 ! + ... + 1/10!

Пр та р и я м и В аж н с ат н о в я ст

и   н ап и сан и , о с о б ен н о   п о н я ть я  до спут н ы м

ат к   н а з ы в а е м ы м ч ен и я   к   п осл е с рт о к е   и  н а ж т в ы п о л н ял с я   ка п р о гр а м е   м о гу ед , т . е . п ер м ен н ы Э т о   м ож е т   п о с жл у и т м ен яе т  с о едр ж и м о л и   бы т ь   и н и ц и али з и рован п р о гр а м е .

и  фай л - п р о г ам о  есл

м   и  фай л- нфу к ц и и  в ы  п лан и реут

е   п родлж и т

й  н е   п р ен еб р ега й т ь   работ

у   с  н и м и

е   к о м ен !

-

,  ч т о   вс е   п ер м ен н ы е ,  и сп о ль зюу щ и ес я   в   фа й л - п р о гр а м е , и   в  р а б о ч е й   с р ед е  (см . о к н о zyxwvutsrqponmlkjihgfedcbaZYXW  Workspace).  О н и  яв ляю ст я и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  и м ьын алб о г л и.м ын пе мер  Н а п р и м е р , дл я   п о лчуен и я   зн а   в ы п о л н ен и я   FORdem2 се луд т   п рост о   н абрат ь   к  в   к о м а н дн о й ь   < Enter> . Р ез луь ат т   о ч е в и ед н , т . к .  п о сленд и й   ра з   ц и к л   for к   р а з   лд я   к ,  р а в н о г о   ед с я и т .  С   рдгоу й   с то р о н ы ,  в   фай л т   и с п о л ь з о в а ьт с я   вс е   п ер м ен н ы е , в в едн н ы е   в  р а б о ч е й   ср е е  все х  фай л - п р о г ам м   и  р а б о ч е й   с р ед ы   я в л ю ст я  о б щ и м и . ь   и с от ч н и к о м   ош и бок ,  п о ск о ль к у   фа й л - п р о гр а м а   из е   о нд о и м е н н ы х   п ер м н ы х  р а б о ч е й   с р е ыд , к о т р ы е   м ог ы   и з   к о м а н дн о й   с рт о к и   и л и   в   др г у о й   фа й л -

л ав Г

 7. У пр юавлщя и е

П о с та в и щ у ю   ещ

 конс т рцкуи

м   з адч е  о т  п ер м ен н о

 яазкы

у   вы ч и сли т

 пр о г ам м и р о вани я

ь   м су ,  п ожх у ю   н а   п р еыд щ у ю у ,  н о   з ав и с я й zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   х : ю

Д л я   в ы ч и с л ен и л и с ит н г

351 zyxwvutsrqpo

 

я   да н н о

й   м су я   и з м ен и т

е   7.2, требсту

  YЈ

ы   в   фа й л - п р о г а м ь  срто к у   в н рт у

е   FORdem2, п р и в едн н о а   for  н а

и   ц и кл

й  в

S  =  S  +   x.^k/ fact orial( k) ; т   о п р е дл и т ь   п ер м н у ю   х   в   к о м а н дн о й П ер д   з а п с ку о м   п р о гр а м ы   е су л д с рт о к е .  В ы ч и слен и е ,  н а п р и м е р ,  5(1.5),  п р о и з в о ди ст я   и з   к о м а н дн о й   с рт о к и п р и  п о м щ и  сю улед щ и х   к ом ан д :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG »  х  = 1.5; »  FORdem2 S = 3.4817

В   к а ч е с вт е   х   м ож е FORdem2 п р и  н ак о п лен и

т   бы т

ь   в е к от и  см у

р   ил ы   и сп о ль з о в ан

и   м а тр и ц а

,  п о ск ль к ы   п о э л ем н т ы

у   в   фа й л - п р о гр а м е  о п е р а ц и

П ер д   з а п с ук о м   FORdem2  н ж у о   о б я з а ет л ь н о   п ри свои т то р о е   з н ач ен и е ,  а   лд я   в ы ч и слен и я   мс у ы ,  н а п р и м е мы х ,  п ри есдт я   в н ес т и   и з м ен ен и я   в   е тк с т   фа й л - п р о гр а м ы н ап и сат ь   н у и в ер с а л ь н у ю   фа й л - нфу к ц и ю , у   к о т р о т   з н ач ен и е   х   и  в енрх и й   п ре д л   мс у ы м гу е н от в   удб н и е   м су ы   S(x).  И с п о л ь з о в а н и е   к о н с р тк у ц и й   яз ы к ч а с нт о с ит п р о гр а м а х

,  ц и к л о в .

С о з да в

я   фа й л - нфу к ц и ю

р и тм епс т н едй с в т и с л а г ем ы в ес ь м

,  в   фай л- нфу кц и я

и   с л аг ем ы м и

о ч е в и дн о

,  ч т о   а 6  =а 4  - х/ 6   , а  дл е   с о нт о ш е н и е ,  в   к о т р о

з в о л яе

т   э ф е к ит в н

е -

,  к а к   и   в   фай л

е   с уо в е р ш е н с вт о а н и

.  П р е дп о л ж и м

,  ч т о   ж у я   п рои з воль н ог

-

е   в   а л го

м   фо р м а л ь н о   в ы ч и с л ят

о   а 5  - х   / 5!, то гд

е   е щк т у е

о   а о =1.  Д о с та о ч н ь   мс у ы

е   в ы ч и с л ен о   к   с п р а в е лд и в

:  а к   = а к _ х   •  х/ к   ,  св яз ы в аю щ е

га е м ы е

-

,  в

я   ат к   ж е

е   н ек о т р о

й   х   н ек о и   слаг е .  Г о р а з д о   чл у ш е   в о хн д ы х   ар м   —  з н ач е

  к - то  с л а г ем о г о   а к   - х   \ к \   р т е бс у я   в о з в ес т и   х   ф а к то р и а л   к  . Д л я   н еб о л ь ш о г о   ч и сл а   с л аг ем ы х   эт   п р а к ит ч е с к и   м гн о в е н н о ,  н о   п р и   веули ч ен и и   ч и сл   н абор е   з н а ч ен и й   х   в р ем я   с ч ет а   м ож е т   о к а з а ьт с у   мв д у м   п р и м ер е   н ес л о ж н о   з а м е ит ь   с в яз ь   м же д

с о не д и м но

й   в   к а ч е с вт ,  а   в ы охнд ы а   п р о гр а м и р о в а н и я

х   п р о и з в о ид с т ,  в н еси т

.  П р и   в ы ч и слен и и ь   к   и  в ы ч и с л и т ь я   в ы п о л н я ю ст я х   и   боль ш о м а   боль ш и м .  В   н аш е

ь   п ер м ен н о р   и з   п я н т а дц а т

е .

о   ч аст ,  в о з н и к а ю щ и

 в и а я я а

о   р ек у н т е   и   п р ые д щ у е о   та к о

е   с ла

й   п о хд

е   в   п р а к ит ч е с к и

д   по

х

-

352 

з адч ах м ое

аЧс т ь

Ф а й л - н фу к ц и

zyxwvutsrqp

 и  пр о г ам м и р о вани е

т   му н о ж ат ь   п р еыд щ у е е   слаге , н а   к о т р ы й   е су л д ю zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   ak / ak _ x  .

.  К о э ф и ц и ен т н   о нт о ш е н и

, р ав е

 II. Вчиы с лени я

я   sumN, в ы ч и сляю щ а

я   S(x),  п ри в едн

а   в  л и сит н г

е   7.3.zyxwvutsrqponmlkjihgfe

; zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л ис т ин г  7.3. Ф а йл - иц нк фу я   sumN дл я   ичвсыл е ни я   с му м ы

fu n c t i o n  s  =   sumN (x,  N) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA % Ф- Л Й А И Ц К Н У Ф % 

Я   ЛД

Я  ВИ Н Е Л С И Ч Ы

Я   М УС

Ы

А

/ х 1 ! + х 2/2! +  ... + x^N/N!

% ие и н а в о з ь л о п с

:  S = sum(x, N)

% ои н е л у н б

е   S дл

я  ни н е л п о к а

я   м ус

ы

s = 0; %но н ь л а ч

е  е и н е ч а н з

, е щ ю у в т с е в т о с

е   m = 0

и  = 1 ; % ни н е л п о к а

е   м ус

ы   в  цл к и

е

for m  = 1:N u = u.*x/m; s = s + u; end

О   н аз н ач ен и и   и  с п о с б е   вы з ов н а ть ,  н а б р а в   в   к о м а н дн о й   с рт о к п ер в ы е   рт и   с р т о к и   с   к о м е н та р и я м и п со т у й   с тр о к о й .  Я с н о ,  ч т о   лд р е з ул ь та т » 

,  Т Ч

а   фа й л - н фу к ц и и   sumN  п о л ь з о в а етл е   h elp  sumN. В   к о м а н дн о ,  оедтл н н ы е   о т   ет к с т я   х  =  1.5  и   N = 10  нфу к ц и

ь   м ож е о   в ы с в т еу д

е   окн а   фа й л - н фу к ц и я   sumN  да с

т   то

т   зу я и т  ж е

О  И  F ORdem2:

S  =   su m N ( 1.5,  10)

s  = 3.4817

О б р а ти т е   вн и м ан и е , ч т о н фу к ц и и   sumN  н е   яв л ю ст р ем н н о й   m и л и   и   и з   к о м а н дн о sumN  п р и в о ди т   к   с о б щ ен и ед л н а   (р аз муестя ,  сле и Е сл и   в  р а б о ч е й   с р ед е   и м се т р едл н н а я   и з   к о м а н дн о с в яз ан а   с   й ьо н к а л   п ер м ен н о

  в ин у е т р

 и л

и  ле ьын коал .  П о п ы тк й   с рт о к и   п о сл ю   о   то м ,  чт о   нфу к ц и я   он а   н е   бы л а   и н и ц и али з и рован я  ьаня лб о г л  п ер м ен н а й   с рт о к и   и л и   в   фа й л - п р о гр а м е й   m в   фай л- нфу к ц и я   гл о б а л ь н ы м и

 п ер м ен н ы а   п р о с м о тр

е   m и   и  фай л а   з н ач ен и я   пе е   в ы п о лн ен и я   фа й л - н фу к ц и и , и л и   п ер м ен н а я , н е   о п р е а   д о   вы з ов а   sumN). я   с  те м   ж е   и м ен е м   т ,  оп ,  т о   о н а   н и к а к  н е .  К а к   п р а в и л о ,  лчуш е

 7.  У пр юавлщя и е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  конс т рцкуи  яазкы  пр о г ам м и р о вани я  

л ав Г

о ф р м лят п ер м ен н ы е гл о б а л ь н ы н фу к ц и ци

ь   с о б вт е н н ы , и сп о ль з ему ы х   п ер м н ы я   м ож е  " гавы л

353 zyxwvutsrqp

е   а л г о р и мт ы   в   в и д е   фа й л - н фу к ц и й   лд я   т о г о ,  ч от б ы е   в   а л г о р и мт е ,  н е  п о р ит л и   з н ач ен и я  о нд о и м ен н ы х х  р а б о ч е й   с р еы д .  В п ро ч е м   п р и  н ео б хид м о с т и   фа й л ь   гл о б а л ь н ы е   п ер м н ы е zyxwvutsrqponmlkjihgfedcbaZYXWVU   (с.м  р.азд  "Пукн - ф до

т   и сп о ль з о в ат   5).

Ц и кл ы   for  м оуг т   бы т ь  ыне жо вл  дру г   в  дргау , п р и   эот м   п ерм н ы е  влож ен  В лож ен ы е  ц и кл ы  уобдн ы   лд я  з ап о лн ен и я н ы х  ц и к ло в  долж н ы   бы т ь  ри.м азын м а рт и ц . Н а п р и м е р , в  р а з д .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG  MATLAB: Programming: Basic Program Components: Program Control Statements: Loop Control — for,  while, continue, break с п р ав о ч н о й с и ме т ы   MATLAB  сеоржди т я   п ри м е р   з а п о л н ен и я   м ра ти ц ы   Г и л ь б ер т а   пр и п ом щ и   в л о ж ен ы х   ц и к ло в . Э лем н т ы   м ра т и ц ы   Г и л ь б ер т а   п о р я кд а   п   оп ре е л дя ю с т я   фо р м л а у и   at  j  = l/ (/  +  j  - 1 ) , дл я   i,j  = 1,2,  ...,  n . е  п р и м е р  в   н о в ы й   М - аф й л   п р и   п ом щ и   ф бе р у а   о б м ен а   Windows, е   с   и м ен м   HiLdem.m  и   п р о д л ж и т е   работ у   с   н им ,  к а к   с   фай л .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

С к о п и р йу т с орха н и т п р о гр а м о й



П р и м е ча н и

е   ^Д

Н е  п нре йагбт воч н й   м е и тс ся ь  жмеалог

е   в о з м ж н ь о ст ю   з ап с к т у е   MATLAB,  и  и знме тя о   р а ез л ь т у .

П ер д   в ы ч и с л ен и е м   э л е м н от в   м а рт и ц е е   п р и   п ом щ и   н фу к ц и и   zeros,  к о т р а м и .  И н а ч е  в   ц и к л е  р а з м ер ы   м ас и в п о рт е б у т   д о п о л н и те л ь н о г о   в р ем н и то ч н о  до б а в и т ь   в  к о н ц е  фай л - п р о г ам т   с н а б ид т ь   ч аст и   фа й л - п р о г а м ц у .  С елуд бо ль ш и х   и з м ен ен и й   в   ск о п и ро в ан н о в ы г л я ид т   та к , к а к  п о к а з а н о  в  ли ст н г

;  % Зи н а д

ь   п р и м ые ь   и х   п о  смеов

"' 

а  мц и р т а ы

п  = 4; % Ии ц а з и л а и ц н

я  мц и р т а

ы  и  зи н е л о п а

е   е е  нм я л у

а  = zeros(n); % Ви н е л с и ч ы

е  мц и р т а

for i = l:n

е  в  спар ,  обид ва

ы  Гт р е б ь л и

а  к д я р о п

-

ы   ц ел с о б р аз н о   и н и ц и али з и ро в ат ь я   с о з ад е т   м ас и в , з а п о л н ен н ы й  н ля у а   удб т   ид н а м и ч е с к и   в у е л и ч и в а ьт с я ,  ч т о . Д л я   в ы в о д а   м а рт и ц ы   н а   экра н   од с а т ы   и м я  м ас и в а , с о едр ж ащ ег о   м а рт и ы   к о м е н та р и я м и .  П о с л е   не м   п р и м ер е   фа й л - п р о гр а м а   H ILdem е   7.4.

j  е  рр е м з а

, пнеирдв ы у   н р е мс о т у и ю

а  п

и

; zyxwvuts

354 

аЧс т ь

 II. Вчиы с лени я

 и  прогам м и р о вани е

zyxwvuts

for j = l:n a(i, j) = l/(i  + j -  1); end end % Во в ы

д  мцирта

ы  Гт р е б ь л и

а  н а  эа р к

н

а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

З ап с у ч евт р о г м ен о ри ц

т   к   вы вод у   в   к о м а н дн о е   окн о   м а рт и ц ы   Г и л ь б ер т а к   HiLdem  п р и в о ди о   п о р я дк а   и   п о яв л ен и ю   в   рабо ч е й   с р ед е   н ов й   гл о б а л ь н о й   п ре й  —  м ас и в а   а  р а з м е р а   ч еы т р е   н а  ч еыт р е , с о едр ж ащ ег о   э л ем н т ы   м ат ы   Г и л ь б е р та .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Пр и м е ча н и



е   ^[

И н и ц и ал з ац и

я   юл ыб х   и м ы е п с ь л зо у х   н м е пр ы х   с ч т иеа я   ор ш х и м я  п рогам , он а  ниодм бхе а   в о   м н и ог х   зя ы к а х   п р о гам м и ро вна и я . В  MATLAB и н и ц лазц и я  н е  оьлезнбята , формьлан о  комна д у а   =   zeros  (n)  мжон о  бы л о   п р и о ьс т у ,  п оксьл у   MATLAB  омиавт че к с и   в л и е у ч в еа т   р аз м е ы   и с м ва а   п о   р м е е   п ир н в о ес я   з н ча е и й   г е о   е эл на ме т м   и   вы од х а   з а   н юх р е в ю   р на г и ц у   бы т ь   н е   м т ож е .  Э т а   оснбе ост ь м ж ое т   ж и п т у л ос ь   о чи н т с к о м   о ш и бо к .  П нержб и е   и н и ц и ла з ц и е й ати т   в   бес е   щ е е  он д у   оп асн ьост . Птс у ь   в  рабоче й   д ер с е   ж у е   тс е ь   и с ма в  а р а з м ер а   10 н а   10, а  в  фйа л- п рмаог е  HiLdem и н и ц и ал з ц и я  оте вус т у . Т одг а   п л со е  вы п онл е и я  HiLdem мис а в   н е  и змне и т  раз м еры , а  эмелн ы т , р о ч н ст ы е   и   о цб л т с в ы е е   с к и ен д ы   к о р ты х   я о дп в р е х с т   ы ч те р ,  снато у я еб з  и з мне и й .

иел тс

м   н па и с на и

П о с ат в и м   етп р ь   з адч у  —  и с леодв ат т а   дл я  р а з л и ч н ы х   п о р я дк о в   м а рт и ц браз и т ь   р е з л у ь ат т  в  в и д е  гр а фи к о г о   с о б вт е н н ы х   ч и се л  в  з ав и с и м о с т з адч и   р т е б су я   N  р а з   в ы п о л н и т в е дн н о й   в  л и с ит н г е  7.4,  и з м ен я ри ц ы   Г и ль б ер т а   п о р я дк а  п  н ео б хди м о 1.  Н а й т 2.  О п р едл и т м ен

и  е е  сп ек т т  в е к то р

3.  З а п о м н и т н ы х  в е к то р о в В   кон ц е  се улд с нт о с ит , н аохж едн и вы  6).

р  п р

и  п о м щ

ь   гр а н и ц а  —  а р гму ен т ь  гр а н и ц

ы   с п е к рт а

ь   гр а н и ц ы   с п е к рт ы   (о т  п ер в о г о   д о   н ек о т р о г в  з н ач ен и й  м а к с и м а л ь н о г и   о т  р а з м е р а   м а рт и ц ы ь   о п е р а то р ы   фа й л - п р о гр а м я  п  о т   еид н и ц ы  д о  N. П о с л : и  в срт о ен н о

й  фн у к ц и

х   с  и н едк со

ы   Г и л ь б ер о   N- ГО ) И  от о   и  м и н и м а л ь н о . Д л я  р еш ен и я  э от й ы   HiLdem, п ри е  в ы ч и слен и я   м ат -

и   eig.

,  т . е .  м ак с и м ал ь н ы а   eig.

ы   в   э л е м н ат

а   м а рт и ц

й   и   м и н и м аль н ы

й   э ле

-

м zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON   п   н ек о т р ы х   в с п о м о г а ет л ь -

. т   в и з ау л и з и р о в а т

ь   р е з л у ь ат ю   с п е к рт а

, п освящ е

н  р.азд

т   (о п ер ац и я   "Зиач д

м   с   м а тр и ц а м и  лйиеон

 а"ыргбе л

, в   ча  га- л

 7.  У пр юавлщя и е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  конс т рцкуи  яазкы  пр о г ам м и р о вани я

л ав Г

Н ап и ш и т е   фа й л - н фу к ц и ч ес к о г о   окн а  з ав и с и м о с т ес л   м а р т и ц ы   Г и ль б ер т н о г о   ч и сл а   и сп о ль з йу т а р мг у е н о т м   фа й л - н фу к ц и и с е м л у ыд х   м а рт и ц в о з н и к н о в ен и и  з арндту ен и

ю  H iispect,  к о т р а и   м ак си м аль н о г а   о т   п о р я дк а   м а рт и ц е   л о га р и фм и ч е с к у и   H iispect  одлж е , в ы охнд ы е   а р мг у е н т й   в о с п о л ь з й у етс

И с лй еуд т е   гр а н и ц Г р а фи ч ес к о е  о к н о »  H ilSpect(12) до л ж н

о  в ы гляедт

ы   с п е к рт , п о яв л ю щ ес ь   та к

а   м а рт и ц

я   в ы в о ди т   н а  р а з н ы е   ос и  гр а фи о   и  м и н и м а л ь н о г о   с о б втен ы х   чи ы   (дл я   м и н и м а л ь н о г о   с о б вт е н ю   ш к ал у   п о  ос и  о р ди н а т) .  Вонхд ы м н   бы т ь   м ак си м аль н ы й   п о р я до к ы   в  дан н о м   сч л ау е  н е  н жун ы .  П р и ь   л и с ит н г о м   7.5.

ы   Г и ль б ер т я  в  р ез луь ат

, к а к  п о к а з а н

М а кс и м а л н ь о

е  в ы з о в

о  н а  р и с

е   с о б с в те н о

355zyxwvutsrqpo

е  чис л

а   д о   д в е н а д ц а то г а

о   п о р я дк а

.

. 7.2.

о   м р и та ц

ы  Гбиельрт

а

1.Г

ь- —"^zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML

1.6 1- 4 1.2

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

10  -   12

10

"^

10"

• 01  :  12 Рис

К ^ 

Пр и м е ча н и

. 7.2. Гнариц

е  

ы  ср ткпе

а  мирц та

ы  Гтриеьбл

а

^

П р и   ш ер н и и   п и рк а т ч с е х   з а чд ,  ю убщер т и  затр с ив т я   а л ь ун к т о й   п р о бмле а  х ыне мевр ч т о   з ап о л н е и е  мриат ц  лчш у е   щ т я в л уо с е нр о е в т с ы х   н ц ку ф и й   MATLAB,  л с е и   р уктр с Н а п р и м ер ,  л д я   нче пиуло я   р и м та ц ы   Г и л ь б ре т h ilb. Уилвенч и ю   п р о и з в л о ье д н т о с и  п роамг ав г л  23.

х   м н ог  ком п ь ю ерат ь   пр и  п омщ а   р и м та ц а   п н р д е аз н ач е м  п ольз еват

о   в ы ч и н сел и й

, сна т о

-

.  Оказ ы всяает и   и н ц ак с е и д ы   п о з в е ля а   н ц ку ф и я  пщвояс не

, и  ил и т   эот . я а

356 

аЧс т ь

 и  пр о г ам м и р о вани е

function HilSpect(N) % Ии н а в о д е л с

е  ги н а р

% ие и н а в о з ь л о п с

ц  ср т к е п

а  мц и р т а

ы  Гт р е б ь л и

а

: HilSpect(N), N -  мы н ь л а м и с к а

% ии ц а з и л а и ц н

я  мо в и с а

в  дл

я  ги н а р

й  по д я р о ц  ср т к е п

к

а

Lmax = zeros(I, N) ; Lmin = zeros(1, N) ; % ви н е л с и ч ы

я  дл

я  ми р т а

ц  о т  пг о в р е

о  пк д я р о

а  д о  N- ro

for n = 1:N % зи н е л о п а

е  мцирта

% мнжо

о  ит а в о з ь л о п с

ы  Га т р е б ь л и

, вт с е м

ь  ву н е о р т с

ю  фи ц к н у

о  вы н е ж о л

х  цо л к и

в

ю  А  = hilb(n);

А  = zeros(n); for k = 1:п for j = 1:n ( А к

, j) = 1/(к  + j -  1);

end end % ви н е л с и ч ы

е  ср т к е п

а  и  ег

о  ги н а р

ц

Lambda = eig(A); Lmax(n) = max (Lambda) ; Lmin(n) = min(Lambda); end % во в ы

д  зе т с о м и с в а

й  ги н а р

ц  ср т к е п

а  о т  пк д я р о

а  мцирта

ы

figure; subplot(2,zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  I, 1) plot(Lmax,  'ko- ') title('Мо н ь л а м и с к а

е  со н е в т с б о

е  чл с и

о  мцирта

ы  Гатребьли

1

)

xlabel('\itN') grid on subplot(2, 1, 2) semi logy(Lmin,  'k*- ') title('Мо н ь л а м и н xlabeK ' \itN' ) grid on

zyxwvuts

я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC  H i l s p e c t  дл я  ис л е овда ни я  спеткр а а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

г  7.5. Ф а йл - иц кн фу ы  Гилбье рт

Л ист ин м а т риц

 II. Вчиы с лени я

е  со н е в т с б о

е  чл с и

о  мцирта

ы  Г' атребьли

)

л ав Г

 7. У пр юавлщя и е

 конс т рцкуи

 азкыя

 пр о г ам м и р о вани я

357zyxwvutsrqpon

 

В   а л го р и т м   з ап о л н ен и я   п о с л е од в а е т л ь н о с т и   м а рт и ц   м ожн о   в н ес т и   с оу в е р ш е н с вт о а н и е , п о ск ль к у   п р и  увели ч ен и и   п  н а  еид н и ц у   н ова я  м а рт и ц а   обра с з ет у я   и з   с ат р о й   од б а в л е н и е м   срт о к и   и   с от л б ц а .  В о сп о ль з йу етс ь   с и м ет р и ч н о с ть ю   м а рт и ц ы   Г и лб ер т а   и   ет м ,  ч т о   MATLAB  ид н ам и ч ес к и   в уе л и ч и в ае т   р а з м е р ы   м ас и в а   п о   м ер е   н е о б х ид м о с и т .  П р и   в о з н и к н о в ен и и  з ардту неи й   о б р а ит е с ь   к   ли ст н г у   7.6,  в   к о т р о м   п р и в ед н   п о хя д щ и й   бло о п е р а то р о в .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Л ист ин г  7.6. Вичсыл е ни я  м а т ри ц  Гилбье рт а  доба вл е ни м  ст рок и  и  с т ол бц I zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

к

а

А   =   1; f o r  n  =   2 : N f o r  k  =   l : n  -   1 A( n ,  k)  =   l / ( n  +   k  -   1 ) ; A( k ,  n )  =   A( n , 

k);

end A( n ,  n )  =   l / ( 2 * n  -   1 ) ; end

В   з а к л ю ч ен и е   э от г о   р а з де л а   о м т ие м   ще е   но д то р а я   н а р яд у   с  в о з м о ж н о с ьт ю   з адн и я   в е щ е с вт н н о г сот я н н ы м   ш а го м   ед л а т   цик л   for  до с та о ч н з н ач ен и й   п ер м ен о й  ц и к л а  доп сук ает я   и сп о ль з о в ан и

у   о с б ен н о с т

ь   ц и кл о   с ч ет и к

о   ну и в ер с а л ь н ы м е  м ас и в

а   for,  к о а   ц и кл а   с  п о .  В   к ач есвт е а  з н а ч ен и й :zyxwvutsrqp

for count = A днамок

ы  MATLAB

end

Е сл и   А —  в ек от р - с рт о к а е е   э л е м н от в   пр е   ц и кл i - о м   ш аг с те я  в екотр - сотлбц о м рав н ы м  А . Цик ч и сл п о в т р ен и й

икЦ Цик с ч л уа е н е ие

л   for  о к аз ы в аест а  дей свт и й

,  т о   count  п о с л еод в аетл ь н о   п ри н и м ае т   з н ач ен и е и   к а ж од м   з ао х д е   в   ц и кл . В   чслау е  двму ер н о г о   м ас и в а   А  н а zyxwvutsrqpon а   count  соедрж и т   с от л б е ц   А ( :,  i ) .  Р аз муестя ,  сел и   А  яв ля , т о  ц и к л  вы п олн и ст я  всег о  оид н  р а з  с о  з н ач ен и е м  count, я   п о л ез н ы

м   пр

. С щу есвюту , р е а л и з о в а т

т   а л г о р и мт ь   котры

и  в ы п о л н ен и ы   с  з а р н е

е  п о з в о л яе

т  бо ле

и  о п р едл н н о г е  н еи з в еснт ы е  ги б к и

й  ц и к

о   к о н еч н о г м   к о л и ч е с вт о л  while.

о м

л  while, zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  сму м ирова ни е  ро д я в л   while  жслиу ,  к о гд а   ч и сл м   н ек о т р о г

т   лд я   о р г а н и з а ц и о   п о в т р ен и й   з ар н е о   с ул о в и я .  Р ас м о рти

и   п о в т р ен и е   н е и з в е сн т м   п ри м е

й   о нд о и т п н ы о   и   о п р е дл я с т р   н а  в ы ч и слен и

х   е дй с в т и

й  в я   вы п ол

е   мс у ы

, п о

-

358 

о жхи з адн н ог

аЧс т ь

zyxwvuts

 и  пр о г ам м и р о вани е

й   н а  п р и м е р   и з  п р еыд щу его   р а з де л а .  Т р ебсту я   н ай т и   м су у   р яд о zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   х   (р а з л о ж ен и е  в  р я д   sin x):

К о н еч н о м су у   е то р и ч е с к з адн н у о гр а н и ч е н н о циф р  и в аю щ е е for  в о с п о л ь з о в а ьт с котры

, д о   б еск о н еч н о ст с   з адн н о й   то ч н о с ть ю и   д о с та о ч н ю   то ч н о с ть ,  н а п р и м е р й   от ч н о с ьт , в   к о н еч н о м   и от г е   м ало ст ь   е к тщ у е г я  н е й  р а б о та е т ,  п о к а

while уи в о л с днамок end

В   да н н о кщ у е г п о н я нт о н фу к ц и ш ен и

 II. Вчиы с лени я

и   см у и р о в а т о   е др у ж и в а т

ь   с л аг ем ы е 10 ,  10~ .  О дн а к ю   в ы ч и с л ен и й   м ож е ,  к   н ев рн о м у   р е з л уь ат о   слаг ем о г ,  з а р н е  уадстя .  В ы о х д   со ти  в ы п о лн яест я  ув иое лс

е  пи н е р о т в о ы  MATLAB

м   п р и м ер

ь   н е  уадстя ,  ч т о   лд

.  И з в е с тн о

я  л к и ц

е   с л уо в и е

,  н о  м о ж н я   з н ак о п ер м ен н о г ,  п р ев ы ш а ю щ и

а   лд

о  н а к п л и в а т

я

ь о   р яд

а е   п о   л м уо д ю о   сму и р о в а н и е   та к и х   р я до в  с т   п р и в ес т и   к   п о ет р е   з н ач щ и х .  З н а ч ен и е   к ,   о б ес п ч и е   н е и з в е с нт о , п о э т м у   ц и к ло м т   в   п р и м ен ен и и  ц и к л а   while,  ца:ик л zyxwvutsrqponmlkjihgfedcbaZY

а

м   п о в т р ен и

я   ц и кл

а   я в л се т

2kH

я   то

,  ч т о   млоуд

ь   ет -

10

е   Ю. Д л я  з ап и с и  усло в и я   в  фо р м е о   слаг ем о г о   x j{2k  +  1)!  б о л ь ш й   M ATLAB,  е сулд т   и сп о ль з о в ат ь   з н а к   ">"  (б о л ь ш е) .  Т ек с т   фа й л и  mysin,  в ы ч и сляю щ е й   м ус у   р яд а   н а   о сн о в е  р ек ру ен нт о г о   с о нт о я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

, -

2 п р и в ед

н  в  л и с ит н г ^  К о н еч н о м е а с гл о рк я д а иг м к о п н ел о н ша е

i  Л и с т и н

е   7.7.

Пр и м е ча ни

е  

^|

,  в   щбо е м   ча у л с е   м о лт с а ь   с ам л е г о е   м жо е т  бы ьт , смжкеа , п кордя . В  эо т м  ча улс е   о в ил с у е   о к н ч ан и , а   и нме о  молатс ь   л у д мо я   н от ш н е и й   т с ча и   м ы ус .  П ок а   н е  е д уб й  зчаед й  с теялв я  инче изу е  работ г  7.7. Ф а йл - иц кн фу

о  —  п они тя е   н о т с и ле ь т н о е , а   1(Н 0, н о  и  сма а  см у а   отг о   ж е  п о я  см иу ронва и я  должн о   бы т ь   ур д я  тщ куег о   с л а ме г о о   к  уж е   н а м   о б р ащ ат ь   н а   э т о   в н и м на и я  — ы   с  ц и клма .zyxwvutsrqponmlkjihgfedcbaZYX

я  m ysin ,   ичвсыалщюя

я  с ину

function s = mysin(x) % Ви н е л с и ч ы % Ие и н а в о з ь л о п с

е  сс у н и

а  ре и н ж о л з а

м  в  ря

д

: у  = mysin(x), - pi >  fpiot(@mysin,  [- pi,  pi]) »  hold  on »  fplot(@sin,  [- pi,  p i ] ,  ' k. ' )

Рис

. 7.З . С р ав н ен и

е   m ysin  и   si n

й и

360

аЧс т ь

П о лч у а ю щ и е с п рав и ль н о

я   гр а фи к

и   и з о б р аж ен

й  р а б о т

 II. Вчиы с лени я

ы   н а   ри с и  my s in .

е   фа й л - н фу к ц и

т   с о ед р ж а т с Ул о в и е   ц и кл а  while  м ож е и з   о п ер ац и й   о нт о ш е н и я   и   л о ги ч е с к и н и я   с л уо в и я   п о в т р ен и я   ц и кл а   о д п с иу т м н ы е  в  та б л .  7.1.

ь   л о ги ч е с к о х   о п ер ац и

. 7.3,  он

О п ц ра е и

я  он тшо не и

==

Р ва н е с т

о


=

З адн и

е   бо ле  ии л

м ен о л о ги ч е с к о г

е   сло ж н ы   а ц п ир е й о .

е  ил и  равн

о ль Б ш

е  ил и  равн

 оинеяшто

,  слуо в и а   х> -

о о

о

й   п р о и з в о ид с т

и  н ер ав ен свт о   о п е р а то р

 7.1. Оацпире я

М н е ьш

х   с л уо в и  Н а п р и м е р

м  в ы п о л н ен и

т   о

е

Н е  равн

в о ар т п е

и   с в и е д тл ь с в ю у

е   в ы р аж ен и е ,  со атв лен н о е й   и л и   о п е р а то р о в .  Д л я   з ад ы zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO   а ц п ир е о  о,инеяшто   п р и в е нд -

и ц Та л б зо О б н ч е а и

zyxwvuts

 и  пр о г ам м и р о вани е

я   с   п р и м ен ен и е е   - \ =  2 ,  и л и   "л о ж ь " .  П р и   х   р а в н о м   вд м у . "И с ти н е " в   MATLAB  со втес у т   л о ги ч е с к а я   и де я   л о ги ч е с к и м   н л ем у .  р иА фм еит ч еск и е   п ер м ен н ы е я   в  онд о м   в ы р аж ен и и   с  л о ги ч ес к и м и , в   о лт и ч и е   о т   мн о .  Н а п р и м е р , в ы р аж ен и е   а   +   (Ь   >  с )  н е  явля , в  че м  л егк о   б ие у д ь т с я   п р и  п о м щ и   к о м ан д :zyxwvutsrqponmlkjihgfedcba

» 

а   =   1;

» 

b  =   5 ;

» 

с   =  3;

» 

а   =   а   +   (Ь   >  с )

а   = 2

с Ул о в и о нт о ш е н и н и е  о п ер ац и с  п ер м н о

е   b  >  с   в ы п о л н яест ,  т .  е .  явлсет я   "б о л ь ш е "  р ав е н   е ид н и ц е , к о т р а и   "м ен ь ш е "  п р и в ел о   б ы  к  ло ги ч ес к о м й   а  н е  и з м ен и л о  б ы   е е  з н а ч ен и я

Р е з л ьу а т м ен н о й

:

т   в ы п о л н ен и

>>  f  =   а   < =   b f  = 1

я   л о ги ч е с к о г

о   в ы р аж ен и

я   "и с ти н о й " я   п р и б а в л я е ст

.  Р ез луь ат у   н люу

т   о п ер ац и я   к  а .  И с п о л ь з о в а ,  сло ж ен и е   котрог

и о

. я   м ож е

т   бы т

ь   п ри свое

н   п ер

-

380 

аЧс т ь

П о с м о тр и т н а я   f  явлсет

е   ит п   f  в   о к н я  л о ги ч е с к о й

  II. Вчиы с лени я

zyxwvutsr

 и  пр о г ам м и р о вани е

е  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI Workspace   б р азу ер а   рабоч е й   с р ед ы   —  п ерм н , точ н е е  ло ги ч еск и м   м ас и в о м   р аз м ер а   1 н а   1.

О п ер ац и и   о нт о ш е н и я   п р и м ен и м ы   к  м ас и в а м   о ди н а к о в о г о   р аз м ер а .  П р о и с о и хд т  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA е тн о м е л э п о  ср ав н ен и е   и   р е з л у ь ат о м   я в л се т я   л о ги ч е с к и й   м ас и то г о   ж е   р а з м е р а ,  ч т о   и   и сохнд ы е ,  со тящ и й   и з   н ле у й   и   е ид н и ц .  Е ид н и ц ы   с о вт е с ю у т   е т м   э л е м н ат м , дл я   к о т р ы х   с лу о в и е   в ы п о л н я е ст , а  н о л о з н ач е т   н ев ы п о л н ен и е  усло в и я , н а п р и м е р : >> >> >> с

А В С

=

[1

2

=

[3

2

3 3

4; 3;

5 5

б б

7

8;

9

10

11

12];

2

2;

4

10

11

11];

в ь

в

= А

= 0 1 0

>> D D=

= А

>

0 0 1

1 1 1

1 0 1

0

0 0 0

0 1 0

1

0 0

в

1 1

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

Л о г и че с и к К о н с тр и у р о в а н и щ ь ю   л о ги ч е с к и п о ль з о в ан и е ж ен и й ,  с о едр ж ащ и п о э л ем н т о м л я ес т я   м ас и П   and  (&) да е равн ы   н люу н оль ; •   or  (|)  аде

е  опе ра иц

х   р аз м ер о ,  к о т р а .  Э лем н т о   п о к аз ы в ает е   (п о срт ен и аитцр" м

и  с  числ а м

в   од у б н о   и сп оль з о я   п р и в о ди т   к  п о яв ле ы   р е з л уь и т р ю у щ е й ,  лд я   к а и х   э ле е   ш аблон а   м а рт и ц ы  гавы л  2).zyxwvutsrqponmlkjihgfedc

и  и  м а с ива м

и

е   с лу о в и х   о п е р а то р о м   л о ги ч е с к и

й   о п е р а то р в   if  и   while  ощсу есвтля я   с   п ом в   and,  or  и   not  и л и   в   э к в и в а л ен нт о м   в и д е   с  и с х   о п ер ац и й   &,  |  и  ~. В ы ч и слен и е   л о ги ч е с к и х   вы ра х   and  (&),  or  (|)  и   not  (У) ,  с   м ас и в ам и   п р и в о ди т   у   и х   в ы п о л н ен и ю   н а д   э л е м н ат м и   м ас и в о ,  р ез луь ат о м   яв в  то г о   ж е  р а з м е р а ,  ч т о   и  и оснхд ы е ,  п р и ч ем : т   ие д н и ц у ,  сле т  еид н и ц у

,  сле и   о б а   со втесюу щ и я   б ы   ои д н   и з   ни

и   о тх , есл

и  хот

я   б ы  оид

х   н оль

х   э л ем н т , т о   р ез луь ато

н  э лем н

т   н е  р а в е

а   м ас и в о м   едбу н   н л ую

к

в  н е

-

т   ат к ж ;

е

л ав Г

 7. У пр юавлщя и е

 конс т рцкуи

 яазкы

 пр о г ам м и р о вани я

381 zyxwvutsrqp

 

П  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA not  (~)  п ри м ен ясет я   к  онд о м у   м ас и в у ,  лсе и   э лем н т   м ас и в а   н е   н оль , т о с о вт ес ю у щ и й   э л ем н т   р е з л уь и т р ю у щ е г о   м ас и в а   рав е н   н л юу ,  сел и э л ем н т  и сохнд о г о   м ас и в а   н оль , т о  —  еид н и ц е .zyxwvutsrqponmlkjihgfedcbaZYXWV ^ 

Пр и м е ча ни

е  

О п рн а е м д и   и о гл к с ч е ат к   и  чи овлыс е чи л с о  ил и  лиогксче нме т о е  вы п нол е и и  чи алс .  Вы пнло е и орм е в  ни тсмоп дуе С ю л еу д щ и

е   п р и м ер

ы  дем о н срт и рюу

А   =   [ 1  3 ; 

- 1  0 ] ;

В   =   [ 0  4 ; 

8  8 ] ;

» 

С   =   А& В

» 



0

ь   к а к   и о л г кч с е е   м са и в ы х   в ы нж ар е и й   м ж ое т   бы т е  п риод сх т  п оэел м  сча ул   о кг ж а д о   м нэ е л т а   м ис а в   и с м ав и   р аз л и ч н ы х   р аз

, ь а -

.

» 

1

т   бы т х   в ы ж н ра е и й   у м го м   и з   о п р е ан о д в   и ог к л с ч е й   н ол ь  ил и  еи дн и ц а . В  эо т е  лиогкчсе й   о п цра е и и  дл я е  оп еорат в   and  и  or  н а д

.  н дОи

» 

0 ' 

^

т   и сп о ль з о в ан и

е  ло ги ч еск и

х  о п е р а ц и й

:zyxwvutsrqp

D  =   А | В

D  =

» 



1



1

Е   =   ~А

Е  = 0 

.0 0 

К ром н яю щ а м гу е н т м ас и в в сю е т у щ е н оль м ас и

е   о п е р а то р о я   о п ер ац и а   —  м ас и в а   н е  р ав е н е   м ес т ,  н е  н о л ь   и  н в  и  ч и сл о  и

1

в   and  и   or  в   MATLAB  о п р едл н а   н фу к ц и ю   "и ск лю ч аю щ е е   и ли " . Ф ну к ц и я  хо г   и м е ы   о ди н а к о в г о  р а з м е р а .  Е сл и  оид н   и з  э лем н от   н люу ,  а  в то р й   р ав ен , т о   о х г   з ап и с ы в ае т о   в ы о х дн о г о   м ас и в а .  В о   все х   о сатль н ы е  н о ль ) хо г   з а п и с ы в а е т   н оль . Армгу ен атм , к о н е ч н о , дв а   ч и сла .

оЛ г и ч е с к и е   о п ер ац и и   & и   |  чуи ыт в аю т   о б а   о п ер ан д з л у ь ат .  В  т о   ж е  в р ем я  з н ач ен и е  л о ги ч ес к о г о   в ы р аж ен и р е лд я с т я   з н а ч ен и е м  то л ь к о   п ер в о г о   о п е р а н да .  Е сл ч ес к о г о   "и л и "  яв л сет я   "и с ти н о й " , т о   р ез луь ат т   в с е гд п ер в ы й   о п ер ан д   л о ги ч е с к о г о   "и " —  "л о ж ь " ,  т о   р е з ул ь т а т ц и и   &&- и   | |  о лти ч аю ст я   о т   & и   |  етм ,  ч т о   в   п ер ч и слен н ы

т  дв   иед н и ц х   с ч л ау я и   ох

я   о хг а   в о хн д ы

,  в ы п о л

-

х   ар в   в о х дн о г о у   н а   со т х   (н о л ь  и г   м о гу т   бы т ь

а   лд

я   в ы ч и с л ен и я   ре я   в  р яд е   чс л ау е в   оп и   п ер в ы й   о п ер ан д  л о ги а   едбу т   "и с ти н а " . Е сл —  "л о ж ь " .  О п ера х   в уд х   с и ацу т и я

и х

382 

аЧс т ь

 II. Вчиы с лени я

zyxwvutsrq

 и  пр о г ам м и р о вани е

он и   н е  п р о в ер яю т   з н ач ен и е  в то р о г о   о п ер ан д а   (о п ер ац и я   && б ы л а   и сп о ль з о в ан а  н ам и  в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  гаве л  6 п р и  уп р ав лен и и   п р о ц ес о м  р еш ен и я  ди ф ер н ц и а л ь н о г о р ау в н е н и я   лд я   п р о с т й   р еал и з ац и и   а л г о р и тм а   фа й л - н фу к ц и и   soiproc  (см . ли ст н г   6.19)). П р о в ер к а   н а   н али ч и е й   a i l ,  к о т р а я   в о з в ращ ае л ей , и  н о л ь  в  п р о ит в н о

е  н левыу

х   э л е м н от т   ие д н и ц у м   с чл у а е :

,  сле

в   в   в е к от р и   с р ед

е   о щс у е с в т л я и   э л е м н от

я   н фу к ц и а   н е т   ну -

в   в е к то р

»  v  =   [ 12  0] ; »  q  =  a ll  (v) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA q = о р А гм у е н о т в ер я в   в е к то р ри ц ы

м   фн у к ц и й   с то л б е

т   к а ж ыд ,  к аж ыд

и   a l l  м о ж е ц   м а тр и ц й   э л ем н т   кот рог

т   бы т ь   и   м а тр и ц а ы   н а  н а л и ч и е   н ле у о   с о вт е с вт у

.  В   э от й   и  з а п и с ы в а е т   с от л б ц

м   с лч у а

е   a l l  п р о т   р е з л у ь та й   м ат

у   и с о х дн о

т -

:

» 

М   =   [9  3  - 1 ;  0  2  2]  ;

» 

р   =  all( M )

Р   = 0 

И с л е од в а н и котра н ен л в у о с то л б ц а м Н ек о т р ы ри ц К аж д м арт и ц

1

1

е  н а  н али ч и

е   пр

е  н ен лвыу

я   воз вращ ае й   э л ем н т .

т   еи д н и ц у . Ф ну к ц и

е   и н ед к с н ы и   п ом щ я   н фу к ц и у   и з  н ле у

е  л о ги ч ес к и и   с п ец и а л ь н ы я   л д я   в о хн д о й   и  еид н и ц

•   isf  i n i t e  —  еид н и ц

ы  с о втес юу

х   э л ем н от в   п р о и з в о ди с т ,  сле и   в о   вонхд о м   в е к от р я  any, та к   ж е  к а к  и  a l l ,  р а б о та е е   м а рт и ц х   н фу к ц и й   м а рт и ц

е   ес т

я   н фу к ц и е ь   о хт т   с  м а рт и ц а м

й   any, я   б ы   оид н и  п о

ы   в ы ч и с л я ю ст я   п о   и о с н хд о й   MATLAB,  п ер ч и слен н ы ы   н ао х и д т   и н е дк с н у ю   л о ги ч е с к у ю   п р о в ер я м о у   сул о в и ю

, со втесюу щ у

т   ч и слам

, нл у

ы  со втес юу

т   + inf,  - inf,  нл у

•   isn an  —  еид н и ц

ы  с о вт ес юу

т   NaN, н л у

и  —  ч и с л а м

.

м   ч и слам

, н л у

ы  с о вт ес юу

т   п р о с ыт

•   i s r e a l —  еид н и ц п л ек с н ы м .

ы   с о вт ес ю у

т   в е щ е св т н ы

. ю

.

и  —  inf, NaN.

•   isin f  —  еид н и ц •   isprim e  —  еид н и ц

й   м ат х   н и же

и  —  ч и с лам

м   ч и слам

П р и   о б р а б о тк е   м а рт и ч н ы х   ад н н ы х  та к   ж е  о к а з ы в а ест я   п о л ез н о ну и в ер с а л ь н а я   н фу к ц и я   fin d  и   л о ги ч ес к о е   и н де к с и р о в а н и fin d  и  л о ги ч е с к о г о   и н ед к с и р о в а н и я  р а с м о тр е н о   в  р.азд   "Лкегсоич в аоинерс  " гавы л  2).

. и  —  о с та л ь н ы м ,  н у л и

. —  к о м

й   д о с та о ч н е   (п р и м ен ен и

о е

  к е - и дн

л ав Г

 7. У пр юавлщя и е

 конс т рцкуи

 яазкы

 пр о г ам м и р о вани я

383 zyxwvutsrqpo

 

В   п р и в е дн н ы х   вы ш е   п р и м ер а х   п ро г ам м   с л уо в и я   о п е р а то р в   i f- e i se i fe ise  и   while  соедрж ал и   л о ги ч е с к и е   в ы р аж ен и я   с о   с к а л яр н ы м и   з н ач ен и я м и —  л и б о   "и с ти н а " ,  л и б о   "л о ж ь " .  О дн а к о   в   э т и   к о н с р тк у ц и и   яз ы к а   п ро т   в о хи д т ь   в ы р аж ен и я   с   м ас и в ам и ,  п р и ч е м гр а м и р о в а н и я   MATLAB  м огу ка к   с  ч и с л о в ы м и , та к   и  л о ги ч ес к и м и .  Ф о р м а л ь н о е   п рав и л о   та к о в о :  суло в и е с ч и а т ес я   в ы п о лн ен н ы м , есл и   р ез луь ато м   в ы р а ж ен и я   яв л сет я   м ас и в , со с от я щ и й   то л ь к о   и з   л о ги ч е с к и х   ие д н и ц   и л и   н е л в уы х   э л е м н от в .  П суот й м ас и в  и  "л о ж ь " э к в и в а л ен нт ы .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE

р иП о т е и  амри ф е т иеч сик П оск оль к в ы р аж ен и е в ы п о л н я ю ст я п о э л ем н т о з н а ч ен и

т  л огиеч с к

х х  опе ра иц

й

у   л о ги ч е с к и е   и   а р и ф м еи т ч е с к и ,  т о   в о з н и к а е т   воп ро .  Н а п р и м е р , в   в ы р аж ен и е   в о з в е дн и е   в   с е пт н ь я  см у ы  А   +   в . А 2 и с .

П р и о р и те

т  о п ер ац и 1.  Ло ги ч ес к и ц и ям и )

й  ортаж е

е   о п ер ац и и   м о гу т   в о х ид т ь   в   о нд ,  в   к а о й   п о с л е од в а е т л ь н о с т и   он и   А   +  в . А 2  >  с   с н ач л а   в ы п о л н я е ст ,  з еат м   с л о ж ен и е   и ,  н а к о н ец , с р ав н ен и

с   о   то м

н   в  сю улдещ е

е   о п е р а то р ы

м   сп и ск

е  (в  п о р якд

:  and, or, n ot, xor  (п о ск ль к

е  в ы п о л н ен и я) у   он

и  являю ст

о и я е .

я   н уф к

-

.

2.  О рт и ц а н и

е  ~.

3.  Т р а н с п о н и р о в а н и е з н а к   п лю

с  и л

4.  мУн о ж ен и

,  в о з в едн и с  п ер

и  м и н у

е   и  дел н и

5.  С ло ж ен и

е  и  в ы ч и ат н и е

6.  О п ер ац и

и  о нт о ш ен и я

е  (в  то м   чи сл

е  п о э лем н т о е)

ь   (в   от м   чи сл

е   п о э л е м н нт о е )

8.  Ло ги ч ес к о

е   "и л и

9.  Ло ги ч ес к о

е   "и " &&.

10.  Ло ги ч ес к о

е   "и л и

.

"  |. "  |  |.

е а   в ы п о нл ю я с т

я   о п рц а е и и   н а д  амнеураг т и   н ц ку ф и ,  вд а   вы ражне и я :  and(A,B)+ c  и   А&В+ е  ран и х  висряе х   MATLAB оп рцае и и   &  и   |  лиме т  учиы т ва ь   пр и  пнер со е  п ри ложне и й , чт о  се у дел х   и с р яев х  MATLAB,  в  н уво ю  висре ю  п акте .

н а п р и м ре

,

: >, >=, > settlement = exchange*transaction.strike.price*transaction.volume

л ав Г

 8. Об р аб о т ак

В ы р а ж ен и н ия

 данхы

  и  пр и ем ы

я  дл я   з а д н и ь   н а  ч асит

) р а з б и т

я  в л о ж ен н о , р ез луь ат

>>  А   =   s t r u c t ( ' c u r r e n c y ' ,  ' a s k ' , 

 пр о г ам м и р о вани я

й   с ркт у т   п о чл у и с т 1

405zyxwvutsrqpo

 в  MATLAB 

ы   м ож н о   (и  н ж ну я   то т   ж е  сам ы й

' U S D ,  ' p r i c e ' ,  0 . 2 3 , 

о   лд

я   пу р о щ е

1

' b i d ,  0 . 2 1 , 

...

0.27); 1

>>  t r a n s a c t i o n  =   s t r u c t ( ' t i m e ' ,  [ 10,  2 0 ,  4 6 ] ,  ' s t o c k ,  ' v o l u m e ' ,  10000, 

'EESR',...

' s t r i k e ' ,  A) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  
> transaction.strike  = А ; >>  transaction.strike.exchange ans = 28.5214

а дл е Ун и п р и м ер у

е   п ол , п о л

я   о щ с у е св т л я е   time

я   с   п ом щ ь

ю   н фу к ц и

и   rm fieid.  адУл и ет

,  к

>> transaction = rmfieid(transaction,'time') Е сл с р кт у а дл еу н ы

и  в  к ач есвт

е   в ы о х дн о г а   о с ат н е ст м   п о л ем

П р и   о б р ащ ен и к о й  в  к грлыу

о   а р мг у е н т я   бе з   и з м е н е н и й

а   rm fieid  куа з т ь   др г у о т   с о вт е с вт о а т , а   н о в а я   е д бу

е   и мя

, т о   сатр ь   с ат р о

я й  с

. и   к  п о л х   ск обк а

ю   р с к ут х   п осл

е  то ч к и

ы   ег о   и м :

я   м ож н

о   з адват

ь   ет к с от в

й   ср т о

-

>> transaction.('volume') ans = 10000 тЭ ицак

о  дае т тсонж  омзов ь  использоват и  поля : >> field ='volume'; >> transaction.(field) ans = 10000

В о з н и к ае рха н и т н фу к ц и

т   воп рос ,  ка к   п о   и м ен ь   и х   в   с рт о к в ы х   п ер м ен н ы х я   fieldnam es:

ь увок  ортс

ю у н е  мереп

и   с ркт у .  Д л

ы   зу н ат я   э от

ь   н аз в ан и й   ц е л и   жс л у и

ю  л д я и ф и т   неди

-

я   е е   п о ле т   в с рт о е н н а

й   и  со я

»  names = fieldnames(transaction) names = 1  stock' 1 volume' 'strike' П о с м о тр и т м ац и

е   в   окн ю   о   п ер м ен н о

е  Workspace zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE   б р а зу е р а   п ер м ен н ы х   рабоч е й   с р ед ы   и н фо р й   names.  О н а   п р есдатв ляе т   соб й   н е   м ас и в   с тр о к ,  а   от -

л ав Г

 8. Обр аб о т ак

 данхы

 и  пр и ем ы

н о си т я  к  ти п у   c e ll  array  (м ас и р а с м о тр и м   ад л е е   в   э от й   г л а в е жи м ог о   яч ей к и  и з  м ас и в а   е с ул д сл е  и м ен и  м ас и в а  яч ек . Н а п р и м е р »  f2 = names{2} f2 = volume

 пр о г ам м и р о вани я

407zyxwvutsrqpo

 в  MATLAB 

в  яч ек )

.  З ам еит

. Р а б о т у   с  та к и м  ти п о м  дан н ы х  м ы м   с ей ч а с ,  ч т о   лд я   в ы едл н и я   с о ед р т  ук а з а т ь   е е  н о м е р  в  фи рнгу ы х   ск обк а х   п о, о б р а щ ен и е zyxwvutsrqponmlkjihgfedcbaZYXWVUT

п р и в о ди т   к   з ап и с и   с о ед р ж и м о г о   в то р о г о   э л ем н т с рт о к в у ю   п ер м н у ю   f2,  к о т р у ю   м ож н о   етп р п а  к  н ж ун ом у   п ол ю  сркту ы   t r a n sa c t io n >> v = transaction.(f2)

а   м ас и в ь   и сп о ль з о в ат

а   яч е ь   лд

к   names  в я   о д су т -

10000 П росм от р   и   р е д а к ти р о в а н и е   с о ед р ж и м о г о   п о ле й   с ркт у ы   t r a n sa c t io n о д уб н о   п р о и з в о ди т ь   в   р е д а к то р е   м ас и в о в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR   (Array  Editor),   к о т р ы й   о кт р ы в а ес т я   дв о й н ы м   щ ел ч к о м   кн оп ко й   мы ш и   п о   и м ен и   с р кт у ы   в   окн е Workspace.  П р и  чент и и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  гавы л  2 в ы   ж у е   п р и б егал и   к  р еда к от р у   м ас и в о в   лд я од с п у т а   к  э лем н ат м   ч и сло в ы х   м ас и в о . Р а с м о рт и м   е тп р ь   н ек о т р ы е   ег о воз м ож н ост и  дл я  р а б о т ы   с о   с рт к у а м и .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO

1,1,121*1 | i| j Ariay Editor -  transaction.strike zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH File  Edit   View  Graphics  Debug Desktop  Window  Help tg§  Stack: [~ •Q  & ш  ш  в  sfn" - Id  L.   Tvalue currency  'USD' price  -   JO.23 bid   JO. 21 0.27

„'  



i

j

transaction  x [transaction .strike x .

Рис

. 8.2.  П р о с м о т

f j '•

р   в л о ж ен о

й   ср к т у

ы   с  п о м щ ь

ю   Array  Editor

408

аЧс т ь

 II. Вчиы с лени я

zyxwvuts

 и  пр о г ам м и р о вани е

Р е ад к о т р   м ас и в о в   п о з в о л яе т   о б р а ит ь с я   к   з н а ч ен и я м   п о ле й   с р тк у ы ,  в от м   ч и сл е  и  к  п о л ю  с о  в л о ж ен н о й   с ркт у о й   st r i k e ,  п р и  п о м о щ и  дв о й н о г о ю   п ол я  в  сот л б и к е zyxwvutsrqponmlkjihgfedcbaZYXWVUT   Field.   С о де р ж и м о е   п ол я   о кт р ы щ ел ч к а   мы ш и   п о  н а з в а н и в ас е т я   в  н о в м   окн е  р е да к то р а   м ас и в о , п ри ч е м   окн о  с н аб ж ен о   в к л а кд о й  с и м не м   п ол я  (р и с .  8.2). И та к , дво й н о й   щ ел ч о к   мы ш ь ю   п р и в о ид т   к  оотбраж е н и ю   с о е др ж и м о г о   п о ля . О бы ч н ы й   щ ел ч о к   п о  и мне и  п ол я  в  сотлби к е  Field де лае т   э т о  п о л е   е тк щ у и м ,  а   п о в т р н ы й   щ ел ч о к   п о з в о л яе т   и з м ен и т ь   н аз в ан и е п о ля .  В во д   н ов г о   и м не и   п ол я   з а в е р ш а се т я   н аж и т е м    и л и  щ елчко м мы ш и   п о  дгорум у   п о лю .  К н о п к а   U p н а  п ан ел и   и н м ср т у е н о т в   р е да к о т р а  мса си в о в  сжилу т   лд я  п оердх а   в ер х   п о  уровн я м   в л о ж е н н о си т , т . е . п р и  акит в н о м окн е  с  соердж и м ы м   н ек о т р о г о   п ол я  ср кут ы   t r a n sa c t io n ,  н а п р и м ер , п ол я т  к  о от б р а ж ен и ю   с рк т у ы   t r a n sa c t io n .zyxwvutsrqpon st r ike ,  н аж ит е  н а  U p п р и в ед

М а с ив

ы  ст рку

р  и  масви

ы  яеч

к

О бы ч н ы е   м ас и в ы   о д б ун ы   п р и  р а б о т е   с  о дн о р дн ы м и   да н н ы м и  —  ч и слам и и л и   с тр о к а м и .  И н ф о р м а ц и я  м ож е т   бы т ь   п р е сд а т в л е н а   в  в и д е   та б л и ц ы   с   по лям и , с о едр ж ащ и м и   о д н о ит п н ы е  э л ем н ыт , в  эот м   счлуа е  н аи лчуш и м   вы бо р о м   яв л сет я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  маивс  суткр.   Э ф е к ит в н о е  о п е р и р о в а н и е  грпу о й   ад н н ы х раз ли ч н ы х   ти п о в   п о з в о л яе т   о щс у е с в т и ь   ивсы ма  яке,ч  р а б о т у   с  к о т р ы м и м ы  р а с м о рт и м   тч у ь  п о з ж е .

М а с ви

ы  ст рку

П р о и л ю с рт и р е у П р е дп о л ж и м п р е сд а т в л е н

,  ч т а   в  та б л

р

м   и сп о ль з о в ан и е   м ас и в о в   с рк т у р   н а   п рост м   п р и м ер . о   с пу е в а м о с т ь   грп у ы   е нд су т о в   п о   ш ес т и   п р емд а т м . 8.1.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG  8.1. Утьс о пвесма

а ц и а лб Т



иФ л ма

1

е ск л А

в

2

Ви с а ь л е

3

К аш и

4

С ер о в

5

о в Т ре х

Им я

И ва в

оГ и не д ж я

н

н

е С гр

й П ав е

а

Н а л ьт

л

а

О ль г

а

я

д  ро -

 свтнео уд к Ое н ц

 гупры

и  п о  пает м д р

 201

м

я I

II

III

IV

V

VI

1980

5

4

4

5

5

4

1981

3

4

4

3

5

4;

1979

4

3

4

4

5

4

1981

4

3

3

5

4

5

1980

5

5

5

5

4

5

л ав Г

 8. Обр а о т ак

 данхы

Д л я   р ха н е н и жы д й   э л ем н с о ед р ж а щ и з ак лю ч ен

я   и н фо р м а ц и т   котрог х   с о в т ес ю у щ е а   в  сркту

•   фа м и л и О   им

 пр ог ам и р овани я

и  есевт н о   я в л се т е   с о  сюлуед щ и м

я  (Name), соедр ж и

т   ср т о к т   ср т о к т   м ас и

а   н а  р и с

т

и   работ

1.  Д о сут и н ед к с а ц и 2.  П о л

е   с  м ас и в ам

ю   ад н н ы

в  скурт

.   8.3.  О р г а н и з а ц и

Р ис

и  э лем н от

в   с  о ц ен к а м и х   та б л

п   к   с рт к у а м

.  8.1  в   в и д

е   м ас и в

а

т П яыт й э лем ен т zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG GR2 01 (5) м ас и в а  скурт р р

ы   в  в и д

я  т а б л и ц

и  сркту

.

р  GR2 01 й  о  снедаут х

F a m i l y  вье Виалс Name  гйре С Ye a r  1981 M a r ks  3 443  5 4

F a m i l y  вкес лА Name  в аИ н Ye a r  1980 M a r ks  5 445  5 4

Пр

в  и з  ш сет

В о тр й  элмен GR2 0 K2 ) м ас и в а  скурт р

;

;

я   о р га н и з а ц и . 8.3.

М ас и с  и н форм ац и е

П ер в ы й  элмен G R201(1) м ас и в а  скурт

409 zyxwvutsrqp

;

т   ч и сло

и  (Marks), соедр ж и ,  дем о н с рт и рюу щ а ,  п р и в едн

у   с  фам и л и ей

у   с  и м ен ем

я   (Year),  соедр ж и

•   о ц ен к

 в  MATLAB 

о   з а ед й с в т о а т ь   м ас и в   с р тк у ,  ка я  сzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF у тк йр о   с  о ди н а к о в ы м   н абор м  йе,лпо е   з н ач ен и е .  И н фо р м а ц и я   о   к а ж од м   е нд с у т е и   п о л ям и :

я  (Family), соедр ж и

•   го д  р о ж едн и С е мх а с ртк у

  и  пр и ем ы

р   н е о б х ид м

,  вояхдщ и

F a m i l y  Твхеаор Name ьга л О Ye a r 1980 M a r ks 555545 е   м ас и в

а   с т р ук т у

р

о   п р и ед р ж и в а ь т с

я  дву

х  п р а в и л

м   в   м ас и в

,  ощсу есвтля

я   пр

и   п ом щ

а   м ас и в

а  сркту

. и

. е  оедлтяс

я   о т   и м ен

П оск оль к у   к а ж ыд й   э л ем н п с ку а ю с т я   дв а   с п о с б а   с о з ад н и рам и  п р и с в а и в а н и я  дл я  все st r u c t ,  п о з в о л яю щ е й  з ан ест то р ы   п ри сваи ван и я ,  п о с л едо в аетл ь н ным и   и з  та б л .  8.1, п р и в едн с не и я   и н фо р м а ц и и   в   п ол я

и  э лем н т т   м ас и в х   п о ле и   з н а ч ен и

а   с рк т у

ы   в  л и сит н г   с рк т у

и  п о м о щ

и  то ч к и

.

я   с рт к у о й ,  т о   од а   с рк т у р   —  о п ер а от й   с ркт у ы   м ас и в а   и л и  фн у к ц и е й я  сраз у   в о   вс е  п о л я   с рт к у ы .  О п ер а о   з ап о л н яю щ и е   м ас и в   с рк т у р   ад н е  8.8.  лАь етр н аит в н ы й   вари ан т  з ан е р   м ас и в а   со ти т   в   п о с л е од в а е т л ь н о м

я  и  з а п о л н ен и й  к аж од

р   яв л сет я  м ас и в

р   пр

410 

аЧс т ь

и  фну к ц и

п р и м ен ен и м ас и в

, н а п р и м е р

и  st r u c t  лд я  з а п о л н ен и , лд я  п ер в о й  сртку ы

  II. Вчиы с ле ни я

zyxwvutsr

 и  пр о г ам м и р о вани е

я  к аж од й   с рт к у ы , воядхщ е й  в :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR

GR201(l) = struct('Family1,  'А' ве скел

,  'Name', 'И' нав

, ...

'Year , 1980,  'Marks', [ 5 4 4 5 5 4 ] ) ;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO 1

-

ис т н э и с ва и н

г  8.8. З а пол не и

е  масив

а  с т рку

р  пр

и  пом ощ



zyxwvutsrqponmlkjihgfedcbaZYXWVUTS и   опе р а т ор

в

я

%  З а п о л н е н и

е   п ерво

й   с тр ук тур

ы   масси в

G R 2 0 1 ( l ) . F a m i l y  =   ' А л е к с е е в ' G R 2 0 K 1 )  .N am e  =   ' И в а н '

а

; ;

G R 2 0 K 1 )  . Ye a r  =   1 9 8 0 ; G R 2 0 K 1 )  . M a r k s 

% Зи н е л о п а

= [ 5 4 4 5 5 4 ] ;

е  во р т

й  ср у т к у р т

ы  мв и с а

GR201(2).Family = 'В' веьлиса

а

;

GR20K2) .Name =  'С' йегре

;

GR201(2).Year = 1981; G R 20K2)  .M arks  = [ 3 4 4 3 5 4 ] ; % Зи н е л о п а

е  те ь т е р

й  ср у т к у р т

ы  мв и с а

GR20M3) .Family = 'К' ниша GR20K3) .Name = 'П' лева

а

; ;

GR201(3).Year = 1979; G R20K3)  .M arks  =   [ 4 3 4 4 5 4 ] ; % Зи н е л о п а

е  чо т р е в т е

й  ср у т к у р т

ы  мв и с а

а

1

GR201(4).Family =  'Саворе

;

GR20K4) .Name = 'Н' яьлата

;

GR201(4).Year = 1981; G R 20K4)  .M arks  = zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   [ 4 3 3 5 4 5 ] ; % Зи н е л о п а

е  по т я

й  ср у т к у р т

ы  мв и с а

GR201(5).Family = 'Т' авохер GR20K5) .Name = 'О' агьл

а

; ;

G R 20K5)  .Year  =   1980; G R 20K5)  .M arks  = [ 5 5 5 5 4 5 ] ;

З ап олн и т о вт е с и м а н нд о

е   м ас и в   с рк т у и   с  л и с ит н го й  с тр о к и :

»  GR201 GR201 =

р   GR201,  со з ад м  8.8.  П о с м о тр и т

в   фа й л - п р о г а м е  з н а ч ен и

е  п ер м ен н о

у   GR201FH1 В  со й  GR201 И З  к о -

л ав Г

 8. Об р аб о т ак

 данхы

 и  пр и ем ы

 пр о г ам м и р о вани я

 в  MATLAB 

411 zyxwvuts

1x5 struct array with fields: ќ Family Name Year MarkszyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

В   о лт и ч и с рт к у ы к о м а н дн о с р кт у с р тк у

е   о т   п ер м ен н ы ,х ,  з адн и е   и м ен м   окн е  з н ач ен и ы   и   н аз в ан и я ы   м ас и в а  тр еб у

 соедр ж ащ и и   м ас и в й   п о л ей х   п о л ей т  з адн и

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

е ю  в е о

»  GR20K3) ans = F a m ily:  'К а ш и н

'

N ame:  'П а в е л

'

Yea r :  197 9 M a r ks: 

[ 4 3 4 4 5 4 ]zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB

File  Edit  View Graphics Debug Desktop Wn i dow  Help

In..

\   Value с  е е  в

File  Edit   View  Graphics Debug Desktop Window Help

1

Family 

j'Аелк

Name  Year 

I'ИI'нав ' И9 8 0 [5 4 4 5 5 4]

I  Value 1

Family  Name 

- 'Ввесаьил 'Сиерг

Year  Marks 

=1981 [ 3 4 4 3  5 4 ]

1

—I

File  Edit  View  Debug  Desktop  Window  Help SH 

X  Щ &  "'•   S 



ш  в   >б [Е Г 8

Stack: p

stni...\  = 1 % Ел с

и  чл с и

% се а в ы т и ч

о  со т н е д у т

в  бш ь л о

м  и з  пл о

% фи л м а

е  ил

и  рн в а

я  Family те ь т е р

ю  ст н е д у т

а  и  зи с о н а

о  ее ц и н д

й  як й е ч

м  в  ми с а

, т о

и  пг о в р е в  со р т

о  сц б л о т

а

к  strmas

strinas = CELLMAS{3, 1}.Family; end % Пе а ж л о д р

м  си н а в ы т и ч

% на н и ч а

я  с о  вг о р т

е  п о  ве с

м  ос м и ш в а т с

я  см а ц б л о т

,

о

for k = 2:NStudents % Се а в ы т и ч

м  фи л м а

ю  и з  пл о

я  Family те ь т е р

й  як й е ч

а zyxwvutsrqponmlkji

и  k- г о  сц б л о т

fam = CELLMAS{3, к}.Family ; % Де я л в а б о

м  фи л м а

ю  в  мис а

в  со р т

к

strmas = char(strmas, fam) ; endzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Р е з л уь ат о л и ям

м   работ и  седнут о в

ы   фа й л - н фу к ц и , учасвт о ав ш и

и  st u d en t s  яв л ест х   в  п р о в едн и и  э к с п ер и м ен ат

я   м ас и

в  срт о :

к   с  фам и

-

»  st = students(EXPER) st = онавИ

в

е греС

в

ишаП

н

Доп олн и т е   фа й л - п р о г а м в ер к о й , яв ляест я  л i sc e i i ,  к о т р а я  в о з в р а щ а е а р мгу е н т  —  м ас и И ме т   см ы с л   ат к ж н ет .  Д л я   э то г о   е су л д п ер д   о б р ащ ен и е м ч е г о   ж с л иу т   н фу к ц и

у   st u d en t s,  п ри в едн н у ю   в   л и с ит н г е  8.18,  п р о й   а р мгу е н т   м ас и в о м  яч ек . П р и м ен и т е  фну к ц и ю т   "и сит н у " (логи ч еск у ю   еид н и ц )у , есл и  е е  в ох дн о й в   яч е к , и   "л о ж ь "  (ло ги ч еск и й   н о ль )  в   п р о ти в н о м   с чл у а е . е   п р о в е р я ть , соедр ж и т   л и   е тк щ у а я   яч ей к а   с р кт у у   ил и т   в о с п о л ь з о в а ьт с я   н фу к ц и е й   i sst r u c t .  К р о м е   то г о ,   к  п о л ю   с рк т у ы   п о л ез н о  убеид ьтс я   в   ег о   н а л и ч и , дл я я  isf  ieid .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC

и  вохнд о

р П и л е о ж ни и з  ком а ндо

я  с  инт е йрсфо й  с т рок

Хо р о ш в о ди т О нд и о р га н и з а ц и

я  п р о г р а м а   п о з в о л яе , н о   и   пу р а в л ят ь   п р о ц ес о в   в з а и м о де й с в т и я   п о л ь з о в а ет л а  п р и  п о м щ и  к о м а н дн о

о   н ап и сан н а ь   в ы ч и с л ен и я м   и з   сп ос бо я   и н етр ф й с

м и т   п о л ь з о в а ет л

ю   н е   то л ь к о   п рои з е   работ ы   п р о гр а м ы м   в   о дх я   с   п р и л о ж ен и е м   я в л се т й  с рт о к и . П ер д  в ы п о л н ен и

. я -

428 

аЧс т ь

е м   н ек о т р ы х   едй с в т и п ро с   в   к о м а н дн о в ы п о л н ен и я   п р о гр а м ы с  так и м   д о с та о ч н л ю  уп р ав л ят ь   работ

е   окн о

Хо р ш и м   д е м о н с тр а ц и о н н ы м ан д о й   с рт о к а р и ф м еит ч е с к и а р и ф м е ит ч е с к о н ап и сан и я   та к о н а   э кра н   и   п о лчу а т ет к с а  в  к о м а н дн о П р и м ен ен и п о л ь з о в а ет л м н фу к ц и п о л ь з о в а ет л со м  являсет

, прога м м а - алуткяоь м   п р и м ер о я   п р о г р а м а - к а л ь к л у я от р .  П о л ь з о в а те л ,  в о ид т   в то р о ы   р т е бс у ь   о вт е т   о т   п о л ь з о в а ет л я е  о к н о  ощсу есвтля

n  =  input('Втидев

Н а   з ап ро з а п и с ы в а е ст

с   in put  е сулд я  в  п ер м н у

Н ап и ш и т

е  фай л- нфу к ц и ю

3.  С ч и ыт в а н и

я   с  и н етр ф й со м   и з  к о ,  в ы ч и с л яю щ а я   р е з л у ь ат т ь   в о ид т   ч и сло ,  з ает м   вы би рае т .  Д л я е   ч и сл о   и   п о лч у а е т   р е з л у ь ат я   м уе н и е   о р га н и з о в а т ь   вы во д   етк с а .  К а к   м ы   ж у е   пу о м и н а л и ,  в ы в о д я   н фу к ц и е й   disp.

о   о дн о с т р о н н ю о   в з а и м о ед й с в т и й   а р мгу е н т   in put  явлсет ы   в   к о м а н нд у ю   ср т о к я  в  к ач есвт е  вохдн о г

ю   с в яз

ь   п р о гр а м т   п р и в л еч

ы  с

я   е с лу д я   з н ач ен и ем ,  в енд ы у   в   о вт е т   н а   з ап рос о   а р г м у е н ат ,  н а п р и м е р

ь   ще

е м

. З а п р о

:zyxwvutsr

е   п  =  ' ) ;

и  да н н о й   к о м ан д ы   в   к о м а н дн о е   окн о  в ы в о ди ст я   с о б щ ен и е е   п   =   "  и   в ы п о л н ен и е   п р о гр а м ы   п р и о с ат н а в л и в а е ст я  д о т   ч и сл о   с   к л а в и а р ту ы   и   н е   н аж м е т а   п о л ь з о в а ет л ь   н е   в ед е  в ы п о л н ен и я   in put  п ер м ен н о й   п  п р и с в о и ст я   в едн н о е  з н а й  в в о д   н е  ч и сла , а , н а п р и м е р , с и м в о л а   п р и в ед т   к  со бщ е е   и   п овтрн ом у   п о яв л ен и ю   з ап ро с а   н а   в од .  Ф ну к ц и я   in put д   с рт о к   в   с рт о к в у ю   п ер м ен н ю у ,  куа з а н н у ю   в   к а ч е с вт е   вы ,  п ри ч е м   в от р ы м   до п о л н и е т л ь н ы м   в о х нд ы м   а р мг у е н о т м ь   ' s' ,  н а п р и м е р :

n am e  =   i n p u t ( ' В в е д и т

2.  П о лчуен и в  с рт о к в у

м   п р и л о ж ен и

т   то л ь к

е   инеча з

П р и   в ы п о лн ен и "В в еид т е   з н ач ен и ет х   п о р ,  п о к < Enter> .  П о с л ч ен и е . О ш и б о ч н ы н и ю   о б   ош и бк од п с у к а е т   во о х нд о г о   а р г м у е н ат е су л д т  ук а з а т

1.  С ч и ыт в а н и

р

и   я в л се т х   о п ер ац и й е   ед й с в т и е й   п р о гр а м

е   d isp  о бесп еч и в ае .  Д л я   и н те р а к ти в н о г ю   in put.  В ы охнд о м   с  к л а в и арут я  с тр о к а , ук а з а н н а

zyxwvut

 и  пр о г ам м и р о вани е

а   п р и о с та н а в л и в а е т   работ у   и   в ы ад е т   за т   п о л ь з о в а ет л я   о п р е дл я т   ад л ь н е й ш и й   ох д й   р а з де л   п о с в ящ е н   н ап и сан и ю   п р и л о ж ен и й м   и н ет р ф й с о м , п о з в о л яю щ и м   п о л ь з о в а ет .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK

о   п ри м и т вн ы й   п р о гр а м ы

й  прим е р

р со т П

й   п р о гр а м .  О вте .  Д а н н ы

  II. Вчиы с лени я

е   им

я   ' ,  ' s ' 

т  в в ест

);

и   срт о к у ю  пша е , р еали з юу щ у

е  п ер в о г

о   ч и сл

е  з н а к а  ар и фм еит ч ес к о ю   п ер м ен н у е  в то р о г

а  в  ч и сло в у

я   е е  в   а п о с тр о ф ы

ю   сю л у е д щ и

й   а л г о р и тм

ю   п ер м н у й   о п ер ац и

ю   (п р и м ен и т о   ч и сл

,  н е  з ак л ю ч а

, с рт о к

.

а  в  ч и сло в у

.

ю   (п р и м ен и т

и  (+ , - ,  * и л и  /) и  з ан ес н и е  in put  с о  в то р ы м   а р г м у е н от ю   п ер м ен н юу

.

е  in put). е  ег о м   ' s ')•

а

л ав Г

 8. Об р аб о т ак

4.  В ы п о лн ен и з н ак 5.  В ы в о

. Т ек с

 и  пр и ем ы

 пр о г ам м и р о вани я

е   а р и ф м е ит ч е с к о г и  (и сп о ль з йу т

а  о п ер ац и д  р ез луь ат

П р о гр а м м е н от в г 

 данхы

о   е дй с в т и е   о п е р а то

а   в  к о м а н дн о

у   оф рм и т т  треб му о

я   в   з ав и си м о ст р   п ер к л ю ч ен и

е   окн о

е   в   в и ед й   фа й л - н фу к ц и

429 zyxwvutsrqpo

 в  MATLAB 

и   о т   в едн н о г я   switch).

о

.

  фа й л - н фу к ц и

и   б е з   в о хн д ы н   в  л и сит н г

и  п ри вед

- - - - - - - - - - - - - - -  - - ...- ,. -  - ...........,...,...................,,. ......... 

х   и  в ы охнд ы х   а р гу е   8.19.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

.............................................., zyxwvutsrqp



Л ист ин г  8.19. Ф а йл - иц кн фу я  c a l c  I zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

| zyxwvutsrq

function calc % Ко т я л у к ь л а

р  с  ио с й е ф р е т н

% Си н а в ы т и ч

м  ко н д а м о

е  в  чу в о л с и

а  = input('Вт и д е в % Си н а в ы т и ч

ю  пу н е м р е е  по в р е

е  чл с и

е  в  су в о к р т

ю  пу н е м р е

oper = input('Вт и д е в % Си н а в ы т и ч % Ви н е л с и ч ы

и , вг о н е д в

ю  пу н е м р е е  чл с и а  а оксечитемфир

о  пе л т а в о з ь л о

м

о   '); ю  ои ц а р е п

, во н е д в

ю  ои ц а р е п

е  во р т е  рт а ь л у з е

ю  ча л с и

е  ау к с е ч и т е м ф и р

е  в  чу в о л с и

b = input('Вт и д е в

й  ск о р т

ю  ча л с и

й  пе л т а в о з ь л о

м

ю   (+, - , *, /) ',  's'); , вг о н е д в

о  пе л т а в о з ь л о

м

о   '); й  ои ц а р е п

и

switch oper case '+' а  + b case a -  b case '*' a * b case '/' a / b otherwise error('на н т с е в з и е

я  аа к с е ч и т е м ф и р

я  ояицареп

1

)

end

т   н и ка и х   до п о л н и ет л ь н ы х   п о яс н е Р абот а   с   фа й л - н фу к ц и е й   calc  н е  треб у н и й   л д я   п о л ь з о в а те л я ,  ме у   до с та о ч н о   с л е од в а т ь   и н с рт к у ц и я м ,  в ы в о ид м ы м ,  и   р ез луь ат т   е д бу т   п о лч у е н .  Ф ай л- нфу к ц и я   c alc  од сат в   к о м а н дн о е   окн о от ч н о   ох р ш о   з ащ и щ ен а   о т   н еп р ав и ль н о г о   и сп оль з ован и я .  К о м а н д а   in put а   ' s 1  п р о в ер я т ,  ч т о   в едн о   ч и сло ,  и  п о в т б е з   д о п о л н и те л ь н о г о   а р мг у е н т р яе т   з а п р о с   в   сч л ау е   н еп р ав и ль н о г о   в о да .  О ш и б к а   пр и   вы бор е   а р и ф м е ит ю   oth erwise  о п е р а то р а   switch,  к о ч ес к о й   о п ер ац и и   о б р а б ты в а е тс я   в еть то р а я   в ы в о ди т   с о б щ ен и е   о   н еп р ав и л ь н о   в е дн н о й   о п ер ац и .  Р ез луь ат т

430 

аЧс т ь

п о л ь з о в а ет л н фу к ц и

ь   п о лч у а е и   c aic  п ри в ед

 II. Вчиы с лени я

zyxwvu

 и  пр о г ам м и р о вани е

т   в   с ат н д а р нт о й   п ер м ен н о й   ans.  Д и а л о г   фа й л н  н и ж е :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH

» calc тидевВ

е  по в р е

тидевВ

е  ау к с е ч и т е м ф и р

тидевВ

е  во р т

е  чл с и

о   1.2

е  чл с и

о  3.1

ю  ои ц а р е п

ю   (+, - , *, /) +

ans = 4.3000

П о п р о б йу т г л я нд ы но с рт о к з н ак с рт о к ес ни о б х ди м н фу к ц и но ю вс т у щ е

е   и з м ен и т ь   фа й л - н фу к ц и ю   calc  та к ,  ч от б ы   о вт е т   и ме л   бо ле е   на й  в и д . Н а п р и м е р , есл и   п р о и з в о ид ст я   с л о ж ен и е   1.2  и  3.1, т о   в  к о м ан д е   окн о   в ы в о д и ст я   1.2  +   3.1  =   4.3.  З а д ч а   со ти т   в   фо р м и р о в а н и и  с  р ез луь ат о м   (и з  в в едн н ы х   ч и с ел , з н а к а  а р и фм еит ч ес к о й  о п ер а ц и а   "= ", о вт еа )  и  в ы в о д е   е е   в   к о м а н дн о е   окн о .  О б р а ти т е   в н и м ан и е , ч т а  р ез луь ат а   ф о р м и р е с ту я   к а к  и з  с рт о к , н а п р и м е р , '• +' и  '= ', та к   и  и з  чи л   1.2,  3.1, 4.3, к о т р ы е   р ха н яст я   в   п ер м ен н ы х .  О ч е в и дн о ,  ч т о   лд я   п очлеу я   рт е б у м о й   с рт о к и   е с ул д т   п р и м ен и т ь   с ц еп л ен и е .  П ер д   с ц еп л н и е м   не о   п р ео бр аз о в ат ь   з н ач ен и е   п ер м ен о й   в   ср т о к у   п р и   п ом щ и   num2str, вохнд о й   а р мг у е н т   котро й   я в л ес т я   ч и сло м   и л и  п ер м н й   с   ч и сло в ы м   з н ач ен и ем , а   в ы охнд о й   —  с тр о к в о й   п ер м ен н о й ,  со вте й   ад н н о м у   ч и сло в м у   з н ач ен и ю .

а Чс т о   к ро м е   к о н и в ре т о а н и я   чи л с а  в р аз о в ан и е   р о к тс и  в   чи олс , корт е  с теящлв тусое н од вх м   м н е у р га т е   с т зе а д я   р о с тк а  и и л и   ' 1 . 9 8 е - 0 3 ' , а в   н вы од х м   м н е у ра г т ч и о лс . Вн доы х м   м н е о у р га т м   жм е о т   бы т с т е з ра у я   в  чи олвс й   м ис а в . Елс и  п реобаз овн и а   =   str2num(  '12A99'),  т о   о атльрзе у (п робнд о  о  фн цку и я х  п реобаз вн и я

  орк т с

е  по в р е е  ау к с е ч и т е м ф и р

е  чл с и

о   1.2 ю  и ц а р е п о

, о и -

я   о б рнат о

я   н у кц ф и е ,  н ап ри м ер

а   рт е б у т   н ек о т р ы х   и з м ен м   в   л и с ит н г е  8.19.  О п е р а то р ы з   и з м ен ен и й . П о п ы та й те с ь   ас е   воз н и кн ове ю   c alc ,  в   счлуа м   п р и в е дн ы   о п е р а то р ы е   р е з л у ь ат .  Д и а л о г   фа й л :

»  calcl тидевВ тидевВ

и

е   п об е р й  str2num.  В о з   си м в о л :  ' 1 2 3 . 7 7 ' , е   в о з р а щ с а те я   ю в у щ тс е о е ь   и  миса в   р со т к , корты й   п о б ре е   н ев о з м ж н о , н ап ри м ер , м   р або т ы   е д уб т   о тс п у й   и с ма в  сказ н о zyxwvutsrqponmlkjihgfedcbaZYXWVUTS  в ине  пжо илр  У) .

В ы ш ео п и с а н н а я   м о ид ф и к а ц и я   в и д а   р е з л у ь ат н и й   в   е тк с е   фа й л - н фу к ц и и  calc,  п р и в едн н о р еа л и з юу щ и е   в о д   п о л ь з о в а те л я ,  о сатю ст я   бе м о с т яе л ь н о   м о де р н и з и р о в а т ь   фа й л - н фу к ц и н и я  в о п р о с в   о б р а ти е с ь   к  ли ст н г у   8.20,  в   к о т р о о б р а б ты в а ю щ и е   в о д   п о л ь з о в а ет л я   и   в ы ад ю щ и н уф к ц и и   calc  етп р ь  в ы гл яди т   ю с лу е д щ и м   образ ом

у   с т е уб р т

-

ю   (+, - , *, /) +

, , -

л ав Г

 8. Об р аб о т ак

тидевВ

 данхы

е  во р т

е  члси

 и  пр и ем ы

 пр о г ам м и р о вани я

 в  MA TLAB 

431 zyxwvutsrqp

о  3.1

1.2 + 3.1 -  4.3zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA н е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  вид а  ре злу ть а а  ра бот ы  фа йл - иц нк фу и  c a l c  i

function calcl % Ко т я л у к ь л а

р  с  ио с й е ф р е т н

% Си н а в ы т и ч

м  ко н д а м о

е  в  чу в о л с и

ю  пу н е м р е

а  = input('Вт и д е в % Си н а в ы т и ч

е  по в р е

е  чл с и

е  в  су в о к р т

е  во р т е  рт а ь л у з е

е  чл с и

о  пе л т а в о з ь л о , во н е д в

ю  ои ц а р е п ю  пу н е м р е

b = input('Вт и д е в

, вг о н е д в

ю  ои ц а р е п

е  ау к с е ч и т е м ф и р

е  в  чу в о л с и

% Ви н е л с и ч ы

ю  ча л с и

и м

о   ');

ю  пу н е м р е

oper = input('Вт и д е в % Си н а в ы т и ч

й  ск о р т

й  пе л т а в о з ь л о

м

ю   ( + , - , *, /) ',  's');

ю  ча л с и

, вг о н е д в

о  пе л т а в о з ь л о

м

о   ');

а  а оксечитемфир

й  ои ц а р е п

и

switch oper case '+ќ res = a + b; case '- ' res = a — b; case '*' res = a * b; case '/' res = a / b; otherwise error("на н т с е в з и е

я  аа к с е ч и т е м ф и р

1

я  ояицареп

)

end % Пи н а в о з а р б о е р

е  че с и

л  в  ск о р т

и

stra = num2str(a); strb = num2str(b); strres = num2str(res); % Си н е л п е ц

е  со р т

к

str = strcat(stra, oper, strb,  ' = ', strres); % Во в ы

д  ск о р т

и  с  ро т а ь л у з е

м  в  ко н д а м о

е  он к

о

disp(str)zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

В ы ш ео п и с ан н ы р ы й   п р о и з в о ди

е   п р и м ер т   в ы ч и с л ен и

ы   с о де р ж а

т   о п е р а то я   в   з ав и си м о ст

р   п ер к л ю ч ен и и   о т   з н ак

а   а р и ф м е ит ч е с к о

я   switch,  к о т й   one-

432 

рац и л а  и ж ен и е в ы р аж ен и ем сам ы з о в ат г л ян д ы с те я коетрс в ы п о л н ен и

аЧс т ь

  II. Вчиы с лени я

zyxwvuts

 и  пр о г ам м и р о вани е

, в ы б р а н н о г   а р и ф м еит ч е с к у , п о н я тн о

о   п о л ь з о в а ет л м .  З а м еьт ,  ч т о   п о л ь з о в а те л ь   в о ид т   чи с ю   о п ер ац и ю ,  к о т р ы е   в о х яд т   в   а р и ф м е ит ч е с к о е   в ы р ае  M ATLAB.  Р а ц и о н а л ь н е е  с о з адт ь   срт о к у   с  ар и фм еит ч еск и м , в ы п о л н и т ь   е , к а к  к о м ан д у   M ATLAB  и  в ы в ест и   р е з л у ь ат , те м д   п о з в о л яе т   д о п о л н и те л ь н о   и сп о ль м   и з б еж а в   п ер б о р а .  Т а к о й   п о дх ь   в о з в едн и е   в   с е тп н ь , в в о д   ч и сл а  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK п   и   п р и да е т   п р о гр а м е   бо ле е   на й  в и д . Д ей с вт и етл ь н о   н ез ам ен и м о й  и  оч ен ь   п о лез н о й  фну к ц и е й  явля   eval,  к о т р а я   ж с ли у т   дл я   и н е я л п в о ы  кы адн мо  MATLAB,  зайпионс  в   и л   кйвотрс  пй.оне ме р  Ф о р м и р о в а н и е   с рт о к и   с   к о м а н до й   и  е е е  фну к ц и е й  eval  о п и сан ы  в  сю уледщ е м   р а з де л .zyxwvutsrqponmlkjihgfedcba

и м ар н Ф о в и

е  и и иенлопс

и ц к н фу

е  кмо дан

,

я  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA e val я   нф у к ц и я   eval  п о з в о л яе у   M ATLAB.  С тр о к а   с  к о м а н до :

В с рт о е н н а к о м ан д н ап р и м ер

»  st r  =   ' 1  +  2 ' ; »  eval( st r) ans = 3 П ер д  в ы п о л н ен и е м  к о м ан д

у   м ож н

т   вы п олн и т й   я в л се т

о  с фо р м и р о в а т

ь   с рт о к у я  вохнд ы

,  к о т р а м   а р мг у е н о т

ь  и з  н ес к о л ь к и

я   с о е др ж и

х  с рт о к

т м   eval,

:zyxwvutsrqp

 =  'у  = sin('; »  strlzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA »  str2 = '3/2*pi'; »  str3 = ')  ' ; »  str = strcat(strl, str2, str3); »  eval(str) У  = - 1

И с п о л ь з йу т ит н г в ы р аж ен и в ан р еш ае !  Л и с ти н

е   н фу к ц и ю   eval  в   фа й л - п р о гр а м е   c a ic i,  п р и в едн н о й   в   ли с е  8.20,  лд я   фо р м и р о в а н и я   и   в ы ч и с л ен и я   р е з л у ь ат а   а р и ф м е ит ч е с к о г о я   бе з   п е р б о р а   а р и ф м еит ч е с к и х   о п ер ац и й , к о т р о е   бы л о   р еал и з о о   о п е р а от р м   switch.  Ф ай л- нфу кц и я  caic2,  п ри венд а я   в   ли ст н г е  8.21, .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF т   п о с ат в л е н н у ю   з адч у г   8.21. Фа й л - у нф к ц и

я  c a l c 2 ,  д е м о н с тр и р у ю щ а

я   и с п о л ьз о в а н и

function calc2 % Ко т я л у к ь л а

р  с  ио с й е ф р т н

м  ко н д а м о

й  ск о р т

и

е  e v a l 

j

л ав Г

 8. Об р аб о т ак

 данхы

 и  пр и ем ы

 пр о г ам м и р о вани я

 в  MATLAB 

433 zyxwvutsrq

%zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Си н а в ы т и ч е  в  су в о к р т ю  пу н е м р е ю  ои ц а р е п , во н е д в й  пе л т а в о з ь л о а  = input  (ќ  тидевВ % Си н а в ы т и ч еро

е  по в р е

е  в  су в о к р т

% Си н а в ы т и ч

о  ".) ;

ю  пу н е м р е

г  = input('Вт и д е в

ю  ои ц а р е п

е  а уксечитемфир

е  в  су в о к р т е  во р т

% Пи н а в о з а р б о е р

е  че с и

, во н е д в

м  f

ю   (+, - , *, / , ) , 's');

ю  ои ц а р е п

е  чл с и

й  пе л т а в о з ь л о А

ю  ои ц а р е п ю  пу н е м р е

b = input{'Вт и д е в

м

f

е  чл с и

, во н е д в

й  пе л т а в о з ь л о

м

о   ');

л  в  ск о р т

и

stra = num2str(a); strb = num2str(b); % Фи н а в о р и м р о

е  ск о р т

% то к ч о

и  с  аи к с е ч и т е м ф и р

й  с  зо т я п а

% в  ко н д а м о

й  дл е  он к

м  ве и н е ж а р ы

я  пи н е л в а д о

я  вд о в ы

м   (ск о р т

а  пы н ч о т у ж е м о р

а  зс т е а ш р е в а

я

х  ро т а ь л у з е

в

о

str = streat('res =  ', stra, oper, strb,  ' ; ' ) ; % Ви н е л с и ч ы % ег

е  а гоксечитемфир о  ра т ь л у з е

о  вя и н е ж а р ы т  хс т и н а р

я  в  по н е м р е

, й  res

eval(str); % Фи н а в о р и м р о

е  ск о р т

и  с  ро т а ь л у з е

м  в  вд и

е   '1.2 + 3.1 = 4.3'

strres = num2str(res); % Си н е л п е ц

е  со р т

к

str = strcat(stra, oper, strb,  ' =  ', strres); % Во в ы

д  ск о р т

и  с  ро т а ь л у з е

м  в  ко н д а м о

е  он к

о

disp(str)zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

И н ет р ф й с   п о л ь з о в а ет л я ,  п р еод сатв л яем ы та к о й   ж е , к а к   в   c a ic i,  етк с т   котро й   п р и в ед н и е   и   в ы п о л н ен и е   к о м ан д   MATLAB  п р а л го р и т м   к а л ь к л у я от р а   бо ле е  к о м п а к нт ы В   к а ч е с вт е   з ав ер ш аю щ ег eval  н а п и ш и т е   п р о гр а м м ен о й   с   и н е тр ф й с о гр а м о й  до л ж н а  в ы гляедт 1.  З а п р о з аде м ер

о   пу р а ж н ен и у   л д я   п о с рт е н и м   п о л ь з о в а ет л ь   ю с ул е д щ и

й   фа й л - н фу к ц и е й   caic2,  то ч н н   в  л и сит н г е  8.20.  Ф о р м и р о в а и   п ом щ и   eval  п о з в о л и л о   с е дл а т м  и  ун и в ер с аль н ы м .

я   н а   и сп о ль з о в ан и я   гр а фи к о я   и з   к о м а н дн о м   образ ом

е   с рт о в   н фу к ц и й   с рт о к и

с  гр а н и

ц  о рт ез к а

3.  З а п р о ц в еа т ск о ль к и м

с   ц в еат ,  ист л

,  ист л я   и   м ар к ер и  в о з м о ж н о с ятм

. П о л ь з о в а те л я   ли н и

й   и   м ар к ер о в а   и з   п р е лд а г е м ы и  дл я   м уен ь ш ен и

ь   в о ди

ь

к   и  фну к ц и и   о нд о й   п ер .  Р а б о т а   с   п ро

и -

.

с   нф у к ц и ,  гр а фи к   котро й   р т е бс у т   фо р м л у у   н фу к ц и и   б е з   ч е ут а   п о э л ем н т ы , e xp ( x) *sin ( х ) , а   н е  ерх( х )  . *sin ( x) .

2.  З а п р о

о

я   п о с тр о и ть х   о п ер ац и й т  леву

.  П о л ь з о в а те л х   сп и ск о я  о б ъ ем

.  П о л ь з о в а те л , т .  е . н а п р и

ю  и  п р а в у

ю   гр а н и ц ы

.

ь   вы би рае в   (о гр а н и ч ь т а   п р о гр а м ы )

ь

т   н ом е е   вы бо .

р р   не -

434 

4.  В ы в о

аЧс т ь

д  г р а ф и к

а   н фу к ц и

и  в  гр а фи ч ес к о

5.  З а п р о с   н а   п р о д л ж ен и и л и   ' п ' .

  II. Вчиы с лени я

е   окн о

е   работ

zyxwvu

 и  пр о г ам м и р о вани е

ы   с  п р о гр а м о й

. .  П о л ь з о в а те л

ь   в о ид

т   'у

1

З а п р о г р а м и р йу т е   а л го р и т м   в   фа й л - н фу к ц и и   б е з   в о хн д ы х   и   в ы о нх д ы х   ар мг у е н от в .  О фо р м и т е   в се ь   д и а л о г   в н рт у и   ц и кл а   while,  к о т р ы й   р а б о та е , п ок а   н ек о т р а я   с рт о к в а я   п ер м ен н а я   flag  р а в н а   'у 1 .  Д о   ц и к л а   п ри свой т е flag  з н ач ен и е   'у 1 .  В   к о н ц е   ц и кл а   п о лч у и т е   о вт е т   о т   п о л ь з о в а ет л я   о   п ро т   в   п ер м н у ю   flag. од л ж е н и и   работ ы   п р и   п ом щ и   in put  и   з ан еси т е   о вт е З ап и ш и т е   фн у к ц и ю , ввенд у ю   п о л ь з о в а ет л м ,  в   с рт о к в у ю   п ер м ен н ю у ,  а п р елд ы   п о с рт о е н и я   графи к а —  в   ч и сло в ы е   п ер м ен н ы е .  З ам ен у   обы ч н ы х о п ер ац и й   н а   п о э л е м н нт ы е   вы п олн и т е   п р и   п ом щ и   st r r e p .  В ы в о д   сп и ск а воз м ож н ы х   ц в е то в ,  ти п о в   ли н и й   и   м ар к ер о в   о щс у е с в т и е   н фу к ц и е й   disp. И с п о л ь з йу т е   о п е р а то р ы   п ер к л ю ч ен и я   switch  лд я   фо р м и р о в а н и я   ср т о к и  с к о м а н до й   p lo t  в  з ав и с и м о с т и   о т   н о м ер а   ц в ет а   и  сит л я   ли н и , и  ти п а   м ар к е р а ,  в ы б р а н н ы х   п о л ь з о в а ет л м   и з   сп и ск а .  В о з м о ж н ы й   вари ан т   ет к с а   фа й л н фу к ц и и   лд я   в и з а у л и з а ц и и   н фу к ц и й   с  и н етрфй со м   к о м а н дн о й   с рт о к и   п ри ве д н   в  л и с ит н г е   8.22.

е   фо р м л у ы   лд я   о т б р а ж е м о й   н уф к З а м е ьт ,  ч т о   п р и   н ек о р ек нт о м   в од ц и и   п р о гр а м а   myplot  п р ек р а ит т   р а б о ту .  П р е дп о л ж и м ,  ч т о   п о л ь з о в а етл ь в е л   ln (x)  в м ес т о   в с рт о е н н о й   lo g( x) .  О ш и б к а   воз н и кн е т   п р и   в ы п о л н ен и и и   в е к от р а   у   з н ач ен и й   нф у к ц и . с рт о к и   с   к о м а н до й   eval  п р и   в ы ч и слен и ч л у шУ и т е   с а м о с т яел ь н о   фа й л - н фу к ц и ю   myplot,  з а к л ю ч и в   блок и   с   воз м ож н ы м и   и с от ч н и к а м и   ош и бо к   в   к о н с рт к у ц и ю   t r y . .  .cat ch ,  к о т р а я   п р ед н аз н ач ен а  дл я   о б р а б о тк и   и с к л ю ч и е тл ь н ы х   с и а у цт и й .zyxwvutsrqponmlkjihgfedcbaZYXW  Л ис т ин г  8.22. Прим е р  фа йл - иц кн фу и  m y p l o t   с  инт е йрсфо м  ком а нод ; zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA function myplot( ) % Пи н е о р т с о е  го к и ф а р % до л а и

в  фй и ц к н у

г  с  пе л т а в о з ь л о

disp('ПМ А Р Г О Р disp('ФИ Ц К Н У

, м  и з  ко н д а м о

А  ДЛ Й  ОО Н Д

й  ст рок

Я  ПИ Н Е О Р Т С О Й  П' ЙОН ЕМ РЕ

й  ск о р т

и 1

Я  ГВОКИФАР )

flag = 'у ' while flag == 'у ' % Зо р п а с  фи ц к н у и strfun = input('Вт и д е в % Зо р п а с  ло в е й  гц и н а р left = input('Вт и д е в

е  фю и ц к н у ы  ок з е р т е  лу в е

% Зо р п а с  по в а р й  гц и н а р right = input('Вт и д е в

ы  ок з е р т е  пу в а р

)

, нр е м и р п а

, exp(x)*sin(х )  ',  's');

а ю  гц и н а р

у  оа к з е р т

, нр е м и р п а

, - 1.2  ' ) ;

а ю  гц и н а р

у  оа к з е р т

, нр е м и р п а

, 1.3  ' ) ;

и   I zyxwvu

Глав

 8. Обраотк % Зо р п а

 даных с  тп и

а  ли н

disp('Вт и р е б ы

 и   приемы

disp(' 

аншолпс

disp(' 

анриткнуп

disp(' 

авохиртш

п  л: и ни '

) я   я  

е  це в

т  л: и ни '

)

2')

я  

3')

linecolor = input('Вт и д е в % Зо р п а

с  мр е к а е  ти з  мр е к р а

п  м: арек а ' а  

disp('зк ч о д з е в

а  

disp('ко ж у р

2')

marker = input('Вт и д е в а  вд о в

% с  ко д н а м о

)

0') 1')

к  

% Ок т о б а р б

и  2  ' ) ;

е  0, 1, ил а  пя л е т а в о з ь л о

, фи н а в о р и м р о

й  plot и  е е  ве и н е л о п ы

% Зн е м а

а  а иксечитемфир

и  3  ' ) ;

е  1, 2, ил

а

disp('Вт и р е б ы disp('бе

 3  ' ) ;

1')

я  

disp('ча н р е

3')

и

я  

disp('ся н и

2')

е  1, 2, или

а  ли н

disp('Вт и р е б ы disp('ка н с а р

1')

я  

linetype = input('Вт и д е в с  цт е в

 в   MATLAB 

и

е  ти

% Зо р п а

 прогамивня

х  ои ц а р е п

е  ск о р т

и

. й  н а  пы н т е м л э о

е

strfun = strrep(strfun,  '*',  ' . * ' ) ; strfun = strrep(strfun,  '/',  ' . / ' ) ; strfun = strrep(strfun,  I A I #  ' .A- ')  ; % Ги ц а р е н я  вр о т к е а  зи н е ч а н й  ат н е м у г р а х   = left  : (right -  left)/30  : right; % Ги н а в о р и е н е  ск о р т и  дл я  ви н е л с и ч ы я  вр о т к е % ск о р т а  зс т е а в и ч н а к я  то к ч о й  с  зо т я п а й  дл % пы н ч о т у ж е м о р х  ро т а ь л у з е в  н а  эа р к н strhelp = strcat('у  =', strfun,  ' ; ' ) ; % Ви н е л с и ч ы е  вр о т к е а  зи н е ч а н й  фи ц к н у и eval(strhelp); % зи н е ч а н я  фи ц к н у % Фи н а в о р и м р о е  ск о р т и  с  ко д н а м о strplot =  'plot(x, у,' ; % Ди н е л в а б о е  ии ц а м р о ф н и  о  тп и switch linetype case 1

и  тр е п ь  хс т я н а р й  plot е  ли н

и

strplot = strcat(strplot,  ќ ' ' - ' ) ; 15 Зак

. 130

а  зи н е ч а н я  пи н е л в а д о

й  фи ц к н у я  вд о в ы

я  в  вр о т к е

и а

е  у

435

436 

аЧс т ь

  II. Вчиы с лени я

 и  пр о г ам м и р о вани е

case  2 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

strplot = strcat(strplot,  '  ' ' : ' ) ; case 3 strplot = strcat(strplot,  ' ' ' - - ' ) ; otherwise error('ны н т с е в з и е

й  ит

п  л' и ни

)

end % Ди н е л в а б о

е  ии ц а м р о ф н

и  о  цт е в

е  ли н

и

switch linecolor case 1 strplot = strcat(strplot, 'r'); case 2 strplot = strcat(strplot, 'b'); case 3 strplot = strcat(strplot, 'k'); otherwise error('ны н т с е в з и е

й  це в

т  л' и ни

)

end % Ди н е л в а б о

е  ии ц а м р о ф н

и  о  мр е к р а

е

switch marker case 0 strplot = strcat(strplot,  ' ' ' ' ) ; case 1 strplot = strcat(strplot, 

l

*111);

case 2 strplot = strcat(strplot,  'о ' '') ; otherwise error('ны н т с е в з и е

й  ти

п  м' арекра

)

end % Зи н е ш р е в а

е  ги ц а р е н

и  ск о р т

и  с  ко д н а м о

й  plot

strplot = strcat(strplot, ')'); % Ви н е л о п ы

е  кд н а м о

ы  plot

eval(strplot) % Зо р п а

с  н а  пи н е ж л о д р

flag = input('Пт и ж л о д р end

е  рт о б а ь  ру т о б а

ы ?  (у  -  да

, п  -  нет)'

, 's');

zyxwvu

л ав Г

 8. Об р аб о т ак

О б р а б о тк з ад ид т

 данхы

у   в од в   в   к а ч е с вт ь   О п е р оа т

О р га н и з ц В ы во д   р е з л у ь ат о в и й   ох р ш р е з л у ь ат о н фу к ц и ю вы во д   з н а ч ен и св аи в ан и то ч н о   лд к о м а н дн о

 и  пр и ем ы

 прогам м и р о вани я

а   п о л ь з о в а ет л я   м ож н о   п р о и з в о ди т ь   в   б ес к о н еч н о м   ц и к ле , е   с лу о в и я   ц и кл а   while  иед н и ц у ,  а   в ы ох д   и з   ц и кл а   п рои з во м   break.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

я  вдо в ы

а  т сетыкво

х  ре лтзуьа о

в

в   в  уод б н о   ч и ат е м о й   фо р м е  —  о нд о   и з  н ео бхид м ы х   с л уо о   н ап и сан н о й   п р о гр а м ы .  Д л я   о т б р а ж ен и я   в   к о м а н дн о м   окн е в   работ ы   фа й л - п р о г а м ы   и л и   фа й л - н фу к ц и и   м ы   п р и м ен ял и  d isp  со в м еснт о   с  п р ео б р а з о в а н и е м   ч и се л   в   с рт о к и   и л и   од п с у к а л и я   в ы р аж ен и я   в   к о м а н дн о е   окн о , н е   з а в ер ш а я   о п е р а то р   п ри я   то ч к о й   с  з а п я то й .  Э ит х   п р и ем о в   з а ч с ут ю   о к а з ы в а е ст я   н ео д с а т я   н ап и сан и я   п р о гр а м ы ,  к о т р а я   о б щ а ес т я   с   п о л ь з о в а ет л м   ч ер з е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  оо нк .

Ои д со ти

н  и з  с п о с б о в   о р га н и з а ц и и  в ы в о д т   в   с п ец и ал ь н о м   вы з ов е   н фу к ц и лд я   з а п и с и  тек сот в ы х   фа й л о в ) . Е сл з а т ь   и ед н и ц у   и л и  в о б щ е   п р о п с и ут в   к о м а н дн о е   окн о . С о з да й ет ,  н а п р и м е р г а   8.7,  то л ь к о   и ск лю ч и т е   и ед н и т ф и к а о т м ен о т в   н фу к ц и и   fp rin t f.  З ап сиут м а н нд о е  о к н о  и н фо р м а ц и я  со втес у етк с о в ы й   фа й л . В оз м ож н ост и   о т б р аж ен и с я  и х  в ы в о д м   в  тек сотв ы з в о л яе т   о тк р ы т ь   окн о   р е д а к то р слов г о   м ас и в а ,  м ас и в рабо ч е й   с р ед .  С тр о к а   ил в а ю ст я   в о   в о х нд о м   а р м гу е н т т   н ап и сат м ас и в   MAS, т о   е сулд openvar  р а б о та е т   то л ь к о да н н ы е   в н рт у и   фа й л - нфу к ц и с р ед ,  п о э тм у   эт а   воз м ож н ост (к лас и ф к ац и я   п ер м н ы кн ци фу  " гавы л  5).

Ф а й л - и ц н ук ф а р м у г е тн о Б о л ь ш и н с вт с  р а з л и ч н ы

437zyxwvutsrqpo

 в  MATLAB 

а   е тк с о в ы х   ад н н ы и   fp r in t f  (к о т р у и   в   к а ч е с вт е   и д е н ит ф и к а от р ь   его , т о   в ы в о д   п р о и с о х ид , фай л- п р о г ам р   фа й л а   F И З  списк е   е е   и   б еи у д ст ь ,  ч т т   то й , к о т р а я  р ан е

х   в  к о м а н дн о е  о к н о ю   в ы   и сп о ль з о в ал и а   фа й л а   кау т   н е  в   фа й л , а у   с  тек сот м   ли ст н а   в о нх д ы х   а р гу о   в ы в о ди м а я   в   ко е  з а п и с ы в а л с ь  в

я   м ас и в о й   фа й

в   ад н н ы х   в   MATLAB  н е   о гр а н и ч и в а ю т л   и л и  к о м а н дн о е  о к н о . Ф ну к ц и я  openvar  п о а   м ас и в о в   Array  Editior  с   соедр ж и м ы м   чи а   с рт о к ,  сркту р   и л и   яч е к ,  о п р едл н н о г о   в и   с рт о к в а я   п ер м н а я   с   и м не м   м ас и в а   к уа з ы е   openvar.  Н а п р и м е р , есл и  в  р а б о ч е й   с р ед е   се т ь ь   openvar  ( 'MAS ' ) .  П р и м и т е  в о  в н и м а н и е , ч т о   с   п ер м ен н ы м и   рабо ч е й   с р еыд .  П ер м ен н ы е , соз , яв ляю ст я   ло к аль н ы м и   и  н е  в и нд ы   в   рабоч е й ь   о д сп у т н а   то л ь к о   в   фа й л - п р о г а м а х х   о п и сан а   в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK   .аздр   "Пукн ци "ф до   и   е ын ж о В л

и  с  пе р м е ны

м  числ о

м

в о   с а т н да р н т ы м   ч и сло

х   н фу к ц и м   в о хн д ы

х   и  в ы охнд ы

й  M ATLAB  од п сук а ю х   а р г м у е н от в

т   о б р ащ ен и ,  н а п р и м е р

е   к  н и , фн у к ц и

м я

  II. Вчиы с лени я  и  пр о г ам м и р о вани е zyxwvu аЧс т ь 438zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

лд

я   н о а хж е д н и я   ми н и му бо ле е   в ы о х нд ы м и   а р мг у е н ат м а л го р и т м   fminbnd  адп ит ресу ме у б ю   п о с л е до в а е т л ь н о с т fminbnd  п р и   п о м о щ и воз м ож н ы х   в а р и а н та в ен ы х   ф а й л - нф у к ц и й то в .  Ва м   п о н а до б и ст котры х   в ы   п о лч у и л й а он д  г)авы л .

а   fminbnd,  к о т р у и   и   с   рт е м я   к  в ы б о р у ь   ед й с в т и й .  О б р аит ес   help  с   и мне м   н фу к ц и х   вы з ова .  В   да н н о м , сп о с бн ы х   р а б о та я   и сп о ль з о в ат ь   м ас и в и   п р и   чен т и и   э от й

о   в ы з в ат ь е   в о х дн ы м и я   и  ощсу есвтля ь   к  в с рт о ен н о и  дл я   то г о ,  ч от б ы   р а з ед л е   о п и сан о   с о з ад н и ь   с  п ер м ен н ы м   ч и сло ы   яч е к ,  о с н о в н ы   "М ивсаы   гл а в ы   (с.м  р.азд

я   ил   п о л ь з о в а ет л

ю   м ож н и   бо ле

  с   но д и .  П р й   сп р ав к   зу н ат

м   ил и   э от т   рт е е  п ь   о  все е   со б т

м   а м р гу е н е   с е нв д и

и м о -

я  о  яке"ч

Р а з б ер м   сн ач л а   п ри н ц и п   о р га н и з а ц и и   фа й л - н фу к ц и и   с   п ер м н ы м   чи с л о м   ов н дх ы х   а р гм у е н о т в   н а   ю су л е д щ е м   п р и м ер . Н а   п ло с к о с т и   з адн о   - оп р еьон излв о   к о л и ч е с вт о   к р г оу в   (к о р ди н а т м и   ц е н рт о в   и   р а ид с у м и (xi,  yi,  R i),  (x2,  y2,  R1)  и  т . д. )  и  то ч к а   с  к о р ди н а т м и   (рх ,  р у) .  Т р е с ет б у я   о п р е д л и ьт ,  леж и т   л и   то ч к а   в н рт у и   к а ог - ли б о   к рг у а   ил и   н е т (р и с .  8.7).

U xi, Yll

V (x2

)

—-_—_ /

4У ) \ (x4> zyxwvutsrqponmlkjihgfedcbaZYXWVUTS

/  (x3,y3)\

О .

(

Рис

. 8.7. Рн ежиоплса

Н ап и ш е м   фа й л - н фу к ц и ю   p o in t ,  вохнд ы м о р ди н а т ы   то ч к и   и   н ес к о л ь к и х   в е к от р - с рт о п о л ж ен и е   к р гу о в ,  а   в ы охнд ы м   —  ч и с л о о т   п о п адн и я   от ч к и   в   о ид н   и з   к р г уо в р и с . 8.7, в ы з о в   н фу к ц и и  po in t  ед бу т  в ы гляедт f = point(px, ру

П ер в ы р о в - с рт о п р е дл а г е п у а к о в ы в а ю ст мгу е н

в  и  кчо т

и

и   а р мг у е н а т м и   котро й   удб т   ко к   и з   р т е х   э л е м н от в ,  з адю щ и х ,  еид н и ц а   и л и   н ол ь   в   з ав и си м о ст и .  Д л я   счлуая,   и з о б р аж ен н о г о   н а ь   ю с лу е д щ и м   образ ом :zyxwvutsrqpon

,  [xl yl R1], [х 2 у 2 R2], [х З  у З  R3], [х 4 у 4 R4])

е   рт и   в о н х д ы к   с о вт ес у т   п рост т   з ан и м ае

е  ко г ур

х   а р мг у е н т т   ч и сл й   сп ос я   в   с п ец и а л ь н ы т  р о в н

о  онд

а   яв л ю с т я   о б я з а те л ь н ы м и ,  н о   ч и сл о   в е к от у   к рго у в   и   м ож е т   бы т ь   раз ли ч н ы м .  M ATLAB б   р еш ен и я   п р о б лем ы .  Вс е   вохдн ы е   а р мг у е н т ы й   м ас и в   (в екотр )  чяе к  varargin ,  к аж ыд й   ар у   яч е й к у  та к , к а к  п о к а з а н о  н а  р и с .  8.8.

л ав Г

 8. Об р аб о т ак

 данхы

11 а   ячейк

 и  пр и ем ы

ячейк

р х

а   2 Т

ячейк

 в  MATLAB

а   3 1 ячейк

а  4 I ячейк

439 zyxwvutsrqp

а   5 1 ячейк

а   6 1

[xl yl R1] [х 2 у 2 R2] [х З  у З   R3] [х 4 у4   R4]zyxwvutsrqponmlkjih

Р У

. 8.8. Хнареи

Рис М ас и нф у к ц и

 прогам м и р о вани я

в   varargin  , е е  з а го л в о

я в л се т

е  аноме т у гр я   и е д н св т е н ы т   та к

к   в ы г л я ди

в   в   varargin м   в о хнд ы

м   а р мг у е н от

м   фа й л

-

:

function where = point(varargin) Д о с ут к л ю ч ен и жи мы с о ед р ж и ид у

п   к  вохнд ы я   и н е дк с м   в   з ав и си м о ст т   абсц и с с  тр еьт г

о   к ргу

Н ап и ш и т

ю  po in t , п р и едр ж и в аяс е Н  ДЛИ

а  дл и н

3.  И з в леч н и а   п о яхд щ е

и  з а и   с   с о е рд .  Н а п р и м е р ,  va r a r gin fi} ,  varargin {5}  (3)  —  р а -

ь   сю л у е д щ е г

Ы  м ас и в а  varargin  п р ы   varargin ,  сле и   о н а   м ен ь ш в   —  в ы ох д   п о  о ш и б к е  (и сп о ль з йу т

и  ПОМОЩ е  трех

е  и з  varargin  к о р ди н а

т  то ч к

и  в  п ер м ен н ы е

е  и з  varargin  к о р ди н а й   лд и н ы  (п р и м ен и т

т   ц е н рт о е  ц и к

в   к рг о у л   for).

5.  П е р б о р  все х   к ргуо в с р ав н ен и е  ег о   с  р а ди суо м п ал а   з адн н а я   то ч к а н и е , р а в н о е   е ид н и ц е break. Л и с ит н о и хд м ы м

я   пр

и   п ом щ

м   о б р ащ ен и

а   и  т . д .

е  фай л- нфу к ц и

1.  Н аохж едн и 2.  П р о в е р к н о  а р мгу ен от 4.  И з в леч н и то р

м   а р г м у е н ат м ,  т . е . яч ей к а м , п р о и з в о ди ст а   в   ф и р гун ы е   ск о б и   и   п о сю л уе д щ и и   о т   ти п а   р ха н и м ы х   ад н н ы х у  И ТОЧК , varargin {2}  —  Оирд н уат

г  8.23  со едр ж и и  к о м е н та р и я м и

, в ы ч и слен и

е  р а с от ян и

.  Е сл ,  т о   в ы охнд о м , и  п р ек р а ит т   е тк с

и  н ай ед

о   а л г о р и тм а

.

И  len gth . , т о   з а д н о   н е од с а т ч е   er r o r ) . . в   и  р аид суо

в   в  тр и   век

у   а р м гу е н т ь   п ер б о

т   р т е б ум о й   фа й л - нфу к ц и , сн абж ен н ы й   н ео б .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

function where = point(varargin) % ф- л й а и ц к н у ф я  ое я л е д р п т  пи н а д п о

е  тк ч о

% км а т н и д р о и   (рх , ру ) в  кг у р и  с  цм а р т н е % в   (xl, yl), (х2 , у2 ) и  т . д . и  рм а с у и д а т 1 в  са ч у л

е  пи н а д п о

-

я  о т   ц ен рт а   к рг у а   д о   то ч к и  и я   б ы   о ид н  к ргу , в  к о т р ы й  п о т   п ри свои т ь   з н ач е у   е с ул д р   в ы о хд м   и з   ц и кл а   к о м а н до й

н  хот

  Л ист ин г  8.23. Ф а йл - иц нк фу я  p o i n t  с  пе р м е ны м  ичс л о м  вынодх х  а ргму е нт о ! zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

% Ве а щ р в з о % 

-

я

и  с  зм ы н а д

и

и и  Rl, R2 и  т . д .

в

440 

Часть



0 в  са ч у л

е  ни н а д п о е

% Ии н а в о з ь л о п с а  чл с и

 и  прогамивне

я

е  where = point(рх

% Пк р е в о р

 II. Вычисленя

а  вы н д о х

, ру

х  ао т н е м у г р

,  [xl, yl, Rl], [x2, y2,.R2], ...)

в   (чл с и

а  яе ч

к  varargin)

if length(varargin) = О

с У о в е р ш е н с тв й у т е   ф а й л - нф у к ц и ю  p o in t , до б а в и в   о п е р а то р ы ,  в ы в о дя щ и е гр а фи ч е с к о е   окн о   з адн н у ю   от ч к у   и   к рг у и   л д я   п о лч у е н и я   н а г л я дн о г о   ре з л у ь та .  О ч е в и дн о ,  ч т о   рт еб уст я   п р и м ен и т ь   к ом ан д ы   p lo t  дл я   п о с рт о е н и я   п а р м е тр и ч е с к и   з адн н ы х   нф у к ц и й   (о к ржу н о сетй )  и   з а д н н о й   то ч к (в и з аул и з а ц и я   п а р м е тр и ч е с к и   з адн н ы х   нф у к ц и й   о дн о й   п ер м ен н о й   оп и с а н а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   в  р.азд   "Грик аф  пксеихтчр амр   и   - о н чк у с х а ы н з д   укн ций"ф   а- г л вы  3). Бл о к   о п е р а то р о в н о ,  п ри вед ч ен и я  п а р м ерт о

,  ощсу есвтляю щ и н   в  ли ст н г

е   8.25.  Д а н н ы в   и з  м ас и в а   яч е

х   о т б р аж ен и й   бло к   е ус л д к   varargin .

е   ад н н ы т   р а з м е с ит

х   в   гр а фи ч е с к о

 в и -

е   ок ь   п о сл

е   и з в ле

-

 II. Вчиы с лени я  и  пр о г ам м и р о вани е аЧс т ь 442zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

\ zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л ист ин г  8.25. Ввоы д  да нхы  в  гиечрасофк е  он к о zyxwvutsrqponmlkjihgfedcbaZYXWVU :

% Ои н е ж а р б о т е  ды н а х  в  го к с е ч и ф а р е  он к о figure; % Си н а д з о е  он к а % Пи н е о р т с о е  ое т с о н ж у р к й t = 0:pi/20:2*pi; % зи н а д е  вр о т к е а  пр т е м а р а for i = lrNcircle % Ви н е л с и ч ы е  вв о р т к е , с ищюувтс евто х  пк с е ч и р т е м а р % зы н а д м  фм я и ц к н у , кы р о т е  ою я л е д р п т  от с о н ж у р к х  = Rcircle(i)*cos(t) + Xcircle(i); у  = Rcircle(i)*sin(t) + Ycircle(i);  plot(x, у ) % пи н е о р т с о е  от с о н ж у р к и hold on end % Во в ы д  тк ч о и  кы н с а р м  морек а м plot(Xpoint, Ypoint, 'or') hold off axis square % си н е а р х о е  ог о в к а н и д о  мб а т ш с а а  ое с

и и i

й zyxwvutsrqponmlkjihgfedcbaZYXWVU

Р абот а   фа й л - н фу к ц и и   po in t  со п р о в ж адест я   е тп р ь   п о яв л ен и е в   и  то ч к и , н а п р и м е р ,  в ы з о ск ог о   окн а   с  р а с п о л ж ен и е м   к р г оу f  =   p o i n t ( I ,  I ,  [0  3  3] ,  [2  - 1  3.3],  [- 1  - 2  2  ] ) ; п р и в о ди

т   к  п о яв лен и

Рис

ю   гр а фи к а

. 8.9.  Г р афи ч еск о

, и з о б р а ж ен н о г

е  о к н

о   н а  р и с

о   с  р асп о л ж ен и е

м  к ргоу

м   гр а фи ч е в

.  8.9.

в   и  точ к

и

-

л ав Г

 8. Об р аб о т ак

 данхы

С п и со к   в о х нд ы к о м би н ац и в о к   фа й л - н фу к ц и

  и  пр и ем ы

 пр о г ам м и р о вани я

х   п а р м е тр о ю   о б я з а ет л ь н ы

в   в   з а го л в к х   и  п р о и з в о л ь н ы и  poin t  м ож е т   и м ет

443 zyxwvutsrqpo

 в  MATLAB 

е   фа й л - н фу к ц и х   а р г м у е н от в й  в и д

ь  та к о

и   м ож е т   с о ед р ж а т ь .  Н а п р и м е р , з а го л :zyxwvutsrqponmlkjihgfedcbaZYXWV

function where = point (px, py, varargin) В  да н н о м   сч л ау е   в  м аси в  яче к  уп ак о в ы в аю ст я   в е к от р ы   и з  тре х   э л ем н от в  с к о р ди н а т м и   ц е н рт о в   и  р аид суам и   к р г уо в ,  н ач и н а я   с zyxwvutsrqponmlkjihgfedcbaZYXWVU  пвйрое  яйекчи   м ас и в а ,  а   п а р м е тр ы   р х   и   р у   п е р ад ю т   к о р ди н а т ы   з адн н о й   то ч к и .  М ас и в varargin  в сегд а   к у а з ы в а ес т я   п о с л е нд и м ! О б р а ти м с я   ет п р ь   к   н ап и сан и о н хд ы х   а р гм у е н о т в .  П р о д л ж и т ет п р ь   со ти т   в  то м , ч от б н и я  к  н ей .

ю   фа й л - н фу к ц и е   работ ы   po in t  од п сук ал

1.  f  =   p o i n t ( p x ,  p y, 

н ол к гур

ь   и л и   е ид н и ц а .

й   с   п ер м ен ы

[ x i  y i  R I ] ,  [x2  y2  R2 ] , 

, в  з ав и с и м о с т

м   ч и сло м   вы й   po in t .  З а д ч е   вари ан т ы   о бращ е

у   с   фа й л - п р о г а м о а   ю с лу е д щ и

а -

.  . . ) .  В   f  з а п и с ы в а е т с

и   о т   п р и н а лд е ж н о с т

и   от ч к

я

и   к а о м -у л и б

о

2.  [f,  N c]  =   p o i n t ( p x ,  p y , [ x i  y i  R i ] ,  [x2  y2  R2 ] , . . . ) .  В   f  з а п и с ы в а е т

с я  н ол

ь  и л

и  еид н и ц а

, а  в  Nc —  чи сл

3.  [f,  N c,  Num]  =   p o i n t ( р х

с ы в а се т то ч к а П рои з воль н о с п ец и а л ь н о р а то р ы да н н о г в ы о хн д ы

я   н ол , в  м ас и е   ч и сл м   м ас и в ,  з а п и с ы в а ю щ и о   м ас и в а х   а р мг у е н о т

ь   и л и   е ид н и ц а в  Num —  н о м ер

о  к ргоув

,  p y, 

, к о тр ы

м   п р и н ал д е ж и

-

т  то ч к а

.

[ xl  y l  R I ] ,  [x2  y2  R 2 ] , . . . ) .  В   f  з а п и

, в  Nc —  ч и сл а  эит х  к ргоу

о   в ы о нх д ы е   чяе

х   а р мг у е н от к   varargout,  лд е   в ы о хнд ы е   а р мгу е н т . З а го л в о к   фа й л - н фу к ц и в   в  М - фай л е  в ы гл яид

о   к р г уо в в   в  сп и ск

,  к о т р ы е  вонхд ы

м   п р и н а лд е ж и х   а р г м у е н то в

в   в о з в р а щ а е ст я   фа й л - н фу к ц и е т   п р с е у дм о р т е я   ч е г о   е ус л д ы   в   с о вт ес ю у щ и и  с  п ер м н ы м   ч и сло т   ю с ул е д щ и м   образ ом

-

т . й  в ь   оп е е   яч ей к

и

м   в о хн д ы :

х  и

function varargout = myfun(varargin) р мАг у е н ы т ,  куаз н и е   котры х   о б я з а те л ь н о ,  м огу в о нх д ы х   и   в ы о х нд ы х   а р мг у е н от в   д о   varargin  и Н ап р и м ер ,  п ер в ы й   в ы о х нд о й   а р мгу е н т   н фу к ц и и ч ен и е   н ол ь   и л и   е ид н и ц а  в   з ав и с и м о с т и   о т   п о п адн и в а се т я   в с е агд ,  п о э тм у   и ме т   см ы с л   в ы ед л и т ь   ег м е н от в .  Н и ж е   п р и в ед н   з а го л в о к   фа й л - н фу к ц и рт и  в а р и а н т а  в ы з о в а , п ер ч и слен ы е  в ы ш е .

т   бы т ь   п о м ещ ен ы   в  сп и ск   varargout  с о вт ес вт ен н о   p o in t ,  п р и н и м а ю щ и й  з н а я  то ч к и   в   к р г иу ,  куаз ы о   в   сп и ск е  в ы охнд ы х   а р уг и  p o in t ,  к о т р а я   од п с у к а е

и . т

function [where, varargout] = point(varargin) В н ес и т е   н е о б х ид м ы г и  8.23—8.25). 1.  И з м ен и т м гу е н м ощ

е   з а го л в о к т   where  и  п р о и з в о л ь н о и   varargout.

е   до п о л н е н и

я  в  тек с

,  п рсеудм орте е   ч и сл

т   фа й л - н фу к ц и в   оид о  до п о л н и етл ь н ы

и  po in t  (см

н   фи к с и р о в а н н ы

. ли ст н

-

в   пр

й   ар и  п о -

й   в ы о х нд о х   а р гм у е н от

444 

аЧс т ь

2.  П ер б и р а й т с о е др ж а щ и

е   вс е  кгру х   з адн н у

ы   в   с о в т ес ю у щ и х   а р г м у е н от в ,  с  к о т р ы м е   nargout  дл я   о п р едл н и я  требму ы х  яч е к ) .

О б р а ит е с с о ед р ж и и о нс д х ы н и й  (см

zyxwvutsr

 и  пр о г ам м и р о вани е

и   в   ц и кл е   for,  з а п о м и н а я   ч и сл о   к р г оу ю   от ч к у   (о п е р а то р   break  ж у е   н е  н ж уен )

е   р е з л у ь ат а   в ы о х нд ы

3.  З ап и ш и т о т   ч и сл (и сп о ль з йу т з ап о л н ен и

 II. Вчиы с лени я

е   яч ей к и   бы л я   и х   ч и сл

и   м ас и в а   вы з ван а   и   о п е р а то

в   и  и х   н о м ер а .

,

а   в   з ав и си м о ст и а   фа й л - н фу к ц и я р   switch  лд я

ь   к   ли ст н г у   8.26  в   чслау е   в о з н и к н о в ен и я   воп росов .  иЛ сит н г  н е х   п а р м е тр о в   и  о п е р а то р о в   вы вод а т   п р о в ер к и   ч и сл а   и  ти п а   в о нх д ы .  Д а н н ы е   бло к и   о с ат ю ст я   б е з   и з м не х   да н н ы х   в   гр а фи ч е с к о е   окн о . л и с ит н г и   8.24  и  8.25).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE

г  8.26. Ф а йл - иц кн фу я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  p o i n t s  с  пе р м е ны м  числ о м   в ох н ы д х в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Л ист ин а р м уг е н т о

function  [where, varargout] = point(varargin) % ф- л й а и ц к н у ф

я  ое я л е д р п

т  пи н а д п о

% км а т н и д р о

и   (рх , ру

) в  кг у р

% в   (xl, yl)  , (х2 , у2 ) и- т % Ии н а в о з ь л о п с

е  тк ч о

и zyxwvutsrqponmlkjihgfedcb

и  с  зм ы н а д

и  с  цм а р т н е

и

. д . и  рм а с у и д а

и  Rl, R2 и  т . д .

е



where = point(px, ру



where рн в а

,  [xl, yl, Rl], [x2, y2, R2],...)

о  1, ел с



и  тк ч о

а  пл а п о

0 — в  по н в и т о р



[where, NC] = point(px, ру



NC рнва



о  чл с и

у  кв о г у р

а  в  к- й о к а б и л

м  са ч у л

о  кг у р

,

е

,  [xl, yl, Rl], [x2, y2, R2],...) , си щ а ж р е д о

х  тк ч о

у

[where, NC, Nums] =point(px, py,  [xl, yl, Rl], [x2, y2, R2],...)



В  во т к е

% Ви н е л д ы

р  Nums зс т ю а в ы с и п а

е  ка н и д р о

т  тк ч о

я  нр е м о и  и з  пы в р е

а  кв о г у р

х  ду в

х  яе ч

, си щ а ж р е д о к

Xpoint ==  varargin{l}; Ypoint = varargin{2}; % Ни н е д ж о х а

е  чл с и

%  (чл с и

о  яе ч

а  зы н а д

х  ко г у р

к  varargin бе

з  пы в р е

в х  дх у в

)

Ncircle = length(varargin) — 2; % Ии н е ч л в з

е  ка н и д р о

т  цо р т н е

в  и  ро с у и д а

for i = 1:Ncircle Xcircle(i) = varargin{i + 2} (1); Ycircle(i) = varargin{i + 2} (2); Rcircle(i) = varargin{i + 2}(3); end

в  ко г у р

в

х  тк ч о

у

л ав Г

 8. Об р аб о т ак

% Сл а ч н

 данхы

 и  пр и ем ы

 пр о г ам м и р о вани я

а  where = 0, т . е . пк о

а  не

 в  MATLAB 

т  н и  ог о н д

о  нг о н ж у

о  кг у р

445zyxwvutsrq

а

where = 0; % Сл а ч н

а  чл с и

о  кв о г у р

, си щ а ж р е д о

х  ту к ч о

, рн в а

о  нл у

ю

NC = 0; % По б е р

р  ко г у р

в  в  цл к и

е

for i = l:Ncircle % Ви н е л с и ч ы

е  ри н я о т с а

я  о т  тк ч о

и  д о  цр т н е

а  тг е щ у к е

о  кг у р

а

dist = sqrt((Xpoint ~ Xcircle(i))^2 + (Ypoint -  Ycircle(i))Л 2); % Си н е в а р

е  ри н я о т с а

я  с  ро с у и д а

м  кг у р

а

if  dist  epsilon

и  н а  га ц и н а р

х  о' акзерт

]

448 

аЧс т ь

center =  (right + left)/2; % ви н е л с и ч ы % Пк р е в о р

а  н а  рв т с н е в а

  II. Вчиы с лени я

е  сн и д е р

о  f(х ) нл у

 и  пр о г ам м и р о вани е

zyxwvu

ы

ю  в  center

if feval(fname, center) == 0 break 

% не д й а

н  ты н ч о

й  кь н е р о

, дш ь л а

е  дт и л е

ь  не

т  сл с ы м

а

end % Во б ы

р  но н ж у

й  пн и в о л

% f(x) пе а м и н р

ы  оа к з е р т

т  зи н е ч а н

, н а  га ц и н а р

я  ры н з а

х  зо к а н

х  ко р т о

й

в

if feval(fname, left)*feval(fname, center)   J  =   c h e b 4 5 c ( f ,  0,  1,  l e - 5 ,  0) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ

^  Ел с в щ т с уе н бо д е у к л ад о т ит р о в ан ы л А г о р и мт си в н ы м с от я е л ь н о тк р ы ты н ог

Пр и м е ча ни и   оц не к

е а   к о ли в ч с т е

у   а л ог р и м т а е   п о л ь з в са т и  глобаьн ы .

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

ы   с а т н да р н т ы х   н фу к ц и и   с   а д п ит в н ы м   вы боро о   и з ч уи т ь   и х ,  п о ск о ль к й   код .  Он и   н аохядст о  к а т л о г а   M ATLAB.

я  п о ,  т о я

й   MATLAB  quad,  quadi  яв л ю ст я   р е к ум   ш аг а   и н те г р и р о в а н и я .  В ы   м о ж ет е   сам о у   с о в т ес ю у щ и е   фа й л - н фу к ц и и   и м ею я   в   п о дк а т л о г е   \ toolbox\ matlab\ funfun\   о сн о в

Б о л ь ш и н с вт о   в ы ч и с л и етл ь н ы х   а л г о р и тм о в   м ож н о   р е а л и з о в а ть з у я   м а не х и з м   р е к ус и ,  о дн а к о   в с рт е ч а ю ст я   з адч и   р е к ус и в н ы п р и р о де .  Р а с м о рт и м   з а дч у   о   вы вод е   с о ед р ж и м о г о   п о ле м ан д о е   окн о ,  п о л я   котро й   м о гу т   бы т ь   ат к ж е   с рт к у а м и в ен ь  в л о ж ен н о с т и  сркту р   п рои з воль н ы й .

-

т -

,  н е   и сп о ль е   п о   св о е й й   с рк т у ы   в  к о ,  п ри ч е м   р оу -

  .аздр  "П-с о р е   р с к ут у   t r a n sa c t io n ,  п о д б н у ю   р а с м о рт е н н о й   в zyxwvutsrqponmlkjihgfedcb  су"ткры йтоэ   .авыг л zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA А   = struct('currency',  'USD1,  'price1,  0.23,  'bid',  0.21,  ... » 

С о з да й т еты

'ask',  0.27); >> transaction  = struct('time',  [10,20,46],  'stock',  'EESR',  ... 'volume',  ... 10000,  'strike1, A,  'exchange',  28.5214 );

462 

аЧс т ь

  II. Вчиы с лени я

zyxwvutsr

 и  пр о г ам м и р о вани е

е   с о ед р ж и м о г о   с рк т у ы   t r a n sa c t io n  в   к о м а н дн о м   окн П р и   п р о с м о тр и м ен а   п о ле й   в ло ж ен н о й   ср к т у ы   А  и   и х   з н ач ен и я   н е   о т б р а ж а ю тс я .  п р о г р а м и р йу т е   р е к ус и в н у ю   н фу к ц и ю   st r u c t f  ie ld ,  в ы в о дящ у ю   з н а ч ен и я в се х   п о л е й   с рт к у ы ,  в к лю ч а я   п ол я   в л о ж ен н ы х   с рт к у .  В   н ач л е   а л го р и мт а   з адй т е   п ер м ан ен т у ю   п ер м ен н ю у ,  к о т р а я   и ме т   см ы с л   с ч ет и к в л о ж е н н о с ит .  Д а л е е   з ап и ш и т е   в   м ас и в   яч е к   и м ен а   в се х   п о л е й   с р кт у ы восп оль з ова ш и с ь   н фу к ц и е й   fieldnames.  О р га н и з йу т е   цик л   п о   в се м   п о л я с рк т уы .   В   ц и кл е   п р о в ер яй т е   с о ед р ж и м о е   е тк щ у е г о   п ол я   п р и   п ом щ н фу к ц и и   i sst r u c t ,  к о т р а я   воз вращ ае т   л о ги ч е с к у ю   еи д н и ц у ,  сел и   п еранд н ы й   е й   п ар м ет р   я в л се т я   с рт к у о й ,  и л и   л о ги ч ес к и й   н ол ь   в   п р о ит в н о чс л а у е .  Е сл и   з н ач ен и е   е тк щ у е г о   п ол я  —  срткуа ,  т о   в ы в о д   н аз в ан и я п о ле й   и   и х   с о де р ж и м о г о   о щ с у е св т л я я   р е к ус и в н ы м   вы з ово м   нф у к ц и В   о с ат л ь н ы х   с ч л уа я х   р т е бс у я   п рост о   в ы в ес т и   н аз в ан и е   п ол я   и   ег о   з н а ч е н и е .  Д л я   бо ле е   н а г л я дн о г о   о т б р аж ен и я   в л о ж ен н ы х   с р тк у р   в   к о м а н дн о окн е   п р е с ду м о р т и т е   о с ут п   о т   л ев о г о   к рая ,  п р о п о р ц и о н а л ь н ы й   р уо в н с рт к у ы ,  т . е . з н ач ен и ю  сч ет и к а  в л о ж ен н о с ит . Л и с ти н г   8.34  с о едр ж и structfield.

т   о ид

н   и з   в а р и а н то

в   р е к ус и в н о

й   фа й л - н фу к ц и

х  с т рку

function structfield(somestruct) ; я  дл

% ви д о в

я  вд о в ы

м  пу н т е н а м р е

а  сг о м и ж р е д о

о  вы н е ж о л

ю  пу н е м р е

ю  -  си ч т е ч

х  су т к у р т

р

к  вт с о н е ж о л

и

persistent level if isempty(level) % пы в р е

й  во з ы

в  фи ц к н у

, ии ц а з и л а и ц н

я  ск и ч т е ч

а  вт с о н е ж о л

и

level = 0; end % зс и п а

ь  ие м

н  пе л о

й  в  мис а

в  яе ч

к

fnames = fieldnames (somestruct) ; % ои н е л д е р п

е  кв т с е ч и л о

а  пе л о

й

L = length(fnames); % по х р

д  п о  ве с

м  пя л о

м  ср у т к у р т

ы  в  цл к и

е

for k = 1:L % пи н е ч у л о

е  ин е м

и  тг е щ у к е

о  пл о

я

field = fnames{k}; % се а д з о

м  ск о р т

у  и з  по л е б о р

str = blanks(10*level);

в  дл

я  оп у т с

а  о т  лг о в е

о  ка р

я

а , м и м  е е . м ю

и zyxwvut

\ zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л ис т ин г  8.34. Ре уркс и вна я  фа йл - иц кн фу я  дл я  просм от р а  вл еож ны ќ 

% Ф- л й а и ц к н у ф

е За -

р   ; :

л ав Г

 8. Об р аб о т ак

 данхы

% па к р е в о р

 и  пр и ем ы

, яс т е я л в

 пр о г ам м и р о вани я

я  л и  те щ у к е

 в  MATLAB 

е  пл о

е  со р у т к у р т

463 zyxwvutsr

й

if  isstruct(somestruct.(field)) % те щ у к е

е  пл о

е  -  ср у т к у р т

% уе а в и ч л е в

а

м  си ч т е ч

к  вт с о н е ж о л

и

level = level + 1 ; % ви д о в ы

м  им

я  пя л о

, яс о г е щ ю я л в

disp([str,  'зи н е ч а н % ры н в и с р у е

я  со р у т к у р т

я  пе л о

й  во з ы

й  во н е ж о л

в  фи ц к н у

й й  ср у т к у р т

ы   ', field])

и

structfield(somestruct.(field)); % уе а ш ь н е м

м  си ч т е ч

к  вт с о н е ж о л

и

level = level -  1; else % те щ у к е

е  пл о

% ви д о в ы

м  им

е  н е  яс т е я л в я  пл о

disp([str  'зи н е ч а н

я  со р у т к у р т

я  и  ег е  пл о

о  зи н е ч а н

й е

я   ', field])

disp(somestruct.(field)) end endzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

П р о в ер ь т е   работ у   фа й л - н фу к ц и transaction: >> structfield(transaction) инеча з

е  пло 10 

инеча з

и   st r u c t fieid  н а   п р и м ер

я  time 20 

46

е  пло

я   stock

е  пло

я  volume

EESR инеча з

10000 инеча з

я  пело

й   он еж лв

й   рутк с

инеча з

е  пло

я   currency

инеча з

е   лоп

я  price

е  пло

я  bid

е  пло

я  ask

USD

0.2300 инеча з 0.2100 инеча з 0.2700

ы   strike

е   с р тк у

ы

464 

аЧс т ь

инеча з

е  пло

 II. Вчиы с лени я

 и  пр о г ам м и р о вани е

zyxwvut

я  exchange

28.5214zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Доп олн и т п а р м е рт а

е   с а м о с т яел ь н , к о т р ы

о   н фу к ц и н   бы т

й  долж е

Пр и м е ча ни

^  В   н у кц ф и о б яз е л ь а т н ы м кра я  пр

ю   st r u c t fi e i d  к о н рт о л е м   в о ди м о г о .zyxwvutsrqponmlkjihgfedcbaZYXWVUTS

ь   с рт к у о й

е

и   st r u c t fi e i d  чи тес . О н  сжи ул т   о лть к и  вы вод е  вножле ы х   р у кт р с

к   ро в н у о  дл я  вы чниелс .

я   о в ж л н е то с

и   le ve l  н е  яс теялв ы  оп уст а   о т  лвеог

я  дил н

я о

В   з а к л ю ч ен и е   р а с м о тр и м   п ри м е р   о р га н и з а ц и и   а л г о р и тм а   п р и   п ом щ и  ре укн ци ,ф дпо  ч т о   о к а з ы в а ест я   о д бу н ы м   п р и  н ак о п л ен и и к р ус и в н о г о   вы з ов а  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ад н н ы х   в   о дх е   р ек ус и .  З а д ч а   со ти т   в   п о и ск е  все х   л о к а л ь н ы х   ми н и му м о в   н фу к ц и и   f(x)  в н рту и   з адн н ог о   о рт е з к а   [a, b].  Д л я   е е  р еш ен и я   п о хд и д т   с ю л уе д щ а я   п о с л е од в а е т л ь н о с т ь   ед й с в т и й . 1.  В ы б и р ае ми н и му

м   с ер и д н а   и   в ы ч и с л яе

у   о рт е з к я  Сант рд у

и   z  л еж и я  текщу ег

т   а л го р и т

,  т о   в   к ач есвт а  з а в ер ш а ест я

м   п р и м ен и

м   лд

, елс

я   м н о ги

я  к  то ч к е а   / ( * )  н а

е   н ов г

м   [a, z]  и   [z, b]  и  в ы п о л н яе

о   о рт е з к

х   м и н и м уов

о   п р и б л и ж ен и о   ми н и му

ю   fminsearch.

и   п р о м е ж кт у а о   в ы би рае

и с к  дл Э от ло к аль н ы

ю   н фу к ц и

т   в н рт у

п о с л е од в а е т л ь н

е   н ач ль н о г у   z  л о к а л ь н о г

м   аб сц и с

[а,  Ь]  , И у З ЛЬ О П С 2.  Е сл

а  в  к ач есвт

о   о рт е з к м  дл

и   z =  а ,  л и б

х   нф у к ц и й

,  и м ею щ и

а   [a, b]

я   ни

х   п .  1. П о

-

о   z -  Ъ . х   к о н еч н о

е   ч и сл

о

.

П ер д  ожбеснуд и е м   п р о гр а м и р о в а н и я  а л го р и тм а   р аз б ер м   п о др б н е е   п . 2, в   котро м   п р о в е р я ст я   с лу о в и е   н о а ж х е нд и я   от ч к и   в н рт у и   п р о м е ж кт уа . П с ту ь   н фу к ц и я   fminsearch  в ы ч и с л и л а   абсц и с у   лок аль н ог о   ми н и му а   г , од у в л е т о р я ю щ у ю   н е р а в е н свт у   aК >

I

Command Htetory) Ec»or 1

Ф-

 Start |  Stopped in debugger

Рис

. 8.13. К нолр т

ь  зн ечиа

й  пн ем ыр е

х  в  пс цоер

е  ок дал т

и

P  X

476 

аЧс т ь

 II. Вчиы с лени я

zyxwvutsrq

 и  пр о г ам м и р о вани е

П о ш а го в о   вы п олн я я   фа й л - н фу к ц и ю   stm um posi,  беуид тс ь   в   то м , ч т о  дл я з н а ч ен и й   1 и  2 с ч ет и к а   ц и кл а   к  усло в и е   о п е р а то р а   if  н е  в ы п о л н яест , т . е . н е  п р о и сохид т   п е р о хд а   к  о п е р а то р а м , р а с п о л ж ен н ы м   в н рт у и   етл а   if.  Т а к и  до л ж н о   б ы ть ,  п о с к о ль к у   п ер в ы й   и  в то р й   си м вол ы   с рт о к и   s t r  н е  являю т с я  ц и фр а м и . К о гд а   з н ач ен и е  к  до с ит га е т   3, до л ж н о   п о лч у и ь т с я   в ер н о е   сло у в и е   в   о п е р а то р е   if,  т . к . треит й   си м в о л   в   с рт о к е   я в л се т я   ц и фр о й .  О нд ак о у   в н рт у и   ет л а   о п е р а то р а   if  н е  п р о и сохид т .  О ш и б к а  л о к ал и п е р о дх а   к  б л о к з о в ан а  и  п р о ц ес с  о лт а дк и   м ож н о  п о к а  п р е в а ть , в ы б р а в  в  м ен ю zyxwvutsrqponmlkjihgf  Debug п н у к т Exit  Debug  Mode   и л и  н аж в   о нд о и м е н н у ю   кн оп к у   н а  п ан ел и   и н с р мт у е н о т в р е д а к то р а   М - фа й л о в . И та к ,  н ео б хди м о   в ы я с н и ьт , ч т о  ж е  н а  сам о м   е дл е   п р о в ер я т   о п е р а то р   if. В н ес и т е   н еб о ль ш и е   и з м ен ен и я   в   фа й л - н фу к ц и ю   stm um posi.  П ер д   с лоув н ы м   о п е р а то р о м   п ри свой т е   в с п о м о г а ет л ь н о й   п ер м ен н о й   tempi  з н ач ен и е , в о з в р а щ а е м ы й   isn um eric  (tem pi). H e зьдабу st r  (k),  a temp2  —  р ез луь ат т е   с ор ха н и т ь   фа й л   stmumposi.m.  Т еп р ь   м ы   и з б ер м   бо ле е   б ы с рт ы й   пт у ь о л т а кд и   п р о гр а м ы ,  саутн о в и в   то л ь к о   но д у   с луо в н у ю   от ч к у   о с ат н о в а  в с рт о к е   фа й л - н фу к ц и и   с   о п е р а то р м   if  п р и  досит ж ен и и   с ч ет и к о м   з н ач е н и я  3. Д л я  э то г о   с уат н о в и т е   к р ус о р   в   ср т о к у   с  о п е р а то р о м   if,  в ы б ер и т е  в м ен ю   Debug  п ну к т   Set/ Modify  Conditional  Breakpoints.  В   п о яв и в ш ем с я   окн е в е ид т :  =к = з  .  В  фа й л - п р о гр а м е  check  то ч к а   о с та н о в а  уж е  н е  п о н а од б и ст я и   е е   м ож н о   да у л и ь т .  Н а ч н и т е   о л т а кд у   сн ова ,  з ап суит в   фа й л - п р о гр а м у check  п р и   п о м о щ и   < F 5>   (Run).   Т еп р ь   п р и о с та н о в   п р о и з о й де т   то л ь к о  в н фу к ц и и   stm um posi  п р и  з н ач ен и и   с ч ет и к а   ц и кл а   к , р а в н о м   3. П р о а н а л и в   и х   л д я   п р о с м о тр а  в з и рй у т е   з н ач ен и я   п ер м н ы х   tempi  и   temp2,  о кт р ы Array  Editor.   З н ач ен и е   tempi  п о к а з ы в а е т ,  ч т о  тр еит й   си м в о л   с рт о к и   s t r н а сам о м   е лд е  в о с п р и н и м а ест я   н е  к а к  ч и сл о   (double), а  к а к  си м в о л   (char), вер н е е  м ас и в  с и м в о л в  р а з м е р а   1 н а  1. П о э от м у   н фу к ц и я  isn um eric  в о з в р а щ а е т   л о ги ч е с к и й   н оль , ч т о  п овтдер ж адест я   з н а ч ен и е м   п ер м ен н о й   temp2. Д о п щ у ен а   ош и бк а   в   и с п о л ь з е му о м   ит п е   ад н н ы х .  П р е в и т е   о л т а кд у   и п о м уд а й е т , к а к  п р о в е р и ть , являсет я  л и  си м в о л  ц и фр о й  и л и  н ет . П р ео бр аз о в ан и в   э от образ ован и ч и сло с ч л уа я х в р ащ аем о г

е  с рт о к и ,  п о з в о л яе т и   етк щ у е г о   ,  сле и   еткщу и й   си м в о .  С л е до в а те л ь н о о   str2num  м ас и в

й   гл а в е

 в  ч и сл   к о р е к тн си м вол

о   н фу к ц и е

й  str2num, о  к о т р о м   бы л о   ск аз ан о и   нжу ю   п р о в ер к у .  П р и   п ре а   с рт о к и   s t r  в о з м о ж н ы   в с ег о   дв а   в а р и а н т а : л  —  ц и фр а , и   посту й   м ас и в   в о   в се х   о с ат л ь н ы х ,  до с та о ч н о   п р о в ер и т ь   р а в е н с вт о   н л у ю   дл и н ы  в о з а  (ли ст н г  8.38). о   п р о и з в ес т

....„, zyxwvutsr

Г   • • - • - "• "-"--• • - - - ""•-  - - - •,- ......,......"• • - ".- .,  - - - - -   • - -  ...................  I zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Л ист ин г  8.38. Нова я  фицнку я  st mumposi дл я  ида л ог в й  от л аикд  

fu n c t i o n  p o s  =   s t m u m p o s i ( s t r ) s l e n  =   l e n g t h ( s t r ) ; d i g i t s  =  0; p o s  =  [  ] ;

/

|

л ав Г

 8. Об р аб о т ак

 данхы

  и  пр и ем ы

 пр о г ам м и р о вани я

477zyxwvutsrqp

 в  MATLAB 

fo r  к   =   l : s l e n zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA а  =  str2num(str(к)) ; if length(a)~= О digits = digits + 1; pos(digits) = к ; end end

П о в то р и т е   о лт а до ч н ы е   едй с в т и я   и   б е у и д тс ь ,  ч т о   п р о и сохид т   п рави ль н о з ап о лн ен и е   э л е м н от в   в ы о х дн о г о   м ас и в а .  В н еси т е   о к н ч а ет л ь н ы е   и з м ен е н и я   в  фай л- нфу к ц и ю  strnumposi,  а  и м ен о  в ер н и т е  к о м ен ат р и и  и  п р о в ер к ов н дх ы х   а р мг у е н от в   та к ,  ка к   б ы л о   с е дл а н о   в   н фу к ц и и   strnumpos  (см .  ли с ит н г   8.1).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA



П р и м е ча н и

а   иво л с у я   в и ст е о я   ис м в о л а   ц ир ф е   и п с е оь л з у т   о с н б е о ст е   о р ал г и т м   н а ст о в и т я   н епр а   MATLAB.  нОд ак о   в   ак о т м   ча у л с м   в   и г ру д е   ы д рес .  П омэт у   ови л с у е   п р о кв е и   чш у л е   з ап и с ат ,  пмиорел й   л д я   лю б о й   д ерс ы   п р о г ам и р о в ан и я .  Н ап ри м ер s t r ( k )  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA >=  ' О 1  &  s t r ( k )  = >  y = s i n ( x ) ; >>  p l o t ( x , 

у )

п р и в о яд т   к  п о яв лен и бо т ы   p lo t  со з адли с ос и   и   л и н и я   гр а фи к

ю   гр а фи к ь   рт и   г р а ф и ч е с к и а   с и н с ау

а   нф у к ц и

. В  да н н о х   о б ъ е к ат

.  М а н и п луи р о в а н и

м   сч л ау :  гр а фи ч ес к о е   с в о й с вт а м

е   в   р е з л у ь ат е   ра е   окн о   Figure 1, и   о б ъ е к от в   в

482 

лд

аЧс т ь

я   н фу к ц и я м и  get  MATLAB  п р о и з в о ди тс я   п о ч л уе н и я   з н ач ен и й   с в о й с вт , a  set  лд э о т м   н фу к ц и я м  get  и  set  е услд т  ук а з а ть от в   с в е т д я   р а б о та .  И м ест я   р т и   с а т н ад р н т ы ч ен и я  к о т р ы х   м о гу т  бы т ь   и сп о ль з о в ан ы и   set : •   gcf  —  еткщу е

е   гр а фи ч е с к о

•   сд а   —  еткщу и

е  о си

•   сд о  —  еткщу и

й   гр а фи ч е с к и

О б р а ти с в о й свт а о нд фи ч е с к о едл н и

е   окн о

  II. Вчиы с лени я

zyxwvutsrq

 и  пр о г ам м и р о вани е

и  set .  Ф ну к ц и я  get  п р едн а з н а ч ен я   с аут н о в к и   н овы х   з н ач ен и й ,  с  к ак и м  и з  сщ у еювсту щ и х   нф у к ц и , в о з в р а щ а е м ы  в  к ач есвт е  в ох дн о г о   а р мг у е н т

а . П р

и

х   о б ъ ек

е   зн а а   get

;

; й   о б ъ ек т

.

е   вн и м ан и е ,  ч т о   и с п о л ь з о в а н и е   gcf,  сда ,  сд о   о тк р ы в а е т   о д ус т п  к м zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   т к е г у що   окн а ,  осе й   и л и   о б ъ ек ат .  В   да н н о м   с чл у а е   ес т ь   т о л ь к о ,  о н о   и   явлсет я   етк щ у и м .  Е ид н свт ен н ы е   о с и   в   гр а о   гр а фи ч е с к о е   окн о м   окн е  та к ж е   яв л ю ст я  текщу и м и .  П р о  и с п о л ь з о в а н и е  дс о  дл я   о п р е я  текщу ег о   о б ъ ек т а   ск аз ан о  н и ж е .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

й о с в Ст

а  ос е

В ы в еи д т котры

е   в   к о м а н дн о й  бы л   п о с рт о е

й е   окн н  в  п рыедщ у е

о   с в о й свт

а   о с ей м   р а з де л

,  со едр ж ащ и , дл

я   ч ег

х   гр а фи о  в ы п о л н и т

к   фн у к ц и е   к о м а н ду

, :

»  get(gca) В   к о м а н дн о м   окн е   о т б р а ж е ст я   та б л и ц а   св о й ст д о с та о ч н о   мн ог ,  сред и   н и х   се т ь   о ч е в и н д ы е п ер в ы й   в з гл я д   к а ж се т я   н е п о н я нт ы м .  С в о й с вт л и т ь   н а  дв е   грпу ы   —  о б щ и е   с в о й свт а   и  св о й свт

в   и   и х   з н ач ен и й .  С в о й с т ,  а   н а з н а ч ен и е   н ек о т р ы х  н а   о се й   с ул о в н о   м ожн о   р а з ед а   к а ж од й   и з   о се й   х ,   у   и л

z . Н а з в а н и е  св о й ст в  в то р й   грп у Y и л и   z. Т а б л и ц ы   9.1  и  9.2  со едр ж а м ен яю с т я  п р и  с о з адн и и  п р и л о ж ен и й

ы   н а ч и н а е ст т   осн овн ы .

Ф ну к ц и я   get  до п сук а е в то р ы м   а р мг у е н о т сет я  п о лчу и ьт ,  н а п р и м е р

е   к   н е й   с   мв д у е   с в о й с вт а

т   о б р ащ ен и м   я в л ес т

я   н аз в ан и , к о м а н д

я  с  со втес юу щ е е  с в о й свт а я   в о х нд ы м ,  з н а ч ен и

,  к о т р ы

в а и

й   к б ву ы  х , е   ч аст о   п ри и   а р г м у е н ат м и е   котрог

, о   ртеб у -

а

>>  fn  =  get(gca,'F ontN ame') з ап и сы в ае п ер м ен н у

fn = Helvetica

т   н аз в ан и ю   f n и  в ы в о ди

е   ш р и ф ат

,  и с п о л ь з еум о г т   е е  з н а ч ен и

е  н а  э к р а н

о   в   ще к т у и х   о с ях ,  в   с рт о к в у ю :zyxwvutsrqponmlkjihgfedcbaZYXWVUT

л ав Г

 9. Десрки пт о р ная

 гиакр ф

483 zyxwvutsrqp

 9.1.  тйвсоаС, zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED  отиающевч  за  оищй б  вид  ойес zyxwvutsrqp

а ц и а лб Т Н иа з н в

е  свсотй

а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA и с н аО п е и ен ч а Зн я

Box

З ак лю ч ен и м о гу л ь н у

C o lo r

Ц ве

е   о се ю   рам к т   фо н

а  осе

й   в  п р я у

-

' o n '  (п о  ум о л ч а н и ю 1 • off

й

В е к то з ад ю щ и

)  и л

р   и з  тр е й   ц ве

х   э л е м е н то в т   в   фо р м ат

R G B, н а п р и м е о ди то в ц ве F on tAn gle

Н акло м е кт

FontN ame

Н аз ван и

F o n t Size

Р аз м е ум о л ч а н и 1 п ну к

F on tWeight

н   ш р и фт и   о се й

а  р а з

а

а   (п о ю   в   п ну к т а х т   =   1/72  дю й м а а   ш р и фт

С ти л

Lin eWidth

Толш и н

Vi si b l e

О то б р а ж е н и

D a t a Asp e c t R a t io

М а с ш та

P lo t Bo xAsp ec t R a t io

Р аз м ер

ь   ли н и

, )

й  сект

б   о се

ы   о се

и

й  осе е   осе

й

й

ю )

Ц ело ни

е   ч и сл ю   12)

о   (п о  ум о л ч а

-

-

' n o r m a l' (п о   ум о л ч а н и ю ) а

а  л и н и

-

И   'italic'

' b o l d ' ,  'demi'

G r id L in e S t yle

х   ц ве   - о и пл р

С тр о к а   с  н а з в а н и е м  ш р и ф та ,  н а п р и м е р   'C ourier'

р   ш р и фт

Толщ и н

и

' n o r m a l 1  (п о   ум о л ч а н и ю ИЛ

е   ш р и фт

, е

р   [ i l l ] ,  и л

н   и з  о п р е д л е н н ы :  г ,  g  и  т . д ,  (с.м   1).  П о   ум о л ч а н и т   б елы й

ине же

и

' l i g h t ' ,  И Л

И

' - ' ,  ' — ' ,  '  : '  (п о   му о л ч ан и ю )  ' - .  '  и л и   ' п о п е й

й

,

З н ач ен и ум о л ч а н и

е  в   п ну к та ю   0.5)

' o n '  (п о  ум о л ч а н и в и дн ы ) ,  ' o f f

'

х   (п о ю   ос и

В е к то з ад ю щ и м а с ш та

р   и з  тр е х   э л е м е н то в й   о тн о с и те л ь н ы б   п о  к аж од й   и з  осе

В е к то з ад ю щ и раз м ер

р   и з  тр е х   э л е м е н то в й   о тн о с и те л ь н ы ы   к а ж до й   и з  о се

, й й , й

е

zyxwvut

аЧс т ь  II. Вчиы с лени я  и  пр о г ам м и р о вани е 484zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

 9,2.  тйвсоаС

а ц и а лб Т

  из  ойес

  (на

 е р ипмр

  X) zyxwvuts

 оис

и с наО п е и ен ч а Зн я а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

е  ссвойт

Н и ан з в

 кй о д аж

XColor

Ц ве

т   ос и

В е к то з ад ю щ и

р   и з  тр е й   ц ве

RG B, н ап ри ме о ди то в XD ir

Н ап рав лен и

н   и з  о п р е д л е н н ы х   ц ве :  ' г 1 ,  ' д 1  и  т .  д . (с.м  ине ж о иплр   1)

(о б р а тн о е XG rid

С е тк а ,  п е р п е н ди к луя р н а я   ос и

XAxisLo cat io n

Р асп о ло ж ен и (дл я   о с и  z о тс у в е т

' o n '  и л

)

( ' r i g h t 1  И Л

XLim

П р ед л п ер м ен н о

XScale

М а с ш та

XTick

К о р ди н а т ос и

XTickLabel

ы   и з м ен ен и

Р а з м е тк

я й

б   ос и ы   р а з м е тк

и

а   ос и

И   'reverse'

и   'o ff

'  t o p  '  И Л ЛД

-

)

е   ос и

, е

р   [ i l l ] , ил и

' n o r m a l 1  И Л

е  о с и

х   э л е м е н то в т   в   фо р м ат

Я   СО

И   'bottom' И   'left'

И  у  )

В е к то р   и з  дв у равн ы х   п р едла н и я   п ер м ен н о й [ - 1.5   2.3]

х   к о м п о н ен т м   и з м ен е , н а п р и м е

' l i n e a r '  и л

и   ' lo g'

В е к то р   с  к о р д и н а т м р а з м е тк и ,  н а п р и м е [ 0 1 3  5] В е к то р а з м е тк н о  дл и н ди н а т м п ри м е

, р

и р

р   яч е к   с  н а з в а н и я м и и   (ч и с л о   яч е к   рав е  в е к то р а   с  к о р и   р а з м е тк и ) , н а р

{' z e r o ' ; ' o n e ' ; ' t h r e e ' ; 1   f i ve ' }

К оман д ти м ы п ара

)ле иаузщйдр

а   se t  п о з в о л я е т   ус т а н о в и т х   з н ач ен и й .  П е р в ы м   а р г ум е н т о 1 :  ' с в о й с т в о ,  з н а ч е н и е .  П р и в е д и т

  к  в и уд

, ука з а н н о м

ь   к а ж до м у   с в о й с тв м   з а да е тс я   дс а е   ос и   с   гр а фи к о

у  н а  р и с

. 9.1.

у   осе й   л ю б о е   и з   д о п ус ,  а   в т о р ы м   и   тр е ть и м   — м   с и н ус а   (с.м   - ы депр

л ав Г

 9. ес рДки пт о р ная

 гиакр ф

485zyxwvutsrqpon

Рис Дл

я   э то г

э к ран е дн н ы ад ю ли н и фи ч е с к о г

. 9.1.  Ин езми

е  сйтосв

в  ое с

й

о   расп ол ж и т е   к о м а н дн о е   окн о   M ATLAB  и   гр а фи ч ес к о е   окн о  н е  та к ,  ч от б ы   он и   н е   п ер к р ы в а л и  др у г  дргуа , и   п р и   в ы п о л н ен и и   п ри ве х   н иж е   к ом ан д   с л ие д т е   з а   с о тян и е м   о с ей .  С юлеуд щ и е   к ом ан д ы   за т   от л щ и н у   ли н и й   о с ей ,  к о р ди н а т ы   и   о б з н ач ен и я   р а з м е тк и ,  н а н о с я и   к с ет и   и   с у ат н а в л и в а ю т   ц ве т   фо н а   о с ей ,  с о в п а дю щ и й   с   ц в ео т м   гр а о   окн а :

а т -

>>  set(gca,  'LineWidth',  2) »  set(gca,  'YTick', [- 1  0  1]) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE »  set(gca, 'YTickLabel',  {'y=- l'; 'y=0'; 'y=l'}) »  set(gca/  'XGrid', 'on') >> set(gca, 'GridLines',  '- ') »  set(gca, 'Color',  [0.8 0.8  0.8]) Част ь   н аз ван и й   свой ст в   з а к а н ч и в а е тс я   слово м   Mode,  н а п р и м е р ,  YTickMode. Таки е   с в о й с тв а   м о гу т   и м ет ь   то л ь к о   дв а   з н а ч е н и я   —  ' a u t o '  (ус та н авли ваем о е   п о   ум о л ч а н и ю )  и л и   ' m a n u a l' ,  п р и ч е м   ' a u t o '  с о т в е т с т в уе т   ав то м а ти ч е с к о м у   п о дб о р у   з н ач ен и я   с о т в е т с т в ую щ е г о   с в о й с тв а ,  в   д а н н о м с л уч а е   YTick.  З а д а н и е   в е к то р а   в   YTick  п р и в о д и т   к   см ен е   з н ач ен и я   YTickMode с   ' a u t o '  н а   ' m a n u a l' .  В с е г д а   можн о   о тм е н и т ь   п р о де л а н н ы е   и з м ен ен и я   свой в   YTickMode  в   ' a u t o 1 .  В ы ш е с к а з а н н о е   с п р а в е дл и в о   дл я с тв а   YTick,  у с т а н о в и в се х   с в о й с тв ,  и м е ю щ и х   с о п ут с т в ую щ е е   с в о й с тв о ,  к о т о р о е   з а к а н ч и в а е тс я  н а Mode.

486 

И та к фа й л - п р о гр а м с ум о рт е н и ю п р и в е дн н ы ав ыг л

аЧс т ь

,  к о м а н д

а   se t  п о з в о л яе т   п о лч у и т ь   од с у т ы   и л и   фа й л - н фу к ц и и   и   и з м ен и т .  Н а з в а н и я  св о й ст в   и  и х   в о з м о ж н ы х   в   и н с п е к от р е   с в о й с вт ,  к о т р ы  р.азд   "Цвето ин,е л м р оо ф  ртек а зм

 4  (с.м

  II. Вчиы с лени я

 и  пр ог ам и р овани е

zyxwvutsr

п   к   с в о й с вт а м   и з   с о б вт е н н о ь   в и д   гр а фи к а   п о   с в о ем е   з н ач ен и я   н е   о лт и ч а ю ст й   в ы   и сп о ль з о в ал и   п р и   че н т и  и  стек а  ").

й

у я  о т и zyxwvutsrq

С р де и   н аз в ан и й  свой ст в   о с ей , п чоелну ы х   п р и  п о м щ и   get  (gca),  сте ь   T it le , xiabel,  Yiabel,  ziabei.  О б р а ти е   в н и м ан и е ,  ч т о   и х   з н а ч ен и я   ен   юятс вл я е тк с о в ы м и   с тр о к а м и . О н и   со едр ж а т   к у а з ет л и   н а  с о вт ес юу щ и е   е тк с о в ы е   о б ъ е к ыт ,  о б   и с п о л ь з о в а н и и   к у а з е тл й   и  тек сотв ы х   о б ъ е к ат х   п о др б н о н ап и сан о   н иж е   (с.м  р.азд   "Уик азтле   ан   к"етыъ б о   и   "Т еквтсыо   к"етыъ б о й а он д  г)авы л .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA й   XLim,  YLim,  ZLim,  D a t a A s p e c t R a t i o ,  P l o t B o x A s p e c t R a t i o ,  OT-

С во йс тв

а   осе

в е а ищ ю ч з аы н тш а б

е   з а   е пр д л ы

.  Н а пирме р ,  б о л е ZLim   з наеч и

,  амс тш

е  О Г ТО е   с во й с т в

,  о тн с ите нлыь , пр

б   и   о т н с и т е нлы ь е   а рз ем ы   осей ,  вз аоимс вя е   а рз е м ы   о с е й   з а ви с я т   о т   епр д л о в   и   ас м и   з а дны х   D at aAsp ec t R at io ,  XLim, YLim  И О Н Ж О , ОЗМ В а   P lo t Bo xAsp ec t R at io   ниогуер тс я .  Та б ли ц а   с я вз е

, й

М еж д у   ИМ Т Э И   М а ЙВ ОТ С И   И  Ю Щ ИМУ В Т С Т ПУ О С И  К   И Н М   XLimM ode,  YLimMode, ZLimM ode,  D a t a Asp e c t R a t i o M o d e  И   P l o t B o xAsp e c t R a t i o M o d e  п р и в е д е н а   В

ю   О В Т С  СВОЙ е  D at aAspect R at io й   ем с т и С е   M ATLAB  (СМ .  аомцир нф о с ей , н а п р и м е р  в  р а з д . MATLAB: Functions -   Alphabetical List  (ги п ер с ы л к а Axes Properties)).

о н ч в а р пС

В   э от м   р а з де л е   м ы   р а с м о рт е л и   то л ь к о   н аи бо ле е   ч аст с вт а   о с е й , з а м е ти м ,  ч т о   в сег о   и х   бо ле е   100.  Р я д   св о й ст л о ж ен и е   осе й  в   п р едлах   гр а фи ч е с к о г о   окн а . Э от т   воп ро   "Уине апврл инме пж о л о  ойе"с  дйаон  г)авы л (с.м  р.азд

о   и с п о л ь з е му ы в   о тв е ч а ю с   м ы   ои дб с у .

е   св о й т   з а   расп о м   н иж

е

Г р а фи ч е с к и е   о б ъ ек т ы   MATLAB  о б л а д ю т   д о с та о ч н о   боль ш и м   н або р м с в о й с вт ,  о п и с а н и е   котры х   сли ш к о м   о б ъ ем н о .  Ц ел ь   э от й   г л а в ы   —  да т ь п р е сд а т в л е н и е   о б   о р га н и з а ц и и   гр а фи ч е с к и х   о б ъ е к то в ,  и х   ти п а х   и  о сн о в н ы х п р и ем а х   работ ы   с  н и м и . П о э т м у   м ы   и н о гд а   е д уб м   то л ь к о   пу о м и н а т ь   о   ет х ил и   ин ы х   с в о й с вт а х ,  о дн о в р ем н н о   да в я   с ы лк и   н а   с о вт е с ю у щ и е   раз е дл ы   и н ет р а к ит в н о й   сп рав о ч н о й   с и с е тм ы .  Онд и м   и з   осн овн ы х   р а з де л о в   вя л я ес т я   M ATLAB:  Graphics:  Handle  Graphics  Objects.   К р о м е   то г о ,  б ы с рт ы й од с у т п   к   н аз н ач ен и ю   в се х   с в о й с т в   гр а фи ч е с к и х   о б ъ е к от в   п р о и з в о д и тс я  и з б р а зу е р а   с в о й с вт , р а з м е щ е н н о г о   в   раз д . MATLAB:  Handle Graphics Property Browser. И сп о ль з о в ан и ин е у ч л

е   б р за у е р

а   св о й ст

 иаци м р о фн

о й в Сс т С та н д а р тн а з в о л яе

 о  стйвсоах

а  л ин

й  и  пове рнхст е

я   нфу к ц и т   п о лч у и т

ь   од с у т

я   gca,  з а д в а ем а п   к  с в о й свт а

в   гр а ф и ч е с к и   к с еи х ч га ф р

х   о б ъ е к от  окевт"оъ б

в   о п и сан  эйто

о  в  р.азд  г.авы л

  "П-о zyxwvutsrqponmlkj

й я   в   к а ч е с вт м   е кщ т у и

х   о с ей

е   а р гм у е н т .  О дн а к

а   se t  и   get,  п о о   лд я   о б р а щ е н и я

л ав Г

 9. Десрки пт о р ная

к   е щк т у е в с рт о е н н о щ ел ч к и х  з н а ч ен и

487zyxwvutsrqpo

й   ли н и и   гр а фи к а   ил й   нф у к ц и .  С едл а й т а   мы ш и   п о  н е й  в  гр а фи ч ес к о й  в  к о м а н дн о е  о к н о

ge t ( дс о

» 

 гиакр ф

М н оги Табли ц



и   п о в е рн х о с т е   ли н и , и с п о ль з у

и   в   M ATLAB  н е т   с п ец и а л ь н о й ю  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO т к е и у щм   к е мт о ъ б   п р и   п ом ощ и м   окн е , з ает м   в ы в е ид т е   ат б л и ц у   свой ст в  и я   сд о :

•  :

е   и з   э ти х   свой ст а   9.3 с о д е р ж и

в   в ы   и з м ен ял т   н аи боле е   част

и   в   р е да к то р о   уп о т р е б л я е м ы

е   п р и   п р о ч те н и е   с в о й с тв

е   в с от й

а

C o lo r

и с н аО п

е

Ц ве

и ен ч а Зн

т

В е к то да ю щ и

р   и з  тр е х   э л е м е н то в й   ц в е т  в  ф о р м а т

ь   ли н и а

и

П о л о ж и те л ь н о

M arker

Ти

О дн ч ен и й (см

Ц ве к ер

M arkerF aceC o lo r

Ц ве

M arkerSize

Р аз м е п н у к та

П р и в е ди т и сп оль з у щ и е   к о м а н ды »  »  »  »  » 

set(до с set(до с set(до с set(до с set(до с

е   графи я   ф ун к ц и

а

т   гр а н и ц

ы  м а р

т   м арк ер

а

-

н  и з

:  ' г ' ,   f g f  1)

х   ц в е то в ине пж о илр

 - '  (п о  ум о л ч а н и ю ) ' - .  '  и л и   ' п о п е

Толщ и н а   ли н и и  в п н у к та х   (1 п ну к т  = =   1/72  дю й м а )

M arkerE dgeC olor

и  о ди

1

Lin eWidth

п   м арк ер

, з а е  R G B,

р   [111],  и л

о п р едлен н ы и  т . д .  (с.м С ти л гр а фи к

zyxwvutsrq

 линй

я

н ап ри м е

L i n e S t yle

  4. .zyxwvutsrqponmlkj

 9.3. Стйвсоа

а ц и а лб Т Н а из н в

и   ав ыг л а   ли н и и

,  •  — ' , ' : ' , ' е   ч и сл

о   и з  с та н да р тн ы , н а п р и м е . та б л .  3.1)

о

р   'о

х   обоз н а 1 , 's'

Т аки

е  ж е

, к а

к  у   c o l o r

Т аки

е  ж е

, к а

к  у   C o lo r

-

а

р   м арк ер х

к   с и н ус а   (с м . р и с и   s e t  и   д с о . О ч е в и д н о

а  в

П о л о ж и те л ь н о

. 9.1)  к   в и д у ,  и з о б р а ж е н н о м ,  ч т о   т р е б уе т с

е   ч и сл

я   вы п олн и т

о

у   н а   ри с ь   с л е д ую

. 9.2, -

:zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA , 'Color1, 'k') , 'LineWidth1, 2) , 1Marker', 'о' ) , 1 MarkerFaceColor' , ќMarkerSize1, 8)

zyxwvu

аЧс т ь  II. Вчиы с лени я  и  пр о г ам м и р о вани е 488zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

О  













7 zyxwvutsrqponmlkjihgfedcbaZYXWVUT

. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC  9.2. Ин езми е  сйтосв в  лин и

с Ри

С в о й с вт а   п о в е р н х о с ет й   и з м ен яю ст я   а н а л о ги ч н ы м   образ ом .  С о з да й т е   гр а иф к   п о в е р н х о с т и   к а ой - ли б о   н фу к ц и и   в уд х   п ер м ен н ы х ,  седл ай т е   п о в ер х н о ст ь   ещ к т у е й   п р и   п ом щ и   щ ел ч к а   мы ш и   и  в ы в еид т е   ат б л и ц у   с о   с в о й св т а м и  и  и х  з н а ч ен и ям и  в   к о м а н дн о е  о к н о .  И з чуи т е   сам о ст яель н о   воз м ожн ы е с в о й свт а   (о б р а ит ес ь   к  р.азд   "Стйвсоа  линй  и  птйес"хвонр  гавы л  4 и  р а з д . MATLAB: Handle Graphics Property Browser с п р а в о ч н о й  си есмт ы   MATLAB). ^ 

Пр и м е ча ни

Ф н у кц и и   в ы сро к в н у е о surf,  surf 1  и  др. ра я  п оз влея т  созатд Ф ну к ц и щ ел ч к о в е р н х о с ьт е к ат

е )  осн ва ь   п н о р в х е тс

й   ир а ф г к и   л д я   пн р о е т с и я   н п е о р хв т с й   (mesh, ы   н а   н и з р о в кн у е о й   н у цк ф и и   surface,  ок т ь   с  лю ыб м и  занд ы м и  свой амсти .

я   с д о   ку а з ы в а е т   н а   е к тщ у и й   о б ъ ек т ,  в ы б р а н н ы м   мы ш и .  Д а н н ы м   о б ъ е к от м   м ож е т   бы т ь   н е   то л ь к .  беУид тс ь   в  э то м ,  н о   и  о с и , и  гр а фи ч ес к о е   окн о м   и  в ы в о д я   и х  с в о й свт а   п р и  п о м щ и  get  и  дсо .

П р о гр а м и р о в а н и е   да н н ы х , к а к  п р а в и л о сет я  р я д  о б ъ ек от в   (гр афи ч ес к и с вт а   к о т р ы х   н е о б х ди м м ож е т   бы т ь   е кт щ у и м п о л ь з о в а те л ь   вы бра л

с о б вт е н н ы , п р едп о л а г е о   и з м ен ят   в  да н н ы   ег о   щ е л ч к о

х   а л г о р и тм о в ,  т   н али ч и е  н еск о ль к и е  о к н а , о с и , л и н и ь  в   о дх е  в ы п о л н ен и й   м о ен т , есл и   о н м   мы ш и . О дн а к

с в яз а н н ы , п о в ернх о с т  то л ь к о   ч аст

й   п о л ь з о в а ет л о   ли н и , щ елк а

м я   ил и   по я   п о   объ

-

х   с   в и з аул и з а ц и е й х  г р а ф и к о в , т . е . и м е и   и  т . д. ) , свой я  п р о г р а м ы .  О б ъ ек т о   ч т о   б ы л   с о з ад н   ил и о   в   о дх е  в ы п о л н ен и я

л ав Г

 9. Десрки пт о р ная

п р о гр а м щ и мс

я  текщу и м и

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB

  и а к гр ф

ы   н е о б х ди м

о   с уат н о в и т . Э т

а к зУ т е л

а  з а д ч

ь   н ек о т р ы о  р еш аест

а   л е гк

и  н а те к ъбо

я   пр

е   с в о й с вт и  п о м щ

а   о б ъ ек т и   к у а з ет л й

а   н е  яв л яю .zyxwvutsrqponmlkji

ы

С о з да н и е   лю бог о   гр а фи ч ес к о г о   о бъ ек т а   в   M ATLAB  с о п р о в о ж да е тс я   по яв л ен и е м   ч и словог о zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   яу к а з т л е   н а   н е го ,  та к и м   образ ом ,  к а ж ыд й   о бъ ек т ну и к а л ь н ы м   образ о м   и д е н ит ф и ц и р е у ст я   в   с р ед е   M ATLAB.  Ф ну к ц и и   gcf, gca  и  gco  к а к  р а з   в о з в р а щ а ю т   к у а з а те л и   н а  текщу е е   окн о ,  ос и   и  л ю б о й   ет кщ у и й   о бъ ек т   с о тв е с тв е н н о .  Ц е л с о б р а з н е е   в с ег о   п р и   с о з да н и и   гр а фи т ч ес к и х   о б ъ е к то в   з ап и сы ват ь   и х   к у а з а те л и   в   п ер м ен н ы е ,  к о т р ы е   у дб и с п о л ь з о в а ть с я   в п о с л е д с вт и и   лд я   о б р а щ е н и я   к   н ж ун ы м   о б ъ е к та м .  В ы з о в ф ун к ц и

й   f i g u r e ,  a x e s ,  p l o t ,  m e sh ,  s u r f l  И   Т . Д .  С  ВН ДЫО Х

М   а р г ум е н то

п р и в о ди т   к   п р и св о ен и ю   м е у   к у а з а те л я   н а   с о вт е с вт ю у щ е е   гр а фи ч ес к о окн о ,  о с и , л и н и ю   гр а фи к а   и л и   п о в е р н х о с ть .  П р и ч е м , есл и   p lo t  о сщу есвт л я е т   п о с тр о е н и е   н ес к о ль к и х   ли н и й   (з а д н о   н ес к о ль к о   п а р   в е к то р о в   з н ач е н и й   а р г му е н т а   и   фну к ц и ) , т о   в ы ох дн о й   а р гму е н т   я в л е ст я   в е к то р о м   к ау з а ет л й   н а   ли н и и   гр а фи к а .  П е р в ы й   ег о   э л е м н т   ес т ь   к у а з а т е л ь   н а   ли н и ю о тв е ч а ю щ у ю   п ер в о й   п ар е   в о х нд ы х   а р г му е н т о в ,  в то р о й   элем ен т —  ку а з а етл ь   н а  в то р у ю   ли н и ю  и  т . д .

Из м е н и О фо р м и т ций з в ан и I  Л и с т и н

е  сйсотв

в  лин

й  и  ос е

е   п о с л е од в а е т л ь н о с т ,  п р и в едн н у я   п ер м ен н ы х г  9. 1 . Сорха не и

% Фи н а в о р и м р о

е  уакз т е л е е  о р т к е в

й   н а  гиечрасфк

е  ое тбък

в   с о  зм я и н е ч а н

и  т н е м у г р а

а   и  фи ц к н у

о   нко

ь  ул е т а з к

я  н а  нг е

ы   й

у  = cos(t) ; а  и  зс и п а

hFig = figure;

инадзоС

е  е с о

и  зс и п а

ь  ул е т а з к

hAx = axes;

й  в  те щ у к е

м  о к с е ч и ф а р г я   н а  ни

х  в  hAx

, -

в  дву х  фн у к ы   в   М - фа й л е .  На я  с  с и м в о л а  h.zyxwvutsrqponmlkjihg

х  = sin(t);

е  г о к с е ч и ф а р г

-

я  гр а фи к о

t = 0:0.1:7;

% Си н а д з о

е

й

ь   к ом ан д  дл я   п о срто ен и е  9.1,  в   ви д е   фа й л - п р о г а м х   к у а з а ет л и , н ач и н аест

ю   в   л и с ит н г , соедр ж ащ и

м

м   нко

е

о  в  hFig

; zyxwvutsr

490zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  II. Вычисленя  и  прогамивне Часть

инеортсоП

е  и н л

ел таз ку

й   н а  ли н

й  о к и ф а р г

в  н а  ти щ у к е и  в  во т к е

х  оя с

х  и  зс и п а

ь

р  hLines

hLines(l) и ж р е д о с

т  ул е т а з к

ь   н а  пу в р е

ю  ли н

ю   (sin(t))

hLines(2) и ж р е д о с

т  ул е т а з к

ь   н а  ву р о т

ю  ли н

ю   (cos(t))

%} hLines = plot(t,x,t,y);zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

О п е р а от р н фу к ц и в з гл я д п р е д в а р и те л ь н о г

ы   п р и в о дя й  —  си н су , то т   ж е  р ез луь ат

т   к   п о яв л ен и а   и   к о с и н с уа т   п о ч л у а се т о   с о з ад н и я  о к н а

1

ю   гр а фи ч е с к о г ,  и з о б р а ж е н н о г я   и  п р и  и с п о л ь з о в а н и , осе й  и  п очлуен и

о   окн а   с   гр а фи к а м и   вуд х о   н а   р и с . 9.3.  Н а   п ервы й и  p lo t  ( t , x, t ,  у )  бе з я   к у а з а ет л й .zyxwvutsrqponmlkjihgf

/ /  1 -  /А  \      \\х ( 0.4 -  /   V I  / /   \\   \\ 0.2 7  /  / \  \\ 0 ^  /  ' - 0.2 \ \ \ 1  1 - 0.4 \\  // / - 0.6 \ X - 0.8 3zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   1 2   3 4 5  6 7 0 8-   0.6

/  f 



ч

Ч

\

"  С

Рис

. 9.3. Ин ыдо х с

й  ви д  гифокар

в

П р е дп о л ж и м ,  о дн а к о ,  ч т о   п осл е   к ом ан д ,  соедр ж ащ и сх я   в   л и с ит н г е  9.1,  в п р о гр а м е   расп ол ж е н   бло к   о п е р а то р о в ,  к о т р ы е   п р о и з в о дя т   вы во д   н ек о х   гр а фи ч е с к и х   окон . М о ж е т   в о з н и к н ту ь от р ы х   гр а фи к о в   н а  н о в ы е   ос и  дргиу н е о б х ди м о с т ь   в е р н ьт ус я   к  гр афи ч ес к о м у   окн у   с  гр а ф и к а м и   си н с у а   и  к о си н с у а   и  вн ест и   н ек о т р ы е   и з м ен ен и я  в  в и д   г р а ф и к о в , н а п р и м е р , н ан ест и   т ес к у  в до л ь   ос и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  у,  и з м ен и т ь  сит л ь  л и н и й , т .  е . усатн о в и т ь   н овы е  с в о й с вт а   осе й  и ли н и й . Ук а з а те л и ,  з а п и с а н н ы е  в   п ер м ен н ы е   А П Х  И  h Lines,  п о з в о л я ю т   л е гк о д о б и ьт с я   ж ел а м о г о   р е з л у ь та ,  п р и в едн н о г о  н а  р и с . 9.4.

л ав Г

 9. Десрки пт о р ная

491 zyxwvutsrqpon

 иакгр ф

08 0.6 0.4 0.2 0

-Л / //

/

\

р О

\ о

6

\

Q q



1 zyxwvutsrqponmlkjihgfedcbaZYXWVUTS \

\

- 0.2

у 6 Г 1

\

- 0.4

у 9

\

- 0.6

\

%

?



/

- 0.8

у /

i

г •

-

J \ 1 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 'О  

Рис Дл ро

я   э то г й   ' С в о й с тв

о   с л е ду





. 9.4.  И з м ен ен ы



ь   ф ун к ц и е   НИ (ЛИТ С

г 

|  Л и с т и н



и   ( se t  и  указ етл

е   гр а ф и к

т   и сп ольз оват о  ' ,  з н а ч е н и



и   н а  о б ъ екыт

е  с войс т

в  л ин

7 zyxwvutsrqponmlkjihgfedcbaZ

)

ю   se t  с   ук а з а т е л е м   н а   объек т   и   па Г   9.2).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA



г  9.2. Изм е н и



'

й  и  осе

й  пр

и  пом ощ

и  уакз т е л е

й

% У с т а н о в к а   с в о й с тв а   XG rid  о с е й   с   у к а з а т е л е м   hAx  в   ' o n ' 1 se t ( h Ax,  ' XG r i d ,  ' o n ' ) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA % Зи н а д е  цт е в а  по в р е й  ли н и   (гк и ф а р а  са с у н и ) с  уе л т а з к м  hLines(l)zyxwvutsrqponml , 'k') set(hLines(1),  'Color'zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA % Зи н а д е  тн и щ л о ы  по в р е й  ли н и   (гк и ф а р а  са с у н и ) с  уе л т а з к м  hLines(1) set(hLines(1),  'LineWidth', 3) % Зи н а д е  цт е в а  во р т й  ли н и   (гк и ф а р а  ка с у н и с о ) с  уе л т а з к м  hLines(2) 1 set(hLines(2),  'Color , 'k') % Зи н а д е  тп и а  мрек а а  во р т й  ли н и   (гк и ф а р а  ка с у н и с о ) % с  уе л т а з к м  hLines(2) set(hLines(2),  'Marker1, 'о' ) % Зи н а д е  цт е в а  мо р е к а в  во р т й  ли н и   (гк и ф а р а  ка с у н и с о ) % с  уе л т а з к м  hLines(2) set(hLines(2),  'MarkerFaceColor',  'w') % Зи н а д е  цт е в а  ги н а р ц  мо р е к а в  во р т й  ли н и   (гк и ф а р а  ка с у н и с о ) % с  уе л т а з к м  hLines(2) set(hLines(2),'MarkerEdgeColor','k')

492

аЧс т ь

 II. Вчиы с лени я

zyxwvut

 и  пр о г ам м и р о вани е

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

о б а Дв л е н и К ом ан д до б а в л е н и в о хнд ы з а ет н ен и Д о б а в ь ет и з образ и п ок аз ан

й   м о ен м  п о  ум о л ч а н и ю а   котро

т   м ож н

о   в е р н ь т ус . Д л я  э то г

я   к   з н а ч ен и я о  сжлиу т   н фу к ц и я   к у а з ет л ь   н а  о б ъ ек т

й  з адест

е  лин

й  гоирка ф

й х а .

м   св о й ст в   о б ъ е к та ,  сатну о в я  r e se t ,  в  к а ч ес вт е  вонхд о .zyxwvutsrqponmlkjihgfedcbaZYXWV

в

а   p lo t  о щсу есвтляе т   вы во д   гр а фи к а   н а   е тк щ у и е   оси ,  п о э т м у   лд я я   ли н и й   е су л д т   сн ач л а   с е дл а т ь   р т е б му ы е   о с и   ет к щ у и м и ,  з а д в ь   н а  н и х , в ы п о л н и т ь  hold  on, a м   а р мг у е н о т м   н фу к ц и и  axes  куа з етл м   и сп о ль з о в ат ь   p lo t ,  ж ел ат ь н о   с   в ы о хн д ы м   а р г м у е н то м ,  лд я   сроах я   к у а з а ет л я   н а  н о в у ю   ли н и ю  и  усатн о в и т ь   е е  с в о й свт а   п р и  п о м щ и   set . , н ап ри м ер , н а  ос и  о к н а , п ри евнд ог о  н а  р и с . 9.4, графи к  log  (I  +  t ) , в   ег о   ч е р н о й   п н у к ит р н о й  ли н и е й  то л щ и н о й  в   рт и   п ну к т а   та к , к а к о  н а  р и с . 9.5.

-

2

1.5zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 1с

0.5 \

/

X

0

f

\ /

\

У

f

- 0.5 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA \

/

А

V



Рис О ч е в и дн о си н с у п олн и т



. 9.5. Днелваибо

,  ч т о   фа й л - п р о гр а м у а   и   к о си н су а   и   и з м ен ен и ь   п о с л е до в а ет л ь н о с ьт





е  лин ,  ощсу есвтляю щ у е  и х   св о й ст ю   к ом ан д





и  гифкар

а  н а  зна д ы

в   (ли ст н г , ук а з а н н о



7

е  ос и

ю   п о с рт о е н и е   гр а фи к о и  9.1  и  9.2),  еслуд й  в  л и с ит н г е  9.3.

в т   од

-

л ав Г

 9. Десрки пт о р ная

 гиакр ф

 

493

\ zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л и с т и н г  9.3. Доба вл е ни е  лин и  гикра ф а  н а  за д ны е  ос и zyxwvutsrqponmlkjihgfedcbaZYXWVUT

е   в е к то р а   з н ачен и й   ф ну к ц и и % З а п о л н е н и z  =   l o g ( t  +   1 ) ;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA % Ук в о н а т с

а  ти щ у к е

х  ое с

й   (с  гм а к и ф а р

и  сс у н и

а  и  ка с у н и с о

)

axes (hAx) ; % Кд н а м о

а  hold on нн ж у

% а  н е  вл е в ы

а  ги ф а р

а  дл

я  то г

к  в  оо н ь л е д т

, чб о т

ы  plot дл и в а б о

м  го к с е ч и ф а р

м  он к

а  ли н

ю  га к и ф а р

,

е

hold onzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 9

б и н е  лвабоД

% н а  не

е  ли н

и  гк и ф а р

е  в  по н е м р е

а  log(t + 1) и  си н е а р х о

е  ул е т а з к

я

й  hLog

hLog = plot(t, z) ; % Ук в о н а т с

а  цт е в

а  ли н

и  гк и ф а р

а  log(t + 1)

1

set(hLog,  'Color , 'k'); % Ук в о н а т с

а  сл и т

я  ли н

и  гк и ф а р

а  log(t + 1)

set(hLog,  'LineStyle',  ' —  ' ) ; % Ук в о н а т с

а  тн и щ л о

ы  ли н

и  гк и ф а р

а  log(t + 1)

set(hLog,  'LineWidth', 3) ;

З а м е ьт ,  ч т о   м о ж н о   бы л о   н е   с о з ад в т ь   о е дл т ь н у ю н и я   к у а з ет л я   н а   н ову ю   ли н и ю , а   до п о л н и т ь   в е к от п ом щ и   о п е р а то р а   hLines  (3)  =   p i o t ( t ,  z). Хр а н ен и ит п н ы е   о б ъ ек т ы   в   м ас и в а х   о к а з ы в а е ст я   о д бу н ы м м ен и и   И Х ТВ С  СВОЙ . П р и   та к о м   ДХОД О П е   к о м ан д ' г ' )  и з м ен яе т   ц в е т   в се х   р т е х   л и н и й . Е щ е   оид н   п ри м е к у а з е тл й   п р и в ед н  н и ж е .

а д л У е ни И ед н и т ф и к а ц и с в о й с вт а яв л с ет

е  и  оичс т к я   о б ъ ек т , н о  и  уадлят я  со втес юу щ и

а  отеок ъб а   к у а з е тл ь   е г о   к о м а н до й   к у а з а ет л ь

  п ер м н у р   к у а з е тл

ю   л д я   р ах н е й   hLines  п р и е  указ етл й   н а  о нд о   п р и   о нд о в р е м н н о м  и з а   set  (hLines,  'C o lo r 1 , р   работ ы   с   м ас и в о м

в м   п о з в о л яе т   н е  то л ь к й  d elet e,  вонхд ы .  Н а п р и м е р , кома н д

о   с у ат н а в л и в а т м   а р мг у е н от а

м   котро

ь   ег о й

delete(hLines(I)) б уи р а е т   ли н и ю  гр а фи к р и с . 9.5.  С елуд т   и м ет в се х   г р а ф и ч е с к и х   о б ъ е к от н ы м   о с ям . Ан а л о ги ч н о п роп адю т   в с е   о б ъ е к ты а лд е н у и я   ли н и й   и   п о в е рн х о с е т

а  си н с у а  с  осе й  гр а фи ч ес к о г о  о к н а , и з о б р а ж е н н о г ь   в   в и уд ,  ч т о   адлеун и е   о се й   п о в л е ч т   и с ч ез н о в ен и в   (ли н и й   и   п о в е р н х о с ет й ) ,  п р и н алдеж ащ и ,  адлуен и е   гр а фи ч е с к о г о   окн а   п р и в о ди т   к  то м у ,  р а з м ещ ен н ы е   в   н ем .  л Аь етр н аит в н ы м   сп ос бо й   я в л се т я   о ч и с кт а   о с ей .  С н а ч а л а   н ад

о  н а е х   ад н ,  ч т о м о   ед -

494 

аЧс т ь

л а т ь   о с и   т е к ущ и м и c l a ,  н а п р и м е р

,  а   з а т е

м   и сп ольз оват е   о п е р а то р

, с л е д ую щ и

 II. Вчиы с лени я

ь   ком ан д ы   очи щ аю

zyxwvu

 и  пр о г ам м и р о вани е

т   ос

у   о ч и с тк и   с  ук а з а т е л е

и   т е к ущ и х   осе м   hAx:

й

я   к о м а н до

й   elf.zyxwvutsrqponmlk

axes(hAx) c la О ч и с тк

а   т е к ущ е г

о   гр афи ч еск о г

и н л яВ е  ком а н и  reset н а  сойвст

о   окн

д  hold, zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB  c la,  elf а  онк а  и  ос е й

О с та н о в и м с и   графи ч еск о г о п р е де л я ю щ е ур о в н е в ы с л е д ую щ и

я   боле

х   ф ун к ц и х   з н ачен и й

В   з ави си м ост пр и   н ово

м   графи ч еск о

о   окн а е   сп осо

е   п о др о б н о   н а   вли ян и и   ком ан д ы   h o ld  н а   с в о й с т в а   осе й .  Г р а ф и ч е с к о е   окн о   и   ос и   и м ею т   с в о й с тв о   N e xt P lo t , б   вы вод а   гр афи ч еск и х   о б ъ е к то в   пр и   п омощ и   вы соко й   ( p lo t ,  su r f  и   т .  д . ) ,  к о т о р о е   може т   п ри н и мат ь   о дн о  и з :  ' a d d 1 ,  ' r e p l a c e 1  Л И И  f  r e p l a c e c h i l d r e n 1 .

и   о т   з н ач ен и

я   с в о й с тв м   вы вод

•   ' a d d '  (п о   у м о л ч а н и ю ) окн о ;

я   вы вод

я   в с е   о б ъ е к ты а   н е  и з м е н я ю т с я

х   о б ъ е к то а   N e xt P lo t  т е к ущ и

•   •  a d d '  —  г р а ф и ч е с к и

й   объек

•   ' r e p l a c e '  (п о   у м о л ч а н и ю ) ю тс я   в с е   с та р ы е ,  п р и н а д л е ж а щ и к о то р о е   о тв е ч а е т   з а   п олож ен и н и маю т   з н ачен и я , у с т а н о в л е н н ы • 

' r e p l a c e c h i l d r e n '  —  Т О   ж е

осей

а   и с п о л ь з уе т с

т   до б а в л я е тс —  п е р е

о   окн

а

: е   гр афи ч еск о

е

е   гр афи ч еск о м е   о тв е ч а е , у с т а н о в л е н н ы

у   ок

-

т   з а   п олож ен и е   п о   ум о л

,  п р и н а д л е ж а щ и

е -

е   гр афи ч е

-

.

в   в ы с о к о ур о в н е в ы х   осей

е   ф ун к ц и е   о п р е де л я е

,  к о т о р о я   н а   оси

д   раз м ещ ен и е е   осям ,  а   с в о й с т в е   о с е й   в   п р е де л а е   п о   ум о л ч а н и ю

,  Т Ч

о   графи ч еск о г х   с и т уа ц и й я   т е к ущ е

я   вс е   о б ъ е к ты ,  п р и н а д л е ж а щ и а   (к р о м е   P o si t i o n ,  к о т о р о )  п р и н и м а ю т   з н ач ен и я

•   ' r e p l a c e c h i l d r e n 1  —  уд а л я ю т с ском у   окн у , н о   е г о   с в о й с т в м   гр афи ч еск и е   с в о й с тв

а   N e xt P lo t  т е к ущ е г а   о дн а   и з  т р е

е   возможн —  д л

•   ' r e p l a c e '  —  уд а л я ю т с н у ,  а   в с е   е г о   с в о й с т в окн а   н а   экран е   м о н и то р а чан и ю ;

П ере д   в ы в о до ю т   з н ач ен и в ы в о да :

а   п р о и з в о ди тс

и   п роверя т   сп осо

б

;

м   н овог а   осе х   графи ч еск о г ;

О   И   r e p l a c e ,  Н О   б е

о   объект й   (к р о м

а   уд а л я е   P o si t i o n , о   окн а )  п р и -

з   и з мен ен и

я   ТЙС О В С

В

.

О ч и с тк а   осе й   к о м а н до ' r e p l a c e c h i l d r e n '  с в о й с т в н и е   c l a  и   r e s e t  —  з н а ч е н и м ен ен и и   к   гр афи ч еск о м

й   c l a  п р и в о ди т   к   ус т а н о в к у   N e xt P lo t  о с е й ,  а   п о с л е д о в а т е л ь н о я   ' r e p l a c e ' .  Т о   ж е   с а м о е   верн у   окн у .  К о м а н д а   h o ld  on  у с т а н а в л и в а е

е   о   и   дл

з н ач ен и е   вы п олн е я   e l f  в   п р и т   з н ач ен и

я е

л ав Г

 9. Десрки пт о р ная

св о й ст и з м ен яе

 иакгр ф

в   Next Plot- те к щу е г т  то л ь к о  з н а ч ен и

о  сойвст а

о   окн а   и   осе й   в   'ad d 1 ,  a  hold  off х   осе й  н а  •  replace • .zyxwvutsrqponmlkjihgfed

о   гр а фи ч е с к о г е  N extP iot тещк у и

е  иорм нф а иц х  гиреча сф к

о П л е чу н и

495 zyxwvutsrqpon

 

и х  отеок ъб

в

в   гр а фи ч е с к и х   о б ъ е к от в   п р и в е дн о   в  н е е   в се х   с в о й с т х   сп рав о ч н о й   с и ем т ы   MATLAB.  В о- п ервы х ,  ксрут р а   гр а фи ч е с к и х   о б ъ е к от в   и   п р и ем ы   работ ы   с   н им и   раз обран ы   в   раз д .zyxwvutsrqp MATLAB:  Graphics: Handle Graphics  Objects.   В о - вотр ы х ,  сп и со к   н фу к ц и й  де с к р и п то р н о й   гр а фи к и  с  ги п ер с ы л к а м и   н а  со втесюу щ и е   с рт а н и ц ы  при ве д н   в  р а з д . MATLAB:  Functions  — Categorical  List:  Graphics:  Handle Graphics.   К р о м е   то г о ,  в о з м о ж е н   б ы с рт ы й   од с у т п   к   и н фо р м а ц и и   о   с в о й с вт а х гр а фи ч е с к и х   о б ъ е к от в   и з  б р азу ер а   с в о й с вт , р а з м ещ ен н о г о  в  р а з д .  M ATLAB: Handle Graphics Property Browser.  О бисду м , к а к  п о л ь з о в а ьт с я   эит м  р а з де л о м . П о др о б н о ск о ль к и

е   о п и сан и х   р а з де л а

П р и   вы бор е   раз д сп равоч н о й  си есмт котры е  яв ляю ст

. MATLAB: Handle Graphics Property  Browser в  п р а в о м   окн ы   M ATLAB  п о яв л ю ст я  в к л ад и   с  н а з в а н и ям и  о б ъ е к то в я   ги п е р с ы л к а м и .

В к лад и   Figure   и  Axes  н е  тр ебюу т   п о яс н ен и с в о й с вт а м   гр а фи ч е с к о г о   окн а   и  о сей к а м   п р и в о ди т   к  п о яв лен и ю   сп и ск а   в се н и жн е й   ч аст и   окн а , п ри ч е м   о н а  р аз едляст би к е   с   п ол со й   скрол и н г а   н ао х я д с т о б ъ е к ат ,  п р и   п еродх е   п о   ги п е р с ы л к о п и сан и е   вы бран н ог о   с в о й с вт а   и  ег о п о  ум о л ч а н и ю   з н ач ен и я  з ак лю ч ен ы  в окн а   п о к а з ы в а е ст я   м ес т о   вы бран н ог о е к от в   M ATLAB. В к лад п о л ь з о в а те л я В ы бо с р тк у ет к с от в ы о б ъ е к ат м ек от

а   UI Objects   п р енд а з н а ч ен , к о т р о м у   п о с в ящ ен р   в к л а кд ы   о б ъ е к то в й   о б ъ ек и   р а с м о рт е н м  — в  р.азд

е ,

й  —  он и  сжлуа т   лд я  до спут а  к к   мы ш ь ю   п о  эит м   ги п ер с ы л в   о б ъ ек т а   и  и х  н а з н а ч ен и я  в я   н а  дв а  с от л б и к а .  В  лев о м   со т л я   ги п е р с ы л к и   с   н аз в ан и ям и   св о й ст в е   в   п рав о м   с от л б и к е   о т б р а ж е тс я  в о з м о ж н ы е   з н ач ен и я .  сУат н о в л ен н ы е  фи ргну ы е   скобки . К р о м е  то г о , вверх у   о б ъ ек т а   в  и ер а их и   гр а фи ч е с к и х  о б ъ -

.  Щ ел ч о х   св о й ст

а   лд я  э лем н от ы  сю луед щ и

в   гр а фи ч е с к о г е   н ес к о л ь к

о  гл а в

о   и н етр ф й с .

а

т   к   п о яв л ен и ю   ч аст и   и е р а их ч е с к о й и   Core  Objects   п р и в о ид ,  в   к о т р у ю   в к л ю ч ен ы   баз о в ы е   о б ъ е к ыт :  л и н и я   (Line), т   (Text), п о л и го н а л ь н ы й   (Patch) и  т . д . (р а б о т а   с  б а з о в ы м и а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   в  р.азд   "Грксеи ч аф к"е отыъ б ,  а  с  тек сот в ы м  о бъ   "Т еквтосы  окетыъ б  " дйаон  г)авы л .

Б о л ь ш и н с тв о   в ы с о к руо в н ев ы х   гр а фи ч е с к и х   н фу к ц и й   с о з ад ю т   ри сован н ы е о б ъ ек т ы   (Plot  Objects),  и сп о ль з у я   баз о в ы е   о б ъ е к ыт .  Щ ел ч о к   мы ш ь ю   п о  од н о и м ен н о й   в к лад е  в  о к н е  б р азу ер а   св о й ст в   п о з в о л яе т   от браз и т ь   н аз в ан и я о   в   и е р а их .  З а м еьт , ч т о ри со в ан н ы х   о б ъ е к от в   (ги п ер с ы лк и )  и  и х   м ест н ари со в ан н а я   н фу к ц и е й   p lo t  ли н и я  в  дей свт и етл ь н о с т и   я в л се т я   о б ъ е к от м Lineseries  с  б о ле е   ш и роки м   н аборо м   с в о й с вт ,  че м  у   б а з о в о г о   о б ъ ек т а   Line.

496 

аЧс т ь

  II. Вчиы с лени я

zyxwvu

 и  пр о г ам м и р о вани е

т  К нА а л о ги ч н о ,  нфу к ц и и  loglog, semilogx, semilogy  И   p lo t 3  та к   ж е  п р и в о яд с о з ад н и ю   о б ъ ек т а   Lineseries.  Ф ну к ц и и   л д я   п о с рт о е н и я   с от л б ч а ыт х   ид а гр а м м   bar  и   barh  р и сюу т   о б ъ ек т   Barseries,  а   нфу к ц и я   area  —  о бъ ек т Areaseries.  К о н рту н ы е   гр а фи к и , п о члуен н ы е   п р и   п ом ощ и   con tour,  э т о   объ кет ы   ContOUrgroup. Р ез луь ато м   работ ы   н фу к ц и й  mesh, meshc,  surf  И  surf с я в лс е т я  о б ъ ек т   Surfaceplot. Т абли ц а   с о вт е с и й   в ы с о к руо в н е в ы х   гр а фи ч е с к и м ы х   и м и   о б ъ е к то в   п р и в е дн а   в   р а з ед л е   сп рав о ч н о Graphics: Handle Graphics Objects: Plot Objects.

х   н фу к ц и й   с и е мт

й   и   с о з а дв е   MATLAB: ы zyxwvutsrqponmlkji

Д л я   т о г о   ч то б ы   в ы я с н и ьт ,  к а о й   и м ен н о   о б ъ ек т   с о з ад е т   в ы с о к ру о в н е в а я гр а фи ч е с к а я   фн у к ц и я , до с та о ч н о   п ер й т и   к  е е  о п и с ан и ю  в   с п р а в о ч н о й  си с етм , н а п р и м е р , в  р а з д . MATLAB: Functions — Categorical List: Graphics  и л и  в раз д . MATLAB:  Functions — Alphabetical List.   И та к , есл и   ртебсу я   п о чл у и т ь с в о й свт а   о б ъ е к то в ,  п о р ж едн н ы х   б о л ь ш и н с вт о м   в ы с о к ру о в н е в ы х   гр а фи т  о б р а ит ь с я   к  соедр ж и м о у   в к л а кд и  Plot Objects. ч ес к и х   нф у к ц и й , т о  се улд

Г р а фи ч е с к и е   о б ъ ек т ы   MATLAB  м огу т   бы т ь   с гр пу и р о в а н ы   лд я   в ы п о л н е н и я   о дн о и т п н ы х   о п ер ац и й   и л и  до спут а   к  н и м  ка к  к  онд о м у   о б ъ е к ут .  В клад к а   Group Objects   п р енд а з н а ч ен а   л д я   п р о с м о тр а   св о й ст в   в ду х   воз м ожн ы х   ит п о в   с гр пу и р о в а н н ы х   о б ъ е к то в :  hggroup  и   hgtransform  (р а б о т а   с о  .аздр   "Ок-етыъ б гупры  hggroup u с г р пу и р о в а н н ы м и   о б ъ е к ат м и   о п и сан а   в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON hgtransform"дйаон   )авыг л .. П о с л е нд я я   в к л а дк а   Annotation  Objects   жслиу т   л д я   п р о с м о тр н яю щ и х   о б ъ е к то в :  срт ел о к ,  л и н и й , н апд и се й   и  т . п . ,  к о т р ы п р и   п ом щ и   и н ет р а к ит в н о й   с р ед ы   л д я   п о с рт е н и я   гр а фи к о ав ыг л  4 (с о з адн и е  п о ясн яю щ и х  о б ъ ек от в   о б ъ яс н ен о  в  р.азд тас,  линй  и  ско летр  в  гкмсеоич афр  к"оен йаон д   )авыг л .

а   св о й ст в   п о яс е   в ы   с о з ад в л в   п р и   ч е нт и   "Ринещ азм

и и  тке-

Е щ е  онд у   воз м ож н ост ь   л д я   п о чл уе н и я   и н фо р м а ц и и  о   св о й свта х   и  и х   одпс у ит м ы х   з н ач ен и я х   п р е до с а т в л я ю т   н фу к ц и и  get  и  set .  Ф ну к ц и я  get,  к а к   б ы л о о п и сан о  в ы ш е , п о з в о л яе т   в ы в ес т и   с ау т н о в л е н н ы е   з н ач ен и я  все х   свой ст в  и л и то л ь к о   о дн о г о   с в о й с вт а .  С п и со к   в се х   в о з м о ж н ы х   з н ач ен и й   к о н к р е нт о г о с в о й с вт а   м ож е т   бы т ь   п о чл уе н   п р и   п ом ощ и   set ,  п ерв ы й   а р мг у е н т   котро й я в л се т я  указ етл м   н а  гр афи ч ес к и й  о б ъ ек т ,  а  в то р й  —  н аз в ан и е м   н ж ун о г о с в о й с вт а   да н н о г о   о б ъ е к ат .  Н а п р и м е р , вс е   о б з н а ч ен и я  дл я   м а р к е р о в , оп ре ед л н н ы е   в   M ATLAB,  в ы в о ядст я   в   к о м а н дн о е   окн о   юс л у е д щ и м   образ о м (hL —  куа з аетл ь   н а  н ек о т р у ю  л и н и ю ) :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO »  set(hL, 'Marker1) [  +  | о   | *  | .  | x  | square  | diamond  | v  | Л   | >  |  

i

o



m

a

x

f

% Ф- л й а и ц к н у ф

u

t

n

(

a

я  дл

% Ие и н а в о з ь л о п с % Си н а д з о

 





b

)

я  ии н а в о д е л с

я  фи ц к н у

й  н а  ок з е р т

е   [а , Ь ]

: maxfun(a, b) е  гг о к с е ч и ф а р е  ое с

о  он к

а   (он

о  сс т и в о н а т

я  тм и щ у к е

)

й  в  те щ у к е

м  го к с е ч и ф а р

м  он к

е

hAx = axes; % Ук в о н а т с

а  NextPlot дл

я  ди н е л в а б о

я  го к и ф а р

в  н а  ос

и

1

set(hAx,  'NextPlot ,  'add') % Зи н а д

е  вр о т к е

х  = а:( Ь  -  а)/30:Ь str =  " ;  % ии ц а з и л а и ц н

а  зи н е ч а н

ќ

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

hF = figure; % Си н а д з о

ы zyxwvutsrqponml

й  ат н е м у г р

а

; я  ск о р т

и  зс о р п а

а  вд о в

а  пл е т а в о з ь л о

я

498 

аЧс т ь

funcount = 0 ; % ии ц а з и л а и ц н

я  ск и ч т е ч

hFuns =  []; % ии ц а з и л а и ц н % Ок т о б а р б

а  вд о в

  II. Вчиы с лени я

а  вы н е д в

я  мв и с а

а  уе л т а з к

а  пл е т а в о з ь л о

я  в  бо н ч е н о к с е

 и  пр о г ам м и р о вани е

х  фи ц к н у

й

й  н а  ли н

и  го к и ф а р

м  цл к и

zyxwvu

в

е

while 1 str=input('Вт и д е в

е  фю и ц к н у

, ил

и  end:  ','s');

и  new, ил

switch str case  'new'  % Пл е т а в о з ь л о

ь  за д

axes(hAx); % ос cla % ок т с и ч

л  ок т с и ч

и  с  уе л т а з к

у  ое с

м  hAx сл а т

а  ти щ у к е

х  ое с

case  'end'  % Пл е т а в о з ь л о д  и з  цл к и

и

т  рт о б а

у  с  по м а р г о р

й

а

otherwise  % Пл е т а в о з ь л о

ь  ве в

% Фи н а в о р и м р о

и  тм и щ у к е

й

ь  зе а ш р е в а

break %ќ  охыв

й

е  кд н а м о

л  ну в о

ы  дл

ю  фи ц к н у

ю

я  ви н е л с и ч ы

я  мв и с а

а  зи н е ч а н

й

eval(strcat('у  =',zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF str, ';')); funcount = funcount + 1; % уи н е ч и л е в % Ос

и  hAx дн ж л о

ы  бт ы

е  ск и ч т е ч

ь  тм и щ у к е

и  дл

а  фи ц к н у

я  вд о в ы

а  гк и ф а р

й а

axes(hAx) % Пи н е о р т с о

е  гк и ф а р

% и  ди н е л в а б о

а  фи ц к н у

, во н е д в

е  ул е т а з к

й  пм е л т а в о з ь л о

я  н а  нг е

о  в  ми с а

,

в  уе л т а з к

й

hFuns(funcount) = plot(x, у) ; % Ук в о н а т с

а  ты м е у б е р

х  ст с й о в

в  ли н

и  гк и ф а р

а  но в

й  фи ц к н у

и

set(hFuns(funcount),'Marker',  'о' , 'MarkerEdgeColorќ,  'k', ... 1

MarkerFaceColorќ,  'w', 'Color', 'k')

if funcount == 1 % пл е т а в о з ь л о maxval = шах(у)

ь  ве в

; % ни д о х а

Nmaxval -  1; % пк о % Ре у с и

у  фи ц к н у

ю

м  е е  мо н ь л а м и с к а

а  па в р е

м  е е  ги ф а р

л  он д

е  зи н е ч а н

я  фи ц к н у

к  жо н р и

я  ие м

й  ле и н

е

т  мо н ь л а м и с к а

е  зи н е ч а н

е

й

set(hFuns(funcount),  'LineWidth', 3) else  % пл е т а в о з ь л о

ь  ве в

% Уи н е л а д

е  мо р е к р а

л  дв в  с  гк и ф а р

е  ил

и  бе л о

е  фи ц к н у

а  пе щ у д ы е р

й й  фи ц к н у

и

set(hFuns(funcount  -  1), 'Markerќ,  'none') M = max(y); % ни д о х а

м  мо н ь л а м и с к а

е  зи н е ч а н

е  но в

й  фи ц к н у

и

if M > maxval % На в о % ве с

я  фи ц к н у

я  пе а м и н р

х  фй и ц к н у

% е е  ги ф а р

т  со м а

, вы н е д в к  де ж л о

е  бо ш ь л о

е  зи н е ч а н

х  п мел тавозьло н  рс ь т а в о с и

, пм о т э о

е  сд е р

я  жо н р и

й  ле и н

у й

и

Глав

 9. Дескриптоная

 график

 

499zyx

set(hFuns(funcount),  'LineWidth', 3) % Ли н

я  к и ф а р г

а  и ц к н у ф

% зе и н е ч а н

, р е п е т

, а р о т к ь   н е  дн ж л о

я  е н а р

е  ил е м

ь  жо н р и

а   тыб

а  оньламискам

е

й

set(hFuns(Nmaxval),  'LineWidthќ,  1) % Зе а н и м о п а

м  но в

е  мо н ь л а м и с к а

е   инечанз

е   и  не м о

р  фи ц к н у

и

maxval = М ; Nmaxval =  funcount; else  % зи н е ч а н

я  о в н

й  фи ц к н у

и  н е  пя д о х с о в е р

т  и н е ч а н з

й  и щ у д ы е р п

х

set(hFuns(funcount),  'LineWidthr,  1) end end 

«

end end % Во х ы

д  и з  цл к и

а   while я с т и д о в з и о р п

delete(hF)  % уи н е л а д

С ед л а й т рк у ц и м ож е

вы п ар г а п о лч у а ад н н ы

е  г о к с е ч и ф а р г

о  он к

е   работ у   фа й л - н фу к ц и ю   t r y. . . c a t c h  лд я   о б р а б о тк т   в о з н и к н ту ь  п р и  н ев рн о

З а д ни в  а рмгу е нт а П р и м ен ен и св о й ст ным

,  д г о к

е  сйосвт

х  фицунк

е  с войс т

в   в  а ргму е нт а

х   =  si n ( t ) ; у   =   c o s ( t )  ; fi gu r e

.  130

е   н а ед ж н о й ы   лд

,  п р и м ен и й   с и а у тц и

в   к о н ст ,  к о т р а

я  и семлуод

й  фну к ц и

я .zyxwvutsrqpo

й

й   н а   гр а фи ч е с к и е   о б ъ ек т ы   п о л ез н о   пр и е  р а б о т ы   п р о гр а м ы .  С о з да н и е   о б ъ ек т а  с т   бы т ь   о щ с у е св т л н о   и   п р и   п ом щ и   в ы с о к ру о в н е е   од п о л н и е т л ь н ы х   во н хд ы х   а р мг у е н от . Н а п р и м е р , п о с л еод в аетл ь н о с т ь   к ом ан ,  и з о б р аж ен н о м у   н а   р и с . 9.4,  к о т р ы й   св о й ст в   ли н и й   и   о с е й   н фу к ц и е й   set  с  ука з аетл ям е  о бъ ек т ы   (см . ли ст н г и  9.1  и  9.2).

t  =   0 : 0 . 1 : 7 ;

17  З ак

а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR

а   в   одх и   м ож е .  В   к ач есвт ,  з н ач ен и е т   к   гр а фи к у

г  9.5. З а д ни

a x e s ( ' XG r i d ' , 

л  end

в

е   к у а з е тл

j Л ист н

ь   ев

а   с  эн а р к

и   maxfun  бо ле и   и с к л ю ч и етл ь н о м  в в о д е   фо р м л у

х  гиреча фсик

в   о б ъ ек т и   с в о й с вт а м х   нф у к ц и й ы   'с в о й с т в о '   9.5  п р и в о ид и   с у ат н о в к о е  гр а фи ч ес к и

а  л е т а в о з ь л о п

1

' o n ,  ' N e x t P l o t ' ,  ' a d d ' )

х  гиерчасфк

х  ицнук ф

й  

  и з м ен ен и   о п р е дл н

и -

в   з а д ю ст д  л и сит н й   ран е

я е  м ы и  н а

;

500 

аЧс т ь

 II. Вчиы с лени я

 и  прогам м и р о вани е

zyxwvut

1

plot(t, х ,  'Color1,  'к 1,  ' LineWidth ,  3) 1

1

p^ot(t, у ,  'Color ,  'к','Marker' ,  'о' , 'MarkerFaceColor',  ,'w ,...

'MarkerFaceColor',  'w',  'MarkerEdgeColor', 'k');zyxwvutsrqponmlkjihgfedcbaZYXWVU

О б р а ти ч ен и ям св о й ст

е   вн и м ан и е и   а р гм у е н т в  все х  л и н и й

, ч т о   в  счлау а   и   н фу к ц и , н а п р и м е р

>>  p l o t ( t ,  х ,  t ,  у , 

Е сл и   ад л ь н е й ш е о б й ит с да в е м ы де й с в т о а т н ы м   образ о а р мг у е н о т axes)  и нф у к ц и й ) с   з адн н ы м ет к с о в

е  свой ст

, ос е

В ы во д  р ез луь та о в   работ ы  тр еб у ок н   и  осе й  с  з а д н н ы м и  р а з м е р а м п и сан н о е   п р и л о ж ен и е   н е   до л ж н н ию ,  суатн о в л ен н о м у   н а   м о н и от р е н и ю  те х   св о й ст в   гр а фи ч е с к и х   ок п р и  о р га н и з а ц и и  в ы в о д а  гр а фи к о

Р а с п о л е ж ни Р а с м о рт и и   р аз м ер н е  то л ь к с о гл а с о в а н н ы м

п р а У в л е ни

е  гиреча сф к м   с в о й с вт ы   н а   э к ран о   расп ол ж и т

х   п а р   в е к от р т   о нд о в р е м н н о

в   с о  з н а е   и з м ен ен и

е

' r ' , 

' L i n e W i d t h ' ,  3 , 

' M a r k e r ' , 

'о' )

в   н е  п р едп о л а г ест я ,  т о   м о ж н о е   з а н о с ят я   к у а з а ет л и   н а  соз .  Р аз муестя ,  сел ь   к у а з а ет л и ,  т о   и х   м о ж н о   за и   лд я   и з м е н е н и я  св о й ст в   э и т х   о б ъ е к то в .  нА а л о ги ч я   с в о й свт а   гр а фи ч е с к о г о   окн а   (в   сп и ск е   во н хд ы х и   figure),  осе й   (в   сп и ск е   в о нх д ы х   а р гм у е н от в   н фу к ц и и й   (в   сп и ск е   в о хн д ы х   а р мг у е н о т в   surf,  mesh  и   ргдиу х й   р а з де л   п о с в ящ е н   с о з ад н и ю   гр а фи ч е с к и х   ок н   и  осе й и   и   п о л ж ен и е м   н а   э к ран е ,  а   атк ж е   вы вод у   н а   ни х .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA х   а р г м у е н от в

е  оокн

Р а з м е щ ни

я   н ес к о л ь к и

:

' C o l o r ' , 

е   и з м ен ен и ь   б е з   в ы о х нд ы е   о б ъ е к ты ь   в п о с л е д вт и м   з а д ю ст в   н фу к ц и   п о в е рн х о с е т .  С люеуд щ и и   р аз м ер ам й  и н фо р м а ц и

е   куа з н и и   п р о и с о х ид

в   о б ъ е к от ,  в   к о т р ы и   с ор ха н и т

й  и  т е скт

а

т  п р едв а р и етл ь н о г и   и  п о л ж ен и ем о   бы т ь   п р и в яз ан о .  С юлеуд щ и е   р а з ед л н  и  о сей , к о т р ы е в  и  тек ст а   в  р а з л и ч н ы

х  оок

н  и  ос е

й

а   гр а фи ч е с к о г о   окн а , о п р едляю щ и е   м о н и то р а ,  а   атк ж е   с в о й свт ь   ос и   в  лю б о м   м се т е   гр а фи ч е с к о г и   и з м ен ен и я  р а з м е р о в   осе й  и  гр а фи ч ес к о г

е  п о л еж ни е

С в о й с вт о   P o sit io n  гр а фи ч ес к о г н е  и  ег о   р а з м е р .  З н ач ен и е и м ею щ и й  сюлуед щ и й   фо р м а т

м  гиреча фсик о   окн а   о вт е ч а м   P o sit io n  яв л сет :

[left bottom width height],

о   с о з ад н и я  гр афи ч еск и х . К р о м е  то г о , хо р о ш о   на   к   к а о м -у л и б о   р а з р еш е ы   п о с в ящ ен ы  оп и са  о к а з ы в а ю ст я   п о л ез н ы м и е  о к н а  и  о с и .

х  оок

а   о с ей

е   ег о  в и д , п о л ж ен и , к о т р ы е   п о з в о л яю о   окн а , н о   и   седлат о  о к н а .

е т ь

н

т   з а   п о л ж ен и я   в е к от р   и з   ч ыет р е

е   окн

а  н а  э к р а х   э л е м н от в

,

л ав Г

 9. Десрки пт о р ная

501 zyxwvutsrqpon

 гиакр ф

т   р а с от я н и е  о т  л ев о г о   к р а я   м о н и то р дг е   le ft  з а д е окн а   б е з   ч уе т а   от л щ и н ы   рам ки ,  bottom  о з н а ч е к р а я   м о н и то р а   д о   н и ж н ег о   к ра я   о бласт и   окн а рам ки ,  a  width  и  h eigh t  о п р едляю т ,  с о вт ес н н о ласт и  о к н а .

Рис Н а   р и с . 9.6  п ри в едн м о н и то р а ,  р а б о ч а окн о   б ел о г о   ц в ет п р и с втю у т .  Т о л щ и н

. 9.6. Пн ежиол

е  ггоксиечфар

а   ем с х я   о бласт а   п о з в о л яе

П р е сд а т в л е н и е   гр а фи ч е с к и н е  тр еб у т   о т б р аж ен и MenuBar  в   'п о п е '  п р и в о ид о бласт и   окн а . С о з да й т

о  онк

а   р ас п о л ж ен и ь   окн а   и з о б р аж ен т   б ие у д ь т с а  лев о й   и  н и ж н е

х   р е з л у ь ат о я   в  гр афи ч ес к о т   к   с к р ы ит е  гр афи ч ес к о

а  д о   л ев о г о   кра я   о бласт т   р а с от я н и е   о т   н и ж н ег ,  атк ж е   бе з   ч у е т а   то л щ и н ,  ш и р н у   и  в ы со т

а  н а  энарк

и о ы у   об

е

я   гр а фи ч е с к о г о   окн а   н а   э к ран а   б ел ы м   ц в е от м .  Г р афи ч ес к о я   в   то м ,  ч т о   р а м к и   ед й с в т и е т л ь н й  р а м о к   с о атв л я е т   ч еы т р е  п и к села

в   в   с о б втен ы м   окн е  ег о   м ен ю ю   м не ю   и , с л еод в аетл ь н о е  о к н о  бе з   мне ю  к о м а н до

-

х   п р о гр а м а . Уста н о в к

е е о .

х   ч аст

о

а   с в о й с вт

а ,  вуели ч ен и ю й zyxwvutsrqponmlkjihgf

»  hF = figure('Color', 'w', 'MenuBar1, 'none') и   п о лч у и т

е   ег о   р а з м е р ы

те к ущ е

е   НК О

,  куаз

в   в о хн д ы м

и   а р мг у е н а т м

и   get  куаз етл

ь  н а

О  И  P o s i t i o n :

»  pi = get(hF,  'Position') pi = 232 

Е ид н и ц а м

р г ди у

258 

и   и з м ер н и

560 

420

я   п о   му о л ч а н и ц   н ап и сан о   н и же п р и   п ом щ и   кн оп ки ,  р а с п о л ж ен н о окн а   п р и   э о т м   н е   о т б р а ж ю тс P o sit io n  ще е  р а з   (ч и сл а   в   да н н о х   ие д н и

ю   яв л ю ст

я   п и к с ел ы е   е тп р й   в   в не р х м   п рав о я   н а   э к р ан е )  и   в ы в еид т м   п р и м ер е   п о чл у е н ы  н

.  М а к с и м и з и рйу т

.  П р ь   гр а фи ч е с к о м   лг у е   з н ач ен и а   м о н и от р

о   с а т ун о в к е   окн у   окн а   (р ам к е   с в о й с вт е   с  р а з р е

у о и а -

502 

ш не и е ат

ы   м о гу » 

аЧс т ь

м   1024x768, есл т  о тл и ч а ть с я )

и   в а ш   м о н и от :

  II. Вчиы с лени я

р   н а с рт о е

zyxwvuts

 и  пр о г ам м и р о вани е

н   н а  дргуо

й   р еж и м

, т о   резльу

-

р 2  =   g e t ( h F , ' P o s i t i o n ' )

р 2  = 1 



1024 

749

И та к , сей ч а с  ш и р и н а  р а б о ч е й   о бласт - 7 4 9 =   19  п и к село в   о в т ид с т я   по п о м ещ ен ы й   в ер х у   окн а .  Н есло ж н ы мы е   ш и р н у   и   в ы со т у   гр а фи ч е с к и ад н н ы м   образ ом .  О дн а к о   лд я   то г п р о гр а м ы   в н е  з ав и с и м о с т и   о т   с у ат н о в л е н н о г е уд т   п р е д в а р и ет л ь н о   п о чл у и т ь   е го в е к от р а   и з   ч ые т р е х   э л е м н от в   в   с в о й св т рав н ы м   н л у ю   (о б ъ ек т а   Root) (п о л ж ен и MATLAB  и  ег о  св о й свт а  п ри в едн

и   с о в п аде т   с  ш и р и н о й  э к р а н а , а  768    Figure 1, д   з а го л в о к   гр а фи ч е с к о г о   окн а zyxwvutsrqponml е   п о с дч е т ы   п о з в о л яю т   н ай т и   р е тб у х   окон , р а с п о л а г ю щ и сх я   н а   э к р ан е   за о   ч от б ы   о б ес п еч и т ь   п рав и ль н у ю   рабо т у о   р аз р еш ен и я   м о н и то р а , сел .  Р аз р еш ен и е   м о н и то р а   р х а н и ст я   в   ви д е е   Screen size  о б ъ ек т а   с   к у а з ет л м , е  о б ъ ек т а   Root в  и ер а их и   о б ъ е к от в  в.аздр   "Окет ъ б  Root"эйто   )авыг л . zyxwvutsrqpo ы zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI

»  s = get(0, 'ScreenSize') s = 1  1 

1024 

Е ид н и ц о б ъ ек т ск о

ы   и з м ер н и я   р аз м ер а   Root, п о  ум о л ч ан и е  о к н о  бе з   м ен ю  и  р а м к и т е  в ы п о л н ен и я  к о м а н д , п ри в едн н ы

% Ни н е д ж о х а

е  ро р е м з а

а   э к ран ю   с а ут н о в л е н , з ан и м аю щ е

в  эн а р к

768

а   з ав и ся

т   о т   з н а ч ен и ы   п и к с ел ы . О ч ев и дн о е  все ь   э к р а н , п о яв л ест х  в  л и сит н г е  9.6.

я   с в о й с вт , ч т о  гр афи ч е я  в   р ез льу ат

а   u n it s -

а

SCRsize = get(0,  'ScreenSize') % От с а л б

ь  он к

% рк м а

а  н е  нн ж у

а  нс т е а н и ч а

я  о т  лг о в е

о  и  нг е н ж и

о  ка р

я  эа н р к

,

а

left = SCRsize(1); bottom = SCRsize(2); % Шн и р

а  от с а л б

и  он к

а  рн в а

а  шн и р

е  эн а р к

я  с  уо т е ч

м  шн и р

а

width = SCRsize(3); % Вт о с ы

а  он к

а  вс т е я л с и ч ы

ы  зк в о л г а

а  он к

а

height = SCRsize(4) -  19; % Си н а д з о % н а  вс е

е  он к ь  эн а р к

а  бе , гц и н а р

з  мю н е

, ра ч о б а ы  н е  ос т ю а ж р б о т

я  от с а л б

ь  и  зо в л о г а

к  рт у н я т с а

ы

я

hF = figure('Position',[left bottom width height],'MenuBar','none'zyxwvutsrqpon ]

л ав Г

 9. Десрки пт о р ная

С о з да й т е дл я щ и фа й л - нфу к ц и в ы ч и с л ен и окн а

  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED 503 zyxwvutsrqpo

 гиакр ф

е   и  р а с п о л ж и т е   н а   э к ран е  дв а   гр афи ч еск и х   э кра н   н а   равн ы е   ч аст и   п о   в е р ти к а л и , в о з в р а щ а ю щ е й   в е к от р   к у а з е тл и   р аз м ер о в   и  п о л ж ен и я   ок н  учит

х   окн а   бе з   с рт о к и   м ен ю .  О фо р м и т е   р е з л у ь ат т   в   ви д й   н а  гр афи ч ес к и е  о к н а . П р е   ш ир н у   рам к и   и   з а го л о в к

, е и а

.

IzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Л ист ин г  9.7. Ф а йл - иц кн фу я  f  i g 2   лд я  с озадни я  дву х   и е ч гр а с ф к х  оо к н

fu n c t i o n  h F i gs  =   fi g2 %  С о з д а н и

е   дв у

% н а   д в

х   гр афи ч еск и

е   част

х   око

и   п о   в е р ти к а л и

н   равн о

.  В о з в р а щ а е

й   в ы с о ты

,  де л я щ и

т   в е к то

р   ук а з а те л е

х   экра

н

й   н а   окн

а

е   h F i gs  =   fi g2

% И с п о л ь з о в а н и %  Н а ох ж де н и

е   раз м еро

в   экран

а

SC R size  =   g e t ( 0 ,  ' S c r e e n S i z e ' ) ; % В ы де л н и

е   ш ирн

ы  и   в ы с о т

ы   экран

а

SCRwidth  =   S C R si z e ( 3 ) ; SC R h eigh t  =   S C R si z e ( 4 ) ; % Ш и р н а

,  в ы с о т

а   и   о тс ту

п   слев

а   о ди н а к о

в   дл

я   обои

х   око

н

wi d t h  =   SCRwidth  - 5 - 3 ; h e i g h t  =   (SC R h eigh t  -   19  -   5  -   3  -   19  -   5  -   3 ) / 2 ; l e f t  в   5; zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA % Оу т с

п  з и н с

у  дл

я  нг е н ж и

о  г о к с е ч и ф а р г

о   нко

а  ре в а

о  он к

а  с  уо т е ч

н  5 пя л е с к и

м

bottom2 = 5; % Ви н е л с и ч ы

е  п у т с о

% ро м а % он к

а  з и н с

к  и  зк в о л г а

у  дл

а  г е н ж и н

о  н к о

я  вг е н х р е а  и  тн и щ л о

ы  ве н х р е

м  н и щ л о т й  рк м а

ы и  г е н ж и н

о

а

bottomlzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  = 5 + height  + 1 9 + 5 + 3 ; % Си н а д з о

е  о к

н  бе

з  мю н е

, рк м а

и  с т ю а ж р б о т

я

hFigs(1)  = figure('Position',  [left bottoml width height],... 'MenuBar',  'none',  'Color'( 'w'); hFigs(2)  = figure('Position',  [left bottom2 width height],... 'MenuBar1,  'none1,  'Color', 'w');

н А а л о ги ч н ы ок с о з ад н и

м   образ о н   с   з адн н ы м е  п ояхдщ и

м   р а з м е щ а е ст и   р аз м ер ам х   о се

и   и   п о л ж ен и ем й  в  п редла

я   н а   э к ран х   гр а фи ч е с к и

е   лю бо .  С юлуед щ и х  о к о н

е   ч и сл

о   гр а фи ч е с к и м   э ат п о

.

х м   я в л се т

я

504 

аЧс т ь

п р а вУ л е н и Ос

е  п о л еж ни е

м  ос е

и   гр а фи к о в   яв л ю ст п ри ч е м   к а ж од е   гр а фи ч е с к о ц и я   subplot  п р едл а г е м арт и ц ы   (п р и м ен ен и

к м с ео и ч га ф р

zyxwvut

 и  пр о г ам м и р о вани е

й zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH

я   о б ъ е к та м и

,  п р и н алдеж ащ и м

е   окн о   м ож е т   сам ы й   п рост е   subplot  о п и с ан

  к"оен ав ыг л

 II. Вчиы с лени я

и   гр а фи ч е с к и м   о к н ам , т   с о ед р ж а т ь   н ес к о л ь к о   о с ей .  Ф н у к й   сп о с б   р ас п о л ж ен и я   осе й  —  в   ви д е о   в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON  р.азд   "Ньк о лсе  гикв о афр  в  ом он д

  3).

Бо л е ци ск о

е   ну и в ер с ал ь н ы м   п о хд м   я в л се т я   с о з ад н и е   о се й   п р и   п о м щ и   н уфк и   axes  с   куаз н и е м   и х   р аз м ер о в   и   п о л ж ен и я .  С о з да й т е   н ов е   гр а ф и ч е е   окн о   бе з   м ен ю   и   оси ,  з ак лю ч ен н ы е   в   рам к у ,  с орха н и т е   к у а з е тл и  н а ад н н ы е  о б ъ ек т ы   и  п очлуи т е   з н ач ен и е  св о й свт а   P o sit io n  о сей :zyxwvutsrqponmlkjihgf »  hF = figure('MenuBar'/ 'none1, 'Color1,  'w'); >> hAx = axes('Box', 'on'); »  a = get(hAx, 'Position') a = 0.1300  0.1100  0.7750  0.8150 И та к

, п о л ж ен и

е  р а м к

и   о се

й  з адсет

я   в е к от р

м   и з  ч ыет ре

х   э л е м н от

в

[left bottom width height] дг е   le ft  р а в н о   р а с от я н и ю   о т   л ев о й   гр а н и ц ы   рабоч е й г о   окн а   д о   рам ки , bo t t o m —  о т   н и ж н е й   гр а н и ц ы   рабо ч е ск ог о   окн а  д о   р а м к и , a width  и  h eigh t,  с о вт ес н н о и   в ы со т у   рам к и   осе й   (р и с . 9.7  и  9.8  лд я   чслау я   в дм у е р н ы о с ей ) .  П о   му о л ч а н и ю   и с п о л ь з ю у ст я   н орм али з ован н ы е н и я   р а с то я н и й , т .  е .  ш и р и н а   и  в ы с о т а   рабо ч е й   о бласт п р и н и м а ю ст я   равн ы м и   еид н и ц е ,   а   н ач л о   к о р ди н а т н и жн и й  уго л   о бласт и   окн а . Е ид н и ц ы   и з м ер н и я  усатн а в л и в а ю ст u n it s  о сей .  Н о р м а л и з о в а н н ы е   еи д н и ц ы   'n orm alized 1  пу р ав л ен и и   р ас п о л ж ен и е м   о с ей . ЕСЛ

И  пр

з адн ви си м ы м и ) м огу л ь н о Пр та к о с ям Тр

и  П О М О Щ

а   п роп орц и

и   и сп о ль з о в ан и ,  ч от б .  Бо ле и  савтсйов

И  СТ С Й О В

я  мжед ,  т о   ос и   у д б й   О б л ас т и  Н И Р И Ш ы   в х а ит л е   ги б к о

и   с в о й свт о   м ес т е   пу р а в л ен и

  о бласт

и   гр а фи ч е с к о

й   о бласт ,  о п р едл яю   еи д н и ц и   гр а фи ч е с к о г   п о м е щ а ест

-

и   гр а фи ч е т   ш и ри н х   и   р т ме х р н ы ы   лд я   и з м е р

н аи бо ле

у х -

о   окн а я   в   л ев ы й я   с в о й св т о м е   од бун ы   пр и

В  DataAspectRatioMode ИЛ И  PlotBoxAspectRatioMode

у  дл и н а м т   з ан и м ат

а   лд

и   осе й   (т . е . р а з м е р ы   о се ь   м ак си м аль н о   воз м ожн у Ы  width  И   ВЫСОТ Ы  h eigh t. а   P o sit io n  н е   в сегд а   с а е дт у я   к о р ди н а т   р а з м е тк и ,  з а го л в к е   п о л ж ен и е м   о се й   п о з в о л я ю

й  н е  яв ляю ст ю   п ло щ ад

я   н ез а ь   п ря

я   расп ол ж и т

-

ь   ос и й  к

а   и   п о д и се т   о щ с у е св т и

ь

: ActivePositionProperty, OuterPosition И   Tightlnset.

З н а ч ен и е м   с в о й с вт а   O uterP osition ,  ат к   ж е   ка к   и   P o sit io n ,  яв л ест и з   ч еы т р е х   э л е м н от в .  В   да н н о м   чс л ау е   о н   з а де т   л ев ы й   н и жн и ри н у   и   в ы со т у   в о бр аж аем о г о   п р я м о гу л ь н и к а ,  к о т р ы й   з ак лю ч ае ос и  и  п о л я  в о к р у г   н и х   с  з а го л в к о м   и  п опд и сям и   к  о с ям . Р а с п о л ж ен и

я   в е к от й   г оу л

, ш и т   в   с еб е   о се

р й

я

л ав Г

и  пщом

 гиакр ф

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE 505zyxwvutsr

и  OuterPosition гарантирует , чт о  эт и т н  эе м е л ы  всегд а  буду .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

т

wi d t h

1.0

h e i gh t

0.1 02 .  0.3 04 .   05> V0 6 07 0.8 09 vbot t om 1.0zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO Р си

.   9.7.  Р асп о л ж ен и

е  дмвуерн ы

1.0

х   ео с

\ ^ 

'le ft

рп ындив

 9. Десрки пт о р ная

й  в  графи ч еск о

м   окн

е

wi d t h zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM

02> Tz = makehgtform('translate', [0 0 2]) и  ощсу веит м   п р ео бр аз о в ан и е 1 >>  set(hG T,  'M a t r ix ,  Tz) К а к   и   с л е од в а л да н н о е   р а с то я н и е н и т  п р еыд щу ег

о   о ж и д а ьт

,  п ло ск о ст о   п о юс л у е д щ е

.  О нд а к о   п р ео бр аз о в ан и я

ь   и   п и рам и д е   с м ещ ен и

а   см еит л с е   в од л

ь   в ер х   н а   за ь   о с и   у   н е   р са о х -

.

»  Т у  = makehgtform( 'translate',  [0 1 0 ] ) ; »  set(hGT,  'Matrix', Ту )

О нд о в р е м н н о п р и  п о м щ

е   п р и м ен ен и

» 

Т   =   T y*T z

» 

s e t ( h G T , 

Н ап р и м ер п р о и з в ес т з ает

е   в уд я   с о в т ес ю у щ и

и   п р о и з в едн и ' M a t r i x 1 , 

,  лд я   п о в о р о т и   с м ещ ен и м   о щс у е св т и

х   и л и   бо ле

е   п р ео б р аз о в ан и х   м а рт и ц

й   в ы п о л н я е ст

я

:

T)

а   н а   90°  вн и з   вокру г   ли н и е   н а  дв е   иед н и ц ы  в   п о л ж и етл ь н о ь   п ов ро т   вокру г   ос и   g  и  п р о и з в ест

и   х  = - 2  еслуд м   н ап р ав лен и и   о б р а тн о

т   сн ач л а и   ос и   х, е   с м ещ ен и е .

1

»  Txl = makehgtform('translate , [2 0 0])zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR »  Ry = makehgtform( 'yrotate', pi/2) »  Tx2 = makehgtform('translate', [-2 0 0]) »  T = Tx2*Ry*Txl »  set(hGT, 'Matrix1, T) О б р а ти м а рт и ц п р и в ед

е   вн и м ан и е ,  ч т о   п р ы   т  —  он и   чуи ыт в аю ст т   к  дргиу м   п р ео б р аз о в ан и ям

>>  s e t ( h G T , 

' M a t r i x ' , 

Т З   =   T x l *T x 2 *R y

» 

s e t ( h G T , 

' M a t r i x ' , 

я   в о з в р ащ ен и м а тр и ц

к   м н о ж и е тл е   э то г

й о   п о р я дк

а

T)

ТЗ

s e t ( h G T , 

)

я   г рп у ы   в   и о с н хд о а   4 н а  4:

а  р а з м е р

>>  Т   =   e y e ( 4 ) » 

,  н ап р и м е

и   в аж е н   п о р я до .  И з м ен ен и р

И

» 

Дл

а   н ал ев о

Т 2  =   T xl *R y*T x2

» 

ИЛ

и   п р ео б р аз о в ан и я   сп р ав

' M a t r i x 1 , 

T)

е   с о т ян и

е   и с п о л ь з се т у

я   е ид н и ч н а

я

л ав Г

 Я. Цес рки пт о р ная

 гиакр ф

557zyxwvutsrqpo

 

В   сп р ав о ч н о й   с и ем т е   M ATLAB  вк лю ч е н   п ри м е р   п р ео бр аз о в ан и й   лд я г пр у ы   hgtransform  с   до с та о ч н о   сло ж н о й   и   р аз в ет лен н о й   с рт к у о й ,  в котро м   м ы  реком н е уд м   р а з о б р а ть с я   с а м о с т яе л ь н о   (см . р а з д .zyxwvutsrqponmlkjihg   M ATLAB: Graphics:  Handle  Graphics  Objects:  Group  Objects:  Example  - -  Transforming  a Hierarchy of Objects).

В zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   м еу ющ д л с   р а з ел д е   м ы   р а с м о рт и м   работ у   с   ри сован н ы м и   о б ъ е к та м и , б о л ь ш и н с вт о   и з  к о т р ы х   яв л ю с т я  с грпу и р о в а н н ы м и  о б ъ ек атм и   hggroup.zyxwvutsrqpon

иы Р а с н в о

е  оте к ъб

ы  ( Plot Objects)

В ы с о к р уо в н е в ы св о й ст баз о в ы м о ж н о ст

е   гр а фи ч е с к и е   н фу к ц и и  с о з адю т   ри сован н ы е   о б ъ е к ты ,  р я д в   котры х   п о з в о л яе т   п о лч у и т ь   п рост й   од су т п   к   с о ат в л я ю щ и м  и х м   о б ъ е к ат м .  Ча с т ь   св о й ст в   ри сован н ы х   о б ъ е к от в   р асш и р яе т   и х   воз и  п о   ср ав н ен и ю   с  со втесюу щ и м и   баз о в ы м и   о б ъ е к та м и . П р и в е   "Стйвсоа  линй   и   тйсе"хвонпр ед м   п ро ст й   п р и м ер .  П р и   четн и и   .аздр й т оэ  гав ы л  в ы   п о з н а к о м и л и с ь   с   осн овн ы м и   с в о й с вт а м и   о б ъ ек т а   Lineseries, п о лч у а е м о г о   п р и  п о м щ и  фну к ц и и  p lo t .  С  дргуо й   с то р о н ы , б а з о в ы й   о б ъ ек т Line  о б л а д е т   ет м и  ж е  сам ы м и  с в о й с вт а м и : то л щ и н а  и  ц ве т  л и н и , ти п , р а з ме р   и   ц ве т   м ар к ер о в ,  XData,  YData  и   ZData  (дл я   з а дн и я   к о р ди н а т   от ч е к в ер ш и н   лом ан ой )  и   т . д .  С р а в н ен и е   н аборо в   св о й ст в   о б ъ е к от в   Lineseries  и Line  п о з в о л яе т   в ы яв и т ь   с в о й с вт а ,  сп ец и ф ч н ы е   лд я   р и с о в а н н о г о   о б ъ ек т а Lineseries. С п ос б н аз н ач ен и к е вт о ъ б Р и со в ан н а ид ь т с ит ь с

ы   п о чл у е н и и  о п и с ан  " дйаон я   ли н и я   в   о бласт я  к  свой вст

я   и н фо р м а ц и ы  в  р аз д

и   о   с в о й с вт а .  "Пинеуч л о

х   гр а фи ч е с к и аци м р ио фн

х   о б ъ е к то  о  стйвсоах

 г.авы л я  до п сук ае т   с в яз ы в а н и е  с  н е й  с тр о к и , к о т р а и   л ег н д ы   р я до м   с  о б р а з ц о м   ли н и . Д л я   э то г у   DispiayName  о б ъ ек т а  Lineseries, н а п р и м е р

я   едбу т   вы во о   е с лу д т   обра :zyxwvutsrqponmlkjihgfedcb

»  х  = 0:0.1:10; »  f = sin(x);

»  д  = cos(x); »  hF = figure »  hA = axes »  hL = plot(x, f, x, g) »  set(hL(l), 'DispiayName1, 'sin {\itx}') »  set(hL(2)/  'DispiayName', 'cos {\itx}') З адн н ы

е  срт о к

в   и  и х  гксеихч афр

и  п о яв ст

я  п р

»  hLG  =  legend(hA,  'show')

и  о от б р а ж е н и

и  легн д

ы   н а  о ся

х

558 

аЧс т ь



й   м о м ен

т  с  ли н и е

й  м о ж е

т  указлет и   о б аъ м к е т и т  б ы т

»  set(hL(2), 'DisplayName',  'ги ф а р

Т еп р ю с луед щ и

ь   дл

 и  

zyxwvutsrqponm

пр о г ^ш ш ^^^

е   JjzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

П р и м е ча н и

Ф н у кц и я  legend  воз ращ ае ми :  ли н и мя и   и   о в ы к е тс м ре мс о т в  ти п  объкет а  с  уелкзат В  л ю б о

 II. Вчиы с лени я

я   о б н о в лен и м   образ ом

я   л ег н д

ы   д о с та о ч н

ь   н а  лнег д у  — п ар .  В   оэт м   жнолсе м   hLG  и  ти п  ег о  п омтк в ь   с в яз а н

а  дргуа

к  к' асунисо

у  оес й  с  п омтка о   и б ь де с т я у .

я   с рт о к а

,  п о

-

:zyxwvutsrqponmlkjihgfedcbaZ

)

о   о б р а ит ь с

я   к   н фу к ц и

и   legend

:

»  legend(hLG) К ром е  тек сотв й   и н фо р м а ц и и  дл я  легн ыд , с  о бъ екот м   Lineseries  м о ж н о  свя з а т ь   и м ен а  п ер м н ы х , п оледж ащ и х   гр а ф и ч е с к о м у   о т б р а ж ен и ю .  И м ен а  п е р ем н ы х  указ ы в аю ст я  В  к ач есвт е  з н ач ен и я  СВОЙСТ В  XDataSource,  YDataSource и   ZDataSource. П р и   и з м ен и и  з н ач ен и й  эит х   п ремн ы х   и  в ы з о в е  фн у к ц и и ref reshdata  п р о и з о й ед т   о б н о в л ен и е  гр а фи к а . Е сл и  фн у кц и я  ref resh data  в ы з в ан а   бе з   о в н д х ы х   а р мгу е н от в ,  т о   и з м ен и я  косн т у я   от л ь к о   п р ек д о в   кеу т щ ег о   гр а фи ч е с к о г о   окн а .  О бр ащ ен и е   к   ref reshdata  с   онд и м   в о хн д ы м   ару г м ен о т м  —  куаз елт м   н а   гр а ф и ч е с к о е   окн о   и л и   ас м   р и с о в а н н ы й   о б ъ ек т  — п о з в о л яе т  боле е  то ч н о  и едн ит ф ц и ро в ат ь  обн овляем ы е  о б ъ ек ыт : »  time = 0:0.05:8/ >> fun = sin(time).^2; »  hF = figure; >> hA = axes; »  hL = plot(time,fun); »  set(hL, 'XDataSource', 'time ', 'YDataSource', 'fun'); »  fun » sin (time) .Л  3; »  refreshdata(hL) С о вт е с ю у щ и с вт о а т и д ф и ц и р е су т я з ован и к а ч е св т Вс да ю есв т у

ь   в  р а б о ч е е   и   лок аль н ы е  в то р о г е  р и с о в а н н ы т   п ер ч и с л ен н ы м тТВ С  СВОЙ

е   п ер м ен н ы й   с р ед . П р и В  ВО З Ы о   в ох дн о г

е  (в   н аш е м   п р и м ер е   time  и   fun)  до л ж н ы   щ ус е , и н а ч е  в ы в о ид ст я   п р еу д ж е дн и е   и  г р а ф и к  н е  м о е  ref resh data  И З ИЦ-К ЛЙ а  фуН ф И  ВОЗМОЖН О  ЛЬ О П С И х   п ер м ен н ы ,х   дл я   ч е г о   е с у л д т   ку а з а т ь   ' c a l l e r '  в о   а р мг у е н т а   ref  resh data.

е  о б ъ е к ты

: Areaseries, Barseries,  Contourgroup  и  т . д .  —  о бла и  в ы ш е   с в о й с вт а м и , то л ь к о   у   п ло ск и х   о б ъ е к то в   т со у О  Z D ataSource, а  у  о б ъ ек т а   Surfaceplot  —  DisplayName.

-

Бо л ь ш а я   ч аст ь   ри сован н ы х   о б ъ е к от в   я в л ес т я   с г р пу и р о в а н н ы м и   о б ъ е к ат м и  hggroup.  И с к л ю ч ен и е  с о сатв л яю т   то л ь к о  Lineseries  и  Surfaceplot.  Н а п р и м ер , к о н рут ы й  гр а фи к  фн у кц и и  дву х  п ерм н ы х  —  о бъ ек т  Contourgroup  — со ти т   и з  б а з о в ы х   о б ъ е к от в   Patch и  Text. Ли н и и  уро в н я   о т б р а ж а ю тс я  п * п ом ощ и   п о л и го н а л ь н ы х   о б ъ е к то в ,  а   етк со в ы е   с жл у а т   дл я   п о п д и с и   з н 'zyxwvutsrqponmlkjihgf   .н и й  фну к ц и и  н а  л и н и я х  уро в н я .

и ен ч а к

я  

\

 

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA я ир

У   В   п

Р

^оу

т Го

'^фика

 

ф

и цк у н

 

"

ТС АЧ И Н Е Р П ЛИ О Ж с  И КС ЕФЧИ АР Г Р Й С О Ф ТЕ И Н

Ь Я М

М

л авГ

а  1 0

пи ц нир П ы  сиандзо я  пеинлжро й с  GUI zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA П р и ло ж ен и я   M ATLAB  с   гр а фи ч ес к и м   и н ет р ф й с о м   я в л ю ст я   гр а фи ч е ск и м и   окн ам и , с о дер ж а щ и м и   э л ем н т ы   пу р а в л е н и я   (к н о п к и ,  с п и с к и , п ер к л ю ч а те л и ,  ф л а г и , п о л с ы   с к р о л и н га ,  о б л а с т и   в о да ,  м ен ю ) , а  та к ж е   ос и   те к с то в ы е   област и   дл я   в ы в о д а   р е з лу ь та о в   р а б о ты .  С о з да н и е   п ри лож е н и й   в к лю ч ае т   с л ю е уд щ и е   осн овн ы е   э та п ы  —  р а с п о л о ж е н и е   н ж ун ы х   э ле м е н от в   и н ет р ф й с а   в   п р едл а х   гр а фи ч ес к о г о   окн а   и   п р о гр а м и р о в а н и  к о т р ы е   воз н и каю т   п р и   о бр ащ ен и и   п о л ь з о в а те л я   к  да н н ы м   объ тийы,бос е к та м ,  н а п р и м е р , п р и   н а ж а ти и   кн оп ки .  П р о ц е с с  р а б о т ы   н а д   п р и ло ж ен и е до п с у к а е т   п о с ет п е н н о е  до б а в л е н и е   э л е м н от в   в   гр а фи ч ес к о е   окн о ,  з а п су к те с и р о в а н и е   п р и ло ж ен и я   и  в о з в р а т   в   р еж и м   р е да к ти р о в а н и я .  К о н е ч н ы р е з л у ь та о м   я в л ест я   п р о гр а м а   с  гр а фи ч ес к и м   и н ет р ф й с о м   п о л ь з о в а те л я   (G U I),  с о дер ж а щ а яс я   в   о дн о м   и л и   н ес к о ль к и х   фа й л а х ,  з ап су к   кот ро п р о и з в о д и тс я   ку а з а н и е м   е е   и м ен и   в   к о м а н дн о й   с тр о к е   и л и   в   др г у о м   п ри ло ж ен и и   M ATLAB.

П р и м е ча н и и мт е О ялд Э л ем н т гр а фи ч е с к о г м ощ фе к и т в н е с о з ад т н ия

 сназоди

,  чт о   в   пкеа я  п ир ожнле и й о   окн

т   MATLAB  и од вх , сзпау к  коры т

я   я в л ю ст а   в   и ер а их х   н фу к ц и

е   в о с п о л ь з о в а ьт с ь   з а го т в к , з а п р о г р а м и р о в а т 19  З ак

.  130

и -

е zyxwvutsrqpon м , м й -

е

ы   пу р а в л ен и и   с п ец и а л ь н ы

-

у   окн

а   п р и л о ж ен и я ь   с о б ы ит

я   гр а фи ч е с к и м и   о б ъ е к то в й   н и з к о ру в н е в о я   в и з а ул ь н о

й   с р ое д , р а з м ес ит я  и  и х  в з а и м о с в яз ь

т   Runtime  Server, пн дзера нч ы т  уна тсовк х  н е  те убр .  О н

й и   MATLAB.

и   о б ъ е к ат м и  —  п о т м к а м и и   м о гу т   бы т ь   с о з ад н ы   п р и  п о й   гр а фи к и . О дн а к о   го р а з д о   эф й   G U I D E,  к о т р а я   п о з в о л яе т ь   н а   н е й   э л ем н т ы   пу р ав ле .

zyxwvu

аЧс т ь   III. Преин лояж  с  ги черсафикм  и нтей рс фо м 564zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

е др С

а  GUIDEzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

П е р й ид т н о й  срт о к е котро н ж ун о г

е   в   в и з а ул ь н у ю   с р де у   G U ID E,  в ы п о л н и в   к о м ан д у   guide  в   к о м ан д .  П о яв л ест я   окн о zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE  GUIDE  Quick Start,  и з о б р а ж ен н о е   н а  р и с .  10.1, е   п о м о га е т   н а с рт о и т ь   в и з а лу ь н у ю   с р де у   н а   с о з ад н и е   п р и л о ж ен и я о   ти п а   и л и  о кт р ы т ь   щ с у ю ве т щ е е   лд я  п р о д л ж ен и я   р а б о ты .

GUIDE Quick StallzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Create New GUI  |   Open Existing GUI  j GUIDE templates 

Preview

*Jk Blank GUI (Default) GUI with Uicontrols GUI with Axes and Menu >  mygui

е   М - фа й л о в й   яв л сет

м я  и  ег о и анворти а к ерд

я   о щ с у е св т л я ,  к а к  р а б о та м   и , в о з м о ж н о я   д о с та о ч н

е

я   н е   то л ь к о   и з   р е д а к то р ь   с  уж е  со з адн н ы м   п р и л о ж ен и е ,  в н о с и т ь   в   н е г о   р т е б му ы о   в   к а ч е с вт е   к о м ан д ы   з адт

а   п р и ло ж ен и й . м   с  гр афи ч е е   и з м ен ен и я . Д л я ь   ег о   и м я  в  к о -

е о   п р и л о ж ен и я

,  о б р а щ ен и м   ед й с в т и я м

е   к   э л е м н ат .

м   и н е тр ф й с а

  окн

а

zyxwvuts

 III. Преин лояж  с  ги черсафикм  интей рс фо м аЧс т ь 578 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Пр и м е ча н и К а л от ь с т я вл О ч ен ь   ч аст ид м о е   с у о в е р ш е н с вт о а н и ем . В  л ю б о

е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA г   с  пирнжоел я  тщ куе и м

о   ср аз

м  джело . Уанст овк у   н е  усаетд

й   м о ен

т  м о ж н

н  ьс жтрае одс а  е т пу

я   н ап и сат е   п р о я в л ест о  п р о д л ж и т

я   в  пя т у а  оп и сна

й  п ои кс ь   з ак о н ч ен н о я  то л ь к ь   р е д а к ти р о в а н и

о   в  ход

х   п о и кс а  MATLAB  ил и а  в zyxwvutsrqponmlkjihgfedcbaZYXW  гаве л  5. е  п р и л о ж ен и е е  р а б о т

,  и   н еобх е  двму

ы   с  п р и ло ж ен и я   сп о с бам и

:

й   с рт о к е ,  ч т о   п р и в о ди т   к   о т б р аж ен и ю 1.  В ы п о лн и т ь   guide  в   к о м а н дн о ди а л о г в о г о   окн а  б ы с рт о г о   с ат р а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK   GUIDE  Quick Start,  в  к о т р о м   е у с лд т п ер й т и   к  в к л а дк е   Open Existing GUI   и  в о с п о л ь з о в аьт с я   сп и ск о м  Recently opened files  и л и   к н о п к о й  Browse  дл я   п о и ск а   н жун о г о   фа й л а   с  р асш и р ен и е м   fig. 2.  кУ а з а т ь   и м я   п р и л о ж ен и guide  mygui,  п р mygui.  В  э от м  счлуа

} и  ца з ила у з и В

я   ч ре з   п робе и   э о т м   п о я в л ес т е   к атло г   с  п р и ло ж ен и е

я и ц к фун

л   п о сл я   с р ед

е   к о м ан д ы   guide,  н а п р и м е р а   GUIDE,  в   к о т р о й   о кт р ы т м  долж е н   бы т ь   ет к щ у и м .

й

1 0.9 0.8  0.7  0.6 0.5 0.4 0.3 0.2 0.1 0

0

0.4

0.2 т и о рс П

0 . 6 

тис ч О ь

с иР

0.!

. 11.1.  Онк

о  пн ежиорл

ь

я  с  зоквл га

м

, о

л ав Г

 11. о нКс т р иу о вани е

 и нт е й рс фа

579 zyxwvutsrqpon

 

П е р й ид т е   в   р еж и м   р е д а к ти р о в а н и я   п р и л о ж ен и я   mygui  лю б ы у   на д   н им .  И з м ен и т е л ен н ы х   сп ос бо в   и   п род лж и т е   работ п р и л о ж ен и я   н а   "В и з аул и з ац и я   нфу к ц и й "  та к ,  ч отб ы   р а б о та ю щ е н и е  mygui  и м ел о   в и д ,  и з о б р а ж ен н ы й   н а   р и с .  11.1.  З а го л в о к с в о й с вт о м   Name гр а фи ч ес к о г о   окн а . Усат н о в и т е   в   и н с п е к от р erty  InspectorТВ С   СВОЙ О  Name ОКН а  п р и ло ж ен и я   В  В и залиу з ац и п си ту е  mygui  и  убеид тсь , ч т о   п р и ло ж ен и е  и м е т   нжу ы й   з а го л о в о к Ж е л а те л ь н о д б ун у ди т л ен ы л яе до б а в л я е м ы

Ра зм е р

м   и з   п ер ч и с   н аз в ан и е   окн а е   п ри лож е   окн а   з а д е ст я е   свой ст в zyxwvutsrqponmlk   Propя   н цк у иф й . З а .

о   расп олаг т ь   э л ем н т ы   и н е рт ф й с а   в   п о р я дк е ,  о бесп еч и в аю щ е м ю   работ у   п о л ь з о в а ет л я   с   п р и л о ж ен и ем .  П р и л о ж ен и е   ох р ш о   в ы гл я ,  флаг и   и  т . д. ,  о п р ед ,  сел и   о дн о ит п н ы е   э л е м н ыт ,  н а п р и м е р ,  к н о п к и м   образ о м   в ы р о в н ен ы   в   окн е   п р и л о ж ен и я .  С р ед а   G U I D E  п р еод сатв т   р а з р а б о тч и к у   п р и л о ж ен и й   н ес к о л ь к о   сп ос бо в   вы равн и ван и я , ли н ей к у   и  сп ец и аль н ы е   и н с р тм у е н ы т .zyxwvutsrqponmlkji х   о б ъ е к от в   —  скету

ы  оте окбъ

в  и  и х  аирвны

е

Р е да к о т р   п р и л о ж ен и й   с о ед р ж и т   з а го т в к у   окн а   п р и л о ж ен и я ,  р а з м е р   кот р о г о   и з м е н ся е т я   п р и   п ом щ и   мы ш и ,  ерджу и ва я   н а ж от й   л ев у ю   кн оп к у  н а . Д л я   з а д н и я   от ч н ы х к в а д р ти к е , р а с п о л ж ен н ы й   в  п р а в о м   н и жн е м   ег о  улгу р аз м ер о в   и  п о л ж ен и я   окн а  з а п щу ен н о г о   п р и л о ж ен и я   в ы б ер и т е   в  и н сп екот е   еи д н и ц ы   и з м ер н и я   (п и к селы , сан р е   св о й ст в   Property Inspector п охядщ и ит м е рт ы   и   т . д. ) ,  о б р а ит в ш и с ь   к   с в о й вс т у   u n it ,  и   суатн о в и т е   с в о й с вт о P o sit io n  в   н ж ун о е   з н ач ен и е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   (с.м  р.азд   "Уине апврл инме ж о  лпо  гксеихч афр кн о  " гавы л   9). Н а   окн о   н а н ес н а   с ке т а   с  до с та о ч н о   к рп у н ы м   ш а го м   (п о   му о л ч а н и ю ) к р у а нт о е   р ас п о л ж ен и е   боль ш ог о   ч и сл а   э л е м н от в   пу р а в л ен и н ог о   з адн и я   и х   п о л ж ен и я .  П о с к о л ь к у   э л ем н т ы   пу р а в л ен и я л я ю ст я   гр а фи ч е с к и м и   о б ъ е к ат м и   (п о т м к а м и   гр а фи ч е с к и е с вт н о   о ж и д а ть ,  ч т о   сред и   и х   св о й ст в   е с т ь   п р е нд а з н а ч е н н ы н и я  и х  р а з м е р о в   и  п о л ж ен и я  в  гр афи ч ес к о м   окн е . Э т и   св о й свт P o sit io n  и   u n it ,  п ри ч е м   з н а ч ен и е м   P o sit io n  одлж е н   бы т ь   в е к от р е х   ч и се л   (р ас от ян и е   о т   лев о г о   и   н и ж н ег о   кра я   о к н а ,  ш и р и н ие д н и ц а х   и з м ер н и я , усатн о в лен н ы х   в   u n it .

.  к А т   от ч я   рт е б у   U icontrol  яв х   окон ) ,  т о е   лд я   з а д а   н а з ы в а ю ст я р   и з   ы ч ет а   и   в ы с о та )  в

Э л ем н т ы   пу р а в л е н и я   и  ос и   м о гу т   бы т ь   с гр пу и р о в а н ы   и  р а з м ещ ен ы   н а  н е е  он и   яв л ю т котро й   п а н ел и  —  гр а фи ч ес к о м   о б ъ ек т е   U ipanel. В  э от м   счлуа с я   п о тм к ам и   о б ъ ек т а   U ipanel  и   и х   п о л ж ен и е   з а д ест я   о нт о с и ет л ь н о   э от п ан ел и .  С а м а   п ан ел ь   се т ь   п о т м о к   гр а фи ч е с к о г о   окн а ,  п о э т м у   з н ач ен и с в о й с вт а   P o sit io n  о б ъ ек т а   U ipanel  о п р едля т   е е   п о л ж ен и е   в   п р е дл а х   ок н а .  П р екд о м   л д я   э л е м н от в   пу р ав л ен и я   м ож е т   бы т ь   щ е е   о нд а   п а н ел U ibuttongroup,  к о т р а я   п р е нд а з н а ч е н а   лд я   о б е с п е ч н и я   с о гл а с о в а н н о г о   по в ен д и я   грпу ы   п е р к л ю ч а е тл й   и л и   к н о п о к - п е р к л ю ч а е тл й   —  к о гд а   мо же т   бы т ь   в к лю ч е н   то л ь к о   о ид н   э л ем н т   пу р ав л ен и я   и з  все й   грпу ы .  Д л я   до

й е ь -

аЧс т ь

580

б а в л ен и в ест н н о п о ль зе у г о  П ри ложне и

 III. Преин лояж

 с  ги черсафикм

я   п а н ел

й  U ipanel  и  U ibuttongroup  в  о к н о  п р и ло ж ен и я  сжлуат , со т  Panel  и  Button  Group р е да к то р а   с р ед ы   G U I D E .  М ы  и с ,  к н о п к и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB м   эт и  п ан ел и  дл я  р аз м ещ ен и я  п ер к лю ч аетл й   и  фл а го в   в  о к н е  н аш е я  mygui.

З н а ч ен и св о й ст

я   свой ст в   P o sit io n  и   U nits  м о гу т   бы т и  э лем н от в   Property Inspector  п р и  р аз м ещ ен и в   окн е   п р и л о ж ен и я   и л и   в   п о н ф ду к ц и я х   о б р а б о тк щ е е  п р и л о ж ен и е  до л ж н о   и з м ен и т ь  в и д  о к н а . Дл п р о е к ти р о в а н и с у ат н о в к з о в ан и м ен от е с лу д окн

zyxwvut

 и нтей рс фо м

ь   с аут н о в л е н в   пу р а в л ен и и   с о б ы ти й

ы   в   и н с п е к от р я   и  п ан ел ,  сел и   р а б о та ю

е й -

я   а к р у а тн о г

о   р ас п о л ж ен и я   э л е м н от в   пу р ав л ен и я   и   п а н ел й   н а   э атп е я   и н е рт ф й с а   м ож н о   и з брат ь   и   бо ле е   п рост й   сп ос б ,  че м а   с в о й свт у   P o sit io n  п о хдящ ег о   з н ач ен и я .  О н   с о т и т   в   и сп о ль и   в с п о м г а ет л ь н ы х   с р ет д в   с р ед ы   G U I D E:  секти ,  ли н е к   и   и н р с ут в  в ы р а в н и в а н и я . Д л я   о т б р аж ен и я   ли н е к  и  до спут а   к  св о й свта м   кс ет и т   в   м не ю   Tools в ы б р а т ь   пну к т   Grid and  Rules.   П о яв л яест я   ди а л о г в о е о  Grid and  Rulers,  и з о б р аж ен н о е  н а  р и с .  11.2.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

*> Grid  and Rulers Г "  Show rulers

P  Show guides P  Show grid Grid Size (in Pixels): j50 

j* j

P  Snap to grid OK 

Рис

. 11.2.  Д и а л о г в о

Cancel

е  о к н

о   Grid  and  Rulers

с У та н о в к а   фл а г а   Show  rules   сн абид т   окн о   в и з аул ь н о з о н та л ь н о й   и  в е р ти к а л ь н о й   ли н ей к ам и . Ли н ей к м ен т ы   и н етр ф й с а  в   п о з и ц и и  с  л ю б ы м и   к о р ди н а т м и в аем ы м и   о т   лев о г о   н и ж н ег о   гл у а   з а г о т в к в ы ед л и т ь   о б ъ ек т   (н а п р и м е р , к н о п к у )  щ елч к о м с л ед я   з а   к у а з а ет л я м и   ег о   п о л ж е н и я   н а   л и н ей к е фл а г  Snap to grid,  т о   н еп р е ы в н о г о  дви ж ен и я  о б ъ ек т и л и   вд е   е г о   г р а н и ц ы   с р т е м яс я   со в п аст ь   с  ли н и ям п ер м ещ а ем ы х   о б ъ е к от в   н а з ы в а е ст я   п р и в яз к о й то ч н о   м ел к и м   ш а го м   с ек т и , к о т р ы й   с уа т н а в л и в а е с т Pixels),   п р и в я з к а   п оз воли т   в а м   б ы с рт о   о ф р м л ят

й   с р ед

ы   G U I D E  го р и т   р аз м ещ ат ь   э ле и   в  п и к селах ,  остч и ыт   окн а   п р и ло ж ен и я .  С елуд т   мы ш и   и  дв и га т ь   ег о   в   о к н е , .  О дн а к о   с ел и   с а у т н о в л е н а   н е  п р о и сохди т   —  о нд а и   с ек т и .  Т а к о е   п о в е дн и е  к  скет . В  с о ч еатн и и   с  досат я   в   сп и ск е  Grid Size  (in ь   п р и ло ж ен и е .  П л а в н о  и з и   п о з в о л яю

л ав Г

 11.  о нКс т р иу о вани е

м ен ят с рт е л к а м и ч о еу т

ь   п о л ж ен и м   п р и в яз к

П ер ж ен и

д   р а з м ещ ен и е я  го р и з о н та л ь н ы м

г о н яе в ы ат щ и т н и в ан и н е а в от м а ит ч е с к о равн и ван и о б р а тн

 и нт е й рс фа

е   в ы ед л н н о г

о   о б ъ ек т

.  О нд о в р ем н н о

а   м ож н о   пр е     п р и в о ди

е   е д р уж а н и и  к  скет

581 zyxwvutsrqp

 

и   п ом щ и   к лав и т   к   п ер м щ ен и

ш   с о ю  с

.

о   п ри ло . Д л я   э от   е с ул д т   н а в ес т и   к р ус о и   н а   с о в т ес ю у щ у у   (крсуо р   ме т   фо р м у   н а   вд с у о т р н н ю ю   р с те л к у )  и ,  ерджу и ва ю   кн оп к у   мы ш и , ь   си н ю ю   ли н и ю   н а   з а го т в к у   лд я   о к н а   п р и л о ж ен и я .  Ли н и и   вы рав я   о т б р а ж а ю тс я ,  лсе и   саутн о в ле н   фл а г zyxwvutsrqponmlkjihgfedcbaZYXWVUTS   Show giudes  в  ди а л о г в о м   ок  Grid and  Rules.   П ер вди ж ен и е   о б ъ е к от в   к  ли н и и   в ы рав н и в ан и я   в ы з ы в ае т е   р ас п о л ж ен и е   и х   гр а н и ц   н а  да н н о й   ли н и . С ам и   ли н и и  в ы я   м ож н о   б уи р а т ь   с   окн а   п р и л о ж ен и я ,  п ер атск и в а я   и х   мы ш ь ю о   н а  ли н ей к у .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ^  П р и в яз к г ал ф

м   э л е м н от

в   пу р ав л ен и

я   п о л ез н и   л и н и ям

и   и  в ер ит к а л ь н ы м р   мы ш

Пр и м е ча ни

е  

а   о б ъ ке т в   к  лин и я е  Snap  to grid.

о   р а з м е ти и  в ы р а в н и в а н и я ю   л и н ей к я   л ев у

ь   окн

^| м  вы равн и ван и

я  де вйу тс

т   и  п р

и   рб с о ш н е о

м

В ы рав н и в ан и с р е двт г о   е с ул д м ен о т то л ь к о н и в а ем ы

ы   о б ъ е к от в   п р о и з в о ид с т я   с  п ри в леч н и е м   с п ец и а л ь н ы х   в  ди а л о г в о м   окн е  Align Objects,  дл я   п о яв лен и я   котро т  в ы б р а т ь   в   м не ю   Tools  пн у к т   Align  Objects.   П и к то гр а м ы   и н р с ут т   к о м е н ат р и е в .  Омт еи в   э от г о   окн а   и н ф о р м а ит в н ы   и   н е   рт е б ю у ,  ч т о   п ер д   п р и м ен и е м   к а о г - ли б о   и з  н и х  е у дсл т  вы елди т ь   в ы р ав е  объек т ы   щ ел ч к о м   мы ш и  с  онд оврем н ы м   ре ж д а н у и е м   .

О р т е ад к и т р й у т н о с ит

.

и щ с а В пл в ю ы

е   г рп у

х

,  одпсут н ы

е   ви

д   п р и л о ж ен и

я  mygui, и сп оль з у

е  п о дс ак з

и  и  птикорга м м

я   в ы ш ео п и с ан н ы

м -

е   воз м ож

-

ы

В сп лы в аю щ и

е   п о сд к а з к и ,  к о т р ы е   п о я в л ю ст я   п р и   н а в е дн и и   к рус о р а   мы ш и  н а  э лем н т ы   пу р а в л е н и я , сщ у евстн о   о б л е гч а ю т   работ у   с  п р и л о ж ен и ем Д л я   с н а б ж ен и я   э л е м н от в   пу р а в л ен и я   в сп лы в аю щ и м и   п о дс к а з к а м и   е с ул д с уа т н о в и т ь   и х   с в о й св т у   T o o it ip st r in g  рт еб ум о е   з н ач ен и е .  И с п о л ь з йу т и н с п е к от р   св о й ст в   Property  Inspector  лд я   од б а в л ен и я   в сп лы в аю щ и х   п о сд к а зо к   к   кн оп ка м   т и о П р с то ь   и   ь т и с Оч ,   н ап р и м ер ,  "П о с тр о е н и е   гр а фи к нфу к ц и "  и   "Уадлен и е   гр а фи к а   нф у к ц и "  с о вт ес н н о   (к ав ы ч к и   н аби р а т ь   н е   )естлуд . Н а   кн оп ка х   и   к н о п к -а х п е р к л ю ч а е т л я м ы ,  п о ясн яю щ и е   и х   н аз н ач ен и е .  П р е дп о л ж и м р ха н и с т я   в   фа й л е   pict.bmp  с   глбуи н о

х   м о гу й   ц в ет

т   бы т

ь   р аз м ещ ен ,  ч т о   ц в ент а а   24  bit.  С н а ч л

ы   п и к от г р а м я   п и к то г р а м а   н е о б х ид м

. т е а о

а

582 

аЧс т ь

с ч и ат с р ые д

ь   р и сну о , к  п р и м ер

к   п р и  п о м щ у  Р :

  III. Преин лояж

и   н фу к ц и

 с  ги черсафикм

и   imread  в  н ек о т р ы

zyxwvutsr

 и нт е й рс фо м

й   м ас и

в   рабо ч е

й

>>  Р   =   i m r e a d ( ' p i c t 2 0 . b m p ' ,  ' b m p ' ) ;

З еа т м  в CData к н о п к э от г о   м ож н с в о й св т р я од м  с ро м   и м св о й ст в ег о   р а з м е р а о т б р а ж е ст С ю л уе д щ и ны

 и н с п ек от р

е  свой ст в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH   Property Inspector се улд т  о б р а ти ь с я   к  свой ст у и  и л и  к н о п к и - п ер к лю ч аетл я  и  усатн о в и т ь   ег о  в  з н ач ен и е  р . Д л я о   ли б о   н абрат ь   и м я  м ас и в а   в  срто к е   в од а   сп рав а   о т  н аз в ан и я а   и   н аж т ь   < Enter> , л и б о   в о с п о л ь з о в а ьт с я   кн оп кой , р аз м ещ ен н о й  н аз в ан и е м   с в о й свт а   лд я  о кт р ы ит я   ди а л о г в о г о   окн а  CData,  в  к о т я  м ас и в а  в в о ид ст я   в  срто к е  Enter Expression.  П р и  это м  в  и н сп ек отр е   Property  Inspector в м ест о   и м ен и  м ас и в а   о т б р а з и тс я   и н фо р м а ц и я  о х   (трмех н ы й   м ас и в )  и   ит п е   ад н н ы х   (unit8).  П и к то гр а м ы х  п осл е  з ап ску а  п р и л о ж ен и я . я   н а  к н о п к а е   р а з де л

х  э лем н от

ю   о сн о в ы   р аз м ещ ен и ю   и  п р о гр а м и р о в а н и .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC

ы   п о с в ящ ен в  и н етр ф й са

рП о г а м м и р о в а н и и гал Ф

е  э л е м е тн о , ма рк

в  инт е рйфс

и

Ф лаг и  п о з в о л яю т   п р о и з в ес т и   но д у   и л и  н еск о ль к у  на ох д   р аб о т ы   п р и ло ж ен и я . П р о д л ж и т е  р а б о т з о в а ет л ю   воз м ож н ост ь   н ан о си т ь   ли н и и   с ке т и  н а   с   н аз в ан и ям и   к ст е до л ж н о   с о ед р ж а т ь   дв а   ф л а г п о л ь з о в а те л ь   н аж и м ае т   кн оп к у   ь т ио П р со т ,  т о нф у к ц и , н о  и  н а  ос и  н ан о си т я  скет а  п о  в ы б р а н н ы н а  т и с Оч ь  до л ж н о   п р и в о ди т ь   к  и сч ез н о в ен и ит ю  секти . О бы ч н рю у с т м ен яю с т до й де м о гу

о   н ес к о л ь к я   и  п о м ещ аю ст я   п а н ел т  о б ы ч н а т  б ы т ь   в к л ю ч ен

и  дву я   п ан ел

в   пу р ав л ен и я   с о   о жс х и м   н а з н а ч ен и е я   н а  н ек о т р о й   п ан ел и .  М ы  уж е  уп о м и н а л и х  ти п о в : U ipanel  и  U ibuttongroup. В  да н н о ь  U ipanel, п о ск ль к у   фл а г и   я в л ю ст я   н ез ав и с и м ы м ы  и л и  сб р о ш ен ы  п о  о детл ь н о с ит .

е   р аз м ер ы   о с ей ,  о с в о б ди в   сп рав а ь   н а  о к н о  п р и ло ж ен и я  п р и  п о м щ и   с о в т ес ю у щ е П о   му о л ч а н и ю   и м я   п а н ел и   uipanel 1,  а   е е ,  в о с п о л ь з о в а ш и с св о й ст в   и з м ен и т е   з а го л в о к   н а   С е кт а е   и м ен о б ъ ек т а   U ipanel.  З а   п о л ж ен и T it ie P o sit io n ,  к о т р о е   п о  ум о л ч а н и ю   и ме в о м   в ен р х е м   лг у у   п а н е л и .  И з чуи т е   о с ат л ь н ы с то я е л ь н о ,  о б р а ит в ш и с ь   к  и н сп екотр у   св о й ст з ер у  св о й ст в  гр афи ч ес к и х   о б ъ е к от в  в  с п р а в о ч н о ь  до б а в ь т

о  усат н о в к ,  о п р едляю щ и д  mygui, п р едо с ат в ь т е   п о ль а  гр а ф и к .  О к н о  п р и л о ж ен и а   п о  х   и   ксет а   п о  у .  Е сл   н е  то л ь к о   с рт о и ст я   гр а фи м  к о р ди н а т м . Н а ж а ти ю   гр а фи к а   нфу к ц и и   и  ск ры

о   э л е м н от

И з м ен и т н ел

Н а   п ан ел

а

е  дв

а  фл а г

а  та к

, ка к  п о к а з а н

  м ес т

о   лд

х я и к е -

м   г рп у и ,  ч т о  при м   с чл у а е  п о

и  и

я  р а м к и .  Н а н ес и т е  п а й   кн оп к и  (р и с . 10.3).   з а го л в о к   Panel.  В   и н с п ек от р е ь   с в о й с вт о м   T it le и   п а н ел и   о вт е ч а е т   с в о й с вт о 1 т   з н ач ен и е   ' l e ft t o p ,  т . е . в  ле е   воз м ожн ы е   вари ан т ы   сам о в   Property  Inspector и л и  брау й  си семт е   M ATLAB. о  н а  р и с

. 11.3.

л ав Г

 11.  о нКс т р иу о вани е

т и о р тс о П

 и нтей рс фа

ь  j 

т и тс и ч О

Рис

ь

583 zyxwvutsrqpo

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

. 11.3. Д о б а в л ен и

е   п а н ел

и  и  фл аго

в

584 

аЧс т ь

Р а з м е с ит е т е   с в о й вс т у ч а ю щ ем у  з о п р е дл и т е st r in g  в   с е тк ш ирн у  о бласт

 III. Преин лояж

 с  ги черсафикм

zyxwvuts

 и нт е й рс фо м

и   и  да й т е   и м  и м ен а . З адй   п о яс н яю щ и е  п опд и с и  р яод м   с  флаг м   Tag в ернх ег о   фл а г а   з н ач ен и е  chbxG ridx,  а  свой свт у   st r in g,  воет а   п о пд и с ь   фл а г ,  з н ач ен и е   с е тк а   п о   х .  нА а л о ги ч н ы м   о браз о м   с в о й с вт а   н и ж н ег о  фл а г , усатн о в и т е   с в о й с вт о   Tag в  chbxGridY, и а   п о   у .  Есл и   е к тс т   н е  п ом ещ сает я   р яо д м   с  фл аго м ,  велиу чь т е и   фл а г а  п р и  п ом щ и  м ы ш и , уержди ва я   н а ж от й  леву ю  кн оп ку .

О с а тл о ь   с ед л а т ь   та к , ч от б ы   п р и  н аж ит и   п о л ь з о в а ет л м   кн оп к и zyxwvutsrqponmlkjih  Пт ио р сто ь п р о и с о х ид л о   о т б р аж ен и е   ли н и й   к с ет и   в   з ав и си м о ст и   о т   с ау т н о в л е н н ы х е   н а  От и с и ч ь   п р и в о ди л о   к  ск р ы ит ю   с ек т и .  Бл о к   обработ фл а го в , а  н а ж ти к и   с о б ы ит я   c allbac k  к н о п к и   т и о П р с от ь   е су л д т   до п о л н и т ь   п р о в ер к о й  со со т я н и я   фл а го в .  С в о й с вт о   фл а г а  value  п р и н и м а е т  з н ач ен и е   1 п р и  усатн о в к е фл а г а  п о л ь з о в а етл м   и , с о вт ес н н о , р а в н о  н люу , есл и  фл а г  с б р о ш ен .zyxwvutsrqpon

Пр и м е ча н и

е

У  флаогв , к а к  и  у  больш и н в ст а   мн э е л о т , п ри н и мюа щ и е  п о  умочлна и в а  Min и  Мх а лЕ с и   ал ф г   а н с т у о в лн е ,  т о  совпаюд ш не ,  Т О  Value  И  Min. З н а ч ен и п ер в ы в то р ы

е   с в о й с вт м   в о х нд ы м  — н а з в а н и

а   гр а фи ч е с к о г м   а р мг у е н о т е  св о й свт

в  управнле и я ю   з н ч ае и т   з н ч ае и

, ис тем я  дв а  сйовтс я  0 и  1 свнесто о я  value  и  Мх а , а   лс е и   робс

о   о б ъ ек т

а   п о з в о л яе

м   котро а   (п ри м ен ен и

й   од л ж е

т   п о лч у и т ь   к у а з а ет л и  get  о п и с а н

н   бы т е  фн у кц и

К а к   и  в   счлау е   с о гл а с о в а н и я   кн оп о к  Пт ио р сот ь   и  Оь т и с ч о б р а б о тк и   с о б ы ит я   Callback  о дн о г о   о б ъ ек т а   (к н о п к и к у а з е тл ь   н а  др гуо й   о б ъ ек т   (флаг) . Д л я  э от г о   е с лу д chbxGridX  И  chbxGridY  р у кт рС ы   handles  И ,  В  з ав и с и м о с т уС Т а Н О В И Т

Ь   С ВОЙ С ТВ

а   ОС е

Й  X G r i d  И  YG r i d  В   ' о п

П р о и з в е ди т е   н е о б х ид м ы callback  к н о п к и  Пт ио р сот Л ист ин с  уеч т о

е   и з м ен и ь  (ли ст н

г   11.2. Обра от к м  с ос т оняи

ь   н фу к ц и я  get, ь   н а  о б ъ ек т ,  а о  в  гzyxwvutsrqponmlkjihgfe ав е л  9). ,   в  п онфду к ц и

) м ы  до л ж н т   о б р а ти ь с

и

ы   п о чл у и т я   к  п оля и   О Т  И Х   З н ач ен и й

е   графи к

я   в   п о н ф ду к ц и г   11.2).

и   о б р а б о тк

и   с о б ы ит

в

а   ф ун к ц и

и

х   =  - 2 : 0 . 2 : 2 ; А

у   =  е х р ( - х .

2);

p l o t ( x ,  у ) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

% Пк р е в о р

а  фг а л

а  ск т е

а  п о  х

if get(handles.chbxGridX,  'Value') % Фа л

г  вн е ч ю л к

, е у д е л с

ь м ,

И   ' O ff1.

  ИЛ

fu n c t i o n  b t n P lo t _ _ C a llb a c k ( h O b je c t ,  e ve n t d a t a ,  h a n d l e s) %  П о с т р о е н и

. -

я

я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF   C a l l b a c k   о нп к и  Пос т роит ь

а  с обты и я  фл а ог

!

-

т  дт и в а б о

ь  ли н

и  к т е с

и

л ав Г

 11. Конс т р иу о вани е

 и нт е й рс фа

585 zyxwvutsrqp

 

s e t ( g c a ,  ' XG r i d ' ,  ' o n ' ) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC e l s ezyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

% Фа л

г  вн е ч ю л к ы

, се у д е л

т  ут а р б

ь  ли н

и  ск т е

и

1

set(gca,  'XGrid ,  'off') end % Пк р е в о р

а  фг а л

а  ск т е

а  п о  х

if get(handles.chbxGridY,  'Value') % Фа л

г  вн е ч ю л к

, се у д е л

т  дт и в а б о

ь  ли н

и  ск т е

и

1

set(gca,  'YGrid , 'on') else % Фа л

г  вн е ч ю л к ы

, се у д е л

т  ут а р б

ь  ли н

и  ск т е

и

1

set(gca,  'YGrid ,  'off') end % Кк п о н

а  Пт и о р т с о

ь  дн ж л о

а  ст а т

ь  но н п у т с о д е

й  пл с о

е  вд о в ы

а  гк и ф а р

а

set(hObject,  'Enable',  'off') % Кк п о н

а  От и с и ч

ь  дн ж л о

а  ст а т

ь  до н п у т с о

й

set(handles.btnClear,  'Enable', 'on')

З а п с уи т о т б р аж ен и С м ен гр а фи к е ет л ь н п р и л о ж ен и П р о гр а м и р о в а н и фл а г

е   п р и л о ж ен и е  скет а   с о т ян и

и  п р

я  фл аго .  П о л ь з о в а те л и   т и с Оч о   кн оп к я   н а  со стян и

а  и  о от б р а ж ен и

е  mygui  и  убеид тсь и  н аж ит  н а  к н о п к

в   к с те и  н ь   одл ж е н   ь   и   ь т и о П р с от е  флаго в е   да н н ы х   с о б ы ит и  и л и  ск р ы ит

е  п р и в о ид п ер с то и т   е ус л д

,  ч т о   суатн о в к а   фл а го в   в л и яе т  н а у  ПzyxwvutsrqponmlkjihgfedcbaZYXWVUTSR ь т и о р с от . т   к  н ем лдн ы ь   гр а фи к .   Д л я   н е м лд е н н о г т   о п р е дл и т й   з а к л ю ч а е ст

и  со втесюу щ и

м   и з м ен ен и я

м  н а я   п о с л ед в а о   р еа ги р о в а н и я ь   и х  со б ы ит я   C allback. я   в   п р о в ер к е   с о т ян и я х   ли н и й  секти . ,  н аж и м а

С ед л а й т е   ещ к т у и м   фл а г   с е кт а   п о  х   в  р е да к то р е   п р и л о ж ен и й  и  п ер й ид т е  к п о н ф ду к ц и и   chbxG ridx_caiiback  п р и  п о м щ и   в с п л ы в аю щ ег о   м не ю   да н н о г о о б ъ е к ат .  З а п р о гр а м и р йу т е  с о б ы ит е  C allback  фл а г . И с п о л ь з йу т е   а р мг у е н т , hObject  со втесюу щ и х   п о нф д у к ц и й , с о едр ж ащ и й   к у а з ет л ь   н а   о б ъ ек т с о б ы ит е   котрог о   о б р а б ты в а е тс я   в   е кщ т у и й   м о ен т   в р ем н и .  н А а л о ги ч н ы м   образ о м   о б р а б о та й т е   с о б ы ит е   C allback  в то р о г о   фл а г а   к с ет а  п о  у (ли ст н г   11.3).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ^  лД

Пр и м е ча ни

е  

^

я  бы ростг о   о д п х ер а   к  пн укцф идо я н еч а   к н о п к а  Show  functions,   н ижат пс и к а   н пу ф к ц о д и й . Вы об р   н у к ц ф п и до н е й  в  окн е  раекдотр .

м  в  роакредт е   н а  корут и  в   о эт

е   М - й а оф л ю   п ри вод м   п си к е  вчел

в  пн дре за н а т   к  пневлоя и т   о п х ер

ю д  к

586 

аЧс т ь

  III. Преин лояж

 с  ги черсафикм

 и нтей рс фо м

\ zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л ис т ин г   11.3. Обра от к а  с обты и й zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG  C a l l b a c k фл а ог в  с е т к и zyxwvutsrqponmlkjihgfedcba

function chbxGridX_Callback(hObject, eventdata, handles) if get(hObject,  'Value') % Фа л

г  вн е ч ю л к

, се у д е л

т  дт и в а б о

ь  ли н

и  ск т е

и

set(gca,  'XGrid',  'on') else % Фа л

г  вн е ч ю л к ы

, се у д е л

т  ут а р б

ь  ли н

и  ск т е

и

set(gca,  'XGrid1,  'off') end

function chbxGridY_Callback(hObject, eventdata, handles) if get(hObject,  'Value') % Фа л

г  вн е ч ю л к

, се у д е л

т  дт и в а б о

ь  ли н

и  ск т е

и

set(gca,  'YGrid',  'on') else % Фа л

г  вн е ч ю л к ы

, се у д е л

т  ут а р б

ь  ли н

и  ск т е

и

set(gca,  'YGrid',  'off) endzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

М о ди ф и ц и р о в а н н ы е   п о н ф уд к ц и р а т ь   к с те у   п о   к а ж од й   к о р ди н а т гр а фи к а  фну к ц и .

и   п о з в о л яю е   пр

т   п о л ь з о в а ет л и   п ом щ

и   фл а го

ю   н ан о си т в   бе з   п ер с т о ен и

ь   и   би у

я

С ам о ст яель н о   в н ес и т е   од п о л н е н и я   в   п о н ф ду к ц и ю   о б р а б о тк и   с о б ы ит я C allback  к н о п к и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC  ь т и с и Оч ,   о б ес п еч и в а ю щ и е   а д л е ун и е   н е   то л ь к о   гр а фи к а нф у к ц и , н о  и  ли н и й  скети . Ф лаг и   п р е до с а т в л я ю н ес к о л ь к и х   оп ц и й сет я  п р и  п о м о щ

т   п о л ь з о в а ет л . О нд о в р ем н н ы и   п е р к л ю ч а етл й

е П р л ак ч ю т е л М о де р н и з и р й у т е   и н е тр ф й воз м ож н ост ь   вы би рат к ер а )  п р и   п о м щ и   рте ю ст я   п о   и х   п р е дн а з н а ч е н и ю оп ц и ю , т .  е . в сегд а   с аут н о в л е

ю   воз м ож н ост й   вы бо

ь   вы бор а   о нд о й   и л и   ср аз у р  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON ьк о л т  ой он д  о п ц и и   о щ с у е св т л я -

.

и с   п р и л о ж ен и я   mygui, п р едо с ат в ь т ь   ит п   м а р к е р а   (к ржуо к ,  к в а др х   п е р к л ю ч а етл й .  П ер к лю ч аетл ,  и   п о л ь з о в аетл ь   м ож е н   еи д н с в т е н ы й   п е р к л ю ч а е тл

е   п о л ь з о в а те л ю е   м ар т   и л и   о с тв у и и   обы ч н о   г рп у и р у т   вы брат ь   то л ь к о   но д у ь   и з  грпу ы .  К а к

л а Гв

 11. Ксонт руиаоевн

м ы  уж елт

 итен йсраф

е   о мт е ч а л и й   ж с ли у

, дл т   п а н ел

587 zyxwvutsrqpo

я   о б ес п ч ен и я  та к о ь  U ibuttongroup.

й   с о гл а с о в а н н о

й  р а б о т

ы   п ер к л ю ч а

-

Добавь т е   в   окн о   п р и л о ж ен и я   п а н ел ь   U ibuttongroup,  в о с п о л ь з о в а ш и с ь кн оп ко й zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Button Group сред ы   G U I D E.  З а дй т е   и м я  Ти п  ре к р а м а  дл я   э от й   па н ле и   а н а л о г и ч н о   от м у ,  ка к   в ы   о п р едля и   и м я   обы ч н о й   п а н ел и   п р и   раз м е щ ен и и   фл а го в .  Н ан ес и т е   н а   н е е  тр и   п ер к лю ч аетля .  сУатн о в и т е   и х   св о й ст в а м   Tag  З н ачен и я   rbMarkCirc,  rbMarkSq,  rbMarkNone,  a  S t r i n g—  к ргиу , к в р а ды т , б е з   м аркео в  с о втес н н о   (р и с .  11.4).zyxwvutsrqponmlkjihgfedcbaZYXWVUTS

к те С

а Г "  к сте

а  п о  х

Г "  к сте

а  п о  у

\ vzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   axMain  / Ти п р е к мр а а Ј•"  г ур к

('   е б

и  

з о р е кмр а

.  ... L

в

.„-:. ш 11444н ; «  !  :

ifcltj

.Л —

±

[- : f Г  \  \ r- xA  "i:.:.!:: W\ :\ k:y\   I  I  l. 'i-   i •  • PT- .I:: i .J • •  ?  ::;  f I/  i\ h- zyxwvutsrqponmlkjihgfedcbaZY

*"*'   т и о р т с По

ь  1  -  

с иР

т и т с Очи

ь   1 , 

.  11.4.  Днелваибо

е  гп ур

ы  ел ютлакч ерп

С о с т ян и е  п ер к л ю ч аетл я , та к   ж е  к а к  и  фл а г , о п р едляст value,  Max  и   Min, п ри ч е м   п о   му о л ч а н и ю   а М х   с уа т н о в л е н Д л я  в к л ю ч ен н о г о   п е р к л ю ч а е тл я   со в п адю т   з н ач ен и к л ю ч ен н о г о  —  Value  И  Min. З адй т п е р к л ю ч а е тл гр а м ы

е   в   и н с п е к от р

е   св о й ст я   с  н апд и сь

.  З н ач ен и

е   с в о й с вт

ж

' ~

й я   ег о   с в о й с в т а м и о   в   1,  a  M in —  в   0. , а  дл я  вы я  value  и  мха

в   Property  Inspector  з н ач ен и ю   бе з во мре к р а ,  о н  бед у т  в к лю ч е я   ю с ул ед щ и а   value  суатн ав ли в аест

е   1 свой свт н   п р и  з ап сук

у   value е  п р о м   образ ом .

zyxwvu

 III. Преин лояж  с  ги черсафикм  и нтей рс фо м аЧс т ь 588zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

В ы е лд и т жми т ри с

е   п е р к л ю ч а етл е   кн оп к у   в   с рт о к .  11.5.

ь   и  о то б р а з и т е   с   value.  П о яв л ест

Рис

. 11.5. Онк

е   ег о   с в о й св т я   окн

о  Value дл я  ункаво тс

В ы е дл и т е   п р и   п ом ощ и   мы ш и   ср т о к р е д а к ти р о в а н и я   з н ач ен и я  дв о й н ы м жми т е   ОК . О б р а ти т е   в н и м ан и е , ч т з н ач ен и е   value  и з м ен и ло с ь   н а   еи д н и ц у о ре к р а м в  н а  з а го т в к е   окн а   п р и л о ж ен и я и Т п   ре к р а м а  в ы к л ю ч ен ы .  П р е дп о л ж и м и з  п ер к л ю ч аетл й .  П р о и сохди т   о б р ащ ен и о б р а б о тк и   с о б ы ит я   C allback  п ер к л ю ч аетл я м ар к ер о в  л и н и . Оидбсу м   п р о гр а м и р о в а н и с в яз а н о   с  р еш ен и е м   о бщ е й   п р о б л ем ц и ям и .

 Property Inspector,  н а а   в zyxwvutsrqponmlkjihgfedcbaZY о   Value,  и з о б р а ж ен н о е  н а

и  зн ечиа

я

у   с о   з н а ч ен и е м   0.0  и   п ер й ид т е   в   р еж и м   щ ел ч к о м   мы ш и . И з м ен и т е  0.0  н а   1 и  н а о   в   и н с п е к от р е   св о й ст в   Property Inspector ,  и   в к лю ч и лся   п е р к л ю ч а ет л ь   бе з . О сатл ь н ы е   п е р к л ю ч а ет л и   п а н ел и ,  ч т о   п о л ь з о в а етл ь   с у ат н о в и л   оид н е  к  со втесюу щ е й   п о нфд у к ц и и ,  к о т р а я   до л ж н а   и з м ен и т ь  ти п е  э от г о   с о б ы ти я , п о с к о л ь к у   он о ы  —  о бм ен о м   да н н ы м и   м ж ед у   п но фуд к -

И з м ен ен и е   ти п а   м ар к ер о в   ли н и и   н е   п р е сд а т в л я е т   тр уд а —  сел и   и з вест к у а з ет л ь   н а  л и н и ю , т о  до с та о ч н о   о б р а ит ь с я   к  свой свт у   ли н и и  Marker  п р п ом ощ и   н фу к ц и и  set  и  усатн о в и т ь   ег о   в   н ж у о е   з н ач ен и е . Ук а з а те л ь   н а  ли н и ю  в о з в р а щ а е т   н фу к ц и я  p lo t  в  в ы охнд о м   а р мг у е н ет ,  ег о   еслуд т  з а п и с а т ь н ек о т р у ю   п ер м ен н юу ,  н а п р и м е р , Line.  И с п о л ь з о в а т ь   к у а з а ет л ь   н а  ли н и п р и е сд т я   в   р г ди у х   п о нфд у к ц и я х ,  о б р а б ты в а ю щ и х   с о б ы ит е   C allback  п ер

н и  в ю -

л ав Г

  11. Конс т р иу о вани е

к л ю ч а ет л й п р и   вы з ов с я   н е од сп у т н о й я в л ю ст

 и нт е й рс фа

.  О ч ен е   п о н ф ду к ц и

ь   в аж н ,  п о ск о ль к

я  л о к а л ь н ы м

589 zyxwvutsrqpon

 

о   п о н я ть ,  ч т о   п ер м ен н а и  btn P iot_ C aiiback  и  п осл у   вс е   п ер м ен н ы е ,  о п р едл н н ы и  и  п о  о к о н ч а н и и  р а б о т ы   п о н ф ду к ц и

я   Line  и н и ц и ал и з и ресут я е   е е  з ав ер ш ен и я   с ат н о в и т е   в   п о дф н у к ц и , и zyxwvutsrqponmlkjihgfedcbaZYXWV  не .ыне ле  дпро

О бм е н  да н н ы х   м же д у   п о н фд у к ц и я м и  п р о щ е  в сег о   о щ с у е св т и с рк т у ы   h an dles.  П о дфну к ц и я ,  п ер адю щ а я   да н н ы е ,  до л ж н з ап и с ь  да н н ы х   в  н о в е  п о л е  и  сорхан ен и е   ср к т у ы   н фу к ц и е а   han dles  вес х   п онфду к ц и г д а   в о х нд о й   а р г ум е н т —  сркту ж ат ь   до б а в л е н н о е   п оле , в   к о т р о е   з а н ес н о   с о в т ес ю у щ е п р и м ер ,  в   н е к о т р о й   п о н фду к ц и и   м ож н о   с ор ха н и т ь   м ас и handles структур ы   handles.datl = [1.2 3.2 0.1]; guidata(gcbo, handles) а  з а те м , и с п о л ь з о в а т ь   ег о  в  дргоу й  п онфду к ц и и max(handles.datl) В   н аш е м   с ч л уа е  да н н ы е ,  п о лдеж ащ и ли н и ю , со з адн н у ю   в  р ез луь ат с и т е   н е о б х ид м ы е   и з м ен ен и г р а м и р йу т е   о б р а б о тк у   с о б ы ит

ь   п р и  п о м о щ и а   с о ед р ж а т ь й  guidata.  Т о й   е д бу т   с о е др е   з н ач ен и е . Н а в   в   п ол е   d a t lzyxwvutsrq

е   с орха н е н и ю ы   п о н ф ду к ц и

,  яв л ю ст я   к у а з етл м  н а е  р а б о т и  bt n P io t _ caiiback.  Вн е я   в   п о н фд у к ц и ю   b t n P io t C a iib a c k  и   з а п р о й   в   п о н ф ду к ц и я х й   callback  п ер к лю ч аетл

rbMarkCirc_Callback? rbMarkSq_Callback, rbMarkNone__Callback (ЛН И Т С И

П   с ор ха н и т с рт о е н и

е   к у а з ет л и   гр а фи к

Пр

и   П ОМ ОЩ

ь   н а   ли н и а   к о м а н до

И  ф у Н К Ц И

ю   в   п ол е   Line  сркту й   p lo t  и   сорхан и т е   о б н о в л ен н у

Г  11.4):

ы   han dles  п р ю   р с к ут

и   п оу

И   gu id at a;

•   до б а в ь т е   о п е р а то р ы   о б р а б о тк и   с о б ы ит й   Callback  п ер к лю ч аетл й ,  каж ыд й   и з  к о т р ы х   н ан о си т  н а  ли н и ю  со втес юу щ и е   м арк е ы   и л и   б иу р а е т  и х .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л ис т ин г   11.4. Обра от к а  сотбыи й  пе р лакчют е л е й   в  myguiprog  ; zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA :



j

-  

f

u

n

c

t

i

o



v

% Пи н е о р т с о

a

r

a

r

g

o

е  гк и ф а р

u





b

t

n

P

l

o

а  фи ц к н у

t

_

C

a

l

l

b

a

c

k

(

h

O

b

j

e

c

t



e

v

e

n

t

d

a

t

•"

a



h

a

n

d

l

e

s

)

и

х  -  - 2:0.2:2; у  = ехр(- х. % Зс и п а

А

2);

ь  ул е т а з к

я  в  пл о

е  line ср у т к у р т

ы  handles

handles.Line = plot(x, у) ; % Си н е а р х о

е  ср у т к у р т

ы  handles дл

guidata(gcbo, handles);

я  ии н а в о з ь л о п с

я  в  ди г у р

-

х  пя и ц к н у ф д о

х

zyxwvutsrq

590 

аЧс т ь

  III. Преин лояж

 с  ги черсафикм

 и нтей рс фо м

zyxwvu

function varargout = rbMarkCirc_Callback(hObject, eventdata, handles) % Ва р б ы

н  пл е т а ч ю л к е р

ь  м- ы р е к р а г у р к

и

1 инещ мзар set(handles.Line,  'Marker , 'о' ) % 

е  м- в о р е к р а о г у р к

в  н а  и н л

и

function varargout = rbMarkSq_Callback(hObject, eventdata, handles) % Ва р б ы

н  пл е т а ч ю л к е р

ь  м- ы р е к р а т а р д а в к

ы

инещ мзар set(handles.Line,  'Marker', 's') % 

е  м- в о р е к р а о т а р д а в к

в  н а  и н л

и

function varargout = rbMarkNone_Callback(hObject, eventdata, handles) % Ва р б ы

ь  бе

н  пл е т а ч ю л к е р

з   орекрам

в

set(handles.Line,  'Marker',  'none') % и н е л а д у

З а п с и ут

е   п р и ло ж ен и ,  и  убиед ст

ьти

ч а е лт к е   н фу к ц и н е д о с та к о в •   Е сл с у ат н а в л и в а е щ с у ю ве с ту щ е м м а н нд о •   Н а ж ти з ав и си м о ст •   П о в то р н ы н ию

ь   в  то м й   и  о н а  п р и в о ди и  и л и  и х  уадлен и ю . и   п о л ь з о в а ет л

е  о к н о )

т   лю бо у   о б ъ е к ут .

е   н а  Пт ио рсот и  о т  усатн о в л ен н о г , н о  в сегд

й   щ ел ч о а   оид

е   mygui,  о т б р а з и т , ч т о  в о з м о ж н т   к  п о яв лен и .  О дн а к ь   и сп о ль з еу й   п е р к л ю ч а ет л ь

е   гр а фи а   с у ат н о в к ю   с о в т ес ю у щ и о   п ок т   т и с и Оч

  ли н и ь   п р и в о ди

к   п о  о б л а с т н  и з  п ер к лю ч аетл

е  мо р е к р а

и   (со бщ ен и

а  ещ

к   нф у к ц и а   то л ь к

,  н аж

о   о дн о г х   м ар к ер о

е  и н етр ф й

ь   лд я  уалден и ,  т о   п р о и з в о ид ст е   о б   ош и бк

т   к  п очлуен и о   п е р к л ю ч а ет л я

ю   ли н и .

и   п е р к л ю ч а е тл

я   п р и в о ди н   бы т

й   од л ж е

и zyxwvutsrqponmlkjihgf

в  с  ли н

в zyxwvutsrqponmlk   о П р с то о   и з  п ер к лю в   н а  гр а фи с  mygui  и м е т  р я д я   гр а фи к а я   о б р ащ ен и е   в ы в о ид с т

и   бе

ь   с у ат н о в л е н

,  а   з ает м е   к  н е я   в  к о з   м ар к ер о

в  в н

т   к  ег о  в ы к лю ч е .

е -

К о н еч н о , п ер в ы й  н еод с ат к   я в л се т я  сщ у евстн ы м  — п р и л о ж ен и е  до л ж н о р а б о та ь   бе з  о ш и б о к !  П р о щ е  в сег о   з а п р е ит ь   од с у т п   к  п ер к л ю ч аетл ям , ес л и   н е т  л и н и и   н а  гр а фи к е , и  р а з р е ш и т ь   п о сл е   е е  п о яв л ен и я .  О ч е в и дн о , ч т о е с лу д т   в н ес т и   и з м ен ен и я  в  со втесюу щ и е   п о н фду к ц и и  myguiprog,  о б р а .  Н а ж а ти е   н а   т ои П р с т ь   до л ж н о б а ты в а ю щ и е   с о б ы ит я   callback  к н о п о к е   п е р к л ю ч а етл й ,  а   о ч и с кт а   о се й   к н о п к о й  Ои ч о тк р ы в а т ь   од с у т п   к  грпу с ти ь —  з а п р е щ а т ь   д о с п ут .  И та к , се улд т   н ай т и   к у а з а ет л и   н а   п е р к л ю ч ает л и  и  усатн о в и т ь   и х  с в о й свт о   Enabled в  н ж ун о е  з н а ч ен и е   ' on ' и л и  ' off'. П р и з а п с ук е   п р и л о ж ен и я   в с е   п е р к л ю ч а е тл и   од л ж н ы   бы т ь   н е од с п у т н ы ,  т . к . п о л ь з о в а ет л ь   ещ е  н е  п о с рт о и л  гр а фи к  фну к ц и . Р е д а к то с в о й с вт мы ш мы ш и тр

р   свой ст в   п о з в о л яе т   о нд о в р е м н н о   с у ат н о в и т ,  н а п р и м е р ,  Enable,  ц ело й   грп у ы   о б ъ е к то в и   о ид н   и з  п ер к л ю ч аетл й ,  а   о сатл ь н ы е   до б а в л я й т , уедрж и в а я   н а ж от й   < Ctrl> . В  р ез луь ат е  до л ж н и   п е р к л ю ч а ет л я .  Т еп р ь   п е р й ид т е   в   р е д а к то

ь   з н ач ен и е   общ и х .  В ы едли т е   щ ел ч к о м е   в  грпу у   щ ел ч к о м ы   бы т ь   в ы ед л н ы  вс е р   св о й ст в   п р и   п ом щ и

л ав Г

  11. о нКс т р иу о вани е

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH

 и нт е й рс фа

а   св о й ст в   р аз м ещ ен а   н а пд и с ь zyxwvutsrq ,  ч т о   п р о едл ы в аем ы е   с уа т н о в к и   п ро и з о й уд т   лд я   с в о й с т в   ср аз у   в с е х   в ы е дл н н ы х   о б ъ е к то в .  сУат н о в и т е   Enable  в 'o ff1 ,  п р и  з ап ску е   п р и л о ж ен и я  mygui  п ер к лю ч аетл и   н е од пс у т н ы .  О с ат л о с ь к   т ои П р ос т ь  и до п о л н и т ь   п о н ф уд к ц и и   о б р а б о тк и   с о б ы ит я   callback  к н о п о т и с Оч ь   дл я   п р о г р а м н о г о   пу р ав л ен и я   с в о й свт о м   Enable.  О б р а ит ес ь  к ли ст н г у   11.5, соедрж ащ ем у   р т е б му ы е   о п е р а то р ы .zyxwvutsrqponmlkjihgfedcbaZYXWVUT в с п л ы в аю щ ег

.  В врех

о   м ен ю

у   окн

а   р е д а к то р

Multiply  objects  selected,   о з н а ч ю щ а я

I zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Л ист ин г   11.5. Ра зре ш ни е  и  за пре щни е  дос т уп а  к  грпу е  пе р лакчют е л е

й

fu n c t i o n  b t n P l o t _ C a l l b a c k ( h O b je c t ,  e ve n t d a t a ,  h a n d l e s) zyxwvutsrqponmlkjihgfedcba % Вс

е  пл е т а ч ю л к е р

и  дн ж л о

ы  ст а т

ь  дм ы н п у т с о

и  пл с о

е  пи н е л в я о

я  гк и ф а р

а

set(handles.rbMarkCirc,  'Enable', 'on') set(handles.rbMarkSq,  'Enable'  , 'on') set(handles.rbMarkNone,  'Enable', 'on') function btnClear__Callback(hObject, eventdata, handles) % Вс

е  пл е т а ч ю л к е р

и  дн ж л о

ы  ст а т

ь  нм ы н п у т с о д е

и  пл с о

е  ок т с и ч

и  ое с

й

set(handles.rbMarkCirc,  'Enable', 'off') set(handles.rbMarkSq,  'Enable', 'off') set(handles.rbMarkNone,  'Enable', 'off')

П ер в ы о хи д м с ау т н о в л е н н о м е уд ви т

й   н е од с а т о   с е дл а т т   н ай т ь  со втес юу щ и

к   и н е тр ф й с ь   та к ,  ч от б у   п е р к л ю ч а ет л ю

а   п р и л о ж ен и я   mygui  срутан ен .  Т еп р ь   н ео б ы   п р и   п о с рт о е н и и   гр а фи к а   ит п   м а р к е р а   о вт е ч а .  О ч ев и нд о , ч т о   п о сл е   вы вод а   гр а фи к а   сле ь   с о   з н а ч ен и е м   value,  р а в н ы м   е ид н и ц е , и   саутн о й   ит п  м а р к ер а  (ли ст н г   11.6).

и   п е р к л ю ч а е тл

л -] :

function btnPlot_Callback(hObject, eventdata, handles) if get(handles.rbMarkCirc,  'Value') % Уе л в о н а т с

н  пл е т а ч ю л к е р

ь  м- ы р е к р а г у р к 1

set(handles.Line,  'Marker , 'o') end if get(handles.rbMarkSq,  'Value')

и

592 

аЧс т ь

% Уе л в о н а т с

н  пл е т а ч ю л к е р

 III. Преин лояж

ь  м- ы р е к р а г у р к

 с  ги черсафикм

 и нтей рс фо м

zyxwvu

и

set(handles.Line,  'Marker', 's') endzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Т еп р ср т о е н и

ь   ит

О сатл п е р к л ю ч а е тл в ен ы о нд о г з н а ч ен и е л о ж ен и н ит вй у т

п   м ар к ер о и  г р а ф и к а

в   о п р е дл я с т

я   с а ут н о в л е н н ы

м   п е р к л ю ч а е тл

м   пр

и  п о

-

.

ь   н ер ш ен н о

й   о нд

а   п р о б л ем а

.  П р и   п о в т р н о м   щ ел ч к е   п о   о бласт и ,  н о   в сегд а   од л ж е н   бы т ь   с уа т н о в л е н   и де н с т .  Д а н н ы й  н еод сат к   с р ут а н я е с т я   с  п ри в леч н и е м  ещ е о   з н ач ен и я   in a c t ive  с в о й свт а   Enable.  П ер к л ю ч аетл ь  с о   in a c t ive  явлсет я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED   ,акен тмивын  о н   в ы гляид т   в  р а б о та ю щ е м   п ри к  до спут н ы й   п е р к л ю ч а е тл ь   (с о  з н ач ен и е м   on), н о  п о п ы тк а  и з м е е  да н н о г о   п е р к л ю ч а е тл я   н е  п р и в о ид т   к  успу хе .  соУв ерш ен ст у   с о б ы ит й  со гласн о   ю су л е д щ е м у   а л г о р и мт у . я   о н   в ы к л ю ч а е ст я

й  п ер к л ю ч аетл ь о   воз можн ог м и  к а ь   с о т ян и е  о б р а б о тк

1.  С в о й с вт в а е ст я н е  з а д т 2.  П р с в а и в а ес т р е к л ю ч а ет л

о   Enabled  п ер к л ю ч аетл я ,  до л ж н о   и м ет ь   з н ач ен и ь   on дл я  дргиу х  п ер к лю ч аетл й

и   н а ж ит

,  с о б ы ит е   C allback  к о т р о г е   in a c t ive,  а   лд я   о сатль н ы , т о  вс е  он и  сатн у

х   в ду т  н еа к ит в н ы м и

о   о б р а б ты х   on. Е сл

и .

и   н а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED   т и о П р с то ь   с в о й вс т у   Enable  все х   п ер к лю ч аетл й   п ри я   on, а  з ает м   о п р е дл я с т я   с ау т н о в л е н н ы й   в  да н н ы й   м о ен т  п е я  З н ач ен и е   in a c t ive. ь   И  В  Enable  З ан оси т

Доп олн и т е   п о нфд у к ц и и   btn P lot_ C allback,  rbM arkCirc_Callback, rbMarkSq__Callback  И   rbMarkN one_Callback  н ео б хид м ы м и   о п е р а то р а м и (ли ст н г   11.7).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA -   ин

е щ ло к ч

!  .П Г   ! ц . е до вт р ащ е н и м  м шы и

е  вzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH ле ч к ю ы н и я  пе р лачкют е л я   п о в то р н ы м

function btnPlot_Callback(hObject/ eventdata, handles) % Пс и о к  уг о н е л в о н а т с о  пл е т а ч ю л к е р я  и  ои н е л д е р п е  ео г if get(handles.rbMarkCirc, 'Value') set(handles.rbMarkCirc,  'Enable', 'inactive') end if get(handles.rbMarkSq, 'Value') set(handles.rbMarkSq,  'Enableќ, 'inactive') end if get(handles.rbMarkNone, 'Value') set(handles.rbMarkNone,  'Enable', 'inactive') end

, ка

к  нг о н в и т к а е

о

Глав

 11. Конструивае

 интерфйса

 

593zy

function rbMarkCirc_Callback(hObject, eventdata, handles) % Пь л е т а ч ю л к е р

, си т ы б о

% нм ы н в и т к а е

е  кг о р т о

, а  оы н ь л а т с

о  оя с т е а в ы т а б р б

е  — ам ы н в и т к

, де ж л о

н  ст а т

ь

и

set(hObject,  'Enable',  'inactive') set(handles.rbMarkSq,  'Enable', 'on') set(handles.rbMarkNone,  'Enable', 'on') function rbMarkSq_Callback(hObject, eventdata, handles) % Пь л е т а ч ю л к е р

, си т ы б о

% нм ы н в и т к а е

е  кг о р т о

, а  оы н ь л а т с

о  о ястеавытаб рб

е  — ам ы н в и т к

, де ж л о

н  ст а т

ь

и

set(hObject,  'Enable', 'inactive') set(handles.rbMarkCirc,  'Enable', /on 1 ) set (handles . rbMarkNone,' ' Enable ' , ' on' ) function rbMarkNone_Callback(hObject/  eventdata, handles) % Пь л е т а ч ю л к е р

, си т ы б о

% нм ы н в и т к а е

е  кг о р т о

, а  оы н ь л а т с

о  о ястеавытаб рб

е  — ам ы н в и т к

, де ж л о

н  ст а т

ь

и

set(hObject,  'Enable', 'inactive') set(handles.rbMarkSq,  'Enable', 'on')

set(handles.rbMarkCirc,  'Enable', 'on')zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK

П рави ль н а ч еу т з о в а ет л

а   в се

я   о б р а б о тк х   с и а у цт и й я  с  п р и л о ж ен и ем

И сп оль з ован и етл й п р е лд а г е м ы

.  л Аь етр н аит в н ы

Сп и с к

и

а   п е р к л ю ч а е тл ,  к о т р ы

й   (см е   м о гу

т   в о з н и к н ту

.  ли ст н г ь   пр

и   11.4—11.7)  ртеб у и   в з а и м о ед й с в т и и   п о ль

т -

. е   к н о п о к - п е р к л ю ч а етл й   сп ос

х   оп ц и

б   вы бор т   р ас к р ы в аю щ и ес

й  р еа л и з юу

М о де р н и з и р й у т е   и н е тр ф й воз м ож н ост ь   вы бор а   ц в ет (си н и й ,  к р а с н ы й , з ел н ы й ) п р и   п ом щ и   п а н ел и   пу р а в л ен и н ови т е  в  и н с п ек отр е  свой ст

с  п р и л о ж ен и а   ли н и . П ер й ид т

й  н и ч е м  н е  о лти ч аест а   п о л ь з о в а ет л я  сп и ск и

я  mygui,  п р еод сатв ь т и   гр а фи к а   и з   р а с к р ы в а ю щ е го с е  в   реж и м   р е д а к ти р о в а н и я   раск ры в аю щ и й с я   сп и со в  Property Inspector Tag в  з н ач ен и

я   о т   п ер к л ю ч а м   то л ь к о   о нд о й  и з .zyxwvutsrqponmlkjihgfedcbaZYX

е   п о л ь з о в а ет л я   сп и ск я   и   до б а в ь т к   (р и с . 11.6).  астУ е  pmcoior.

ю а е -

 III. Преин лояж  с  ги черсафикм  и нтей рс фо м аЧс т ь 594zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

С к ет

zyxwvu

а Г "  с е тк

а  п о  у

и Т п   м а р ек

*С   кр у г

zyxwvutsrqponmlkjihgfedcbaZ

а и

С   к в а др а т

ы

• '{* б е з  м а р к ер о

в

zyxwvutsrqponmlkjih

_

\  Pop- up Menu

тио р ст П

ь

Рис

.  11.6. Днелваибо

е  рыюркасвщо ге

я  спкис

а

Э л е м н ат м и   р а с к р ы в а ю щ е го с я   сп и ск а  яв ляю ст я   с тр о к и , к о т р ы е   в о яд с т я  в и н с п е к от р е   свой ст в   Property  Inspector.  Н а ж м и т е   кн оп к у   в   с рт о к е   с о   св о й ст в о м   st r i n g  р а с к р ы в а ю щ его с я   сп и ск а ,  п о яв л сет я   окн о   String.  В   о б л а с т и в од а   ет к с а   з ам ен и т е   етк с т   "Pop- up  M enu"  н а   срто к и   "с и н и й " , "к р а с н ы й " , "з ел н ы й "  (бе з   к а в ы ч ек ) , р а з едл я я   и х   п р и   п ом щ и   < Enter>  (р и с .  11.7)  и  н а жми т е  О К . З а п с иу т ебм у ы

е   mygui  и   буеид тсь е   с рт о к и . В ы б о р   раз ли ч н ы т а   ли н и и  —  ртебсу я   з а п р о гр а м и р о в а т го с я  сп и ск а . О б р а б о тк н и и   вы бор С в о й с вт о рю у с т я   с г р а м и р йу т switch  лд с рт о к и  сп и ск

,  ч т о   р а с к р ы в а ю щ и й с х   с рт о к   п ок

я   сп и со

а  н е  п р и в о ди ь   с о б ы ит

а   с о б ы ит я   C allback  р а с к р ы в а ю щ его с а   п о л ь з о в а ет л я   и   с о в т ес ю у щ е   сп и ск а   value  со едр ж и т   н ом е р   вы бран н о   е ид н и ц ы .  П ер й ид т е   к   п о н ф ду к ц и е   о б р а б о тк у   вы бор а   п о л ь з о в а ет л я я   с уат н о в к и   ц в ет а   ли н и и   в   з ав и си м о ст а  (ли ст н г   11.8).

к   с о ед р ж и т   к  и з м ен ен и е   callback  р а с к р ы в а ю щ е

т   рте ю  ц ве

я   сп и ск а  с о с т и т   в   о п р е дл м   и з м ен ен и и   ц в ет а   ли н и й   с тр о к и ,  к о т р ы е   н м еу и   pmCoior_caiiback  и   з а п р о .  И с п о л ь з йу т е   о п е р а то и   о т   н о м ер а   вы бран н о

. й

р

л ав Г

  11. о нКс т р иу о вани е

595zyxwvutsrqponmlkjihgfed

 и нт е й рс фа

ш и ш щ яш

tin

с ин р с ак н ы зел ны

й

й й

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

ок

CancelzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK

  11.7.  нкО о  StringzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Рис .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH

.8.  Обра от к

а  вборы

а   п о л з ь ва т е л

я  и з  ра сревыкщюгос

я  спик

а zyxwvutsrqpon

function pmColor_Callback(hObject,  eventdata, handles) % Ои н е л д е р п

е  нр е м о

а  во н а р б ы

й  к о р т с

и

Num = get(hObject,  'Value'); switch Num case 1 % Вн а р б ы

а  па в р е

я  са к о р т

, се у д е л

т  ст а л е д

ь  ли н

ю  се н и

ь  ли н

ю  ко н с а р

ь  ли н

ю  зо н е л

й

1

set(handles.Line,  'Color ,  'b'); case 2 % Вн а р б ы

а  ва р о т

я  са к о р т

, се у д е л

т  ст а л е д

й

1

set(handles.Line,  'Color ,  'r'); case 3 % Вн а р б ы

а  ть т е р

я  са к о р т

, се у д е л

т  ст а л е д

й

set(handles.Line,  'Color1,  'g'); end

З а п ис т у то м н уф к ц и

е   п р и л о ж ен и е ,  ч т о   р аск р ы в аю щ и й с . 20 

Зка

.  130

, п о срт й т я   сп и со

е  гр афи к к   п о з в о л яе

, н аж

в   н а  Пь т ио р тсо т   и з м ен ят

,  и  уибедст

ь   ц ве

т   ли н и

ь  в и   гр а фи к

а

596 

Н ес л о ж н

аЧс т ь

, ч т

о  з а м еит ь

•   п о в то р н о к р ы в аю щ ем с

  III. Преин лояж

о  и н ерфйт

е   п о с рт о е н и

с  mygui ещ е   гр а фи к

я   сп и ск е

•   вы бо р   ц в ет а   пр (h an dles. Line  куаз ы в ае

 с  ги черсафикм

е  име

а  н е  учи ыт в ает

т  р я   е к тщ у и

zyxwvuts

 и нтей рс фо м

д  н еод сатк о в

: й   вы бо

р   ц в ет

а  в  рас

-

; и   о с вт у и

и   ли н и

и   н а   гр а фи к й   о б ъ ек )т

т   н а  н щесу юевсту щ и м   р т е бс у

я   р а з м е с ит

ь   е тк с

е   п р и в о ди ; ,  п о яс н яю щ и

т   к   ош и бк

е

•   р я од сп и ск а

м   с о   сп и ск о .

й   н а з н а ч ен и

е

с У рт а н и т о б р а б о тк с рт о е н н о (ли ст н

е   п ер в ы й   н е до с а т о к ,  п о м есит е   в   п о н ф ду к ц и и   bt n piot caiiback   т и о П р сто ь   бло к   switch  лд я   з а д н и я   ц в ет а  п о и   н а ж ит я   кн оп к и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI й   ли н и и   в   з ав и си м о ст и   о т   с о т ян и я   р а с к р ы в а ю щ е го с я   сп и ск а г   11.9). zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA т  с ос т ония я  ра есрвыщкгюо я  списк а  пр и  построени и г   11.9. Уеч а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Л ист ин и гр к а ф

function varargout = btnPlot_Callback(hObject, eventdata, handles) % Ои н е л д е р п

е  нр е м о

а  во н а р б ы

й  ск о р т

и

Num = get(handles.pmColor,  'Value'); % Ук в о н а т с

а  тг о м е у б е р

о  цт е в

а  ли н

и

switch Num case 1 set(handles.Line,  'Color1,  'b'); case 2 set(handles.Line,  'Color1,  'r'); case 3 set(handles.Line,  'Color',  'g'); end

И з м ен ен и е   ц в ет а   ли н и и   п р и  освтуи и   гр а фи к а   л и ш ен о   см ы сла ,  п о э т м е с ул д т   з а п р е ти ь   од су т п   п о л ь з о в а ет л я   к  р ас к р ы в аю щ ем су я   сп и ск у ,  и , н а п р о ти в , р а з р е ш и ть ,  п р и  п о срт о ен и и   гр а фи к а .  В  н ач л е   работ ы   п р и л о ж ен и сп и со к   од л ж е н   бы т ь   н п о е д су т н   лд я  п о л ь з о в а етл я .  сУта н о в и т е   в  и н с п ек от р я   сп и ск а   Enable  в   з н а ч ен и св о й ст в   Property  Inspector  лд я  р а с к р ы в а ю щ его с off.  В н еси т е   н е о б х ид м ы е   до п о л н е н и я   в   п о н фду к ц и и   b t n p i o t c a i i b a c k  b t n c ie a r C a iib a c k,  со втес юу щ и е   н а ж ит ю   н а   кн оп ки ,  и с п о ль з йу т ВТСЙО

О  СКСИП

а  Enable (ЛНИТС

Г  11.10).

у я е е и е

л ав Г

  11. о нКс т р иу о вани е

истин Л I 

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM 597zyxwvutsrqp

 и нт е й рс фа

г  11.10. Разрешени

е  и  запрещени

е  доступ

а с у  м е щ к ю а в ы р к с а  р

я  списк

у

function varargout = btnPlot_Callback(hObject,  eventdata, handles) % и н е ш р з а Р

е  дп у т с о

а  к с р умещюавыркса

я  ск с и п

у

set(handles.pmColor,  'Enable', 'on') function varargout = btnClear_Callback(hObject/  eventdata, handles) % Зи н е щ р п а

е  дп у т с о

а  к с ру м е щ ю а в ы р к с а

я  к с и п с

у

set(handles.pmColor,  'Enable', 'off')

*} zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   и а Вз у л ц я  Фи ц кн у й zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

.  к т е С

а

а  п о  х zyxwvutsrqponmlkjihgfedcbaZYX

J  P  к тсе

|  I  r

p" ск т е а  п о  у • . .../........;.;.;.,:.L,  ;. ..

  и Т п р ме к р а

а

1  С   Kpyrvt 1  (*  т ар д в к ы

Г   Г * бе з о мр е к р а

ти с ч О

е  э лем н т

ы  и н етр ф й с а ь  п о ясн яю щ и

т  ли н

I си н

й

и

ь

Рис М н о ги е т  с о п р о в ж адт

ев Ц

в

.  11.8. Днелвиабо , в  ч а с нт о с ит м  етк с от м

е  ттске

а

, р а с к р ы в а ю щ и ес . П ер й ид т

е  в  реж и

я  сп и ск и м  редакти р о в а н и

,  у делс

я

598 

аЧс т ь

и   п р и   п ом ощ Text)  н а д   с п и с к о м S t r i n g  В  Ц в е

ек ат ще

и   п а н ел

и   пу р ав л ен и

т   ли н и и

е   кн оп к е   и ме

  с  ги черсафикм

я   р а з м е с ит е   в   и н с п е к от р

.  сУатн о в и т

,  и сп о ль з йу т е  п р и л о ж ен и

 III. Преин лояж

е   ет к с о в у е   св о й ст

ю   о бласт ь   (Static в  zyxwvutsrqponmlkjihgfedcbaZ Property  Inspector

,  a  H o r i z o n t a l A l i g n m e n t  В   l e f t   ДЛ

и  в  срто к а т   бо ле е   н а г л я нд ы

П р о гр а м и р о в а н и е   с о б ы ит в о ид с т я   п р а к ит ч е с к и   а н а л о ги ч н о сп и ск а х   м ож е т   бы т ь   в ы едл н р ы х   е д бу т   я в л ьт с я   з н а ч ен и е к и х   э л е м н от в   о п р е дл я с т Max- Min  б о л ь ш е   е ид н и ц ы с рт о к .

х   с  н а з в а н и ям й   и н е рт ф й

zyxwvutsrq

 инте й рс фо м

и   с в о й с вт с  (р и с

Я  д о б а в л е н н о г

о   объ

.  Т еп ер .  11.8).

-

ь   р а б о та ю

-

я   CaiiBack  о б ы ч н ы х   сп и ск о в   ( L ist bo x)  п р о и з , ч т о   в   о бы ч н ы .  О лти ч и е   со ти т   в   то м о   н ес к о л ь к о   э л е м н от в ,  м ас и в   н о м ер о в   кот м   с в о й свт а   value.  Р аз р еш ен и е   вы бор а   н ес к о л ь и   раз н о ст я   з н а ч ен и ям и   св о й ст в   ам х   и  Min. Е сл ,  т о   п о л ь з о в а етл ь   м ож е т   в ы ед л и т ь   н ес к о л ь к

х ь о

С о ед р ж и м о е   сп и ск о в   м ож е т   бы т ь   с уа т н о в л е н о   и л и  и з м ен ен о  и з  п р о гр а м ы , я   в   к а ч е с вт е   з н а ч ен и я л д я   ч е г о   ф о р м и р е с ту я   м ас и в   с рт о к   и  усатн ав ли в аест с в о й свт а   st r in g.  З н ач ен и е м   с в о й с вт а   st r i n g  м ож е т   ат к ж е   бы т ь   м ас и в  яче ек , соедр ж ащ и х   с тр о к и , и л и  о нд а   с тр о к а , в  к о т р о й   э л ем н т ы   сп и ск а   р а з ед лен ы  си м в о л м   в е р ит к а л ь н о й   ч ер т ы   |.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM

лос П

ы  срокл инг

а

с У о в е р ш е н с вт й у е   и н е тр ф й с  п р и ло ж ен и я  mygui, п р едо с атв и воз м ож н ост ь   с у ат н а в л и в а т ь   ш ир н у   ли н и и   п р и  п о м щ о   п р и л о ж ен и га .  Д о б а в ь т е   п ол с у   ск рол и н г а   ( S li d e r )  в   о к н и м я   scrwidth  в  св о й свт е   Tag. С н а б ди т е   п ол с у   скрол и н г н е ие м  "Т о л щ и н а  л и н и " та к  ж е , ка к  и  р а с к р ы в а ю щ и й с

^ ^  Пр и м е ча н и П ро ст ск р о л и н г Ви р е т к ал ь н о ш ирн го р и з о н а л т ь н п о р г м ля ь н у и мы ш и Т еп р и  ч и сло в ы 1.  В  ма скрол и н г п ер м щ ен и

ь   е су л д

т  о п р едл и т м   з н ач ен и е е   юс л у е д щ и х   з ан ес и т

а   ет к с от в ы я   сп и со

к  (р и с

ю е  е й м   п о яс .  11.9).

е   ^[

й   щ ч ол е к   мы ш ь ю   в   ок н а   п ри в о д т   к   н п е лв яо и е   ил и  гори з он альтн о ы   и  вы сот ы   п со л ы   ск р о л и н а г о   р сап о л ж н е о й   к   п ос л ы   ск р о л и н аг .

П р о де л а й т

в   п о л ь з о в а ет л ы   ск рол и н я   и  з а д й т

и   п ол с

ь   с о вт е с и м  е е  св о й свт е   с ау т н о в к

е   де с я ь т а   о вт е ч а ю и   б е нг у к а

е   п и р н ож л е ю   и в ре т к а л ь н е   н п а р н в ел и

я   п р и   о б а вд л не и о   р ас п о л ж не о е   з ав и с т   о т   н ос т ш н е и е   р аз м е р   лд я е   г ве с о   з р ас у   я   н ао ж т й   ву е л

.  И з мне и т .  П рощ

п о л сы ,  жриеавд у

е   м ж ед а   value.

у   п о л ж ен и е

и   и з  р е да к то р

а   с в о й с вт

.

.  С в о й с вт ,  з ап и с ы в аем ы

а   ам

,  а   в   M in —  еид н и ц у т   з а   гр а н и ц ы   з н ач ен и й .

м   б ен г у к

и   п ос л й   п о л сы

ы . я

  н ч е п и у ло н ар и с о в ат ю   к н оп к а   п ол с

х   и  Min п о л с х   в   value, п р

я ь у ы

ы и

л ав Г

  11. Конс т р иу о вани е

599 zyxwvutsrqpon

 и нт е й рс фа

к те С

а

V  к сте

а  п о  х

Г "  к сте

а  п о  у

Ти п  мр е к р а

а

С * г у р к

м

Г " т ард в к

Цве

ы

(*   е б

з о р е к р а л г

т  ин л

и

в

zyxwvutsrqponmlkjihgfe

zyxwvutsrqponmlkjihgfedcbaZY

Ц синй Толщин

т ио р ст П

ь

ти с ч О

с Ри

2.  О п р едли т кн оп к ри с

а  и н л

и

zyxwvutsrqponmlkjihgfedcbaZ

ь

. 11.9. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Днелваибо е  псол ы  силнорк г а

е   н ач ль н о е   п о л ж ен и е у   в   с рт о к е   с  н аз в ан и е м   с в о й с вт а .  11.5)  и з м ен и т е  з н ач ен и е  н а  еид н и ц у

,  з а п и с а

в   в   value  еид н и ц у ,  и  в   п о яв и в ш ем с я   окн .

.  Н а ж м и т е е  Value  (см .

3.  О б р аит ес ь   к   с в о й вс т у   siid e r st e p .  Е г о   з н ач ен и е м   я в л ес т я   в е к от р  и в уд х   к о м п о н ен т , п ер в а я  и з  к о т р ы х   о п р е дл я т   о нт о с и ет л ь н о е  и з м ен ен и value  п р и   н аж ит и   н а   кн оп к и   с о   с рт е л к а м и   п ол с ы   с к р о л и н га ,  а   в от р а я   —  п р и   п ер атс к и в ан и и   б ен г у к а   мы ш ью .  Д л я   то г о   ч от б ы   н а ж ит е  н кн оп к и   п ол с ы   и з м ен ял о   value  н а   едсят ь   п р о ц е н то в ,  а   щ елч о к   мы ш сп рав а   и л и   с л ев а   о т   б ен г у к а   н а   д в а д ц а ть ,  е сулд т   с у ат н о в и т ь   з н ач ен и [0.10.2]  св о й свт а   siid e r st e p .  Р а с к р о й т е   ср т о к у   si i d e r st e p  щ елч к о мы ш и   п о   з н ак у   п лю с   с л ев а   о т   н аз в ан и я   с в о й с вт а   и  в   п о яв и в ш и сх я   с рт о ка х   х  и  у  в в еид т е   0.1   и  0.2  (р и с . 11.10). О с а тл о ь   з а п р о гр а м и р о в а т н е м   scrwidth,  к о т р о е   со ти н ом у   з н ач ен и ю   value.  П ер й ид т бав ь т е   в  н е й  о п е р а то р   с ау т н о в к

ь   с о б ы ит е   C allback  п о л с ы   скрол и н г а   с  и ме т   в   з адн и и   ш и ри н ы  л и н и , р а в н о й   о к г р л еу н е   к   п о н ф ду к ц и и   scrwidth _ caiiback  и   од и   ш и ри н ы  ли н и и  (ли ст н г   11.11).

з е а и е м -

аЧс т ь

600

 с  ги черсафикм

zyxwvu

 и нт е й рс фо м

. 11.10. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH  Вов д  зн ечиа й  SliderStep zyxwvutsrqponmlkjihgfedcb

с иР

|  нитсиЛ

 III. Преин лояж

".'

г  11.11. О С

итыбос

я  Callback  сол п

ы г н и л о р к  с

а zyxwvutsrqponmlkjih

function scrWidth_Callback(hObject, eventdata,  handles)zyxwvutsrqponmlkjihgfe % Пи н е ч у л о

е  шн и р

% н а  пс о л

е  сг н и л о р к

ы  ли н

и  в  зт с о м и с в а

и  о т  пи н е ж о л

я  бк н у г е

а

а

width = get(hObject,  'Value'); % Ук в о н а т с

а  тн и щ л о

ы  ли н

и

set(handles.Line,  'LineWidth1, round(width))

З а п с иу т е   mygui  и   беуид тсь ,  ч т о   п о л с а   ск рол и н г а   п о з в о л яе т   л е гк о   и з ме н я т ь   от л щ и н у   ли н и и   п о с рт о е н н о г о   гр а фи к а .  сУрт а н и т е   с а м о с т яел ь н о   не котры е   н еод ч т ы   и н е тр ф й с а .  П о л с а   ск рол и н г а   до л ж н а   бы т ь   н п о е ду с т н о й   п о сл е   о ч и с кт и   о се й   к н о п к о й   ь т и с и Оч ,   п о с рт о е н и е   гр а фи к а   пр и м   с уа т н о в л е н н о й   ш и ри н ы   ли н и . п ом ощ и   П о с рт о и т ь   п р о и з в е ид т е   с   ч о еу т Дан н ы е   н е од с а т к и   и с п р а в л я ю ст я   в н ес н и е м   с о вт ес ю у щ и х   и з м ен ен и й  в о б р а б о тк у   с о б ы ит й   C allback  п ер ч и слен н ы х   кн оп о к  та к   ж е ,  к а к   и  в   п реыд щ уд и х   р а з де л а х .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

ь  вдов

б лО а с т О бы ч н ы п р еы д щ у и п р и ло ж ен и я л о ж ен и е п о л ь з о в а ет л рт е бс у

а  т е скт

е   ет к с о в ы

е   о бласт

х   р а з де л о в .  О бм е м   о щс у е с в т л я ю   воз м ож н ост я   п о с тр о и ть

а и   (Static Text),  и с п о л ь з о в а ш и ес т   ли ш ь   в ы в ес т и   н ек о т р ы й   и н фо р м а ц и е й   м ж де у   п о л ь з о в а ет л я   п р и   п ом щ и   о б л а с ет й   в од а   ет к с ат ь   в ес т и   в ы р аж ен и е   л д я   нф у к ц и

я   н а   п р о ят ж е н и й   ет к с т   в   окн м   и   п ри .  П р е до с та в ь т , гр а фи к   котро

,  п о з в о л яю н   ет к с от в

В  тиладу

о е й

.

Добавь т е   в   окн о   п р и ло ж ен и я   о бласт ь   в од а   ет к с ат ,  суатн о в и т Tag  в   з н ач ен и е   editF un  и  с н абид т е   е е   п о яс н ен и е м   в   ет к с о в п о л ж ен н о й   вы ш е  та к , к а к   п о к а з а н о   н а  р и с .  11.11.  П р и  з ап ску mygui  с рт о к а   лд я   в о д а   н фу к ц и и  до л ж н а   бы т ь   п с уо т й ,  п о э тм ТСЙОВ

и

е  И З  String КОрТС

е   е е   с в о й с вт й   о б л а с ти е   п р и л о ж ен и у   в   р е д а к то р

о ,  р а с

я е

у  Edit Text.

Н абран н а я   с рт о к а   в   о бласт и   в од а   до л ж н а   с о ед р ж а т ц и и   с   ч о е ту м   п рав и л   з ап и с и   п о э л ем н т ы х   о п ер ац и й с рт о к и   я в л се т я   з н а ч ен и е м   с в о й свт а   st r i n g  о б л а с т

ь   в ы р аж ен и

е   лд .  С о едр ж и м о

и   в о да

,  ег о   н ад

я   н уф к е   э от о   е д бу

й т

л ав Г

  11. Конс т р иу о вани е

 и нтей рс фа

601 zyxwvutsrqpo

ь   в   inline- н фу к ц и ю   п р и   п р о гр а м и р о в а н и и   с о б ы ит я   кн оп к и zyxwvutsrq ь   в е к от р   з н а ч ен и й   н фу к ц и и   (с о з адн и е   inline- нфу к ц и й о zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  в  р.азд   "Ве ы ативрс ме  и  ае ын имон укн ц и "ф  гав ы л  6).

п р ео б р аз о в ат

ь   и  в ы ч и с л и т

т и о П р сто

о п и сан

Ц  



'  ,Й Г . Ч

-  

".V**

г  г zyxwvutsrqponmlkjihgfedcbaZYXWVUTS к те С

а

Ти

Г   к с те

а  п о  х

Г   к с те

а  п о  у

п р  е кмр а

а

Г *  гур к

и

. Н а п р и , 'mygui1,  'No');

е  н аж ит

е    э к в и в а л ен нт

о   вы бо

-

л ав Г

 12. Диалогевы

Чи с л п р и м ер

о   кн оп о , сюлуед щ а

 онак

 и  м еню

к  и   н пад и с

и   н а   ни а  о б р а щ ен и

я   фо р м

button = questdig('От и с и ч

п р и в о ди т   к  п о яв лен и к о м   mygui  и   вмду вы бо р   Н ет .

 преин лояж

ь  о? ис '

ю  ди а л о г в о г я   к н о п к ам

611 zyxwvutsrqpon

 

х   о п р е дл я ю с т

я   с о з а е д лт м   п р и л о ж ен и я , н а и  questdigzyxwvutsrqponmlkjihgfedcb

я  к  фн у к ц и 1

, 'mygui ,  'Д' а

о   окн и  Д а   и   Н ет

а   с  тек сот ,   п ри ч е

, 'Н' те

, 'Н' те

)

м zyxwvutsrqponmlkjihgfedcbaZYXW  т и тс и Оч ь  о?ис ,  з а го л в м   н а ж ит е     з а м ен яе т

Ди алог во е   окн о   mygui  явлсет я   м о ад л ь н ы м   —  о н о   н е п ер й т и   к   окн у   п р и л о ж ен и я , дргиу м   гр а фи ч е с к и м   окн а окн о   M ATLAB,  п о к а   о н о   о тк р ы то ,  т . е .  н е   еслда н   вы бо Cancel.  Лю б о е   гр а фи ч е с к о е  о к н о  м о ж н о  селдат ь   м о да л ь н ы м е т   с уат н о в и т ь   ег о   с в о й с в т о   windowstyle  в   з н ач ен и е 'n orm al'  жслиу т   лд я  п еро дх а   к  о б ы ч н о м у   п о в е дн и ю  о к н а

  а д е т   п о л ь з о в а ет л ю м   и л и   в   к о м а н дн о е р   м ж ед у   Yes,  No  и , дл я   ч ег о   услде   'm odal'.  З н ач ен и е .

К ром е  и с п о л ь з о в а н и я  фн у к ц и и  questdig, в о з м о ж е н   в то р о й   сп ос б  с о з адн и я м о да л ь н о г о   ди а л о г в о г о   окн а   и   и сп о ль з о в ан и я   ег о   в   п р и л о ж е н и .  В   о к н е GUIDE  Quick  Start  (к о т р о е   п о я в л ес т я   п р и   з а п с ук е   с р ед ы   G U I D E  к о м а н од й  guide  и л и  п р и  п еро дх е   в  мне ю  File  сред ы   G U I D E  к  пн у кт у   New) се улд т в ы брат ь   с о з ад н и е   м о да л ь н о г о   ди а л о г в о г о   окн а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO   (с.м  .аздр   а де р С  GUIDE" ав ыг л  10). П осл е   фо р м и р о в а н и я   м о да л ь н о г о   окн а   в   с р ед е   G U I D E  о н о   сорхан яест я  в фа й л е ,  к   п р и м ер у ,  в   modaldlg.fig.  П р и   э от м   со втес юу щ а я   м е у   фа й л н фу к ц и я   с   п о н фду к ц и я м и   з а п и ш ес т я   в   фа й л   modaldlg.m.  К о гд а   р т е бс у я от браз и т ь   н а  э к р а н е  м о да л ь н о е   окн о , в   о с н о в н о м   п р и л о ж ен и и   в ы з ы в а е ст я э т а   фа й л - нфу к ц и я . Е е   в ы охнд о й   а р мгу е н т   с о едр ж и т   ср т о к у   с   н а пд и с ь ю  н а н а ж от й   кн оп ке ,  и   э т о   з н ач ен и е   п р и м е н я се т я   лд я   в ы п о л н е н и я   с о в т ес вю у щ е г о   блок а   о п е р а то р о в .  З а м еьт ,  ч т о   н апд и с и  Yes  и  N o н а  к н о п к а х  м о да л ь н о г о   окн а   м ож н о   и з м ен и т ь   н а  дргиу е   (н а п р и м е р , Д а   и  Н )ет ,   о б р ащ аяс ь К   И Х   С В ОЙ С ТВ

У   St rin g.

е Э то т   сп о с б   п о др о б н о   оп и са н   в   сп рав о ч н о й   с и ем т е   MATLAB  н а   п р и м ер ди а л о г в о г о   окн а  с  п овтдерж н и е м   з а к р ы ти я   п р и л о ж ен и я   (см . р а з д .  Creating  Graphical  User  Interfaces:  Programming  GUIs:  Example:  Using  the  Modal Dialog to Confirm an Operation). Пр лд

и  н ал и ч и я   м о да л ь н о г

пу р а в л е н и я чи т

ь   ег о   с о т я н и

нО к

а  отиыр к

и  о п р едл н н о г

о   оп ы т а   п р о гр а м и р о в а н и а   м ож н о   расп ол ж и т , фл а г   Н е  та в ыза ко п е  в  в ы охнд ы х   а р мг у е н ат

я  с о б ы ит ь   д о п о л н и ет л ь н ы ь  эт о   н ко о  в ме  дш йе н ь ла х   фа й л - н фу к ц и и  м о да л ь н о г

о   окн , н а п р и м е р

П е р ад ч а   ад н н ы л а   и  пт у и   к  н ем у го в о г о   окн а   о кт р ы ит

я  и  сорха не и х   и з  фа й л . Н а и б о л е я   фа й л а

я  файл а  в   п р и л о ж ен и е  п р о с т ,  к о т р о

е   с о з ад ес т

е ы ,  и   п олу

о   окн а

.zyxwvutsrqpo

а

е  с о п р яж ен б   со ти

й   сп о с

й  в   з а го т в к е   э л ем н т

а  с  з адн и е т   в  и с п о л ь з о в а н и я   н фу к ц и е

м   и м ен

и  фай и  ди а л о й   u i ge t fi i e .  Д а н

-

612 

аЧс т ь

н а я   н фу к ц и в о з в ращ ае в ы бран н о м з о в а ет л Доп олн и т з ы в ае ед р ж а щ и н фу к ц и ю в и з а ул и з и р ю у с т ср т о П олн о п р о и з в о ди к у а з ет л о б р а б о тк

я   п р и в о ди т   в  п ер в о у   п о л ь з о в а ет л м ь   о мт е н и

т   к   п о яв л ен и м   а р мгу е н т .  В ы ондх ы , и л и  п р

л  о тк р ы ти е е   п р и л о ж ен и

и  о кт р ы ит

е  mygui  к н о п к о й о   о кт р ы ит я   фа й л а а   ч и се л   о ди н а к о в   с ч и ыт в а ю ст я   и з   фа й л п р и   п ом щ и   p lo t .  у   и  ег о   и м ен м  дл я я   в  к ач есвт е   в о х дн о г е   ад н н ы х   и з   фа й л ю  в  п о л е   Line  сркту я  к н о п к и  И з  фай л а  п ри в едн



• 

 и нт е й рс фо м

zyxwvu

о   окн а   о тк р ы ти я   фа й л а  и , а  в о  в то р о м  —  пт у ь   к  фай лу , ы   рав н ы   н л юу ,  лсе и   п о ль и  фай л а  п р о и з о ш л а  о ш и б к а .

е   и мя е   а р мгу е н т

е   окн

й   дв а   с о т л б и к .  Д а н н ы е я   к   с  пет у м   к  фай л е   и м я  з адест т   с ч и ыт в а н и ь   н а  л и н и и   н а ж ит

 с  ги черсафикм

ю   ди а л о г в о г

м  в ы охнд о

т   ди а л о г в о

  III. Преин лояж

 ИzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON з  а л й фа ,  н а ж ит е   н а   котру ю   вы .  П о л ь з о в а те л ь   вы би рае т   фа й л , со й   в ы со т ы  —  та б л и ч н о   з а дн н у ю а   в   м арт и ц у   с   в мд у я   с от л б ц а м и  и И с п о л ь з йу т е   st r c a t  лд я   сц еп лн и я   образ ован и я   п олн ог о   и м ен и  фай ла . о   а р мг у е н т а   н фу к ц и и  load,  к о т р а я а   в   м ас и в .  Н е   з а бьду т е   с ор ха н и т ь ы   han dles.  О п е р а то р ы   п р о с е тй ш е й ы  в  л и сит н г е   12.2.zyxwvutsrqponmlkjih

• zyxwvutsrqponmlkjihgfedcbaZYXWVUTS   }

• 

\  Л и с т и н г  12.2. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  П р о г р а м м и р о в а н и е  с ч и ты в а н и я   а д ны х   и з  файл а  i; :....;; .:i;.. .• *... .• ..."...:. .V.................... I..'  V .  • •. •.IV•. ....„• . . ; • . ..  ;..: JU . i..... . -.  :• :... V.  Mlil ....I'. • . ...• .;' .....; .• .V.;...'..:zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA [fname, pname] = uigetfile;  % пи н е ч у л о е  н е м и и  и  пт у и  к  фл й а у

% Па к р е в о р

,  ы б

л  л и  оы р к т

т  фй а

л

if fname ~= 0 % Ои н а в о з а р б

е  г о н л о п

о  ин е м

и  л й а ф

а

fullname = strcat(pname,  fname); % Си н а в ы т и ч

е  ы н а д

х  и з  фл й а

а  в  ми с а

в

Mas = load(fullname); % Го к с е ч и ф а р

е  и н е ж а р б о т

е  ы н а д

х

handles.Line  = plot(Mas(:,  1), Mas(:, 2)); % Си н е а р х о

е  о н е л в о н б о

й  руткуртс

ы

guidata(gcbo, handles); end

С о з да й т е   фа й л   с   да н н ы м и   в   нжу о м my.dat.  З ап сиут е   п р и л о ж ен и е  mygui  и ит е   в н и м ан и е , ч т о   в   ди а л о г в о м   окн сп и ск е   Files  of  type   саутн о в ле н   фи л ь т р о тк р о й т е   my.dat.  Н а   ося х   срто и ст я   кн оп к и   И з   л й фа а   е ус л д т   п р о и з в о ди т в з а и м о де й с в т и я   с   о с ат л ь н ы м и   э л е м н атм гр а фи к а   до л ж н ы   бы т ь   од пс у т н ы   п е р к л ю ч а ет л и сп и со к   и   о бласт ь   в од а   ет к с а .  П р о и з в еди т с от я е л ь н о .

  ф о р м а те  н аж м и т е   о кт р ы ит   -М Ш гр а фи ь   ат к и

е к    

,  н а з о в и т е   его ,  н а п р и м е р , е   н а   кн оп к у   И з  а л й фа .   О бра я   фа й л а   в   р ас к р ы в аю щ ем с я  ;(*.m).   В ы б ер и т е   All  files(*.*)  и   ад н н ы х .  О б р а б о тк у   н а ж ит я ж е ,  к а к   и   т иоП рсот ь   с   ч о еу т м и н е тр ф й с а .  П о с л е   п о яв л ен и я ,  фл а ги ,  р а с к р ы в а ю щ и й с я е   р т е б му ю   д о р а б о тк у   сам о -

л ав Г

  12. и алоДгевы

 онак

 и  м еню

 преин лояж

613 zyxwvutsrqpon

 

П р и ло ж ен и е , к о т р о е   п р е нд а з н а ч е н о   лд я   р а б о т ы   с  фа й л а м и   о п р едл н н о г о ти п а , н ап р и м е р  с  р асш и р ен и е м  dat, п р о щ е  в  и с п о л ь з о в а н и , есл и  в   ди а л о г во м   о к н е   о кт р ы ит я   фа й л а   а в от м а ит ч е с к и   с ау т н а в л и в а е с т я   о п р е дл н н ы й ф и л ь рт .  Ф ну к ц и я  u iget f i l e  п р есудм арт и в ае т   з адн и е   с та н д а р тн о г о   расш и р ен и я  в о  вонхд о м   а р мг у е н ет ,  н а п р и м е р , в ы з о в zyxwvutsrqponmlkjihgfedcbaZYXWVUT [fname, pname] = uigetfile('*.dat'); с о в т ес у кУ а з а н и окн

е е  о кт р ы ит

  г

т   ди а л о г в о м  *. * '  п р и в о ди я  фа й л а

у   окн т   к   о т б р аж ен и

у  с  фи ль рто

м  дл ю   фа й л о

я   фа й л о в   в се

в  с  р асш и р ен и е х   ти п о в   в   ди а л о г в о

.

Ф ну кц и я  u ip u t f  i l e  п р едн а з н а ч ен а  дл я   со з адн и я  ди а л о г в о г н и я   фа й л а .  В охнд ы е   и  в ы охнд ы е   а р мг у е н т ы   u ip u t file  и м ею ч ен и е , ч т о   у   нфу к ц и и  u iget f i le .  В   к ач есвт е   в о х дн о г о   а р мг у е н т м ож н о   ку а з а т ь   н е   то л ь к о   ф и л ь тр ,  н о   и   п о л н о е   и м я   фа й л а лд я  з а п и с и . К ом ан д в  р.азд з ап и с Ф ну к ц и ок

Он к

ы   save  и   load  лд я   р а б о т   "Свитанчые   и  запьис ь  тек с т а   и  чи се л  р а з о б р а н

ы   с  фа й л а м и  дх'аын '

о  с  с о бещ ни е

ы  в  р.азд

о б щ ен и в ан и ош и бк ;  Л ис т ин

  "Т еквтыос

а   Mas  П р

е  в   счлуа е   и   в и з аул и з а ц и и  п р и  о б р а щ ен и г  12.3. Обра от к

т   з адт м   а р мг у е н т

м  о б  о ш и б к я   п о л ь з о в а ет л я е   с и а цу т и я   и   с о п р о в ж да т м  о к н е

и   Щ ОМ П

е   н е с о вт ес ю у щ е г

о   окн а   с о р ха н е т   т о   ж е   н аз н а а   u i p u t fi le ,  п р е дл а г е м о г о и   ч и сла

е  п о др о б н "ы  файл ь   з а го л в о е   —  с рт о к е

, о п и с ан

ы zyxwvutsrqpo е  и

о   с ч и ыт в а н и  гавы л

 8.

к   ди а л о г в ы х .zyxwvutsrqponmlkjihgfedc

е

,  в  ч а с нт о с ит , м о гу

т  п ри в ест и   е су л д

и   к  о ш и бк т   п р ес у д м а р т и в а т ь   и х   с о б щ ен и е

, о кт р ы ит е  в  р а б о т

е   фа й л а   с  да н н ы м е   п р и ло ж ен и я ь   п р и   н ап и сан и м   о б   ош и бке ,  к о т р о

и . Т а и   ал е

.

Ф ну к ц и я   er r o r d ig  п р енд а з н а ч ен н и е м   о б   ош и бке .  Вондх ы м и   а р мг у е н ат м ост м   и  з а го л в к о м   окн а . Д о п о л н и т и з   фа й л а   (см .  ли сит н г   12.2),  п р о в ер к о масси в

, со едр ж ащ и м  2. Бо ле

 гавы л

и   u ip u t file  и   u i ge t fi le  п о з в о л яю н  в о  в то р о м  до п о л н и етл ь н о м  вохнд о

Н ек о т р ы е  дей свти в  н еи з в еснт о м   ф о р м а те к и е   и с к л ю ч и е тл ь н ы г о р и тм а   п р и л о ж ен и в ы в о ид с т я  в  оедтль н о

м   dat. м

И   ф ун к ц и

а  дл

я   с о з ад н и

я  ди а л о г в о г о   окн а  с  со бщ е и   er r o r d ig  яв л ю ст я   с рт о к и   с  тек е  п о срт о ен и е  гр а фи к а  да н н ы х , сч и атн н ы й   н а   р аз м ер н о с т ь   и  ти п   с о дер ж и м о г

й   s i z e ,  n d im s  И  i s n u m e r i c ,  И  в ы в е д и т

х о

е  СО

-

о   фо р м а т а   да н н ы х .  З ак л ю ч и т е   с ч и ыт ю   ад н н ы х   в   бло к   t r y.  . .cat ch  лд я   п р едо вт р а щ ен и я и  к  load  (ли ст н г   12.3).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP а  и сликчют е л ньы

х  с ит ау иц

try

й  с  с оебщ ни

% Си н а в ы т и ч е  ды н а х  и з  фл й а Mas = load(fullname);

а  в  ми с а

в

м  о б  ошибк

е   ;

614 

аЧс т ь

% Ои н е л д е р п

е  ро р е м з а

в  мв и с а

 III. Преин лояж

 с  ги черсафикм

 и нтей рс фо м

zyxwvut

а

SMas = size(Mas); % Пк р е в о р

а  мв и с а

а  ды н а

х

if  (SMas(2) - = 2) | (ndims(Mas) ~= 2) | - isnumeric(Mas) errordlg('Ны н т с е в з и е

й  фа м р о

т  фл й а

а  с  димына

1

,  'О! акбиш '

)

else % Го к с е ч и ф а р

е  ои н е ж а р б о т

е  ды н а

х

handles.Line = plot(Mas(:,1), Mas(:,2)); % Си н е а р х о

е  оо н е л в о н б

й  ср у т к у р т

ы

guidata(gcbo, handles); end catch % Пл ш о з и о р

а  пр

а  ок б и ш

errordlg('Ны н т с е в з и е

и  ви н е л о п ы й  фа м р о

и  load т  фл й а

имын а а  с  д'

,  'О! акбиш '

)

endzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Мен

ю  гриаеч фсокг

о  онк

а

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM

т   и сп о ль з о в ат ь   с та н д а р тн о е   м ен ю  гр а фи ч ес к о П р и ло ж ен и е   M ATLAB  м о ж е г о   окн а . С р ед а   G U I D E  п о з в о л яе т   п р о гр а м и с т у   до п о л н я т ь   с та н д а р тн о е  ме н ю   и л и   с о з ад т ь   с о б вт е н н ы е   м ен ю .  С в о й с вт о   MenuBar  о к н а   п р и л о ж ен и я (о б ъ ек т а   figure)  о вт еч а т   з а   н али ч и е   с а т н да р н т ы х   м не ю zyxwvutsrqponmlkjihgfedcba   File,  Edit,  Tools, Window  и  Help в  р а б о та ю щ е м   п р и л о ж ен и . З н ач ен и е   figu re  да н н о г о   св о й св т а   с о в т е с у т   о т б р аж ен и ю   с а т н да р н т ы х   м ен ю ,  а   п о е   п р и в о ди т  к п р и л о ж ен и ю   б е з   с рт о к и   с   м ен ю .  В н е   з ав и си м о ст и   о т   з н ач ен и я   с в о й с вт а MenuBar  р а з р а б о тч и к   п р и л о ж ен и я   и ме т   воз м ож н ост ь   р аз м ещ ат ь   с о б в те н н ы е  м ен ю , н о  в  счлуа е  з н ач ен и я  figu re  он и  добавл яю ст я   к  с атн да р нт ы м  ме н ю  гр а фи ч е с к о г о   окн а . Р аз м ещ ен и е  и  п р о гр а м и р о в а н и е   м ен ю   п р о и з в о ид т с я   п р и   п ом щ и   р е д а к то р а   м ен ю .  М ен ю   яв л сет я   гр а фи ч е с к и м   о б ъ е к от м U imenu — п о т м к о м  гр а фи ч ес к о г о  о к н а .

Р е ад т к о

р  м е н

ю

П род лж и т е   работ у   на и  11.  П ер й ид т е   в   р еж и П ри н ц и п   к о н с тр и у р о в а н и н ю —  буеид тсь ,  ч т о   с в о й свт по е . З ап сиут е   р е д а к то б р а в   в   м не ю   Tools   п ну к Editor,  и з о б р а ж ен н о е  н а

д  п р и ло ж ен и е м   р е д а к ти р о в а н и я   м не

м   mygui,  н а ч ут я   п р и л о ж ен и ю   п рощ е   в с ег о   п о н я ть о   MenuBar  гр а фи ч ес к о г р   м не ю  и з  п ан ел и  уп р ав лен и т   Menu  Editor.   П о яв л ест  р и с . 12.2.

ю   п р и  чент и и zyxwvutsrqponmlkjih   ав г л  10 я   в   с р ед е   G U ID E. ,  с о з адв я   н ов е  ме о   окн а   с у ат н о в л е н о  в я   (см . р и с . 10.5) и л и   вы я   окн о   р е д а к то р а   Menu

л ав Г

  12. Диалогевы

од б а в л ен и пну кт

а  м ен

в к лад м ен

а  дл ю  окн

е   ю  

  о н ак

 и  м еню

 преин лояж

с о з а нд и к о н ек ст о г м ен ю

е  

п у р а в л ен и о   р о к у ст н ем



я  ракиедт рован и а  

я  

Р ис

.  12.2.  Р е д а к т о

615zyxwvutsrqponm

е

а л е дн у и э л ем н о т м ен

й н

в к л ад к о н е ст о г

а  дл

р   м ен

я  раекдит рован и о  м ен

в ю

я а zyxwvutsrqponmlkjihgfedcbaZYXWV

ю  объект

ю  M enu  Editor

Окн лд

е

о   р е д а к то р а   м ен ю   с о ед р ж и т   в д е   в к л а дк и :  Menu  Bar,   п р енд аз н ач ен н у я   с о з ад н и я   с рт о к и   м не ю   п р и л о ж ен и я ,  и   Context  Menus   лд я ь м ен ю .  С ей ч а с   н а м   п о н а до б и ст я   в к лад а   Menu Bar,  е е   о б л а с т п а н ел ь   Properties  св о й ст в   э л е м н от в   м не ю   (сп р ав а   о т   в к лад и П р и   вы бран н о й   в к лад е   Menu Bar  со з адй т е   н ов е   м ен ю ,  н аж Menu  н а   п ан ел и   и н с р мт у е н о т в   р е д а к то р а   м ен ю ,  в   н а в и га то р с рт о к а   Untitled 1,   седлай т е   е е   щек ту е й   щ ел ч к о м   мы ш и .  О б р а ти (р и с .  12.3),  ч т о   в   о б л ас т и   св о й ст в   п о яв и л и с ь   э л ем н т ы   пу р а в л ен и с рт о й к и   м ен ю .

ю   к о н ет к с нт о г о   н а в и г а то р а  и )  п о к а   п сы т у е . в   кн оп к у   New е   п о яв и л а с ь е   в н и м ан и е я   лд я   н а -

С тр о к а  Label сжлиу т   лд я   з а д н и я   н ап д и с и   м не ю   и л и   п ну к т а   м ен ю ,  a Tag  лд я о п р е дл н и я   и м ен и   (тэга )  с о з да н н о г о   о б ъ ек т а   U imenu,  о б   и с п о л ь з о в а н и и о с ат л ь н ы х   э л е м н от в   п а н ел и   Properties   с к аз н о   н и же .  В виед т е   сло в о "Г р а фи к "  в   срто к у   Label  (бе з   к ав ы ч ек )  и  з адй т е   и м я  mnGraph  в   с рт о к е   Tag. З а п с иу т е   п р и л о ж ен и е   mygui  и   биеду ст ь   в   н али ч и и   м не ю   Г р а фи к .  В ы б о р м не ю   Г р а фи к   в   р а б о та ю щ е м   п р и л о ж ен и и   н е   п р и в о ид т   к  р а с к р ы ти ю   м ен ю , п о ск ль к у   н е о б х ид м о   ще е   с о з ад т ь   пну кт ы   м ен ю .  З а к р о й т е   р а б о та ю щ е е п р и л о ж ен и е .  В   р еж и м е   р е д а к ти р о в а н и я   с е дл а й т е   ещ к т у е й   с рт о к у   Г р а фи к  в н а в и г а от р е   р е д а к то р а   м не ю   и  до б а в ь т е   п ну к т , н аж в   кн оп к у   New  Menu Item (см . р и с .  12.2). с У ат н о в и т бав ь т е   ще иф к   в   н а в и г а т о р е

е   н ап д и с е   о ид

ь   п ну к т н   пну к т   м ен ю .  нА а л о ги ч н ы

а   П о с рт о и т ь   и   да й т ,  седла в   п р е дв а р и е т л ь н м   о браз о м   з адй т

е   ме

у   и м я   mnG raphPiot.  Д о о   ещ к т у е й   ср т о к у   Г ра е   н апд и с ь  т и с Оч ь   и  и м

я

616

аЧс т ь

 III. Преин лояж

 с  ги черсафикм

zyxwvut

 и нтей рс фо м

,  и з о бр аж ен mnG raphciear.  Н а в и г а то р   м не ю   од л ж е н   с о ед р ж а т ь   с ркт у н у ю   н а  р и с .  12.4. М ен ю zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF  Ги ф а р к   и ме т   п ер в ы й   руо в е н ь ,  а  п ну к т ы  Пь т ио р сто , .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA т и т с и Оч ь  —  в то р о й

J; Menu Editor zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

LJIMenu Properties Label:  Untitled 1

": I

Tag:  |iJntitled_1 . . . . . . . . . . . . . . . .  i

Accelerator: Ctrl +; None Г "  Separator above this Item Г "  Check mark this item ;

f5*  Enable this item Callback: %automatic

View

More options  »

Menu Bar 

Context Menus

Рис

. 12.3. З адн и

е   св о й ст

|  Ги фра

в  мне

е

к И М   о П с р ти

— Щ

Рис

ю   в  р е да к от р

 Оитсч

. 12.4. И ераих

ь ь

я   э л ем н от

в   м не

ю

л ав Г

  12. Диалогевы

 онак

 и  м еню

 преин лояж

617zyxwvutsrqponm

 

З а п с и ут е   п р и л о ж ен и е   mygui,  в ы б о р   м не ю zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ  и ф а рГ к   п р и в о ди т   к   р а с к р ы ти ю м ен ю .  Р аз муестя ,  п р и   о б р а щ ен и и   к  п ну кат м   т ио П р со т ь   и  От и с ч ь  н и ч ег о н е   п р о и с о х ди т ,  е сулд т   з а п р о гр а м и р о в а т ь   с о б ы ит я   callback  п ну к от в   ме н ю .  С о б ы ит е   Callback  с ам о г о   м не ю  и ф а рГ к   н е   рт е б у т   о б р а б о тк и ,  т . к . п р о и со х и д т   а в от м а ит ч е с к о е   р а с к р ы ти е   м ен ю .  Р аз муестя ,  сле и   в ы б о р   м ен ю о дл ж е н   п о в л еч ь   н ек о т р ы е  дей свти я   п р и л о ж ен и я , т о   и х   н ео б хид м о   з ап ро гр а м и р о в а т ь   в  о б р а б о тк е   с о б ы ит я  Callback  с а м о г о   м ен ю .zyxwvutsrqponmlkjihgfedcbaZYX

р П о г а м м и р о в а ни

е  пт окну

в  м е н

ю

В ы бо р   э л ем н т а   м не ю   в   н а в и г а то р е   р е д а к то р а   м не ю   п р и в о ди т   к   о тбраж е н и ю   ег о   с в о й с т в   н а   п а н ел и   UIMenu Properties.   С тр о к а   в од а   Callback  п ред н аз н ач ен а   лд я   в ы з о в а   п о н ф уд к ц и и   М - фа й л а   п р и л о ж ен и я , с о едр ж ащ ег о   об р а б о тк у   с о б ы ит й   э л е м н от в   и н е тр ф й с а .  Д л я   п ерохд а   к   с о в т ес ю у щ е й п о н ф уд к ц и и   в   р е д а к то р е   М - фа й л о в   е ус л д т   н аж т ь   кн оп к у   View.   С едл ай т е а к ит в н о й   ср т о к у   с   п н у кот м   т и о П р с от ь   м не ю  и ф а рГ к   и   о б р а ит е с ь   к   п од н фу к ц и и  mnG raphPiot_Caiiback  о б р а б о тк и   ег о   с о б ы ит я   Callback.  З а м еьт , чт о   вы бо р   п ну к т а   т и о П р с то ь  долж е н   п р и в о ди т ь   к  то м у   ж е  сам о у   р е з л уь а т .  П о э т м у   в   п о нфд у к ц и и ут ,  ч т о   и   н аж ит е   о нд о и м е н н о й   кн оп ки mnG raphPlot_Callback  до с та о ч н о   в ы з в ат ь   п о н фд у к ц и ю   btnPlot__Callback о б р а б о тк и   с о б ы ит я   callback  к н о п к и  Пь т ио р сот .  Ан а л о ги ч н ы м   образ о м   об .  П р и  в ы з о в е  фну к ц и й с от и т  дел о   и  п р и  п р о гр а м и р о в а н и и  п ну к т а  ь т и с и Оч btn P iot_C aiiback  и  bt n ciear_ caiiback  е сулд т  учесьт ,  ч т о   и х   п ер в ы й  во дх н о й   а р мг у е н т   я в л се т я   к у а з е тл м   н а  то т   о б ъ ек т ,  с о б ы ит е   Callback  к о т р о г о  бед у т  в ы п о л н яьт с я  (ли ст н г   12.4).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI _,..,...  ,................................v. ........,..................,...,,,,....,,,.,........,,............,....,  !  истин Л г  12.4. Программировани е  событи я  Callback пункто

в н е  м

,.................  ^ ю zyxwvutsrqponmlkjih

function imGraphPlot_Callback(hObject, eventdata, handles) btnPlot_Callback(handles.btnPlot, eventdata, handles) function imGraphClear__Callback(hObject, eventdata, handles) btnClear_Callback(handles.btnClear, eventdata, handles) З а п с и ут

е   п р и л о ж ен и е   mygui,  в ы б о н ю  и ф а рГ к   п р и в о ди т   к   о т б р аж ен и о ч и скт е   о с ей .  В н еси т е   до п о л н е н и b t n c ie a r C a iib a c k  лд я   о бесп еч н и кн оп ок .  И м ен н о  п о сл е  в ы б о р а   п о л ь з о в а ет л сат ь   н ео п д с у т н ы м   в м ес т е   с  о нд о и м ен н о с ти ь —  до с тпу н ы м и ,  и   н а о б о р о т м ен ю ,  ку а з а те л и   н а   н и х   с о д е р ж а ст

р   п н у к от ю   гр а фи к я   в   п о н ф ду к ц и я   с о гл а с о в а н н о

в   т ио П р со т а   н фу к ц и

ь   и   т и с Оч ь   ме и   и ,  с о вт ес вт ен н о , и   btn P iot_ C aiiback  и й   работ ы   п н у к от в   м ен ю  и м   п ну к т а   т ио П р со т ь   о н   од л ж е н й   кн оп кой , а   п ну к т   и   кн оп к а   и Оч .  И с п о л ь з йу т е   с в о й с тв о   Enable  п ну к то в я   в   с рт к у е   h an dles  (л и с ит н г   12.5).

618 

К ром о д сп у т н ы м д а к то р з н а ч ен и

аЧс т ь

  III. Преин лояж

 с  ги черсафикм

zyxwvu

 и нт е й рс фо м

е   то г о

, в  н а ч л е   работ ы   п р и л о ж ен и я   пн у к т zyxwvutsrqponmlkjihgfedcbaZYXW  т и с и Оч ь   од л ж е н   бы т ь  н е .  Э то г о   м ож н о  до б и ьт с я   сброс м   фл а г а   Enable this item в  о к н е  ре а   м ен ю , ч т о  э к в и в ал ен нт о   с ау т н о в к е   с в о й с вт а   Enable  п ну к т а   м не ю  в е   off.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Пр и м е ча ни

^ ^ 

е  

^

Тр

и   лфа г а   Separator above this item, Check mark this item и  Enable this item п о з в л юя т   ан с т у о в и т ь   з н ч ае и я  ю вущтс веиот м   св о й а т м   Separator, Checked  и  Enable  нп укт а   н ме ю , т . е . объкет а   Uimenu (п р о  нза н чае и е  пр е ы в х   ув д х  свой тс в   с к аз н о  н и)же . Ольанст ы е   св о й т а   о б ъ ек т а   Uimenu до п н у тс ы  в  и н орпскте е  свой ст , дл я  вы з ов а  котр г о  се у дел т  восп ль з оват с я  кн оп к й  More  Options.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG i  Л и с ти н

е  прога м м ирова ни

г  12.5. С о г л а с о в а н о

е  т кнпоу

в  м е н

ю  и  нопк

к

ю  Гк и ф а р

ь   и  Ои ч .

fu n c t i o n  b t n P l o t _ C a l l b a c k ( h O b je c t ,  e ve n t d a t a ,  h a n d l e s) se t ( h a n d l e s. m n G r a p h P l o t ,  ' E n a b l e ' , 

' o ff' )

se t ( h a n d l e s. m n G r a p h C l e a r ,  • E n a ble ,'   ' o n ' ) fu n c t i o n  b t n C l e a r _ C a l l b a c k ( h O b je c t ,  e ve n t d a t a ,  h a n d l e s) b u t t o n  =   q u e s t d l g ( ' О ч и с т и т i f  s t r c m p ( b u t t o n , 

1

ь   оси?



' m ygu i' ) ;

' Ye s ' )

s e t ( h a n d l e s . m n G r a p h P l o t ,  s e t ( h a n d l e s . m n G r a p h C l e a r , 

• E n a b l e ',   ' o n ' ) • E n a b l e ',  

'o ff')

end

З а п с и ут

е   п р и л о ж ен и ь  с о гл а с о в а н

тис

В   к а ч е св т п р и л о ж ен и ли ц ы  дан н ы х

о   с  п овенд и е

е   пу р а ж н ен и я  в ы  м ож ет я   mygui,  п р енд аз н ач ен н ы , и  св яз ат ь  ег о  с  о нд о и м ен н о

о р мО ф л е н и Б ы с рт ы н ог ж ле а м о

е   mygui.  Т еп р м   о нд о и м е н н ы

е  м е н й   од с у т о   с о ч еа т н и е   с о ча н е т и

п   к  мне я   к лав и ш е  осптлеярд

ь   п о в е дн и

е   кн оп о

к   т ио П р со т

х  п ну к от

е   до б а в и т й   лд

ь   пну к я   гр а фи ч е с к о г й  к н о п к о й

в   м не т  И з  фа й л

а  в  м ен о   о т б р аж ен и

ю  и ф а рГ

к

я   ат б

-

.

ю ю   и л и  ег о  п ну кат .  Д л я   мне ю   ил я  в  раскры ваю щ ем с

м   п р о и з в о ид с т и  п ну к ат

я   пр ,  в ы дел н н о г я   пс и к

и  п о м щ и   з а дн о   в   р е д а к то р е , е  Accelerator: Ctrl + .

л ав Г

  12. Диалогевы

Ка лю бо

к   е с лу д

е   п ну кт ы и  в ы к л ю ч ен о ,  п р и  со з адн и , к аж ыд й ,  е сулд т и   м ен ю   м ож н я   м не ю

ы  м е н

т кн у П П р и   п ом щ п р и л о ж ен и х   и  Ск те же н  и м ет

 и  м еню

т  и з  н а з в а н и й   к л а в и ш ей

й   бк у в е н н о

Н ек о т р ы ч ен о   ил Н ап р и м ер п н у к ат м и о р д и н а те п н у к атм п о ль з о в ан и

 онак

619 zyxwvutsrqponm

 преин лояж

я   сп и ск а

, в ы  м ож ет

  м не

ю   м о гу т   н ао х и д ь т с ,  о  че м  св и елдть св у и   м не ю   лд я  уп р ав лен и   и з  к о т р ы х   н ан о си т  и л   с н а б ид т ь   пну кт ы   м не о   п о м ещ ат ь   р а з ед л и е т л ь н у  с  б о ль ш и м   ч и сло м   п н у к от в

ю  с  флаг м

и  ссоитн я

ь   к о м би н ац и

и    с

я   в  онд о м   и з  п о л ж ен и й  —  в к лю т   фл а г   р я од м   с  н апд и сь ю   п н у к ат . я   ск ето й   н а  гр а фи к е   с   в мд у я и  уби р а е т   к сте у   п о  в ы б р а н н о й  к о ю   фл а г м и .  К р о м е   то г ,  мжед у ю   ли н и ю   лд я  уод б свт а  и с .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ

я

и   кн оп о к zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC  New menu и  New Menu Item р е да к то р а   м не ю  до б а в ь т е  в е  mygui  мне ю   к те С а  с  тэ го м   mnGrid, соедрж ащ е е   пну кт ы   к те С а  п о а   п о  у   с  тэ га м и   mnGridx  и  mnGridY  с о вт ес н н о .  Н а в и г а то р  до л ь  в и д , пресдатв лен н ы й   н а  р и с . 12.5.

Ш -в

и ф ра Г

к

ь L"Ш   оПсрит  Ш  О и т с ч ь izyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA LzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA к етС

а

Ш   к етС

с Ри

Т еп р ч от б ы ли с кс е т чи ни п р о в ер и т бо ил с о б ы ит ни

е   н аз н ач т

.

. 12.5.и  хИра е

я  эон емт л

а  п о  х

в  мн е

ю и  Гаф р

к  и  к тСе

а

ь   е су л д ,  н а п р и м е р ь  ли н и а  и е  фл аг ю   фл а г р   п о л ь з о в а ет л я и   ск ры т х  н ео б хид м ы

т   з а п р о гр а м и р о в а т ь   с о б ы ит я   callback  п ну к от в   м не ю   та к , п р и  в ы б о р е   п ну к т а   к те С а  п о  х   в к лю ч алс я   фл а г   и  н ан о си и  секти , а  п р и  п о в то р н о м   о б р ащ ен и и   к  дан н о м у   пн у кт у   буи р а л с  в ы к лю ч алс я   фл а г .  С в о й с вт о   п ну к т а   м не ю   checked  о вт еч а е т   з а  н али а   р я до м   с  н аз в ан и е м   п ну к т а   м ен ю , з н ач ен и е  on п р и в о ди т   к  вклю ч е ,  a off  —  к  в ы к л ю ч ен и ю .  лАго р и т м   д о с та о ч н о   п ростй , се улд ь   е кщ т у е е   с о т ян и е   фл а г ,  к о т р о е   о п р е дл я т   п р еы д щ у и й   вы ,  п ер в ст и   фл а г   в  п р о ти в о п о л ж н о е   п о л ж ен и е   и  н ан ест ь   к с еу т .  П ер й ид т е   к   з а го т в к а м   п о ф дн у к ц и й ,  о б р а б ты в а ю щ и в   к те С а  п о  х  и  Ск те а  п о  у  мне ю   а к те С ,  и  з ан еси т е я   callback  п ну кот е   о п е р а то р ы   (ли ст н г   12.6).

, ь т и х  в

620 

аЧс т ь

 III. Преин лояж

 с  ги черсафикм

zyxwvu

 и нтей рс фо м

) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л ист ин г   12.6. Прога м м ирова ни е  птнкуо в  м е н ю  с  флаг м и zyxwvutsrqponmlkjihgfedc ......J

function mnGridX_Callback(hObject/  eventdata, handles) if strcmp(get(hObject,  'Checked'),  'on') % Фа л % тр е п

г  пт к н у

а  Ск т е

а  п о  у  бы

ь  се у д е л

т  вт и ч ю л к ы

л  ун е л в о н а т с

ь  ег

, о  и  ут а р б

ь  ск т е

1

set(hObject,  'Checked ,  'off') % ви н е ч ю л к ы

у е  фг а л

set(handles.axMain,  'XGrid',  'off') % си т ы р к

а

е  ск т е

и

.;- else % Фа л % тр е п

г  пт к н у

а  Ск т е

ь  се у д е л

а  п о  у  н е  бы т  вт и ч ю л к

ь  ег

л  ун е л в о н а т с

,

о  и  нт с е н а

и  ск т е

set(hObject,  'Checked',  'on') % ви н е ч ю л к set(handles.axMain,'XGrid',  'on') % ни н е с н а

у е  фг а л

а е  ск т е

и endzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

щ function mnGridY_Callback(hObject, eventdata, handles) if strcmp(get(hObject, 'Checked'), 'on') % Фа л % тр е п

г  пт к н у

а  Ск т е

ь  се у д е л

а  п о  х  бы т  вт и ч ю л к ы

л  ун е л в о н а т с

ь  ег

, о  и  ут а р б

ь  ск т е

set(hObject,  'Checked',  'off') % ви н е ч ю л к ы

у е  фг а л

set(handles.axMain,  'YGrid',  'off') % си т ы р к

а

е  ск т е

и

else % Фа л % тр е п

г  пт к н у

а  Ск т е

ь  се у д е л

а  п о  х  н е  бы т  вт и ч ю л к

ь  ег

л  ун е л в о н а т с

,

о  и  нт с е н а

и  ск т е

set(hObject,  'Checked',  'on') % ви н е ч ю л к

у

е  фг а л

set(handles.axMain,  'YGrid',  'on') % ни н е с н а

а е  ск т е

и

endzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Е сл п р и ло ж ен и я м не

и   н ек о т р ы

е   пну кт , т о   е сулд ю   M ATLAB.

Добавь т н у ю  р а б о т

е   с а м о с т яел ь н у   п н у к от

Р а е з д л и т е ыл н ь Р а з ед л и е т л ь н ы е   ли н и грп у п   п н у к от в , о б ъ еид н ен н ы д ы   M ATLAB).   Р аз едли етль н у

ы   м не т  усатн о в и т

ю   од л ж н ь   лд

в   м ен

о   о п е р а то р ы ю  Ск те

е  лин

и и   м ж ед

ы   бы т я   ни ,  к о т р ы

а  и  о нд о и м ен н ы

у   п н у к атм х   п о   см ы сл ю   п ол с

ь   в к л ю ч ен ы   ср аз у   п о сл е   з а п с ук а х   фл а г  Item is  zyxwvutsrqponmlkjihgfedcbaZYXW checked в   р е да к то р е е   о б ес п еч и в аю х  фл а го

и   м не ю   п р и м е н я ю ст у   (н а п р и м ер у   м ож н о   до б а в и т

в   окн

, м не

т   с о гл а с о в а н а  п р и л о ж ен и я

я   лд я   в ы ед л н и ю  File  р а б о ч е ь   к а к   п р и   с о з ад н и

.

я й   ср е

и

л ав Г

 12. Диалогевы

 онак

 и  м еню

 преин лояж

621 zyxwvutsrqpon

п ну к т а   м ен ю , та к  и  мжед у   щ с у юе в с т у щ и м и   п н у к а тм п о з в о л яе т   о п р е дл и т ь   п о л ж ен и е   ли н и и  п р и  п о м щ this  item.   Ли н и я   р а з м е щ а е ст я   н а д  тещку и м   п н у кот ли н и я   ат к ж е   од б а в л я е с т я   п р и  усатн о в к е   с в о й св т а   U imenu) з н ач ен и я   ' o n ' в  р а б о ат ю щ е (т . е . о б ъ ек т

п о р ед чя У н и

е  м е н ю

од У б н а я   о р га н и з а ц и я   м не ю   о ч ен ь   ч аст н а д   п р и л о ж ен и ем .  В о з н и к ае т   н е о б х ид м о с т м не ю   и  и з м ен ен и и  и х  уро в н я .  П р е дп о л ж и м н ю и Гф а р к   п р и л о ж ен и я  mygui  п н у к т  Ск те и   к те С а   п о  у ,  а  п н у к т  т и с Оч ь   в ы ед л и т р а б о тк и   м не ю  м о ж н о  р а з б и т ь  н а  тр и  э та п а е   м не ю   в ы ед л и т 1.  В   н а в и га то р Move Selected item Down свди н ь т 2.  П р и  в ы едл н н о м   пну кт Backward,  э т о  п р и в оид и х и  и  п ну к т  сатн о в и ст 3.  П о с к о л ь к т о  дл я  то г в ес т и   м ен м не ю  Ск те В  р ез луь ат

е   м не е   м не

ю   и  п н у к т ю  (р и с

ь   н аж м и т у   пн у кт м   м ен ю

| =н

и   п ом ощ

и   кн оп к

ы в  х и

.

 н а в и га то р е   ср аз у   з а  м не ю  Гк и ф а р м   м не ю  Гк и ф а р ,  до с та о ч н о   п ер з  в  и ер а их . Д л я  э то г о   в ы ед л и т  Move Selected item Forward. ы   в  н жну о

 Поср ит

й   и е р а их

, ч т

р- Й

а Н  Ск ет

- * N  к етС

~~8П  Оитс ч

. 12.6.  Ин езим

м   п р и л о ж ен и

ь

 Ск ет L

ю  в  р а б о та ю щ е

е   работ е   п н у к от я   в к лю ч и т ь   в  ме и   к те С а  п о .  П р о ц ес с  п ер

о  ортаж е

,

е -

и фрzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB  а Г к  

В ~ Ш

с Ри

ь   и   пр

й  н и з

о   в   о дх

е   кн оп к у   Move  Selected  item а   н а  оид н  уровен ь   в ер х   в  и ер а .

ы   р ас п о л ж ен .  12.6).

г

д   м не

я   то л ь к ь   в   п е р г пу и р о в к ,  ч т о  требсту а  в м ест е  с  п о пд ну к атм ь   в  о едтл ь н о е   м ен ю .

е   пну к т   т и с и Оч е  ег о  в  сам ы

е   т и с и Оч т  к  п ервод я   о е дл т ь н ы

т\ Щ \

Ви

о   в ы я в л ес т

у   м не ю  Ск те а  р а с п о л ж е н о  в ,  ч от б ы   к те С а  сатл о   п н у к от ю   к те С а  н а  оид н   р уо в е н ь   вн и а  и  в о с п о ль з йу етс ь   кн оп ко й

н о  в  н а в и га то р

и   м ен ю .  Р еда к от р   м не ю и   фл а г а zyxwvutsrqponmlkjihgfedcb   Separator  above м   м ен ю .  Р а з едл и етл ь н а я у   sep arat o r  п ну к т а   м ен ю м   п р и л о ж ен и .zyxwvutsrqponmlkjihgfed

а  по х

а  п о  у

ь

е р у тк  сур т и  mygui  п ри в ед

ы  н е м

ю н  н а  р и с

. 12.7.

622

аЧс т ь

  III. Пре ин лоя ж

 с  ги черсафикм

zyxwvu

 и нт е й рс фо м

и з у а л и з а ци я  Фицнук й zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO ,    и л и     п р и в о ди то л ь к о   з н ак а  р а в н о , а  с о ч еатн и е  к лав и ш    и л и    с  с и м в о л ь н о р а б ыт в а е ст я   н ев р н о . Э то т   н е од с а т к   п р и л о ж ен и я  в ы  см о ж ет п р и   ч ент и и   с ю л уе д щ е г о   р а з де л а ,  в   к о т р о м   р а с м а тр и в а ю тс я   з о в а  п онфду к ц и й  о б р а б о тк и   с о б ы ти й .

е   ег о  — о   си м вола . т   к   вы вод у й  о б е   с ур т а н и т ь сп ос б ы  вы -

630 

аЧс т ь

аК обр а бот к

к  втсаюв ыз

Пр п ну к т з а го л в к р и тм

и   работ а   м не

В ер н и ес т

 с  ги черсафикм

я ицнук пофд и  стиыбо

. Оибдсу

 III. Преин лояж

е   в   с р ед ю   с   нжу ы а   п о дф н у к ц и м   ет п е р

zyxwvu

 и нтей рс фо м

и й

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF

е   G U I D E  у   н а с   н е   в о з н и к а л о   та к о г м   с о б ы ит е м   п р и в о ид л   к   а в от м а ит ч е с к о м , в   к о т р о й  тр е б о в а л о с ь   р еали з о в ат ь   сп ос б ы  о б р а б о тк и   с о б ы ит й   бо ле

о   воп роса

.  В ы бо

р

у   с о з ад н и ь   ж ел а м ы е   п о др о б н о

ю й   а л го

-

.

ь   к  п р и л о ж ен и

  Property Inspecю   asciico d e  и  в   и н сп ек отр е   св о й ст в zyxwvutsrqponmlkjihgf е   з н ач ен и е   с в о й с вт а   KeyPressFcn  гр а фи ч е с к о г о   окн а .  О н о  яв л ся е т я  с тр о к о й :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA adciicode('figurel_KeyPressFcn', gcbf,  [ ],  guidata(gcbf)) tor  п о с м о тр и т

о б ес п еч и в а ю щ е й   вы з о в   осн овн о й   н фу к ц и и   asciico d e  п р и л о ж ен и ск о ль к и х  а р гму е н то в .  О с н о в н а я  фн у к ц и я  и м е т   з а го л в о к function varargout =  asciicode(varargin) и   м ож е м ен от м ын

т   бы т в   (и н етр ф й  чм о лис

ь   вы з ван с  так и

а   с   п рои з воль н ы х   н фу к ц и

 автне"о г рум ав ыг л

й   оп и са

м   ч и сло м   в о хн д ы х   и   в ы о нх д ы х   а р уг н   в  рzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ .азд   "Ф- айл кн ци фу  с  п-не ме р

  8).

Ф ну к ц и я   asc iic o d e  о п р едля т ,  ч т о   о н а   б ы л м е н а тм и   и   п р и   п ом щ и   str2fun  фо р м и реу f igurei_KeyP ressF cn  о т  тре х   вонхд ы х   а р г м у е н от в •   h object  п р и н и м а е с о б ы ит е  к о т р о г •   even tdata  сатн о в и ст

т   з н ач ен и о   в  да н н ы я  р а в н ы

•   в  han dles  п ер адст я   с р тк у е т  фн у кц и я   guidata.

й  м о м ен

а   вы з ван т   о б р ащ ен и :

е   gcbf,  т .  е . указ етл т  в р ем н и  в ы п о л н я е тс я м   п со т м у а   ад н н ы

й   н а  э к р а н

и   а р уг

и

е   окн о

,

; ;

х   п р и ло ж ен и я

, к о т р у и   о б р а б о тк а   м ож е

  окн   му о л ч а н и   вм д у

ю   в о з в ращ а

-

и   с о б ы ит я ь   к у а з а ет л

т   бы т ю   п р е д п о л а г е тс я

я   о б я з а те л ь н ы м ь   н а   о б ъ ек т т   и н фо р м а ц и т   я в л се т я   с рт к у о Й  слюеуд щ и й

е  с и м в о л

•   M odifier  —  м ас и в  яч ек , к о т р ы й   м ож е с рт о к   ( ' c o n t r o l 1 ,  ' s h i f t '  и л и   ' a l t ' )  сле о нд а  и л и  н ес к о л ь к о  фну к ц и о н а л ь н ы х  к л а в и ш

а   с   в о х нд ы м е   к   п о н фд у к ц и я   н а   гр а фи ч е с к о

у   м ас и в у

Д о п с уи т м   а л ь ет р н а ит в н ы й   сп о с б   вы з ов а   п о н фду к ц и З н а ч ен и е м   с в о й с вт а   KeyPressFcn  гр а фи ч е с к о г о н а   р т е б му ю   н фу к ц и ю   и л и   и м я   М - фа й л а .  П о ч т о   н фу к ц и я   о б р а б о тк и   с о б ы ит я   в ы з ы в а е ст я  с ным и   а р г м у е н ат м и :  п ер в ы й   а р мгу е н т   ес т ь   к у а з а е т л то р о г о   в ы п о л н я е ст , а   в то р о й   а р мг у е н т   с о ед р ж и В   с ч л уа е   с о б ы ит я   KeyPressF cn  в то р о й   а р мгу е н л ям и   C h aracter, M odifier  И  Key. СМС Ы Л ТИ  Э Х Ле  О П •   C h aracter  —  о т б р а ж е м ы

я   о т   не -

. ь , и   ов дх

,  с о б ы ит ю   о   с о б ы ти

е  к о

.

й   с  п о

-

:

; т   с о ед р ж а т и   д о п о л н и те л ь н ;

ь   он д

у   и л и  н ес к о л ь к о   бы л а   н аж ат

о а

л ав Г

  13. рП о г ам м и р о вани е

 с о бты и й

631 zyxwvutsrqpon

 

П  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Key —  с и м в о л , есл и  б ы л а   н аж т а   си м воль н а я   и л и  ц и фр о в а я  к л а в и ш а , и л и с тр о к а   с  н аз в ан и е м   к лав и ш и , н а п р и м е р :  ' su b t r a c t '  лд я   ,  ' m u lt ip ly' лд я   < *> . ч Уе

т   с о ед р ж и м о г о   э от й   с рк т у ы   п оз воли т   расш и ри т ь   воз м ож н ост и   н аш е г о   п р и л о ж ен и я   asciico d e.  О дн а к о   в   н е м   л д я   о б р а б о тк и   с о б ы ит я KeyPressFcn  П смруоетд н  О З ВЫ В   н фу к ц и и   figurel_KeyP ressF cn  С  Тмре я в о х нд ы м и   а р г м у е н ат м и ,  п ри че м   рт е и й   (сркту а   handles)  и сп о ль з есту я дл я   п о ч л у е н и я   к у а з ет л я   н а  тек сот в ы й   о б ъ ек т .  П о э т м у   м ы   н е  бед у м   и зме н ят ь   е е  и н етр ф й с , а   п р и   куаз н и и   з н ач ен и я  свой свт у   KeyPressFcn  гр а фи ч е ск ог о   окн а   п р и м ен и м   ю с луед щ и й   сп ос б   вы з ов а   п о   с ы лк е  —  сфо р м и реу м м ас и в  яче к zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA {@figurel_KeyPressFcn, handles}

Е г о   п ер в а я   яч ей к а  со едр ж и т   к у а з ет л ь   н а   п о н фд у к ц и ю   о б р а б о тк и   с о б ы ти я , а   в то р а я  —  з н ач ен и е  до п о л н и те л ь н о г о   а р мг у е н а т .  Э от т   м ас и в   яч е к   м ы  з а ад и м   в   к а ч е с вт е   з н ач ен и я   с в о й с вт а   KeyPressFcn  в   п онфду к ц и и asciicode_openingF cn  (ли ст н г   13.2),  к о т р а я   а в от м а ит ч е с к и   в ы п о л н я е ст я п о сл е  з ап сук а   п р и л о ж ен и я  и  п ер д  в ы в о д м   ег о   о к н а  н а  э к р а н .  З а м еьт ,  ч т о в   и н с п е к от р е  св о й ст в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED  Property Inspector з н а ч ен и е  дл я   KeyPressFcn  ж у е   н ейд с вт и ет л ь н о , т . к . о н о  и з м ен и ст я  п о сл е  з ап сук а  п р и л о ж ен и я .zyxwvutsrqponmlkjihgfedcbaZY ! zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Л ист ин г  13.2. Мицродвфа н я  пицнук офд я   a s c i i c o d e _Op e n i n g Fc n

function  asciicode_OpeningFcn(hObject,  eventdata,  handles,  varargin) handles.output = hObj  ect; % Су щ ю у д е л

ю  ск о р т

% зи н е ч а н

у  м ы  дл и в а б о

е  мв и с а

а  у т к у р т с

и  дл

я  ук в о н а т с

р   с  уе л т а з к

% KeyPressFcn  и  ды н ь л е т и н л о п

м  о т н е м у г р а

и  св т с й о в м   н а  пи ц к н у ф д о

а   KeyPressFcn  в ю  ок т о б а р б

м   с о  со р у т к у р т

й  ды н а

и  и т ы б о с

я

х  инежолирп

я

set(handles.figurel,  'KeyPressFcn',  {@figurel_KeyPressFcn,  handles}) guidata(hObject,  handles);

Те пе р С т е ЛЯ

ь  О Н Д О Х В

Й   а ргу м е н

Я   С т ру к т у ро

то л ь к о   чт о   р аз о б р али лд я   п р о в е р к и  р а б о т к и   н а ж ит я   к лав и ш и

т   e ve n t da t a  п о д уф н к ц и

й   С  ПЛЯМ О

и   fi g ure l _ Ke y P re s s F c n  В Я

И   C ha ra c t e r,  M o di fi e r  И  Key,  С Ы СМ

Л   к о т о ры

.  П о к а   м ож н о   в ы в ес т и   и х   з н ач ен и я  в   к о м а н дн о е  о к н ы   п р и ло ж ен и я , а   п о т м   ч ес т у ь   и х   в   а л г о р и тм е   обработ .  Д л я   э от г о   п рост о   до б а в ь т е   в   п о нфд у к ц и

е   з н а че н и f i g u r e i K e y P r e s s F c n   п ри с в а и в а н и н ым ,  н а п р и м е р ,   c h a r a c t e r , m o d i f i e r  И  key  НИ (ЛИТ С

й   по ле

й   н е к о т о ры Г   13. 3).

м   п е ре ме н

-

х  М Ы

о ю -

632 

аЧс т ь

  III. Преин лояж

 с  ги черсафикм

zyxwvut

 и нтей рс фо м

д  да ны х  с т рку ы zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML  e ve n t d a t a в  пицнук офд и zyxwvutsrqponmlkjih Л ист ин г   13.3. Ввоы figurel  KeyPressFcnzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ch=eventdata.Character mdf=eventdata.Modifier key=eventdata.KeyzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

П р и л о ж ен и е   asciico d e  р а б о та е т   ат к   ж е ,  к а к   и   с о   с та н да р тн ы м   сп о с бо м вы з ов а   п о нфд у к ц и и   о б р а б о тк и   с о б ы ит я   KeyPressFcn,  о дн а к о   ет п р ь   о дв х н о й   а р мгу е н т   even tdata  п онфду к ц и и   figurel__KeyPressFcn  со едр ж и т  Д О П робн у ю   и н фо р м а ц и ю  о  с о б ы ит .  И с п о л ь з йу т е   е е  дл я   суртан ен и я   ю у с л де щ е г о   н е до с а т к а   п ри лож ен и я —  п р и   н аж ит и   н а   к лав и ш и   < Ctrl> ,    и   бе з   с и м в о л ь н ы х   к лав и ш   в ы в о ид ь т с я   н и ч ег о   н е  до л ж н о ,  а   п р и   сочает н и и   о нд о й   и л и   н ес к о л ь к и х   и з  н и х   с  с и м в о л ь н о й   к лав и ш е й   о б   э от м   в ы ад ес т я с о б щ ен и е , н а п р и м е р :  M sh ift + ct ri+ h = 8". О ч е в и дн о , ч т о   есл и   с и м в о ль н а я   к лав и ш а   н е  б ы л а   н а ж та , т о   ртебсу я   вы й т и   и з   п о дф н у к ц и . И н а ч е  се улд т   п р о в е р и ть ,  б ы л а   л и   н аж т а   о дн а   и л и  н е ск оль к о   фн у к ц и о н а л ь н ы х   к лав и ш   < Ctrl> ,    и   ,  т .  е .  в ы яс н и т л ди н у   м ас и в а   яч е к  mdf,  и з в леч ь   и з  н ег о   срто к и   с  н а з в а н и ям и  н аж ыт х   к ла ви ш   и   с фо р м и р о в а т ь   ет к с о в ы й   р е з л у ь ат .  Оид н   и з   воз м ожн ы х   в а р и а н то р еали з ац и и  э то г о   а л г о р и тм а   п р и в ед н  в  л и сит н г е   13.4.

function figurel_KeyPressFcn(hObject, eventdata, handles) % Се а в ы т и ч

м  оы м е а ж р б о т

й  н а  эн а р к

е  со в м и

л

ch = eventdata.Character; % Се а в ы т и ч

м  мис а

% фм ы н ь л а н о и ц к н у

в  як е ч

, си щ а ж р е д о

и  км а ш и в а л

й  ск о р т

и  с  нм ы т а ж

и

и

mdf = eventdata.Modifier; % Се а в ы т и ч

м  со в м и

л  кш и в а л

и

key = eventdata.Key; % Па к р е в о р

, бл ы

а  л и  нт а ж

а  са н ь л о в м и

я  кш и в а л

а

if length(ch) == 0 % Са н ь л о в м и

я  кш и в а л

а  нт а ж

return

а  н е  ба л ы

end % Пи н е ч у л о

е  ASCII- д о к

code = double(ch);

а  сл о в м и

а

, ви д о х ы

м  и з  пи ц к н у ф д о

и

ь в

Глав

 13. Прогамивне

 событий

% Пи н а в о з а р б о е р

е  чг о в л с и

о  зи н е ч а н

 

я  в  ск о р т

633zyx

у

strcode = num2str(code); % Си н а в ы т и ч

е  сг о м и ж р е д о

о  тг о в т с к е

о  от к е ъ б

а  Static Text

str = get(handles.txtWin,  'String'); % Па к р е в о р

, бл ы

а  л и  нт а ж

а  фа н ь л а н о и ц к н у

я  кш и в а л

а

if isempty(mdf) % Бл ы

а  нт а ж

% Фе у р и м р о

а  тк ь л о

о  са н ь л о в м и

м  ск о р т

у  дл

я  кш и в а л

я  вд о в ы

а

а

str =  [str,  ' ', ch,  '=', strcode]; % Ви д о в ы

м  ра т ь л у з е

т

set(handles.txtWin,  'String1, str); % Зе а ш р е в а

м  рт о б а

у  пи ц к н у ф д о

и

и  нк ь л о к с е

о  фы н ь л а н о и ц к н у

return end % Бл ы

а  нт а ж

а  он д

а  ил

х  ки в а л

ш

switch length(mdf) case 1 % Бл ы

а  нт а ж

а  он д

а  фа н ь л а н о и ц к н у

я  ка ш и в а л

, се а в ы т и ч

м  е е  ни н а в з а

е

fkey = mdf{l}; % Фе у р и м р о

м  ск о р т

у  дл

я  вд о в ы

а

str =  [str,  ' ', fkey,  '+', key,  '=', strcode]; case 2 % Бл ы

и  нт а ж

ы  дв

е  фы н ь л а н о и ц к н у

е  ки ш в а л

, се а в ы т и ч

м  и х  ни н а в з

я

fkeyl = mdf{l}; fkey2 - i mdf{2}; % Фе у р и м р о

м  ск о р т

у  дл

я  вд о в ы

а

str =  [str,  ' ', fkeyl,  '+', fkey2,  '+', key,  '=', strcode]; case 3 % Бл ы

и  нт а ж

ы  тр

и  фы н ь л а н о и ц к н у

е  ки ш в а л

, се а в ы т и ч

м  и х  ни н а в з а

fkeyl = mdf{l}; fkey2 -  mdf{2}; fkey3 -  mdf{3}; % Фе у р и м р о

м  ск о р т

у  дл

я  вд о в ы

а

str =  [str,  ' ',  fkeyl,  '+', fkey2,  '+', fkey3,  '+',...

я

634 

аЧс т ь

 III. Преин лояж

 с  ги черсафикм

zyxwvu

 и нт е й рс фо м

ke y,  ' = ' ,  s t r c o d e ] ;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK end  % Ви д о в ы

* . м  а т ь л у з е р

т 1

set(handles.txtWin,  'String ,zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI  str);

С ю л уе д щ и ит

й   р а з де л   п о с в ящ е е  ButtonDownFcn, к о т р о

н   п р и м ер е  п р о и сохид

у   п р и л о ж ен и я т   п р и  щ елч к

,  и сп о ль з юу щ ем е  м ы ш ь

у   со бы ю   п о   о б ъ е к ут

.zyxwvutsrqpo

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA е  ButtonDownFcn

т и ыб о С Ос

и  сжлуа т  дл я   в ы в о д а   гр а фи ч е с к о й   и н фо р м а ц и и  н а  э к р а н н о   р еали з о в ат ь   и   о б р а нт у ю   з а дч у  —  п о з в о л и т ь   п о л ь з о в а те л ад н н ы е   щ ел ч к о м   мы ш и   п о   о бласт и   о с ей , сраз у   ж е   от браж ат и   з ан о си т ь   в   м ас и в ы .  В   к ач есвт е   п р и м ер а   н ап и ш е м   п р и ло ж ен и в ан и я   м н о г уо л ь н ы х   о б л а с ет й   п р и   п ом щ и   мы ш и , в   к о т р о ш и   п о  ося м   п р и в о ди т   к  п о яв лен и ю   н ов й   в ер ш и н ы   (м а р к е р а е е  с  п реыд щу е й   о тр е з к о м .

т и ыб о С

е  ButtonDownFcn осе

Дл

я  то г с о з ад н и п р и в о ид

о   ч то б ы   п о н ят я   бо ле е   п ростг т  к  п о яв л ен и

ь  сп о с б  о б р а б о тк о   п р и ло ж ен и я ю  м а р к е р а .

В   с р ед е   G U I D E  н а   з а г о т в к axes.  З а д н н о е   п о   му о л ч а н и н аш е м   п р и м ер е   н е ж е л а те л ь н о л ы   о с е й   и з м е н я тс . С л е до в а те л ь н о XLimMode  и   YLimMode  в   з н а ч е н и до б а в л я т ь   м арк е р   н а   оси ,  п о э т м з н ач ен и е   'a d d 1 .  П р о де л а й т е Inspector. П е р й ди т е   к   п о дф н у к ц и ButtonDownFcn  о сей то р о й   бы л  п р о и з в ед С в о й с вт фо р м а ц и е ди н а ни

, о дн а к

о   воз м ож ю   з адв ат ь ь   и х   н а  э к р а н е е   лд я   р и с о м   щ ел ч о к   мы )  и  со еид н ен и ю

й и   с о б ы ит , в   к о т р о

я  ButtonDownFcn, н а ч н и т е  с м   щ ел ч о к   мы ш ь ю   п о   о ся м

е   окн а   п р и ло ж ен и я   р а з м е с ти т е   о с и   с   и м ен е м ю   а в то м а ти ч е с к о е   м а с ш та б и р о в а н и е   о се й   в , т .  к . п р и   п о яв л ен и и   п ер в о г о   м ар к ер а   п р ед ,  и м е т   см ы с л   су та н о в и т ь   с в о й с вт а   о се й е   manual.  К а ж ды й   щ елч о к   мы ш ь ю   до л ж е н у   с в о й с тв о   осе й   N extP iot  до л ж н о   и м ет ь   э т и   ед й с в т и я   в   и н с п е к то р е   свой ст в zyxwvutsrqponml   Property

и   axes_ButtonD ownFcn  о б р а б о тк .  В   н е й   ртебсу я   о п р едл и т ь   к о р ди н а т н  щ елч о к   мы ш ью , и  в ы в ест и  в  н е е  м а р к е р

о   осе й   c u r r en t P o in t  со едр ж и т   м а рт и ц й   о   п о л ж ен и и   к у а з ет л я   мы ш и   в   м о ен т   о с ей .  П р е дп о л а г е тс я ,  ч т о   ос и   рт емх р н ,  п ер п ен ид клуяр н о й   э к ран у .  Ли н и я   п р о х ди

у   р аз м ер т   щ ел ч к ы   и   то ч к т   ч ер

и   ы   то ч к и .

с о б ы ти

я ,  в   к о

-

а   дв а   н а   рт и   с  и н а   в   с и е мт е  к о р а   н ао х ид с т я   н а   ли з   оси ,  п ер с к а я

л ав Г

 13. Пр о г ам м и р о вани е

 с о бты и й

635zyxwvutsrqpo

х  то ч к а х   (ри с .  13.1),  к о р ди н а т ы   котры х   р ха н я т д   осе й   в  дву е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

п ар л е п и п е с я  в   м арт и ц

хЪ

  уЪ

-

  zbzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML

*f  /У   zf П оск оль к у   п р и л о ж ен и е   п р е дн а з н а ч е н о   лд я   о п и с а н и фи ргу ,  т о   ос и   вдмуер н ы   и ,  с л едо в а етл ь н о ,  то ч к (xb,  yb,  zb)  и   (х/ ,  yf,  zf)  с о в п а д ю т .  Бо ле е  то г ,  рт еь н а до б и ст я .

я   г е о м е рт и и   п лоск и х и   с   к о р ди н а т м и я   к о р ди н а т а   н е  п о -

(xb, yb, zb) Axf,yf,zfy

Рис

И так

к о р ди н а т м арк е

.  13.1. К о о р д и н а т

,  ГОЛрИа Т

М   П Н Оуф д К Ц И

ы   то ч к и

,  хр а н я щ и е с

я  в  C u r r e n t P o in t

И   a xe s_ B u t t o n D o wn F c n  ОСТП р

Й  —  ЮИЫСаТВЧ

г  13.5. Обработк

а  событи

я  ButtonDownFcn осе

е  мц и р т а

ы  с  км а т н и д р о

и  тк ч о

Coord = get(hObject,  'CurrentPoint1) % Ои н е л д е р п

е  ас и ц с б

х  = Coord(2, 1); у  = Coord(2, 2); % Во в ы

д  мр е к р а

а

plot(x,  у ,  'о' )

ы  и  от а н и д р

ы

и

:

й zyxwvutsrqponmlkjihgfedcb

function axes_ButtonDownFcn(hObject/ eventdata, handles) % Пи н е ч у л о

Я

, н а п р и м е р , и з  в то р й   с рт о к и   м а тр и ц ы , и  в  н е е   в ы в о ид ст я г   13.5).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED

р   (ли ст н

I Листин

ы   то ч е к

636 

С орха н и т п о  ося

аЧс т ь

е   п р и л о ж ен и

е   с  и м ен

м  п р и в о ди

  III. Преин лояж

 с  ги черсафикм

м   mypiot  и  з ап сиут ю  м а р к ер а .

т  к  п о яв лен и

е   ег о  —  щ елч о

к   мы ш ь

В ер н ем с я  теп ер ь   к  и оснхд о й   з адч е   ри со в ан и я  м н о г уо л ь н о й   о б л а с ит п ер в о м   в о з н и к н о в ен и и   с о б ы ит я   ButtonDownFcn  осе й   м ы   до л ж н ы м ар к ер ,  а   п р и   к аж од м   п о ю с луед щ е м   н е о б х ид м о   с о е ид н я т ь   е щк т у ш ин у   с   п р еы д щ у е й   о тр е з к о м ,  о б р аз у я   гр а н и ц у   м н о г уо л ь н и к а в и д м о с ит , п р есдатв л ен и е   в се й   г р а н и ц ы   о нд и м   гр а фи ч е с к и м   о б ъ е к от о п р е дл н н ы е   п р е и м щ у е с вт а   п о  с р ав н ен и ю   с  н а б о р м   о б ъ е к то в   дл с от р н ы   м н о г уо л ь н и к а   (та к   и   о к аж сет я   в п о с л е д вт и ) .  П р и   з ап сук л о ж ен и я   м ы   и н и ц и а л и з и реу м   ли н и ю   (о б ъ ек т   Line)  п р и   п о м о щ и х lin e  и   суатн о в и м   е е   с в о й свт а   XData  и   YData  в   з н ач ен и я   п ыс т у   "Окетыъ б  Rectangle u Line, бк о- л ы хмсе  и  дмы иагмр  " гавы л (с.м  р.азд П р и   в о з н и к н о в ен и к  эит м   м ас и в а к о в  л о м а н о

и  к аж од г

о   с о б ы ит у   и  о р ид н а т

м   абсц и с й  л и н и

zyxwvut

 и нтей рс фо м

я   ButtonDownFcn осе у   н ов й  то ч к и , увели ч и в а

й   е д бу

ю . П р

и

  в ы в ес т ю   в ер .  П о   все м   ад с я   к а ж од е   п ри   н фу к ц и   м ас и в о   9).

м   до б а в л я т я   ч и сл о   о рт е з

и й т й и

в zyxwvutsrq ь -

.

В   п р еы д щ у е м   р а з де л е   м ы  обжсаудл и   сп ос б   и н и ц и али з ац и и  в  п о нфду к ц и и о б р а б о тк и   с о б ы ит я   OpeningFcn,  к о т р о е   в о з н и к ае т   п о сл е   з а п с ук а   п ри ло ж ен и я   и   п ер д   п о яв л ен и е м   ег о   н а   э к р а н е .  С о з да й т е   в   п о н фд у к ц и и m ypiotopen in gF cn  л и н и ю , сорхан и в   к у а з ет л ь   н а  н е е  в  п о л е   Line  сркту ы han dles  (н е  з а бьду т е   с орха н и т ь   и з м ен ен у ю   р с к ут у   han dles)  и  и з м ен и т е о б р а б о тк у   с о б ы ит я  ButtonDownFcn осе й Н  (ЛИТИ С Г  13.6).zyxwvutsrqponmlkjihgfedcbaZY • 

*

Ш

Л ист ин г   13.6. Иница л иза ц Bu t t o n D o wn F c n  О с е

я  оетбък а  Line и  обра от к а  с отбы и я й zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

  •   ,:..;;...:.:..;:,:2Ш ::Ш Ш zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Ш zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED :

function  varargout  = myplot_OpeningFcn(hObject,  eventdata,  handles) varargout{1}  =  handles.output;

% Си н а д з о % и  км ы л г у р % ср у т к у р т

е  ли н

и  с  пм ы т с у

и  мм а р е к а

и  мм а в и с а

и  ды н а

и  в  вх а н и ш р е

х

, зс и п а

ь  ул е т а з к

я  н а  не

е  в  пл о

ы  handles

handles.Line = line('XData',  [ ], 'YData1,  [ ], 'Marker', *o'); % Си н е а р х о

е  мо н а в о р и ц ф и д о

й  ср у т к у р т

ы  handles

guidata(hObject, handles); function axes_ButtonDownFcn(hObject, eventdata, handles) % Пи н е ч у л о

е  мцирта

ы  с  км а т н и д р о

и  тк ч о

Coord = get(hObject,  'CurrentPoint') % Ои н е л д е р п

е  ас и ц с б

х  = Coord(2, 1); y=Coord(2,2);

ы  и  от а н и д р

ы

и

е  Line

л ав Г

 13. рП о г ам м и р о вани е

% Си н а в ы т и ч

 с о бты и й

е  ас и ц с б

с  пи щ у д ы е р

 

х  те ч о

637zyxwvutsrq

к

X = get(handles.Line,  'XData'); % Си н а в ы т и ч е  оа н и д р т  пи щ у д ы е р х  те ч о Y = get(handles.Line,  'YData'); инелвабоД е  ка н и д р о т  но в й  тк ч о и X =  [X х ] ; Y =  [Y у ] ;

к

% Ми ц а к и ф д о я  зи н е ч а н й  ст с й о в в  XData и  YDatazyxwvutsrqponmlkjihgfedcbaZYXWVUTS  лин 1 set (handles.Line,  'Xdata , X,  'Ydata\ Y)zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM

Т еп р ь   п р и л о ж ен и е   myedit  п о з в о л яе т   ри соват ь   ло м ан у ю   ли н и ю ,  н о   и м е о ид н   щ с у ев с т н ы й   н е од с а т к  —  п р и   п о п ы кт е   з а м к н ту ь   гр а н и ц у   м н ог г уо л ь н и к а   н и ч ег о  н е  п р о и сохид т .  Т о ч н о  та к   ж е  н е  усаедт я   р а з м е с ит ь   н ову в ер ш и н у   н а   ж у е   н ари сован н о й  гр а н и ц е .  О ч ев и дн о ,  ч т о   п р и   щ елч к е   мы ш ь п о   ли н и и  в о з н и к а е т   с о б ы ит е   ButtonDownFcn, к о т р о е   п ок а   н е  з а п р о гр а м и рован о .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

т об ы и С

т ю ю -

е  ButtonDownFcn л zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ин и

Осн овн о

е   И Ч ЛТО

е   В   п рограм м и рован и

п о   с р а в н ен и ю   с  те м   ж е   со бы ит е м   о с ей з а го т в к а   п р и л о ж ен и я  н е  соедрж и т   о б ъ ек сл е   з а п с ук а   п р и л о ж ен и я .  П о э т м у   н е о б х ди м о фа й л о в   с а м о с т яел ь н о   с о з ад т ь   з а го л в о з а п р о гр а м и р о в а т ь   е е   и , в о - вотр ы х ,  св яз ат з ове м   п о н фд у к ц и ю   о б р а б о тк и   с о б ы ит LineButtonD ownF cn  и  бе д у м   с ч и ат ь ,  ч т (та к   ж е   к а к   и  с ат н да р нт ы е   п о нфд у к ц и ) го р и т м   н фу к ц и и   Line_ButtonDownFcn  н ButtonDownFcn осе й  (ли ст н г   13.7).

и   С о б ы ти

,  с о т и

я   ButtonD ownF cn  ДЛ

т   в   то м , о н ,  в о - п ерв ы х

Я  ЛИИ Н

И

,  ч т о   в   сред е   G U ID E т   ли н и ю а   с о з а д ес т я   то л ь к о   п о,  в   р е да к то р е  М к   с о в т ес ю у щ е й   п о н фд у к ц и и  и ь   э т у   п о н фд у к ц и ю   с  л и н и ей . Н а И я   ButtonDownFcn  ДЛ Я   И Н ЛИ о   он а   и ме т   тр и   в о хн д ы х   а р гм у е н т а : h object,  even tdata  и  h an dles.  л А е   о лт и ч а е ст я   о т   о б р а б о тк и   с о б ы ит я

function Line_ButtonDownFcn(hobject, eventdata, handles) Coord = get(handles.axes, 'CurrentPoint') x = Coord(2, 1); у  = CoordCL, 2) ; X = get(handles.Line, 'XData1) Y = get(handles.Line, 'YData1) X = [X x] Y =  [Y y] 1 1 set(handles.Line,  'Xdata , X,  'Ydata , Y)

638 

аЧс т ь

Т еп р ь   н ад о   с в яз а т ButtonDownFcn  л и н и ис ам а  ячее инечанЗ е в  е тл

 III. Преин лояж

 с  ги черсафикм

zyxwvu

 и нтей рс фо м

ь   п о н фд у к ц и ю   Line_ButtonDownFcn  с   , дл я   ч ег о   св о й свт о   ли н и и   ButtonDownFcn  саутн о в и к  { @Line_ButtonDownFcn, handles }.

со бы ит е

М ы   о жб с а л у д и   вы з о в   п о н фд у к ц и и   о б р а б о тк и   с о б ы ит я   п р и   п ом ощ я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   в  р.азд   "Как  вв азюятыс укн ци ф дпо т окоаибр  стийы"б о  эйто О п ер ац и ю   с в яз ы в а н и н и и  в  п онфду к ц и в с ети и   с  л и с ит н го 1ист ин

f

h

u

a

n

n

c

d

t

l

i

e

o



s

.

m

o

% Си н а д з о

y

u

t

p

• 

o

u

t



-   . 

_

_



е  ли н

% и  км ы л г у р

• 

O

.

p

e

h

-

n

O

-

i

b

,



n

j

.

g

e

и  с  пм ы т с у

и  мм а р е к а

% ср у т к у р т

-

и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG  LineJ B utzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP t o nDo wnFc n с  с обты ие м

ь  ицнку пфод

-  

l

p

и   к ау з  г.авы л

я   е су л д т  в ы п о л н и т ь   ср аз у   п о сл е   с о з ад н и я   о б ъ ек т а   ли и   mypiotOpeningF cn,  к о т р а я   м ож е т   р е а л и з о в а ть с я   в   со т м   13.8.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC

г   13.8. Сзвя У- "

м м   в zyxwvuts





F

c

c

t

n

(

h

O

b

j

e

c

t



:



e

 

-  

v



e

n

t

d

a

t

a



h

a

n

d

l

e

s



v

a

r

a

r

g

i

n

)

;

и  мм а в и с а

и  ды н а

и  в  вх а н и ш р е

, зс и п а

х ь  ул е т а з к

я  н а  не

е  в  пл о

е  Line

ы  handles

handles.Line = line('XData',  [ ], 'YData1,  [ ], 'Marker1, 'o') % Сз я в

ь  си т ы б о

я  ButtonDownFcn ли н

и  с  пе и ц к н у ф д о

й  Line_ButtonDownFcn

set(handles.Line,  'ButtonDownFcn1, {@Line_ButtonDownFcn, handles})zyxwvutsrqpon % Си н е а р х о

е о н ма в о р и ц ф и д о

й  ср у т к у р т

ы  handles

guidata(hObject, handles);

П осл и з воль н ы Р а с м о рт е н н ы м ы сль о б р ащ ен и

С о з да н и бе

е   п р о де л а н н ы

х   и з м ен ен и е   м н о г уо л ь н ы

е   з а м к н ыт у е   вы ш , ч т о   п р и л о ж ен и я   к  сред

е   в и з ау л ь н о г

е  прил еожни ы  GUIDE

з  сре д

В   к а ч е с вт е   п р и м ер п р и в о ди т   к  п о яв л ен и п аро й   о се й   р а с п о л ж е н ди а г р а м ы   н ек о т р ы В   осн овн о гр а фи ч е с к о свой ст р а б о тк

й   н фу к ц и е   окн о в   е с ул д и   с о б ы ти й

е   сп ос б я   с  гр афи ч еск и

й   п р и л о ж ен и е   о б л а с ти

е   mypiot  п о з в о л яе .

ы   п р о гр а м и р о в а н и

т   ри соват

ь   п ро

я   с о б ы ит й   н а в о дя м   м о гу т  б ы т ь   с о з ад н я   G U ID E.

м   и н е рт ф й с о о   п р о гр а м и р о в а н и

-

т   н а ы   бе з

й  с  GUI

а   с о з а ди м   фа й л - н фу к ц и ю   sim piegui,  в ы з о в   котро ю   окн а   п р и л о ж ен и я   с  двму я   п ар м и   о с ей .  П о д   к аж од а   кн оп к а   П о с рт о и т ь   лд я   в ы в о д а   н а   н е е   с от л б ц е в о х   да н н ы х   (р и с .  13.2). и   sim piegui  е сулд т   р а з м е с ит ,  ос и   и   к н о п к и   с   з адн н ы м т   з адт ь   ет ,  к о т р ы е   с о ед р ж а .  С ам и   п о нфд у к ц и и   р а з м е щ а ю ст

ь   о п е р а то р ы и   с в о й с вт а м и т   к у а з а ет л я   в   о нд о

,  со з адю щ и .  С р ед и   н а   п о нфд у к ц и м   М - фа й л

й й й

е и   э ит х и   об е   п осл е

л ав Г

  13. рП о г ам м и р о вани е

НОВ С О

.  М

Й   Н фу К Ц И И

тсемв

639 zyxwvutsrqpon

 с о бты и й

е  с  имяцкнуфдоп

ы   П ИР Д ОВ

М   И Т НС Л

, ынежбас

И   s i m p l e g u izyxwvutsrqp

Г   13.9  фаЙ -Л Нфу К Ц И

й  подрбным

и  кимяратне о

.zyxwvutsrqponmlkjih

I ф   simplegui 

1г  

ВЕ

• 

•   •  '  

З  Ш

 I

1

0.9

0 9

0.8

0.8

0.7

07

0.6

0.6

0.5

0.5

0.4

0.4

0.3

0.3

0.2

0.2

0.1

0 1zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP

0

п



0.2 

0.4 

По с р т о и

0.6 

0.8 





ь  

0.2 

0.4  По с р т о и т

сиР

. 13.2. н к О

о и н е ж о л  ирп

0.6 

0.8 

1

ь

я   simplegui

function simplegui % Оа н в о н с

я  фя и ц к н у

% Ул е т а з к

, са щ ю а д з о

и  н а  вс

% Си н а д з о

е  гг о к с е ч и ф а р

я  он к

е  ги к с е ч и ф а р

о  пи н е ж о л и р

е  от к е ъ б о  он к

а  бе

з  мне

я  и  ег ы  зс т я с о н а ю  с  зо к в о л г а

о  кт н е о п м о

я  в  ср у т к у р т

ы у  handles

м  "simplegui"

handles.F = figure('MenuBar',  'none1,  'Name',  'simplegui', ... 'NumberTitle',  'off'); % Сз я в

ь  си т ы б о

я  CloseRequestFcn с  пе и ц к н у ф д о

й  Close

set(handles.F,  'CloseRequestFcn1,  {@Close,handles})

640 

аЧс т ь

 III. Преин лояж

 с  ги черсафикм

 и нт е й рс фо м

zyxwvut

%zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Си н а д з о е  ло в е й  пр а ы  ое с й handles.Al = axes('Position',  [0.05 0.2 0.4  0.7]); % Си н а д з о

е  по в а р

й  пр а

ы  ое с

й 1

handles.A2 = axes('Position ,  [0.55 0.2 0.4  0.7]); % Си н а д з о

е  ло в е

й  кк п о н

% с  пе и ц к н у ф д о

и  "Пьтиортсо

" и  сз я в

ь  е е  си т ы б о

я  Callback

й  PlotBtnl

handles.PlotBtnl = uicontrol('Style',  'pushbutton',  'Units', ... 'Normalized1,  'Position',  [0.05 0.05 0.3  0.05],  ... ^^^J^tring' , '  тиортсоП % Си н а д з о

е  по в а р

ь  ', ' Callback',  {@PlotBtnl, handles}) ;

й  кк п о н

% с  пе и ц к н у ф д о

и  "Пь т и о р т с о

" и  сз я в

ь  е е  си т ы б о

я  Callback

й   PlotBtn2

handles.PlotBtn2 = uicontrol('Style',  'pushbutton1,  'Units', ... 'Normalized1,  'Position',  [0.55 0.05  0.3  0.05],  ... 1

,  'Callback1, {@PlotBtn2,handles});

'String',  'Пьтиортсо

function PlotBtnl(hObject, eventdata, handles) % Пи ц к н у ф д о % Деал

я  ок т о б а р б

и  си т ы б о

м  тм и щ у к е

и  лы в е

я  Callback ло в е

е  ос

й  кк п о н

и

и

axes(handles.Al) % Вм и д о в ы

, н а  ни

х  ву н ь л а к и т р е

ю  су в е ц б л о т

ю  дм а р г а и

у  вр о т к е

а

bar(rand(I, 4)) function PlotBtn2(hObject, eventdata, handles) % Пи ц к н у ф д о % Деал

я  ок т о б а р б

и  си т ы б о

м  тм и щ у к е

и  пы в а р

е  ос

я  Callback по в а р

й  кк п о н

и

и

axes(handles.А2 ) % Ви д о в ы

м  н а  ни

х  г уньлатнозиро

ю  су в е ц б л о т

ю  дм а р г а и

у  вр о т к е

а

barn(rand(1, 4)) function Close(hObject, eventdata, handles) % Пи ц к н у ф д о % Во в ы

я  ок т о б а р б д  мг о н ь л а д о

и  си т ы б о о  дг о в г о л а и

q = questdlg('Зт ы р к а % Пк р е в о р

а  вр о б ы

if strcmp(q,  'Д' а

я  CloseRequestFcn он к о  он к

ь  п' еинежолир а  пл е т а в о з ь л о )

а  пи н е ж о л и р

а  с  пе и н е д ж р е в т д о ,  'simplegui',  'Д' а

я

я

м  зи т ы р к а , 'Н' те

я ,  'Нет')

;

л ав Г

  13. Пр о г ам м и р о вани е

 с о бты и й

% Пл е т а в о з ь л о % уе я л а д

ь  пи д р е в т д о

 

м  он к

о  пи н е ж о л и р

л  зи т ы р к а

641 zyxwvutsrqp

е  пя и н е ж о л и р

,

я

delete(handles.F) endzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

втсйо С рп и  прогамивн П р о гр а м и р о в а н и в л еч н и с в о й с вт ес л д а з воли л св о й ст гр а м и р о в а н и

р е а вП и н ы

а  воткеъбо

, полезны

е и  ситыбо

й

е   с о б ы ит й   раз ли ч н ы х   о б ъ е к от в   м ож е я   р яд а   и х   с в о й с вт .  Н а п р и м е р , в ы ш е   м ы  р а с м о рт ел а   C urren tP oin t  осе й  дл я   п очлуен и я   к о р ди н а н   щ ел ч о к   мы ш и .  С в о й с вт о   C u rren t ch aract er  о   н а м   о п р е дл и т ь   си м во л   н а ж от й   к лав и ш и в   гр а фи ч е с к и х   о б ъ е к то в ,  к   к о т р ы м   п р и о хд ст и  п р и ло ж ен и й  с  гр афи ч еск и м  и н етр ф й с о м

е  обра бот к

и  стиыбо

zyxwvutsrqponmlkjihgfedcbaZYXWV

т   п о тр е б о в а т ь   п ри и   и сп о ль з о в ан и е т  то ч к и , в  к о т р о й   бы л гр а фи ч е с к о г о   окн а   по .  П ер ч и сли м   ще е   р я д я   п р и б е га т ь   п р и   п ро .zyxwvutsrqponmlkjihgfedcbaZ

й

Е сл и   о б р а б о тк а   н ек о т р о г о   с о б ы ит я   з ан и м ае т   д о с та о ч н о   м н ог о   в р ем н и т о   и ме т   см ы с л   п о з а б о ит ь с я   о   то м ,  к а к   н а   ег о   в ы п о л н ен и е   п о в л и яе т   воз н и к н о в ен и е   н ов г о   с о б ы ит я .  К аж ыд й   гр а фи ч е с к и й   о б ъ ек т   и ме т   дв а   с в о й а   з н а ч ен и й   котры х   п о з в о л яе вст а   BusyAction  и   i n t e r r u p t i b i e ,  суатн о в к в ы брат ь   раз ли ч н ы е   сп о с б ы   с о гл а с о в а н и я   с о б ы ит й .  Д л я   з а п р е т а   п ре ы ва н и я   и с п о л н яем о г о   с о б ы ит я   о б ъ ек т а   е с ул д т   с у ат н о в и т ь   ег о   с в о й с в т i n t e r r u p t i b i e  в   з н ач ен и е   'o ff1 .  Т о гд а   в ы п о л н ен и е   о б р а б о тк и   с ю л уе д щ е г с о б ы ит я   о п р е дл я с т я   з н а ч ен и е м   с в о й с вт а   BusyAction.  Е сл и   о н о   п ри н и м ае з н ач ен и е   ' c a n c e l 1 ,  т о   о б р а б о тк а   сю л у е д щ е г о   с о б ы ит я   о мт е н я е ст ,  а   сел 1  queue'  (п о  ум о л ч а н и ю ) , т о   ю сулед щ е е  с о б ы ит е  сатв и ст я  в   о ч ер ьд .

, т о о т и

П о   му о л ч а н и ю   с в о й с вт о   i n t e r r u p t i b i e  п р и н и м а е т  з н ач ен и е   ' o n 1 ,  п р и  э от м о б р а б о тк а   с о б ы ит я   м ож е т   п р е ы в а ьт с я   п р и   н али ч и и   в   в ы п о л н яем о й   н уф к ц и и   ОДНО Й  И З  к о м а н д   dr'awnow, figu re,  getframe,  Л И И  pause.  Д л я   р а з л и ч н ы х о б ъ е к от в   и м ею с т я   св о и   о с б е н н о с т и   п р и   и сп о ль з о в ан и и   св о й ст в i n t e r r u p t i b i e  и  BusyAction,  к о т р ы е   п р и в е дн ы   в   сп рав о ч н о й   с и ем т е   (см . о п и сан и е   св о й ст в   гр а фи ч е с к и х   о б ъ е к от в   в   раз д .zyxwvutsrqponmlkjihgfedcbaZYXW  M ATLAB:  Handle Graphics Property  Browser  и   M ATLAB :  Creating  Graphical  User  Interface:  Interrupting Executing  Callbacks).

642 

аЧс т ь

е  форм

Из м е н и п   к у а з е тл е  м ож е

Ти ро

 III. Преин лояж

ы  крус о

я   мы ш

и   з а д ес т ь  з н а ч ен и я

т  п р и н и м а т

а я   с в о й свт о :

О   c r o ssh a ir  —  п ер к есит е

 с  ги черсафикм

zyxwvuts

 и нтей рс фо м

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK

м   P oin t er  гр а фи ч е с к о г

о   окн а

, к о т

;

•   arrow —  о б ы ч н а

я  сртелк

П   watch  —  п ес о ч н ы

е  ч ас ы

•   ibeam —  в ер ит к а л ь н ы

а   (п о  ум о л ч а н и ю )

;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

; й   к ру с о р

.

П ер ч н ь   в се х   в о з м о ж н ы х   з н ач ен и й   п р и вед н   в   сп равоч н о й   с и ем т MATLAB.  З н а ч ен и е  custom  п о з в о л яе т   о п р е дл и т ь   с о б вт е н н у ю   к в а рд н т у п и к от г р а м у   р аз м ер о м   16  п и к село в   лд я   к р ус о р а   мы ш и   в   м а тр и ц е   и   з адт е е  в   к ач есвт е   з н ач ен и я   с в о й с вт а   PointerShapeCD ata. Е ди н и ц а   о з н ач е т   ч ре н ы й   ц в ет , дв о й к а  —  б ел ы й , а   п р о з р а ч н о с т ь   п и к с ел а  до с ит га ест я   с у ат н о в к о NaN   в   с о вт ес юу щ и е   э л е м н ыт   м а тр и ц ы .  П о с л е до в а те л ь н о с т ь   к ом ан д п р и в едн н а я   в  л и с ит н г е   13.10, п р и в о ди т   к  крсуо у   мы ш и  в  в и ед   к в а д р тн о п роз рач н о й  р а м к и .

•  Л ист ин ра м к

-

• 

г   13.10. Ген ра иц

•  я  уакз т е л

я  м ш ы

е ю ь й , й

• и  в  вид

е  квард т но

й  проз а ноч

й

и

Р   =  o n e s( 1 6 ) ; М Р (2:15, 2:15

)  =   N aN ;

s e t ( g c f , 

' P o i n t e r ' , 

'c u st o m ')

s e t ( g c f , 

' P o i n t e r S h a p e C D a t a 1 ,  MP)

т   д о с та о ч н о   п рост о   н ап и сат С р ед а   G U I D E  п о з в о л яе в е дн и я   с о б вт е н н ы х   и с л е од в а н и й .  О с н о в н о е   п р е и м щ у е с вт с р ед ы   G U I D E  п о   с р ав н ен и ю   с о   м н о ги м и   рд г и у м и   п р о гр а м и р о в а н и я   со ти т   в   то м ,  ч т о   р а з р а б о тч и х   н фу к ц и й  M ATLAB, к о т р ы боль ш о й   н або р  го т в ы р еш ен и я   ш и роког о   с п е к рт а   з адч .  Ф ну к ц и , п р едн а з н а ч ен н ы ш и х  в ы ч и слен и й  и  в и з аул и з а ц и и  да н н ы х , бы л и   о п и сан ги .  К а к  уж е   пу о м и н а л о с ь , фну к ц и , н а п р а в л ен н ы е  н з адч ,  с о б р а н ы   в   п а к е ыт ,  н а з ы в а ем ы е   Toolbox.  И с п о л ь з о в а н и Toolbox п о с в ящ ен а  слюеуд щ а я   ч аст ь  к н и ги .

ь   п р и ло ж ен и

е  дл я   п р о о   в и з аул ь н о с о в р ем н н ы м и   яз ы к ам к   м ож е т   и сп оль з оват е  р еа л и з юу т   а л г о р и тм е  дл я   п р о сетй ы  в  п ер в о й   ч аст и  к н и а  р еш ен и е   с п ец и а л ь н ы ю   н ек о т р ы

й и ь ы х х

H

A

C

T

b

l

И С П О Л Ь З О В НА И TOOLBOX  И  Р ШЕНИ П Р Н Ы ЛИ К Д А Х   АЗ ДА

V

Е Ч

Е

л Га в

а  1 4

Р е ш ни м а т е м а т и еч с о к

е  з а д

ч й  физ к

и

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR

Б о л ь ш и н с тв о   з ад ч   м а е нх и к и ,  те п л о п р о в о дн о с ти ,  ечт н и я   ж и дк о с и т ,  э лек тр о с та и к и   и  э л ек рт о ди н а м и к и  св осятд я   к  ди ф ер н ц и ал ь н ы м  урав н ен и я м  в ч а сн т ы х   п р о и з в о дн ы х   в   о б л а с ят х   сло ж н о й   фо р м ы . Д а н н а я  гл а в а   п о с в ящ ен а о п и сан и ю   в о з м о ж н о с ет й   Partial  Differential  Equations  Toolbox  (PD E Toolbox),  п р едн а з н а ч ен н о г о  дл я  реш ен и я  гр а н и ч н ы х   з ад ч   лд я  ди фер н ц и аль н ы х   р уа в н е н и й   в   ч а сн т ы х   п р о и з в о нд ы х   в   в дм у е р н ы х   о б л а с ят х   м ео т д м т   п р и л о ж ен и е   pdetooi к о н еч н ы х   э л е м н от в . В  со сат в   да н н о г о   Toolbox  вохид с  гр афи ч ес к и м   и н е тр ф й с о м   п о л ь з о в а те л я ,  и с п о л ь з о в а н и е   кот рог о   н е  тре еб у т   г л бу о к г о   п о н и м ан и я   м ео т д а   к о н еч н ы х   э л е м н от в .  К р о м е   то г о , zyxwvutsrqponmlkj   PDE Toolbox  о б л а д е т   н абор м   нфу к ц и й , п о лез н ы х   п р и   н ап и сан и и   с о б вт е н н ы х п р и л о ж ен и й   лд я   р е ш е н и я   гр а н и ч н ы х   з ад ч   м ео т д м   к о н еч н ы х   э л е м н от в . С ю л еу д щ и й   р а з де л   п о с в ящ е н  о с н о в а м  р а б о т ы   с  pdetooi.

р По с т

й  прим е

С р ед а   pdetooi  п о з в о л яе ди ф е р н ц и а л ь н о г ст и   р а з б и е н и е   о бласт чл уа ю щ ю у с я   с и ем т П о л ь з о в а те л ь   од л ж е гр а н и ч н ы е   с ул о в и я в и я .  И з чуи т е   о сн о в ст и  в  п р о с т й   о б л а с ти

р т   з адт

ь   г е о м е рт и ,  гр а н и ч н ы

ю   о б л а с ти ,  ит п   и  к о э ф и ц и ен т ы о   руа в н е н и я е   и   н ач ль н ы е   с ул о в и я ,  п р о и з в е и   н а   к о н еч н ы е   э л е м н ыт   (тр и а н глуяц и ю ) ,  р еш и т ь   по . у   л и н ей н ы х   р уа в н е н и й   и   в и з ау л и з и р о в а т ь   р е з л у ь ат н   с ф о р м луи р о в а т ь   з адч у ,  т . е .  н а п и с а т ь   руа в н е н и е  и ,  и   п о с л едо в аетл ь н о   в ы п о л н ят ь   в ы ш ео п и с ан н ы е   ей д с т ы   работ ы   в   pdetooi  н а   п р и м ер е   з адч и   те п л о п р о в о д н о .

аЧс т ь

646

а  за д ч

о Пс т а но в к Т р е бс т у ри с

 IV. Использвани е

я   н ай т .  14.1.

и

и  р ас п р едл н и

\ \ \ 4 \ \ /  ^v \ /  R=0 25Л 4 4 I  1 \ \  / 4 \ k  7ъ = 50 0  У \ \ \ \ 7 ^ 6 0 0zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ \ s L= 2 w,

а   и  к о э ф и ц и ен ы   о п и с ы в а ест

н а   в е нр х е ст и  еид н и

й   и  н и ж н е ц  н е  ук а з ы в а ю ст я

Ср е д Н ачн и т окн

я   н а  п р а в о и  к  гр а н и ц е

я   з адч е   п о др б н о м

ь  и  гр ан и ч н ы о   в  ц ен рт и   те п л о и з о л и р о в а н ы т  те п л о п р о в дн о с т я  ди ф ер н ц и ал ь н ы

й   о бласт

е   с ул о в и р   н орм ал

П о с та в л е н н а р ку ц и ,  п р и в едн н ы pdetooi.  Бо л е р а з де л .

.  14.1. О бласт

е   р асп о л ж ен

гр а н и ч н ы (п   — в ек от

zyxwvuts

Г - 60 0

Рис

е  тем п ер а ут

 зачд

  Т   в  о б л а с ти , и з о б р а ж ен н о й  н а ы zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO

е  тем п ер аут

Т  N

е   о вт е р с ит ы   п р я м о гу л ь н о в  те п л

 пр инхлыакд

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB

А  N \ \ \ \ \ \ Я - 1  s N \ N \ N

К р г уо в гр а н и ц и с от ч н и к о л ен и

 Toolbox и  решени

й   и  лев о )

й  гр а н и ц

е  услови

я

е   п р я м о гу л ь н и к а

й   гр а н и ц

.  В н рту и   к   рав е м  урав н ен и е

е  з а д ю

.  П р а в я  и  лев а я и   о бласт и   не т н   200. Р асп ред м

т   н л е ву о

е   Т  =  600 , а  н а  о к ржун о ст

й   п от

к   ет п л

а

и   Т  = 500 . Р а з м ер н о

-

. а   п рост е   в   ю с лу е д щ и

о   р е ш а е ст у   о п и сан и

я   п р и   п ом щ х   р а з де л а х ,  п о м о га ю ю   в о з м о ж н о с ет

и   с р ед

ы   pdet ooi.  И н ст т   освои т ь   работ у  в й   п о с в ящ е н   о ед т л ь н ы й

а  pdetooi, zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  конст риу ова ни е  обл а ст и е   р а б о ту ,  в ы п о л н и о   P D E T oolbox  с р е д

в   ком ан д у   p d e t o o i  в   к о м а н д н о ы   p d e t o o i ,  и з о б р а ж е н н о е   н а  р и с

м   окн е .  14.2.

,  п о я в л я е т с

я

л ав Г

  14. Реш е ни

 зачд

 м ат е м ат и че с окй

647zyxwvutsrqpo

 фи зи к

|#JPDE Toob l ox -[Untitled] Re Edti   Opo tinsDraw  Boundary  PDE  Mesh Solve  Plot  Wni dow  Help • 

•TTnTxl

С ЕЛ О CD  >  « dft   PDE  Z\   ЈL  =  H&  "^.[l  < i  eric Scalar Set formula. I i I  I  i 



Y:  0.85Б 8

»J|  y. 145g

i

1

0.8 -

0.6 -

0.4 -

0.2 -

0-

- 0.2 -

- 0.4 -

- 0.6 -

- 0.8 -

i  ­1 

- 15

i  ­0.5 

Info: : Draw 2­D geometry.

е  о к н

о  соедр ж и

•   рс т о к з адч и

у   м ен ю ;

•   п а н ел л яю щ и

ь   и н с р тм у е н о т х   о б л а с ть

G   п а н ел руа в н е н и я

ь   и н с р тм у е н о т

•   о бласт ск и К о н с тр и у р о в а н и н и е  п р ям о гу л ь н и к м огу л ь н и к а н и к а   со в п а

.  14.2.  С р е д

т   ю с лу е д щ и , к аж од

1.5

zyxwvutsrqponmlkjihgf

;

а   pdetool

е   осн овн ы

е   м не

е  э л ем н ыт

ю   с о в т ес у

в   ри со в ан и

:

т   о п р е дл н н о м

у   э атп

я   ге о м ерт и ч е с к и

у   р еш ен и

х   п ри м и т вов

я

,  о п ред

-

; в   лд , тр и а н глуяц и

ь   в од х  п р и м и т в о

•   ос и  дл

i 05

 

Рис

Дан н о

i  0 

1 1

а   Set  formula  лд ;

я  со з адн и

я   о б л а с ти е  о б л а с ти

.  доУ б н л   с  н а ч л о

я   з адн и , р еш ен и

а   и  к ргу о   расп ол ж и т м   к о р ди н а т

я   гр а н и ч н ы я  и  в и з аул и з ац и я   к о н с рт и у р о в а н и

х   с ул о в и й

,  к о э ф и ц и ен от и   р е з л у ь ат

я   о бласт

в ;

и   и з   г е о м е рт и ч е

-

. ,  п р и в едн н о а   з адн н ы

й   н а  р и с .  14.1, в к л ю ч ае х   р аз м ер о в   и  в ы ч и та н и ь   о бласт ь   та к ,  ч от б ы   ц ен т ,  то гд а   к о р ди н а т ы   н и ж н ег

т   в  сбе я   соз ад е   к ргу а   и з  п ря р   п р я м о гу л ь о   лев о г о   гл у

а

аЧс т ь

648

п р я м о гу л ь н и к н о . Ц ен т

р  к ргу

а   удб а   ат к ж

 IV. Ис по льз вани е

 Toolbox и  р еш ени

т   (- 1, - 0.5),  а  ег о   в ы с о т а   и  ш и р и н е   со в п аде т   с  н ач л о м   к о р ди н а т

 принхлыакд

zyxwvu

 зачд

а   1 и   2  со втес н

-

.

Н ач н и т е   с   с о з ад н и я   п р я м о гу л ь н и к а .  В ы бер и т е   в   м ен ю zyxwvutsrqponmlkjihg   Draw  п н у к т Rectangle/ square  и л и   в о сп о ль з йу етс ь   с о в т ес ю у щ и м   и н с р тм у е н о т м   (ег о ю п и к от г р а м а   с о едр ж и т   п р я м о гу л ь н и к ) .  Н а р и сйу т е   мы ш ь ю   р т е бм у п р ям огу л ь н у ю   о бласт ь   н а   о с я х   о т   гл уа , уердж и ва я   н а ж от й   л ев у ю   кн оп ку . С коре е  в с его ,  то ч н о   в ы ед р ж а т ь   р аз м ер ы   и  п о л ж ен и е   н е  уадл о с ь .  Д в о й н о й щ ел ч о к   мы ш и  п о  п р ям огу л ь н и к у   п р и в о ид т   к  п о яв лен и ю  ди а л о г в о г о   окн а Object Dialog  (р и с .  14.3),  п р едн а з н а ч ен н о г о   л д я   с уа т н о в к и   з адн н ы х   раз м е р о в  и  п о л ж ен и я   о б ъ е к ат .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE

IV  Object Dialog zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ЙН 1

Rectange l

Object type: Left:

:- 1.083206106870223 - 0.4828375286041191 2.0564885496183214  0.99313501144164773 R1  OK  j  Cancel

Bottom: Width: Height. Name:

Рис

. 14.3. Д и а л о г в о

е  о к н

! f  f\  u - |

о  Object D ialog

В в ие д т е  в г уо л ь н и к а в е ст н н о да н н о м   с ч л уа г уо л ь н и к о к о н с тр и у р о в а н и н ят ь   и м ен п ри н я л  н ж ун о

  с рт о к а х   Left  и   Bottom  к о р ди н а т ы   н и ж н ег о   лев о г о   гл у а :  - 1   и  - 0.5, в  Width  и  Height з а д й т е   ш и ри н у   и  в ы с о ут :  2 и .  П о л е  Name  п р едн а з н а ч ен о  дл я   о п р едл н и я   н аз в ан и я  о б ъ е к та е   п р я м о гу л ь н и к а .  П о   му о л ч ан и ю   и м ен а   с о з ад в е м ы х в   со тя т   и з   кб у в ы   R ( о т   Rectangle)  и   п о р я дк о в о г о   н о м ер а и   о бласт и   с   п рост й   г е о м е рт и е й   н е т   н е о б х ди м о с т а   о б ъ е к то в .  Н а ж м и т е   кн оп к у   О К  и  убеид тсь ,  ч т о   п р ям о гу л ь н и е   п о л ж ен и е  и  р а з м ер ы   н а  осях .

Н а р и с йу т Draw  п н у к с рт м у е н от м

е   к ру г   с  ц ен рто м   в   от ч к е   (0, 0)  и  р аид суо т   EUipse/ circle (centered)  и л и  в о с п о л ь з йу етс ,  ег о  п и к то гр а м а  —  э л и п с  с  п ер к есит ем

м   0.25.  В ы б ер и т ь   с о вт е с ю у щ и .

  п р ям о   1 со т

, в

  п р ям о .  П р и   и зме

и к

е   в   м ен ю м   ин -

л ав Г

  14. еРш ени

К ^  П и т с к ре нп у к т я со

 зачд

 м ат е м ат и че с окй

Пр и м е ча н и а   н ем х  и з  ц нер т

 фи зи к

649 zyxwvutsrq

 

е   ^Д zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB е  н а  п и оркгамт ю   Draw  оз н ач ю т а  п р и  ноажт

е  и мнеруаст

, ил

,  чт о  ю вущтс еои й  лвое й  кн оп к

е  мы ш и

и  олсв

о  "centered" в  н аз вн и й   о бък е т   с т е ир у с

и я  н а

.

о   к о р ди н а т   осе й   и  н ар и сйу т е   о к ржу н о с т ь П о м е с ит е   к р ус о р   мы ш и  в  н а ч л п р и   п ом ощ и   мы ш и   с  о нд о в р ем н н ы м   е рд ж у а н и е м   .  К л а в и ш а   ,  сле и   а к ит в п о з в о л яе т   ри соват ь   г е о м е рт и ч е с к и е   п ри м и т в ы   к в а др т   и  к ргу н ы ,  с о вт ес н н о ,  и н срмтуен т ы zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML   Rectangle/ square,  Rectangle/ square  (centered), Ellipse/ circle, Ellipse/ circle (centered).  П ер й ид т е   к  св о й свта м   к рг у а   дв о й н ы м   щ ел ч к о м   мы ш и   и  уот ч н и т е   в  ди а л о г в о м   окн е  Object  Dialog ег о  п о л ж ен и е   и   р а ди с у .  В   срто к и   X- center,  Y- center  е сулд т   з а н ес т и   н л иу ,  а   в у  р аид су а   0.25. К р у г   и ме т  н а з в а н и е  c i  (о т  Circle). Radius  — в ели ч и н Г е о м е рт и ч е с к и ле н р м у е н от о ся о п р е дл н и кру о п р е дл я с т ид н е н и ри с м ен ь ш и О б л а с ьт ван а

е   п ри м и т в

ы   лд я  з а д н и я   о бласт и   с о з да н ы т   пр я  (п ерох д   в  н ег о   п р о и сохид я  и л и  в ы б о р е   п ну к т а  Draw Mode  м ен х   п р и с тв ю у т   вс е  до б а в л ен н ы е   о б ъ е к ыт .  С юлеуд щ и и   в з а и м о с в яз и   м ж ед у   п ри м и т вам и ,  о б р а з юу щ и м г   од л ж е н   бы т ь   а л ед у н   и з   п р я м о гу л ь н и к а .  С в яз е  Set Formula  сред ы   pdetooi.  З н а я   в  срто к е   о б ъ е к то в ,  а   м и н у с —  в ы ч и ат н и е .  О б л а с ти .  14.1, со втес у т   фо р м л у а   R I -   c i, и з  б о л ь ш ег й  п о  р а з м е р а м .  р еж и

м   ри сован и в   ри со в ан и

, теп р

,  в   к о т р о ь   з адй т

О п р е д л е ни

й   р е ш а ес т е   к о э ф и ц и ен т

е  ураенв и

я   ид ф е р н ц и а л ь н о ы  урав н ен и

я  и  гынраич

.  С ей ч а с   с у ат н о в и  и с п о л ь з о в а н и и   и н ст ю  Draw),  п о э т м у  н а й   э ат п   с о т и т  в и   о б л а с ть , — ь   м ж де у   п ри м и т в ам и к   п лю с   о з н ач е т   объе ,  и з о б р а ж ен н о й   н а о   о б ъ ек т а   в ы ч и ат е с я

е   р уа в н е н и е я  и  гр а н и ч н ы

х  усливо

,  с к о н с ртиу р о е  усло в и я

.

й

М ен ю   Options  соедр ж и т   п о мд ен ю   Application,   к о т р о е   п о з в о л яе т   з адт ь  ти р еш аем о й   з адч и .  П ну к т   Heat  Transfer  со втес у т   з адч е   о   р а с п р едл н и и  теп л а .  В ы б ер и т е   ад н н ы й  п ну к т , слев а   о т  н а з в а н и я  п о яв и ст я  фл а г  — сре д а   pdetooi  етп р ь   н а с рт о е н а  н а  р еш ен и е  з адч и   те п л о п р о в о д н о с ти . И с п о л ь з о в ан и е   р а с к р ы в а ю щ е го с я   сп и ск а , р а з м ещ ен н о г о   н а  п ан ел и   и н с рт м у е н от в у   р е з л у ь ат .  сУат н о в и т е   р еж и м   ид ф е р н ц и а л ь п р и в о ид т   к   а н а л о ги ч н о м н о г о   руа в н е н и я ,  в ы б р а в   пну к т   P D E  Mode  в   мне ю   P D E . Н а  э к р а н е   е тп р о т б р а з и ст я   о бласт ь   с  овтерси ем .  И м ен н о  дл я  эот й   о бласт и   и  се у дл т  оп ре е лд и т ь   к о э ф и ц и ен т ы  и  п р ав у ю   ч аст ь   ди ф е р н ц и а л ь н о г о  ура в н ен и я . П е р й ид т щ ел ч о ж ен о

е   к  п н у к т к   п о  о б л а с ти е   н а   ри с

у   PD E Specification...  м не ю   PD E и л и  п р и м ен и т е  дв о й н о ,  п о яв л ест я   ди а л о г в о е   окн о   PD E Specification,  и з о б р а . 14.4. О б р а ти е   вн и м ан и е , ч т о  вверх у   ди а л о г в о г о   окн

п , ь й -

а  н а

аЧс т ь   IV. Ис по льз вани е  Toolbox и  р е ш е ни  пр инхлыакд  зачд zyxwvuts 650zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

п а н ел и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Equation  соедр ж и стя   общ и й   в и д  урав н ен и я   те п л о п р о в о д н о с ти ,  к о т е   pdetool: р о е   м ож е т   бы т ь   р еш ен о  в  сред - div(k*grad(T))  =  Q +  h*(Text  -  T) З н а ч ен и н а   п р ав о р уа в н е н и я р а с п р е дл н и р уа в н е н и е м , н ы х   з ад с рт о к а х

я   к о э ф и ц и е н от в  усатн ав л и в аю ст я   в  срто к а х   в о да ,  р а с п о л ж ен н ы х й   п ан ел и   ди а л о г в о г о   окн а . Лев а я   п а н ел ь   ж с л иу т   лд я  в ы б о р а   ит п а т   з адч е   о   с ат ц и о н а р н о м ,  п ер к лю ч аетл ь   Elliptic   со втес у и   те п л а ,  о п и сы в аем о й   э л и п ит ч е с к и м   ид ф е р н ц и а л ь н ы м   a Parabolic  —  н ес атц и о н а р н о м у   с чл у а ю .  Р еш ен и е   н е с ат ц и о н а р ч   оп и сан о   н и же . Убеид тс ь   в  то м , ч т о  вк лю ч е н   Elliptic,  и  з адй т е  в   в од а   к о э ф и ц и ен т ы  урав н ен и я   р а с м а тр и в а е м о й   з адч и .zyxwvutsrqponmlkji

j #PDE SpecificationzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA .

TypeofPDE:

Q

T №

,

.

T

,

e

W

a

1

U

,

e

v'alue 

Description

к

- j Q 

Coeff. of heat conduction

Q

10 

Heat souice

]  n 

Convective heat tiarrler coeff.

и  о  

External temperature

C

o

e

f

f

i

c

i

e

n

t

(*"  Eliptic С   Parabolic

r

1 Text



• . 

'











 



'



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

OK  |

. 14.4. Довигла

Cancel  |

е   нк о

о  PDE Specification

х   к о э ф и ц и е н от в   п о з в о л яе т   св ет и   ди ф е р н ц и а л ь н о м   в и ед , к  урав н ен и ю ,  к о т р о е   о п и сы в ае е  в  общ е ю   в  н ач л е   да н н о г о   р а з де л а .  сУат н о в и т е   к о э ф и ц и ен т   к  з н ач ен и е   200.  П о с к о л ь к у   в   р а с м а тр и в а е м о й   з адч х   и с от ч н и к о в   ет п л а ,  т о  Q равн яест я   н л юу .  К о э ф и ц и ен а   h и  вн еш н я я   ет м п е р а ут ,  вохядщ и е   в   общ и о   ру а в н е н и я ,  атк ж е   од л ж н ы   и м ет ь   н л е ув о е   з н ач ен и е  сорхан ен и я   п р о ед л а н н ы х   и з м ен ен и й .

ю   гр а н и ч н ы х   с ул о в и й е   к  з а д н и ю   Boundary,   сред а   pdetool  н аохид ст ,  в   о к н е   о т б р а ж ю тс я   то л ь к ,  ч т о  п р ям о гу л ь н и к   и ме т   ч еы т р х   г уд ь  та к ж е   с о ат в л е н а   и з  ч ыет ре

.  В ы б ер и т я   в   р еж и м о   гр а н и ц е   гр а н и ц ы .

е   пну к е   с уа т н о в к ы   о б л а с ти ,  п о  чи сл

е т   з ад у  теп е   не т   кон й  в и . Н а

т д -

т   Boundary  Mode и   гр а н и ч н ы х .  О б р а ти т е   вн и м а у   с то р о н ,  и   окжру -

л ав Г

 14. Реш ени

С де л а й т б ер и т лог во н ог

 зачд

 м ат е м ат и че с окй

 фи зи к

651 zyxwvutsrqponm

е   е щк т у е й   в е рн х ю ю   гр а н и ц у   п р я м о гу л ь н и к а   щ ел ч к о м   мы ш и   и  в ы е  в   мне ю  Boundary  п ну к т  Specify  Boundary  Conditions..., п о яв л ест я  ди а е   окн о  Boundary  Condition, п р енд а з н а ч ен н о е  дл я   в ы б о р а   ти п а   гр а н и ч о  усло в и я   (р и с .  14.5).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

[^Boundary Condition Boundary condito i n equato i n: Condtion type:

'.jD| x| h- T.

Coefficient 

Value 

Description

С   Neumann .

. 14.16.  Пьнло ги умояр

с Ри

й   н а  р и с е   в  срто к

к  с мият осрев т

. 14.16, н а р и у zyxwvutsrqponmlkjihgfe   Set formula

и

В   р еж и м ад ж

е   ри со в ан и я   н а   о бласт и   п р и с тв ю у т   в с е   с о з ад н н ы е   п ри м и т вы , е   сел и   он и  в ы ч и атю ст я   и з  дргиу х   п ри м и т вов . Д л я   о т б р а ж ен и я   р еал ь н о й   г е о м е рт и и   о бласт и   п е р й ид т е   в   р еж и м   ди ф е р н ц и а л ь н о г о   р уа в н е н и я (п н у к т  PDE Mode  в  м не ю   PDE). zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH



П р и м е ча н и

е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED   jj

Р и а к ед т р о в а н и ры

е   л м ро у ф

й  можн н о , и  внтсе

о  пйерт и  и знме и

Н а р и с йу т е   п р я м о гу л ь н и н а  р и с   14.17.  О ч ев и дн о боль ш и х   к в а др а т ш ин ы  к о т р ы х   со в п адю

,  ц ели к о

ы   п ун о с т д и  в  лю об й   м оне т я  в  гриомет к   с о   с к рг л у е н н ы м ,  ч т о   е сулд м   р ас п о л ж ен н ы т   с  в ер ш и н а м

о   о тл ь к , джа ю   о б лиа с т

о   в   ж и ер м е  п лос е  тог .

е   р и со в ан и я , ка к  рше н и

и   г ул а м и ,  та к о ь   и з   п р я м о гу л ь н и к х   в н рт у и   п р я м о гу л ь н и к а

т   в ы ч ес т и  п р ям о гу л ь н и к а

й   ка к   и з о браж е а   ч е ыт р .

Л

с Ри

. 14.17.  Пьнло ги умояр

к  с о н е слыгм урк

и  умал г

и

, в   кот е  н йеа д

-

н е   не ,  в ер -

668 

аЧс т ь

Д л я   п о чл уе н и ласт ь   с   ч е ыт р ь м ц ен р т у   п р я м о гу л ь н и к с от р н е  эит Н ач и н аю щ ем н и и   г е о м е рт и .ы атримб оен н ари со в ан н у л ся е т я   п е р и о ид ч е с к о и з м ен ен и й   м ожн

 IV. Ис по льз вани е

х   гл о у ,  ц ен рт

я   с к рг л у е н н ы я   к р г уа м и а   в ер ш и н а .

х   к в а д р а то в у   п о л ь з о в а те л и   о бласт  П ну к ю   ли н и

 Toolbox и  р еш ени

в   о с ат л о с ы   котры х   а дл е ун ы

ь   о б ъ е ид н и т х   р ас п о л ж ен х   к в а д р а то в

 пр инхлыакд

ь   п о чл у е н н у ы   в   бли ж ай ш и ,  а   р аид су

zyxwvutsr

 зачд

ю   об ы   рав н

х  к ы

ю   е ус л д т   и м ет ь   в  в и уд ,  ч т о  п р и  к о н с ртиу р о в а и   м н о ги е  дей свт и я , в  ч а с нт о с ит ,  адлуен и е   п ри м и т ва , zyxwvutsrq т zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED  Undo  м ен ю  Edit  п о з в о л яе т   то л ь к о   о мт е н и т ь   п о с л енд ю ю ю   м н о г уо л ь н и к а .  Хо р ш и м   р еш ен и е м   п р о б лем ы  яв е   с о р ха н е н и е   г е о м е рт и и   о б л а с ти ,  в   счлуа е   н а дч е у н ы х о  в о с п о л ь з о в а ть с я   р ез р в н о й  к о п и ей .

О б ъ е ид н е н и е   о б ъ е к то в   п о з в о л яе т   п рост о   з адт ь   г е о м е рт и ю   о б л а с ти , о дн а к о е су л д т   и м ет ь   в  в и уд , ч т о  п р и  о б ъ еид н ен и и   с о р ха н я ю ст я   в н рт у е н н и е   гр а н и ц ы .  Е сл и   о бласт ь   о дн о р о дн а ,  т о   е сулд т   а д л иу т ь   н ен ж ун ы е   гр а н и ц ы  п р и п ом щ и   п ну к т а   Remove  Subdomain  Border  м не ю   Boundary,   п р едв а р и етл ь н о в ы едл и в   и х   в   р еж и м е   гр а н и ц   (п н у к т   Boundary  Mode   м ен ю   Boundary).   В с е в н рт уе н н и е   гр а н и ц ы   а дл я ую с т я   вы бор м   п ну к т а   Remove  All  Subdomain Borders.   З адч и   в   о б л а с ят х ,  со атв лен н ы х   и з  м а етр и а л о в   с  р а з н ы м и   св о й ст вам и , н е  п р е дп о л а г ю т   а д л е ну и я   в н р т еу н н и х  гр а н и ц .zyxwvutsrqponmlkjihgfedcbaZYXWV

о м К п о з и т ны

е  м ат е риал

И с е луд об лоч к в о нд о с т об лоч к и с от ч н и к о 1000. С о с ат в ь т В ы б ер и т с лу о в и в н р т уе н н и лд и с от ч н и к о в о ди да н и М ожн в р ем н н ы п ы

м   с та ц и о н а р н о и   с   вдм у и   об лоч к и   п о ед р ж и в а е с т в   те п л а

е   област е  ти п  реш а ем о й   с у ат н о в и т е   гр а н и ц ы я   к а ж од й   о бласт в   те п л а т   к  п о яв л ен и я   к о э ф и ц и е н от о   о б ъ е ди н и т м   е др уж а н и е   п о д б л а с те й .

В ы б ер и т е   п о хд я щ у pdetool  о т б р а ж е тс с м а рт и в а е м о й   к о н с рт к у ц и

ы

е  р ас п р едл н и я   н а гр е в а ю щ и м и с и   и   се р т ж н е я   пр ,  а  п л о нт о с т ь   и з  тре

е  те п л я   с ет р ж н я м и й   раз ли ч н и  тем п ер аут ь   и с от ч н и к о

а  в  сеч н и и   ет п л о и з о л и р ю у щ е й ,  к о э ф и ц и ен т ы   те п л о п р о ы   (р и с . 14.18).  В н еш н я я   гр а н и ц а е   н ол ь   г р а сду о в ,  в   о б л о ч к е  н е т в  теп л а   в  сеч н и и   с е рт ж н е й   равн а

х  к р гуо в й  з а д ч

,  фо р м лу а   до л ж н а   и м ет ь  в и д и   (H eat transfer).  В  р еж и м е  з а д н и ю   ет м п е р а ут у   н а  вн еш н е й  г р а н и ц е е   н л ев у !  П ер й ид т е   в   р еж и м   ди ф е р н ц и а л ь н о г и   з адй т е   к о э ф и ц и ен т  те п л о п р о в о дн о с т .  Д в о й н о й   щ ел ч о к   мы ш и  п о  к аж одм у   и з  п р и м и т в о ю   ди а л о г в о г о   окн а   PD E Specification,  слжуащ ег в   и   п раво й   ч аст и   и м ен н о   лд я   д а н н о г ь   н ес к о л ь к о  п р и м и т в о в  в  гпру у   щ ел ч к о м и   с у ат н о в к м   к лав и ш и     и  п р о и з в ес т ю   рт и а н г л у я ц и ю   и   р еш и т е   з адч у я   и ск ом е   р а с п р едл н и е   ет м п е р а ут и  (р и с . 14.19).

 c i  +  С 2 +  сз . я  гр а н и ч н ы х , н е   адлуяй т е о   р уа в н е н и я  и и   и   п л о нт о с т ь в  при о   лд я  з а о   п ри м и т ва .   мы ш и  с  о нд о и   лд я  грпу -

.  В   о к н ы   в   с еч н и

е   с р ед и  р а с

ы -

л ав Г

 14. еРш ени

 зачд

Р си

 м ат ем ат и чес окй

 физк

.  14.18. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  З адч а  о  расп редл н и и  тем п ераут ы

в  теп ло и з о ли рюу щ е

Рси

.  14.19.  Р асп релдн и

в  теп ло и з о ли рюу щ е

с И п о л з ь в а ни С р ед о с ей п ер м щ ен и бор окн м не н аз н ач ен п р ав л ен и ям дв о е т ч и я ) м ож е с рт о к а

669zyxwvutsrqp

е  с е т к

й  о б о л ч к

е

е  тем п ер аут й  о б о л ч к

ы е zyxwvutsrqponmlkjihgfedcbaZYXWVU

и

а   pdetooi  п р еод сатв л яе т   п о л ь з о в а ет л ю   воз м ож н ост ь   и з м ен ят ь   п р е лд ,  н а н о с и т ь   в с п о м о г а ет л ь н у ю   к тс е у   и  и с п о л ь з о в а т ь   е е  п р и  р и с о в а н и и и   о б ъ е к то в .  О от б р а ж ен и е   к с ет и   в  о к н е  сред ы   п р о и з в о ди ст я  в ы м   п ну к т а   Grid  м не ю   Draw.   П а р м е тр ы   к с ет и   з а д ю ст я   в   ди а л о г в о е   Grid  Spacing,  к о т р о е   в ы в о ид с т я   п р и  в ы б о р е   о дн о и м е н н о г о   п ну к т а ю   Options.  С рт о к и   в од а   X- axis linear spacing и  Y- axis linear spacing п ред ы   лд я   з а д н и я   к о р ди н а т   ли н и й   кс ет и   п о   с о вт ес ю у щ и м   на .  И с п о л ь з есут я   ли б о   в е к от р   с  п о с т ян н ы м   ш а го м   (п р и  п о м о щ ,  л и б о   к о р д и н а ты ,  р а з едл н н ы е   п р о б ело м .  Р а в н о м ер н о й   к с ет т   бы т ь   н е д о с та о ч н о ,  к о р ди н а т ы   д о п о л н и ет л ь н ы х   ли н и й   в о яд с т я х   X- axis extra ticks  и  Y- axis extra ticks.

ы  и м  в и и  в

670 

П р е дл яв л с ет

аЧс т ь

ы   о се я   пр

щ е  к о н с тр иу р о в а ть н ап р и м ер в ы брат

 IV. Ис по льз вани е

 Toolbox и  р еш ени

я   в  ди а л о г в о

й   с у ат н а в л и в а ю ст и  в ы б о р

е   с о вт ес ю у щ е г , к о гд а   ос ,  и ск аж ен и я   к р г уо в ь   пну к т  Axes Equal.

о   п ну к т и  и м ею .  Д л

т  р а в н ы я   о б ес п еч н и

 пр инхлыакд

м   окн е zyxwvutsrqponmlkjihgfedcbaZYXW  Axes Limits,   к о т р о е  п о а   м не ю   Options.  О б л ас т ь  п р о й   м а с ш ат б ; то гд а  н е  п р о и сохид т , я   равн ог о   м а с ш та б а   е услд т

Р и со в ан и е   сло ж н ы х   о б л а с ет й   п о   з адн н о м у   ч ерж т у   о б л е г ч а е ст я ,  лсе в к лю ч и т ь   п р и в яз к у   к  скет , дл я  ч ег о   еслуд т  в ы б р а т ь   в   м ен ю   Options   пн у к Snap.  Т еп р ь   в ер ш и н ы   п р я м о гу л ь н и к о в   и  к в а др а то в ,  ц ен рт ы   о к рж у н о с е т и   э л и п со в   п р и  п ер атс к и в ан и и   и  р и с о в а н и и   м о гу т   н а о х ид ь т с я   то л ь к о  н ли н и я х   с ек т и .  Р а м к и , о гр а н и ч и в а ю щ и е   э л и п сы   и  о к ржу н о с ит ,  атк ж е  р а з м ещ а ю с т я   н а  л и н и я х   с ек т и .  В ерш и н ы   м н о г уо л ь н и к о в   п р и  и х  р и с о в а н и од п с уи т м ы   то л ь к о   в  узлах .  В ы б о р   ш аг а   с ек т и , с о вт ес юу щ ег о   р аз м ер а м ел к и х   э л е м н от в   ч е р тж а ,  п о з в о л яе т   щ с у е вс т н о   с ук о р и т ь   с о з ад н и е   об л а с ти .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

сИ п о л з ь в а н и

е  фицунк

С р ед а   pdetooi  с   гр афи ч ес к и ли ш ь   лд я  о б л егч н и я   од с п у т п яи т е д с я т и   фн у к ц и й , р еали з юу щ и да н и я   о б л а с ти ,  руав н ен и та .  М аенх и з м   вы з ов а   ад н н ы с р ед .  М н о ги е   н фу к ц и и т   п о н и м ан и з о в ан и е  тр еб у л ы   п о с в ящ ен ы   о п и сан и н и я  гр а н и ч н ы х   з ад ч   лд

З а д ни И м е ю ст з адч а ласт со т п орт фо р м а т Н а р и с йу т ц ен т п ну к го в о

а   сп ос б й   з а к л ю ч а е ст , с о с т и

и т й а и м -

й   PDE Toolbox м   и н е тр ф й с о а   к  ярд

я  и   и м ею я ю   нф у к ц и й я  ди ф ер н ц и аль н ы

е  ге ом е т ри я   вд .  П ер в ы и   в  фай л- нфу к ц и й   сп ос б е   и н фо р м а ц и , п о н янт ы

zyxwvuts

 зачд

м   п о л ь з о в а ет л я   п р е дн а з н а ч е н а у   P D E Toolbox  —  н а б о р у   бо ле е   че м  и з х   осн овн ы е   э ат п ы   р еш ен и я   з адч и   о т  з а  гр ан и ч н ы х   с л уо в и й   д о  в и з аул и з а ц и и   р е з л ьу а т х   н фу к ц и й  ск р ы т   о т  п о л ь з о в а етл я   п р и  р а б о т е  в т   д о с та о ч н о   сло ж н ы й   и н ет р ф й с , и х  и сп о ль  м еотд а   к о н еч н ы х   э л е м н от в .  С люеуд щ и е   р а з ед , св яз ан н ы х   с  о с н о в н ы м и   э та п а м и   р еш е х  ура в н ен и й .

и  обл а ст а   о п р е дл н и , и м ею щ е т   в  з а д н и и   в   п ер м ен н ы й  дгриу м

и

я   г е о м е рт и и   о б л а с ти ,  в   к о т р о я   в  п а р м ерт и ч ес к о м   з адн и и   ч а се т й   о п р е дл н н ы й   фо р м а т .  В то р о й и   о бласт и   в   с р ед е   pdetooi,  п о сюлеуд щ е е   рабоч е й   с р ед ы   и   п р ео бр аз о в ан и   н фу к ц и я м   Toolbox.

й   р е ш а ест й   гр а н и ,  б о ле

е   в   с р ед е   pdetooi  п р ям огу л ь н и к   ш и ри н о й   вд а   и   в ы с о т е   к о р ди н а т .  В ы б ер и т е   в   м ен р   котрог о   расп ол ж е н   в   н ач л т   Export  Geometry  Description, Set Formula,  Labels...,   п о яв л ест е   окн о  Export,  и з о б р а ж ен н о е   н а  р и с . 14.20. Д а н н о е   окн о   п р е дл а г е

я ц  о б е  п р о м  э кс и  

в

й   о ди н , ю   Draw я   ди а л о т  со -

л ав Г

  14. еРш ени

рха н и т п ер м ен ы

 зачд

ь   CSG - м оедл х  р а б о ч е

•   м а рт и ц

у   г е о м е рт и

•   фо р м л у

у   с в яз

•   с о вт е с и в е  n s. Н аж м и т си во

 м ат е м ат и че с окй

ь   (к о н срткуи в н у й   с р е ыд

ю   бло ч н у :

, а  и м ен н о

и   о бласт

ю   г е о м е рт и ю

)  в   гл о б а л ь н ы

и   (G eometry description  matrix) в  м ас и в

и  гео м ерт и ч ес к и е   м же д

671 zyxwvutsrqpo

 фи зи к

х   п ри м и т во у   с от л б ц а м

в  в  срт о к

и   gd и  н а з в а н и ям

х е  gd;

е   sf; и   о б л а с ет

й   в   sf  в   м ас и

е   О К  и  з ай м и етс ь   и з ч е ун и е м   с о ед р ж и м о г о   э к с п о р ти р о в а н н ы .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA #  Export

-

х  м ас

-

г

Vara i be l  names for geometry data, set formual , labesl : gd sf ns Cancel

OKzyxwvutsrqponmlkjihgfedcba с Ри

Чи с л р и ч ес к и м а рт и ц В ы в еи д т

о   с от л б ц о х   п ри м и т во а   со ти е   с о ед р ж и м о

. 14.20.  Диовгла

в   м а рт и ц

ы   г е о м е рт и , со сатв ляю щ и т   и з   о дн о г о   с от л б ц а о  р а б о ч е е   gd в  о к н

е  онк и   о бласт х   о б л а с ть ,  со втес юу щ ег й   с р е ыд

о  Export и   gd с о в п аде .  В  р а с м а тр и в а е м о

т   с  ч и сло

м   ге о м т м   п р и м ер

е

о   п р я м о гу л ь н и к у . :zyxwvutsrqponmlkjihgfedcbaZYXWVUT

» gd gd = 3.0000 4.0000 - 1.0000 1.0000 1.0000 - 1.0000 0.5000 0.5000 - 0.5000 - 0.5000 П ер в ы м ре т и ч е с к о м

й   э л ем н

т   с от л б ц у   п ри м и т ву

а   о п р едл я .  В сег

т   п р и н а лд е ж н о с т о   од п с у и т м

ы   ч е ыт р

ь   о п р е дл н н о м е   ти п а   г е о м е рт и ч е с к и

у   ге о

х

672 

аЧс т ь

п ри м и т во м ен т ,  р а в н ы го у л ь н и к у п р я м о гу л ь н и к ч а е м   м н о г уо л ь н и к а н ы е  э лем н т

  IV. Ис по льз вани е

 Toolbox и  р еш ени

:  к ргу ,  м н о г уо л ь н и к ,  п р ям огу л ь н и й   тр е м ,  о з н а ч е т ,  ч т о   да н н ы й   с от л б е ,  э лем н т   в то р й   с рт о к и   рав е н   ч и сл е   ч еыт р е   с то р н ы ,  н о   п р ям огу л ь н и ,  фо р м а т   р ха н е н и я   котрог ы  с то л б ц а   з ап и сан ы  к о р ди н а т ы  в ер ш и

 пр инхлыакд

zyxwvutsrq

 зачд

к   и   эл и п с .  П ер в ы й   э ле ц   с о вт е с у т   п р ям о у   с то р о н .  О ч е в и дн о ,  ч т о   в к   я в л се т я   ч а снт ы м   улс о   оп и са н   н и же .  В   о сатль н  п р я м о гу л ь н и к а .

П ер в ы к рг у ч е тв е р ты й

й   э л ем н т   с от л б ц а   м а рт и ц ы   г е о м е рт и и   о б л а с ти ,  со втесюу щ е й ,  р а в е н   е ди н и ц е , в то р о й   и   тр е и й   я в л я ю ст я   к о р ди н а т м и   ц е н тр а ,  а —  р а ди су о м .  В   счлуа е   эл и п с а   п ер в ы й   э л ем н т  р а в е н   ч е ыт р е м , ад л е   р х а н я ст я   к о р ди н а т ы   ц е н рт а   и  в ели ч и н ы   п о л ус ей ,  а   п о сленд и й   ш се .  М н о г уо л ь н и к   и е д н и т ф ц и р е с ту я от й   э л е м н т   с о ед р ж и т   го у л   п о в о р о т а дв о й к о й   в   п ер в о м   э л ем н т е   в е к то р а ,  ч и сл о   с от р н   з ап и сан о   в о   в то р о й   э ле м ен т , а  дале е   с ю л уе д т  к о р ди н а т ы  в ер ш и н  в  п о р якд е  и х  с о з да н и я . Ф ну к ц и ,  с в яз а н н ы й п о ль з юу т   др г у о йзионц ит гер мое н и ст я   и н фо р м а ц и о тр е з о к ,  ч аст ь   г уд блоч н о й   г е о м е рт и ц и и   decsg,  в о   вохнд ы м ац и е й   о   к о н с рт к у и в н о gd,  sf  и  ns.  В ы охнд ы н о й   г е о м е рт и .  о вт е ч а т   э л ем н т вы з ва в   decsg, н а п р и м е р

е   с   р т и а н лг у я ц и е й   и   з а дн и е м   гр а н и ч н ы х   с ул о в и й ,  и с т   о п и сан и я  гео м ерт и и   о бласт и   —zyxwvutsrqponmlkjihgfedcbaZYX   а и т ц ру м  д-по кмео  (D ecomposed  G eometry  matrix).  В  да н н о м   фо р м а т е   ра х я   о   ч а ся т х   гр а н и ц ы   о б л а с ти ,  к о т р ы м и   м о гу т   б ы ть : и   о к рж у н о с т и   и л и   э л и п са .  П ер ох д   о т   к о н с рт к у и в н о й и   к   де к о м п о з и ц и о н н о й   п р о и з в о ди с т я   п р и   п ом ощ и   н уф к х   а р мг у е н ат х   котро й   з а д ю ст я   п ер м ен н ы е   с   и н фо р й   блоч н о й   г е о м е рт и ,  в   р а с м а тр и в а е м о м   с ч л уа е м   а р мг у е н от м   decsg  явлсет я   м а тр и ц а  де к о м п о з и ц и о н К а ж ыд й   с от л б е ц   м а рт и ц ы   де к о м п о з и ц и о н н о й   г е о м е рт и и у   гр а н и ц ы .  П р е о б р а з йу т е   э к с п о р ти р о в а н н ы е   в ели ч и н ы , , и з  к о м а н дн о й  с рт о к и :

  фо р м а

dl  =  decsg(gd,  sf,  ns) dl  = zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 2.0000 - 1.0000 1.0000 0.5000 0.5000 0 1.0000 О ч е в и дн о в   п ер в о в то р о ч евт р ы г е о м е рт и с ек а ю щ и ес п о л ж ен н ы

2.0000 1.0000 1.0000 0.5000 - 0.5000 0 1.0000

2.0000 1.0000 - 1.0000 - 0.5000 - 0.5000 0 1.0000

2.0000 - 1.0000 - 1.0000 - 0.5000 0.5000 0 1.0000

, ч т о   п р ям о гу л ь н и к   п р е сд а т в л я е с т я   ч е ыт р ь м я   о тр е з к а м и м   э л ем н т е   с от л б ц а   о з н ач ет ,  ч т о   сот л б е ц   с о вт е с у й   и   рт е и й   э л ем н т ы   с о ед р ж а т   абсц и с ы   н ач ал а   и   кон ц й   и   п яыт й  —  о р ди н а ты .  П р е о б р а з о в а н и е   в   де к о м п о з и ц и о н н у ю   п р е дп о л а г е т ,  ч т о   вс я  о б л а с т ь   р а з б и в а е тс я   н а  н е к о т р ы я  е ьын ал инм ми  птаис.л бо до   И д е н ти ф и к а то р ы   п о д б л а с те й х   с л ев а   и   сп рав а   о т   ч аст и   гр а н и ц ы   (в   да н н о м   с лчу а

.  Д в о й к т   о рт е з к у а   о тр е з к а

а , ,  а ю

е  н еп р

,  р а с

е   о тр е з к а )

,

л ав Г

  14. еРш ени

 зачд

 м ат е м ат и че с окй

 фи зи к

673 zyxwvutsrqp

 

з ап и сан ы   в   ш е ос т м   и  сьедм о м   э л е м н ет .  П о л ж ен и е   о п р е дл я с т я   вд и ж е н и е м   о т   н ач л а   ч аст и   гр а н и ц ы   д о   е е  к о н ц а , в  счлуа е  о б л а с т и   и з  о дн о г о   п р ям о г уо л ь н и к а   о н   ж е   и   я в л се т я   м и н и м аль н о й   п о д б л а с ть ю ,  п о э тм у   с л ев а  о т ч а сет й   гр а н и ц   (о рт ез к о в )  н е т   п о д б л а с те й .  С от л б ц ы   м а рт и ц ы   де к о м п о з и ц и он н о й   г е о м е рт и ,  со втесюу щ и е   га уд м   эли п с а   и л и   о к р ж у н о с ит ,  соедр ж а т   в   о с ат л ь н ы х   э л е м н ат х   и н фо р м а ц и ю   о   ц ен рт е   и   р а ид с у е   о к рж у н о с т и и л и  в ели ч и н е  п о лусе й   эли п с а  и  улг е   п о в о р о та . Ф ну к ц и я   pdegpiot  п р енд аз н ач ен а   лд я   в ы в о д а   о бласт ск о е   о к н о ,  вонхд ы м   а р мг у е н от м   pdegpiot  яв л сет н фу к ц и я   де к о м п о з и ц и о н н о й   г е о м е тр и .  В   р а с м а рт и в а ем о pdegpiot  (di)  о т б р а ж а е т   оси , с о едр ж ащ и е   п р я м о гу л ь н и к С р кт у в с ег ным им м ен фа й л

у   фа й л - н фу к ц и о   п о н я ть и  ар мгу ен атм я   М - фа й л а т   п ри н и м ае .

и  с  о п и сан и е м  де к о м п о з и ц и о н н о и   с о з ад в   е е   п р и   п ом щ и   wgeom яв ляю ст я   м а рт и ц а   де к о м п о з и ц и о н н о ,  в   к о т р ы й   е ус л д т   з ап и сат ь   фа й л - нфу к ц и ю т   з н ач ен и е   ми н у с   е ид н и ц а   п р и   н а д че у н о

,  а в от м аит ч ес к

С ге н е р и й у т е   афй л - н уф к ц и о б л а с ьт ,  з адв ем у di  соердж и ст я   м ар т и ц от р й  н а С И ОП О  ВШеЫ В  тщкеу м   к атл о г п р и в енд а  в  ли ст н г

и   в   о ед т л ь н о я   м а рт и ц

е   гр а фи ч е а   и л и   фа й л м   п р и м ер

е

. й  гео м ерти

и   н фу к ц и

и   п рощ е и   wgeom. Водх й  гео м ерт и и  и .  В ы охнд о й   а р гу й   п о п ы кт е   з ап и с и  в

я   о п и сы в ае т   п р я м ог у л ь н у ю ,  чт о   в   гло баль н о й   п ер м н о й а   ед к о м п о з и ц и о н н о й   ге о м р т и и   о б л а с ит ,  со з адн и е   ко . В   к о м ан д о м   Н ОК Т еИ ЛН О  ВЫП е  wgeom (dl,  'recgeom 1 ). я   фа й л  recgeom.m,  рксут а   котрог о е   MATLAB  п ояви лс е   14.1.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

ю   м ра т и ц е

ю   recgeom,  к о т р а й   di.  биеУд сть

IzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Л ист ин г   14.1. Ф а йл - иц кн фу я   rec geom  ге ом е т ри и  обл а с т и  

fu n c t i o n  [х ,  у ]  =   r e c ge o m ( b s,  s) %RECGEOM 

G ives  ge o m e t r y  d a t a  fo r  t h e  recgeo m  PDE m o d e l.



NE  =   RECGEOM  gi ve s  t h e  n um ber  of  b o u n d a r y  segm en t s



D  =   RECGEOM(BS)  gi ve s  a  m a t r i x  wi t h  on e  colum n  fo r  e a c h  b o u n d a r y



segm en t  s p e c i f i e d  i n  BS.



Row  1  c o n t a i n s  t h e  s t a r t  p a r a m e t e r  v a l u e .



Row  2  c o n t a i n s  t h e  en d  p a r a m e t e r  v a l u e .



Row  3  c o n t a i n s  t h e  n um ber  of  t h e  l e f t - h a n d  r e g i o n s .



Row  4  c o n t a i n s  t h e  n um ber  of  t h e  r i g h t - h a n d  r e g i o n s .



[X,  Y]  =   RECGEOM(BS,  S)  gi ve s  c o o r d i n a t e s  of  b o u n d a r y  p o i n t s .



BS  s p e c i f i e s  t h e  b o u n d a r y  se gm e n t s  a n d  S  t h e  c o r r e sp o n d i n g  p a r a m e t e r



v a l u e s .  BS  may  b e  a  s c a l a r .

n bs  =   4; i f  n a r gi n  ==   0,

I

674 

Часть

 IV. Использвание

 Toolbox и   решни

 прикладных

х zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  -  nbs; % number of boundary segments return end d = [ 0 0 0 0 % start parameter value 1 1 1 1 % end parameter value 0 0 0 0 % left hand region 1 1 1 1 % right hand region ]; bsl = bs(:)'; if find (bsl  nbs)*, error('Non- existent boundary segment number') end if nargin == 1, x = d(:,  b sl); return end x = zeros(size(s)); у  = zeros(size(s)); [m, n] = size(bs); if m == 1 & n == 1, bs = bs*ones(size(s)); % expand bs ; 

elseif m - = size(s, 1)  | П  ~= size(s, 2), error('bs must be scalar or of same size as s'); end if - isempty(s), % boundary segment 1 ii = find(bs == 1); if length(ii)zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA x(ii) =  (1 -  (- l))*(s(ii) -  d(l, 1)) / (d(2, 1) -  d(l, 1)) + (- 1); y(ii) =  (0.5 -   (0.5))*(s(ii) -  d(l, D )  / (d(2, 1) -  d(l, 1)) +  (0.5); end % boundary segment 2 ii = find(bs == 2 ) ; 

,

if length(ii) x(ii) =  (1 -   (l))*(s(ii) -  d(l, 2)) / (d(2, 2) -  d(l, 2)) + (1); y(ii) =  (- 0.5  -   (0.5))*(s(ii) -  d(l, 2)) / "(d(2, 2) -  d(l, 2)) +  (0.5); end

л ав Г

  14. еРш ени

 зачд

 м ат е м ат и че с окй

 фи зи к

675zyxwvutsrqpo

 

% b o u n d a r y  segm en t  3 i i  =   f i n d ( b s  ==   3)  ; i f  l e n g t h ( i i ) x ( i i )  =   (- 1  -   ( l ) ) * ( s ( i i )  -   d ( l ,  3) )  /   ( d ( 2 ,  3)  -   d ( l ,  3) )  +   ( 1 ) ; y ( i i )  =   ( - 0. 5  -   ( - 0 . 5 ) ) * ( s ( i i )  -   d ( l ,  3) )  /   ( d ( 2 ,  3)  -   d ( l ,  3) )  +   ( - 0 . 5 ) ; en d % b o u n d a r y  segm en t  4 i i  =   f i n d ( b s  ==   4 ) ; i f  l e n g t h ( i i ) x ( i i )  =   (- 1  -   ( - l ) ) * ( s ( i i )  -   d ( l ,  4) )  /   ( d ( 2 ,  4)  -   d ( l ,  4) )  +   ( - 1 ) ; y ( i i ) = ( 0 . 5  -   ( - 0 . 5 ) ) * ( s ( i i )  -   d ( l ,  4) )  /   ( d ( 2 ,  4)  -   d ( l ,  4) )  +   ( - 0 . 5 ) ; en d en d

Ф а й л - нфу к ц и я   recgeom  п р едн а з н а ч ен а  дл я   п о члуен и я   к о р ди н а т   х   и  у  то ч е к ч аст и   гр а н и ц ы   с  н о м ер о м   bs,  со втесюу щ и х   з н ач ен и ю   п а р м е тр а   s.  Ло к аль н а я   п ер м ен н а я  nbs  соедр ж и т   ч и сл о   ч а се т й   гр а н и ц ы , а  м а тр и ц а   d —  и н фо р м а ц и ю   о   п а р м е тр и з а ц и .  Чи с л о   с от л б ц о в   d р а в н о   ч и сл у   ч у а с кт о в   гр а н ицы , в   п ер в ы й   и  в то р й   э л е м н ыт   к а ж од г о   с от л б ц а   з а н ес н ы   н ач ль н о е  и к о н еч н о е   з н ач ен и я   п а р м е тр а   н ол ь   и   е ид н и ц а ,  в   ртеь м   и   ч евт р о м   э ле м ен т е   з ап и сан ы   н о м ер а   п ри м и т вов ,  р а с п о л ж ен н ы х   п о   л ев у ю   и   п рав у ю с от р н у   о т   ч у а с кт а   гр а н и ц ы   (п о   н а п р а в л ен и ю   в о з растн и я   п а р м е тр о в ) . е  и мсет я  оид н  п р и м и т в  —  са м  п р ям огу л ь н и к  — В  р а с м а тр и в а е м о м   ч с ла у с  н о м ер о м  о ди н . В  б л о к а х , к о т р ы м  п решд есвюту т   к о м е н ат р и и   % boundary segment  l  -   % boundary  segment  4,  п р о и сохид т   п ои с к   н жу о й   ч аст и   гр а н ицы , в ы ч и слен и е   з н а ч ен и й  п а р м ерт и ч ес к и   з адн н ы х   н фу к ц и й  и  з ап и с ь  и х в   м ас и в ы   х  и  у . Д л и н ы   м ас и в о в  х , у  с о в п адю т   с  дл и н о й  вохдн о г о   м ас и в а s,  с о едр ж ащ ег о   з н ач ен и я  п а р м е тр а . мУ ен и е   с о з да в т ь   фа й л - н фу к ц и н е о б х ди м о   в   то м   с ч л у а е то л ь к о   с   и сп о ль з о в ан и е к а к   к ргу ,  э л и п с , к в а др т м ож н ы х   п о дх в ,  одбун ы В   к а ч е с вт п р и в едн н о гу о л ь н и к о глу ы  п р я м ы е

,  к о гд м   с ат н д а р нт ы ,  п р ям огу л ь н и й   лд

и   с   де к о м п о з и ц и о н н о а   о бласт

я   н ач и н аю щ и

й  гео м ерт и е ь   н е   м ож е х   г е о м ерт и ч е с к и к   и л и   м н о г уо л ь н и к х  п о л ь з о в а те л й

е   п р и м ер а   р а с м о тр и м   н ап и сан и й   н а   ри с .  14.21.  О б л а с т ь   я в л я е ст м   с  в ернх е й   гр а н и ц ей , з а д в а е м о .

т   бы т

е   ф а й л - фн у к ц и я   к р и в о ли н ей н ы й   п араболо

й   о бласт

ь   с к о н с тр и у р о в а н х   п р и м и ти в о в .  О ид , о п и с а и   дл

и

а ,  атк и х н   и з  в о з н  н и ж е .

я   о б л а с ти , м   ч еыт р е х й zyxwvutsrqponmlkjihgfedcbaZYXWVU   у   = 0.5х   . Н и ж н и е

 IV. Ис по льз вани е  Toolbox и  р еш ени  пр инхлыакд  зачд zyxwvut аЧс т ь 676zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

. 14.21. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  П ирме р  ои тсалб , н е щ  сяое т со й  и з  пирмовт в

с Ри

П о с л е д о в а ет л ь н о с т де к о м п о з и ц и о н н о

ь   ед й с в т и й й  гео м ерт и ей

1.  Н а р и сйу т вы сот

е  п р ям о гу л ь н и й   о ид

, н а п р а в л ен н ы , п р и в едн к   с  ц ен рто е  pdetooi.

н  в  сред

2.  Э к с п о р ит рйу т е   г е о м е рт и си в ы  gd, sf  И  n s.

ю   о бласт

3.  П ер й ид т е   к   м а рт и ц е   де к о м п о з и ц и о н н о dl  -   decsg(gd,  sf,  n s) . 4.  С ген ер и рйу т

е   фа й л - н фу к ц и

о б л а с ти

,  И С П ЬОЛЗу

5.  О кт р о й т е   фа й с лу о в н ы й   о п е р а то в нер х й   с то р н н а  те , к о т р ы

а  н и ж е

х   н а  п о лчуен и .

м  в  н ач л и   и з   с р ед

е   фа й л - н фу к ц и

е  к о р ди н а т

, ш и р и н о

й  дв

ы   pdetooi  в   гл о б а л ь н ы й   г е о м е рт и

а  и

е   м ас

и   пр

ю   mydomain  с   де к о м п о з и ц и о н н о я  ВЫОЗ

и  с

и   п ом щ й   ге о м ерт и е

и й

В  wge o m ( d l,  ' m yd o m a in 1 ) .

л   mydomain.m  в   р е да к то р е   М - фа й л о в р   if,  в  к о т р о м   о п р е дл я с т я   п а р м е тр и ч е с к о ы   п р я м о гу л ь н и к а ,  и   з ам ен и т е   о п е р а то р е  о б ес п еч и в аю т   р т е б му ы й   в и д  ч аст и  г р а н и ц ы

.  Н а й ди т

е   нжу ы е   з адн и ы   п ри св аи в ан и .

й е я

Вы зо в   н фу к ц и и   mydomain  и з   к о м а н дн о й   с рт о к и   с   п ер в ы м   а рм г у е н то м , р а в н ы м   н о м ер у   ч аст и   гр а н и ц ы , и  с о  в от р ы м   —  з н ач ен и е м  п а р м е тр а  и з и н ет р в а л а   о т   н л у я   д о   еи д н и ц ы   (н а п р и м ер , 0.5)—  п о з в о л яе т   с у ат н о в и т ь   но м е р   н ж ун о й   ч аст и   гр а н и ц ы .  П о с л едо в а етл ь н о   з адвай т е   н о м ер а   гр а н и ц  и с л ие д т е   з а   з н а ч ен и ям и   х   и   у .  П о лчуен и е   к о р ди н а т   х   и   у   то ч к и ,  п р и н алде ж ащ е й   и ск о м у   ч у а ск т ,  о з н а ч ет ,  ч т о   н ай ед н   н ом е р   ч аст и   гр а н и ц ы , п од л еж а щ е й   и з м ен ен и ю .  В   р а с м а тр и в а е м о м   ер м и р п е   в е рн х я   с то р о н а   п р ям о г уо л ь н и к а   и ме т  н о м е р , р а в н ы й  еид н и ц е :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR >>  [х , у ] = mydomain(1,  0.5) х  = 0 У  = 0.5000

л ав Г

  14. еРш ени

 зачд

 м ат е м ат и че с окй

677zyxwvutsrqponm

 фи зи к

,  о п и с ы в аю щ и х   в е рн х ю ю   с от р н у   п р я м о гу л ь н и к а ,  сн аб Бл о к   о п е р а то р о в ж е н   в   а в от м а ит ч е с к и   с ге н е р и р о в а н н о й   фа й л - н фу к ц и и   mydomain  к о м ен ат р и ям и   % boundary  segment  l.  В   да н н о м   блок е   с о ед р ж и с т я   ли н ей н а я   з ав и си м о ст ь   абсц и с с   и  о р ди н а т   от ч е к   о т   п а р м е тр а   s.  П ер в ы й   с от л б е ц   м а тр и ц d,  и н и ц и а л и з и реум о й   в   н ач л е   фа й л - нфу к ц и ,  св и едлть св у т   о   то м ,  ч т н ач ль н о е   з н ач ен и е   п а р м е тр а   равн о   н л юу ,  а   к о н еч н о е  —  еид н и ц е . Н а п р а в л ен и е   гр а н и ц ы ,  со втесюу щ е е   в уе л и ч е н и ю   п а р м е тр а ,  л егк о   с уат н а в л и е  слев а   н ап раво) . И з м е в а ест я   и з  п а р м е тр и ч е с к о г о   з адн и я   (в  да н н о м   с ч л уа н и т е   о п е р а то р ы   п ри св аи в ан и я   в   блок е   % boundary  segment  l,  о бесп еч и рт е б у м ю   к р и в о ли н ей н у ю   гр а н и ц у   в   ви д е   п ар аб о л ы .  О ч е в и дн о ,  ч т о   п а р або ли ч еск и й   ч у а с от к   гр а н и ц ы   з а д е тс я   п а р м е тр и ч е с к и м и   з а в и с и м о с тя м и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   x = 2s- l,  у  =  0.5 (2s  - l )  .  О п е р а то р ы   п ри св аи в ан и я   п р и в е дн ы   в   ли с ит н г е   14.2.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л и с т и н г   14.2. Па р м е т риеч сок е  за дни е  па р бол иеч согк о  ачу с т к а  гра ниц | zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

ы о в -

ы

=   2*s( ii)  -   1; =   0.5*(2*s(ii) С о рх а н и т б р аж ен н о

е   фа й л - н фу к ц и й   н а   ри с

p d e g p l o t .  В Ы З О

г о   окн

ю   и  убеид тсь .  14.21.  П о с тр о й т

,  ч т о   о н е   г е о м е рт и

В   p d e g p l o t  ( ' m y d o m a i n '  )  П Р И В О Д И

а  с  гр а н и ц е

й   (ри с

Рис

а   с о вт ес у ю   о бласт Т   К   П О Я В Ле н И

т   о б л а с ти ,  и з о и   п р и   п ом ощ Ю

  Графи чеС К О

.  14.22).

- 1  - 0.8  - 0.6  - 0.4  - 0.2 



.  14.22.  Г е о м е т р и

и  ( p d e g p l o t  ( 'm yd o m ain ' ) )

я   област

0.2  0.4  0.6  0.8  1

и -

678 

аЧс т ь

В ы ш ео п и с ан н ы п оз и ц и он н о фа й л - н фу к ц и Н али ч и в ае ит ч е с к о й

й   п о хд й  гео м ерти е ю  дл

д   п о з в о л яе й   о б л а с ти

 Toolbox и  р еш ени

т   п рост , и з м ен я й  з а го т в к

я  н а р и с о в а н н о

е   м а рт и ц т   од с у т

  IV. Ис по льз вани е

ы   де к о м п о з и ц и о н н о

п   к о   м н о ги  тр и а н глуяц и

zyxwvu

 зачд

ь   фа й л - н фу к ц и

ю   с  дек о м

и   с ге н е р и р о в а н н у е   pdetooi.

ю

й  гео м ерт и и   и л и   фа й л - н фу к ц и и  окт р ы м   P D E Toolbox,  в   ч а с тн о с ти ,  к   ав от м а ю   ш аг а  секти .zyxwvutsrqponmlkjihgfedcbaZYXWV

м   в о з м о ж н о с ят и   и  умен ь ш ен и

р и Т л а ц у г ня

о   с о з ад т я  а в от м аит ч ес к и  в  сред

 пр инхлыакд

я

Ф ну к ц и я в л се т (м ас и в а

я   in itm esh  рт и а н лгуи реу я   м а тр и ц а   де к о м п о з и ц и о н н о ) с о дер ж а т   и н фо р м а ц и

т   п ло ск у

ю   о б л а с ть й  гео м ерт и

.  Т р .  В ы з о

ю  о  тр и а н глуяц и

,  е е  вохнд ы и   в ы о х нд ы в

м   а р мг у е н о т х   а р мг у е н т

м а

[ р ,  е ,  t ]  =   i n i t m e s h ( d l ) ;

п р и в о ди в уд м ац и м а рт и ц ц и ям

т   к   з ап о лн ен и х   с рт о к , з а н о с ят ю   о б   зу л ах е   t  рха н и ст и   зу л о в . ^ 

ю   рт е я  к о р ди н а т

х   м а рт и

, р а с п о л ж ен н ы я   с о вт е с и

Пр и м е ча ни

ц   р ,  е   и   t .  В   м арт и ц у   р ,  со тящ юу ы   зу ло в   с ек т и . М а тр и ц а   е   с о ед р ж и х   н а  гр а н и ц а х   м и н и м аль н ы х   п о д б л а с те й у   лок аль н о й   и   гл о б а л ь н о е   м ж ед

 и з т   и н фо р

,  в

й   н м уер а

-

е

П о н тя ь   р у кт р с у   им с а в о в   р ,  е   и   t  п орщ е   г в ес о   ю щ у д ие л с м   о бр аз о м . В   д ер с е   pdetooi  е у делс т   и н и ц и ал з и р о в ат ь   ку т е с ,  н ап ри м ер , дл я   п мряо ог л ь у н и к а , пиреч м  лчш у е  уанст ови т ь  доачтсн о   п к нру ы й  раз м е р  сорнт ы э м не л т а  в  ди алогв м   ок н е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML  Mesh Parameters.  П рон м уероват ь   зл у ы   и  эел нме т ы   п о з в л ея т   в ы бо р   н п оу к т в   Show Node Labels  и  Show Triangle Labels н ем ю  Mesh.  Дела е   и н о д м бех о   э к с п о ир т в а т ь  к т е с у   в  глобаь н ы е   и с ма в ы  пр и  п омщ и  пн укт а  Export Mesh...,  и х  сржеи одм е   м ож н о  п осмрте ь  в р аб о ч е й  се др . Ф ну к ц и мы ч а ет м е н ат

е   п ар м и   м ак си м аль н .

я   in itm esh  м ож е т   с о ед р ж а т ь   д о п о л н и те л ь н ы : н а з в а н и е   с в о й с тв а ,  з н а ч ен и е . Н а п р и м е р о   до п с у и т м о е   з н ач ен и е   лд и н ы   с то р н

П о лч у е н н у ю   к с те pdemesh,  вохнд ы м м ас и в ы . П о с л е до в а те л ь н о с т

у   м ож н и   а р мг у е н а т м

о   от браз и т и   котро ь   к ом ан д

ь   в   о ед т л ь н о й   я в л ю ст , п р и в едн н а

е   а р г м у е н ты ТВ С, СВОЙ ы   тр е г у о л ь н о г

pdemesh(p, e, t)

т  и  в ы в о ди

т   ск е т у

, п р и в едн н у

х  ОНа З о   э ле

-

м   окн е   п р и   п ом ощ и я   в ы ш еп ер ч и с л ен н ы е я  н и ж е zyxwvutsrqponmlkjihgfe

[р , е , t] = initmesh(dl,  'Hmax1, 1.0);

и н и ц и а л и з и р еу

,  з а д в а е О  На т

ю   н а  р и с

.  14.23.

л ав Г

 14. Реш ени

 зачд

 м ат е м ат и че с окй

- 0.8  - 0.6  - 0.4  - 0.2 

Рис

.  14.23. С ект

679 zyxwvutsrqpon

 фи зи к

а   с  м ак си м аль н

0.2  0.4  0.6 zyxwvutsrqponmlkjihgfedcbaZYXWVUT



о   о д п с и ут м о рав н о

й  дли н о й   ие д н и ц

й   с от р н

ы   э л ем н ат

,

е

Ф ну к ц и я   ref inemesh  жслиу т   лд я   м у е н ь ш е н и я   ш аг а   с ек т и . П ер в ы м   в о х нд ы м а р мг у е н от м   я в л се т я   м а рт и ц а   де к о м п о з и ц и о н н о й  гео м ерт и ,  адле е   з адю т с я   м ас и в ы   с   и н фо р м а ц и е й   о   тр и а н г л у я ц и ,  в   в ы охнд ы х   а р мг у е н а т х   воз в р а щ а ю ст я   м ас и в ы ,  со втес юу щ и е   и з м ел ь ч ен н о й   с ке т .  П о   му о л ч а н и ю с то р н а   к а ж од г о   э л ем н т а   ед л и с т я   п оп олам ,  к ажыд й   р т е г оу л ь н ы й   э л ем н т и ос н х д о й   к с ет и  р а з б и в а е тс я   н а   ч еыт р е   ч а с ит .  К о м а н ды , п р и в едн н ы е  н и ж е , п р о и з в о дя т   в ы ш ео п и с ан н о е   м уен ь ш ен и е   ш аг а   ск е т и   (с р ав н и т е  р и с .  14.23  и р и с .  14.24).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA [pi, el, tl] = refinemesh(dl, p, е , t); pdemesh(pl, el, tl)

Ф ну к ц и я   refinemesh  п о з в о л яе т   з адт ь   ря пу р а в л яю щ и х   п р о ц ре уд о й   др о б л е н и я   с ек т и котры е  тр егуо л ь н ы е   э л ем н т ы   и л и   м и н и м аль н ы м ож н о  в ы б р а т ь   рд г о у й   а л го р и т м   м уен ь ш ен и вд е  р а в н ы е  ч аст и  н а и б о л ь ш у ю   с от р н у   к о н еч н о г П ер в ы м   в о хнд ы он н о й   г е о м е тр и н у ю  гео м ерт и

м   а р мг у е н о т ,  н о   и   и м ю   о б л а с ит .

м   м ож е я   ф а й л - нф у к ц и

т   бы т

д   до п о л н и ет л ь н ы , в   ч а с нт о с ит я  ш а г

ь   н е  то л ь к , о п и с ы в аю щ е

х   п а р м е тр о в ь   то л ь к о   не .  К р о м е   то г о й  дел и т  н

,  едли т е  п о д б л а с ти а   с е кт и о  э л ем н ат о   м а тр и ц

, к о т р ы

, , а

. а  дек о м п о з и ц и й  де к о м п о з и ц и о н

-

аЧс т ь  IV. Ис по льз вани е  Toolbox и  р еш ени  пр инхлыакд  зачд 680zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

zyxwvut

0.5  г

- 1 

. 14.24. С ект

Рис

р аы н и ч Г и  кице фнотэ

- 0.8   - 0.6   - 0.4   - 0.2  

е  усливо

а  с  умен ь ш ен ы



0.2  

м   ш а го

0.4  

0.6  

0.8  

1 zyxwvutsrqponmlkjihgfe

м   ( r e f  in em esh)

я ы  ура вен и

я

Г ран и ч н ы е   с ул о в и я   в   P D E Toolbox  з адю ст я   в мд у я   сп ос бам и ,  л и б о  п р и п ом щ и   м а тр и ц ы   гр а н и ч н ы х   с лу о в и й   (Boundary  Condition  matrix),  л и б о  в ф а й л - нф у к ц и .  Чи с л о   с от л б ц о в   м а рт и ц ы   гр а н и ч н ы х   с лу о в и й   со в п аде т  с ч и сло м   с от л б ц о в   в   м а рт и ц е   де к о м п о з и ц и о н н о й   г е о м е тр и ,  т . е .  к ажыд й с от л б е ц   о вт е ч а е т   ч аст и   гр а н и ц ы   о б л а с ти .  Н а  к аж од й   ч аст и   гр а н и ц ы   м ож е т е   с лу о в и е бы т ь   з адн о   с ул о в и е   о дн о г о   ти п а : Д и р и лх е   hu = r ,  и л и  о б о щ е н н о Н ей м ан

а   n- (cVu}  + qu = g.

Р а з б ер м   р с к ут у   м а рт и ц ы   гр а н и ч н ы х   с ул о в и й .  бУеид етс ь ,  ч т о   ср ед а pdetooi  н а с тр о е н а   н а  р еш ен и е  э л и п ит ч ес к о г о   р уа в н е н и я   о б щ ег о   в и да . П о с ат в ь т е   н а  все х   гр а н и ц а х   п р я м о гу л ь н и к а   гр а н и ч н о е   с ул о в и е   Д и р и лх е , п р а в а я   ч аст ь   котрог о   з ав и си т   о т   к о р ди н а т ,  н а п р и м е р ,  х   +у   .  Н е  з абьдут е и сп о ль з о в ат ь   п о э л е м н нт ы е   о п ер ац и ,  т . е .  в   ди а л о г в о м   окн е zyxwvutsrqponml   Boundary  А л Condition  еслуд т   в е сит   ие д н и ц у   в   срт о к у   h и  х . 2  +  у . 2 в   срто к у   г .  Э к с п о р ит р й у т е   в   рабоч у ю   с р де у   м арт и ц у   гр а н и ч н ы х   с ул о в и й ,  в ы б р а в   в   м ен ю f Boundary  п н у к т   Export  Decomposed Geometry,  Boundary  Cond s.   П о яв л яест я м   п о  ум о л ч а н и ю   с от и т   м ас и в   ь  дл я  хра ди а л о г в о е   окн о  Export,  в   к о т р о

л ав Г

 14. Реш ени

неи н ит г е о м е рт и о п и сан жми т

 зачд

я   м а рт и ц ь   де к о м п о з и ц и о н н у

 м ат е м ат и че с окй

ы   гр а н и ч н ы

 фи зи к

х   с лу о в и ю   г е о м е рт и

и   и з  м арт и ц о   вы ш е . С ей ч а е  О К , в  р а б о ч е

ы  гео м ерт и с   н а м   п о н а до б и с т й   с р ед е   п о яв и л с

681 zyxwvutsrqpon

 

й   и ,  о дн о в р е м н н о ю   в   д .  П о лчуен и и   о бласт и   п р и  п о м о щ я   м а рт и ц а   ь   гр а н и ч н ы я  двму ер н ы й   м ас и

,  п р елд а г ест е   де к о м п о з и ц и о н н о и  фну к ц и

я   с ро а х

-

й о и  decsg  б ы л х   с ул о в и й . Н а в  ь zyxwvutsrqponmlkjihgfedcbaZY

b = 1 1 1 1 1 9 48 48 49 120 46 94 5.0 43 121 46 94 50

1 1 1 1 1 9 48 48 49 120 46 94 50 43 121 46 94 50

1 1 1 1 1 9 48 48 49 120 46 94 50 43 121 46 94 50

С рт к у а   м а рт и ц с о б л ен а  дл я   рхан ен и ид ф е р н ц и а л ь н ы ц ы .  В  р а с м а тр и в а е м о гр а н и ч н ы м м а рт и ц с я  н ны х р х а н и ст ри ц и   лд и н а ж ас т к о м а н дн о р уа в н е н и

1 1 1 1 1 9 48 48 49 120 46 94 50 43 121 46 94 50

ы   гр а н и ч н ы я  гр а н и ч н ы х   руа в н е н и й м   с чл у а е

и   с ул о в и я м а  дв   с ул о в и й

а   со ти е   ч а с ит

и   Д и р и лх

т   и з   ч ые т р е , в   н и ж н е ,  п ри ч е м   к а ж ыд

х й  ч аст

я   в   п о с л е до в а ет л ь н ы  гр а н и ч н ы х   фо р м лу я  кы д о

х   с лу о в и х   с лу о в и . К аж ыд ,  к о гд

о х   с лу о в и .  О б р а ти т

в с,о лво им е   окн о   сам я   (а  н е  си есмт ы

й   с о ед р ж и е  с о сатв ляю щ и и   си м волы ) фо р млу

й   д о с та о ч н о   сло ж н ая , о п и сы в аем ы й   в  з а д ч а х й   с от л б е ц   с о вт ес у а   о бласт ь   я в л ес т я   п р я м о гу л ь н и к о

,  о н

а   п ри сп о х   с и с е тм о т   ч аст и   гр а н и

й м  с

е   с  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED г  =  х   +  у   и   h = l  ан   к аж од й   с то р о н е ,   о ди н а к о в ы х   с то л б ц о в .  С то л б е ц   с ул о в н о   е дл и т и   з ап и сан ы   фо р м л у ы   к о э ф и ц и е н от в  гр а н и ч й   си м в о л   с рт о к и   с  фо р м луо й   лд я  к о э ф и ц и ен т а   ищ уд и х   э л е м н ат х .  В нерх я я   ч аст ь   с от л б ц а   м ат т   и н фо р м а ц и ю  о  ти п е  гр а н и ч н ы х   с лу о в и й   вн и м ан и е , ч т о   в   н и ж н е й   ч аст и   с от л б ц а   с о е рд х   ф о р м л уы . Д л я   то г о   ч от б ы   от браз и т ь  в , се луд т   п р и м ен и т ь   н фу к ц и ю   char.  В   счлуа е ы   р ха н яст я   в  э лем н ат х   с то л б ц а ,  н а ч и н а я  с

682 

аЧс т ь

с е ьд м о г м а рт и ц

,  в   че м   н есло ж н ы  и з  к о д в  в  с и м в о л ы

  IV. Ис по льз вани е

о   б уе и д ь т с я

 Toolbox и  р еш ени

 пр инхлыакд

zyxwvu

 зачд

,  п р е о б р а з о в а в   э л ем н т ы   н и жн е й   ч аст и :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI

»  char(b(7:end,:)) ans = 0000 0000 1111 xxxx

2222 У

У

2222

П ер в ы е  дв а   э л ем н т а  з а р е з е р в и р о в а н ы   п о д  к о э ф и ц и ен т ы  усло в и я  Н е й м а н а (р ав н ы   н л юу ,  п о ск о ль к у   п о с ат в л е н о   с лу о в и е   Д и р и лхе ) .  Т р е ти й   э л ем н т   со ед р ж и т   з н ач ен и е   /г ,  а   о сатл ь н ы е   (см . сврех у  в н и з ) —  с и м в о л ы   в ы р аж ен и я А А х . 2  +  у . 2.  Ф о р м а т   м а рт и ц ы   гр а н и ч н ы х   с ул о в и й   оп и са н   в   до к м у е н а т ц и и к   PD E Toolbox,  соедрж ащ ей с я   в   фа й л е  pde.pdf.  В п р о ч ем ,  до с та о ч н о   л е гк о р а з о б р а ть с я   в  да н н о м   ф о р м а те , з а д в а я   гр а н и ч н ы е   с лу о в и я   Д и р и лх е   и  Н ей м ан а  и  о то б р а ж а я   си м вол ы   м а рт и ц ы  гр а н и ч н ы х   с лу о в и й   в  к о м а н дн о м  о к н е . К о э ф и ц и ен т в   ч а с нт о с ит б ы ть

, дл

ы   р уа в н е н и я   э л и п ит ч е с к о г

я   и  п р ав

ь   з а д ю ст

я   н ес к о л ь к и м

и  с п о с б а м и , ы  zyxwvutsrqponmlkjihgfedcba a ,  b  и   с   м о гу т

я   к о э ф и ц и ен т

:

•   к о н с та н та м и

;

•   с рт о к а м о п ер ац и р ем н н а

и   ф о р м лу , с о едр ж ащ и м й   (дл я   к о э ф и ц и ен от я  и ) ;

•   м ас и в ам

и   с о  з н ач ен и ям

П р и   р еш ен и в и й  яв ляю ст

и   си е т я  м а тр и ц а м и

ло еС в р П р и б ли ж ен н ы зу ла

я   ч аст о   р уа в н е н и

и   п ер м ен ы в   н ел и н ей н ы и  дл

м   р уа в н е н и

я  к а ж до г

е  х  и  у  и  з н а к и  п о э лем н т ы х   руа в н е н и й   и с п о л ь з ес т у о   к о н еч н о г

о  э л ем н ат

х я   пе -

.

й   к о э ф и ц и ен т ы  си есмт ы   и  гр а н и ч н ы х   с л уо .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF

ы м   р еш ен и е х   с ке т и

. С елуд

т   и м ет

м   гр а н и ч н о ь   в  в и уд

й   з адч , ч т о   п р е дв а р и те л ь н

и   я в л ес т

я   в е к то о   до л ж н

р   з н ач ен и а   бы т ь   з адн

й  в а

л ав Г

 14. еРш ени

 зачд

 м ат е м ат и че с окй

 фи зи к

683 zyxwvutsrqponm

 

м а рт и ц а   и л и   фа й л - н фу к ц и я  гр а н и ч н ы х   с ул о в и й   ь , тр и а н глуяц и р , е , t  и  к о э ф и ц и ен т ы  урав н ен и я   (р аз муестя ,  п ер м ен н ы е  м о гу с я   п о - рдг о у м ) .  Е сл и  р еш аест я   н е с ат ц и о н а р н а я  з а д ч а ,  т о   н ео б хид м з а т ь  р еш ен и е  в  н а ч л ь н ы й  м о м ен т  в р ем н и  и  в е к то р  с о  з н а ч ен и ям в   котры е   е с лу д т  н а й т и  р еш ен и е . Н е к о т р ы е  со лв ер ы   рт е б ю у комп оз и ц и он н о й  ге о м е тр и .

я   в   м ас и в а т   н а з ы в а ьт

х о   к ау

-

и  в р е м н и т   з адн и

, я   ед -

С о лв ер ы   р еали з о в ан ы   в   фа й л - н фу к ц и я х   с   д о с та о ч н о   сло ж н ы м   и н етр ф й со м .  P D E Toolbox  о б л а д е т   н ес к о л ь к и м и   с о л в ер ам и   лд я   н оа х ж е д н и я   р еш е н и я  р а з л и ч н ы х  ти п о в   з адч :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA П   assempde  —  дл

я  э л и п ит ч еск и

•   p a r a bo lic  —д л •   h ip e r bo lic  —  лд

х  урав н ен и

я   п ар б о ли ч ес к и

х   р уа в н е н и

я  ги п ер б о л и ч ес к и

•   pden on lin —  лд

я   н ел и н ей н ы

•   adaptmesh —  дл л и п ит ч е с к и х  урав н ен и

я   а д п ит в н о

•   pdeeig —  лд

й  и  си сетм

я  р еш ен и

й  и  си сетм

х   руа в н е н и

;

х  ура в н ен и й

й   ге н е р а ц и м  с  з а д н н о

я  э л и п ит ч еск и

;

й  и  си сетм

х  с ат ц и о н а р н ы й  и  си ест

;

и   ск е т

;

и   и  н оахж едн и

я   р еш ен и

й   то ч н о с ть ю х  з а д

я  э л -

;

ч   н а  со б свтен н ы

е  з н а ч е н и я

.

И н ет р ф й с   с о л в ер а   assempde  яв л ест я   н аи бо ле е   ну и в е р с а л ь н ы м ,  о н   п о з в о л яе т   н е  то л ь к о   р еш и т ь   с и ем т у   л и н ей н ы х   р уа в н е н и й   м еот д а   к о н еч н ы х   э ле м е н от в ,  и ск лю ч а я   гр а н и ч н ы е   с ул о в и я   Д и р и лх е ,  н о   и   п о лчуи т ь   м а рт и ц у   же с кт о с ит , м арт и ц у   м ас с  и  в е к то р   н а г р зу к и , и л и  вс е  с о сатв н ы е   ч аст и   м а тр и ц ы и   в е к то р а   с и е мт ы   м еот д а   к о н еч н ы х   э л е м н от в .  П ер в ы м   в о х нд ы м   а р мгу е н от м   assempde  з адест я   м а тр и ц а   гр а н и ч н ы х   с ул о в и й ,  н а п р и м е р   ь ,  и л и   и м я фа й л - н фу к ц и и   с  гр а н и ч н ы м и   сул о в и я м и , н а п р и м е р  boundcond, дал е е   куа з ы в а ю ст я   м а рт и ц ы   с   и н фо р м а ц и е й   о   р т и а н гл у я ц и и   и   к о э ф и ц и ен т ы   р уа в н е н и я . В ы з о в ы   фа й л - н фу к ц и и  с  онд и м  в ы охнд ы м   а р мг у е н о т м zyxwvutsrqponmlkjihgfedcbaZY u = assempde(b, p, е , t, с , a, f); и  = assempde('bouncond', р , е , t, с , a, f) ;

п р и в о дя котры п р о и с о х ди

т   к  з ап и с х   р х а н я ст т   пр

и  в   в ек от я   в  р .  С б о р к и  о б р а щ ен и

р   и  з н ач ен и й  р еш ен и я  в   зу ла а   м а рт и ц ы   и   в е к то р а   с и е мт и  к  assempde  с  двму я   в ы о х нд ы м

х   с ект и ы   зе б и   а р г м у е н та м и

, к о р ди н а т   е  ринеяш

ы :

[К , F] = assempde(b, р , e, t, с , a, f); [К , F] = assempde('bouncond1, р , е , t, с , a, f) ;

О с ат л ь н ы е   сп ос б ы  в ы з о в а   assempde  п о др о б н о   о п и сан ы  в  до к му ен ат ц и PD E Toolbox.  И с п о л ь з о в а н и е  все х   в о з м о ж н о с ет й   assempde  рт еб у н и я   то г ,  к а к   чуи ыт в а ю ст я   гр а н и ч н ы е   с ул о в и я   п р и   в ы ч и с л ен и в е к то р в   п рав ы х   ч а се т й   э л е м н от в . Ф а й л  pde.pdf  с о едр ж и т   раз д Element M ethod" с  н ео б хид м о й  и н фо р м а ц и е й .

и  п о т  п о н и м а и   м а рт и ц  и .  "The F inite

684 

аЧс т ь

  IV. Ис по льз вани е

 Toolbox и  р еш ени

 пр инхлыакд

zyxwvut

 зачд

С о л в ер ы   p a r a bo lic  и  h yperbolic  сраз у   в ы да ю т   м а рт и ц у   с  р еш ен и ем . Водх н ы е   а р мг у е н т ы   ад н н ы х   с о л в ер о в   та к и е   ж е ,  к а к   у   assempde;  к р о м е   то г ,  з а е ад ю с т я   в е к то р   з н ач ен и й  р еш ен и я  и о  в   н а ч л ь н ы й   м о ен т   в р ем н и   (в  счлуа ги п е р б о л и ч е с к о г о   р уа в н е н и я   щ е е   и   в е к от р   uto  с о   з н ач ен и е м   п р о и з в о дн о й р еш ен и я) ,  в е к то р zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB   t l i s t   м о е н от в   в р ем н и ,  в   к о т р ы е   р т е б ус я   н ай т и   ре ш ен и е ,  и   к о э ф и ц и ен т  d  руав н ен и я   п р и   п р о и з в о дн о й   п о   в р ем н и .  К аж ыд й с от л б е ц   м а тр и ц ы   и   ес т ь   в е к о т р   с о   з н а ч ен и ям и   п р и б ли ж ен н о г о   р еш ен и я  в з ула х  скет и  в  с о вт ес юу щ и й   м о ен т  в р ем н и , ук а з а н н ы й  в   t l i s t :zyxwvutsrqpon u = parabolic(uO, tlist, b, p, e, t, c, a, f, d) u = hiperbolic(uO, utO, tlist, b, p, e, t, c, a, f, d) П р и   р еш ен и ку а з т ь   в е к то ю ст я   с о б вт е н н ы б е с к о н е ч н о с ьт

и   з ад ч   н а   с о б вт е н н ы р   г  дли н ы   дв а   с  гр а н и ц а м е   з н ач ен и я .  еЛв а ю   (- in f)

[ v, 

1]  =   p d e e i g ( b , 

В ы о н дх ы с о ед р ж и си в о

м   а р гм у е н о т т   з н ач ен и м  р , и  1 —  в ек от

С олве ны

х  з а д ч

е   з н а ч ен и

я   с о л в ер о и   и н ет р в а л

я   гр а н и ц

а   и н ет р в а л

p ,  e ,  t ,  с ,  a ,  d , 

м   pdeeig  яв л ю ст я   с о б вт е н н о й   н фу к ц и р   с о б вт е н н ы х  з н а ч ен и й

р   pden on lin ,  п р енд аз н ач ен н ы , и м е т  т е  ж е  вохнд ы

Э ф е к ит в н о а д п ти в н о г го р и т з ан и е э ф и ц и е н от

ь   ид ало г в

й   с от л б е ,  о п р едля м ы

ц   котро

й х   м ас

-

.

й   лд

я   р еш ен и я   н ел и н ей н ы , ч т о  и   assempde

е   п а р м е тр ы

о   окн у   ос р в л у е х   оп ц и я

е   н ао х ж е д н и о   и з м ен ен и

х   с ат ц и о н а р

-

f)

а  Solve Parameters  сдер ы   pdetool,  ю вуст ео ,  п оз веля т   п ч и о лу т ь   ва н л е п с т р д и е   о   воз м ж х  солвре а  pdenonlin.

е   р еш ен и я

, и м ею щ ег о   боль ш и е   г р а д и е н ты р   adaptmesh  р еал и з еу т   а д п ти в н ы о   ру а в н е н и я .  П р о с то й   вы з о в   с о лв ер й  гео м ерт и и   д , м арт и ц ы   гр а н и ч н ы х   с ул о в и я   с , а  и  п р а в о й  ч аст и  f

я  секти я   э л и п ит ч е с к о г

в  урав н ен и

,  к аж ыд х   с ект и

е   ^Д

я   н и л е й н мо х  доп лн илеьтн ы

м   р еш ен и м   де к о м п о з и ц и о н н о

с

и   яв л ю ст я   в е к то р   р еш ен и я  и   н о р м а   в е к то р а   н ев яз и   н ел и н ей н о й   з адч и   м ео т д м   Н ь ю то н а .  Д о п о л н и те л ь н ы е а   pden on lin ,  пу р а в л яю щ и е   в ы ч и с л и ет л ь н ы м   п р о ц ес о м , :  н а з в а н и е ,  з н а ч ен и е . Т а б л и ц а   воз м ожн ы х   з н ач ен и й   п ри и   к  PD E Toolbox.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO

К^ Г   Пр и м е ча н и П а н ел ща ны

я

r)

я   м а рт и ц а и  в   з ула

[ u ,  r e s ]  =   p d e n o n l i n ( b ,  p ,  e ,  t ,  с ,  a , 

В Ы ОН Д Х М И   а р г м у е н ат м к и   п р и   р еш ен и а р мг у е н т ы   со лв ер з а д ю ст я   п арам и в е дн а  в  до кму ен атц и

м   pdeeig  ртесбу ,  н а  к о т р о м   раз ы ск и в а а   м ож е т   бы т ь   ми н у

.  С о л в е

[ и ,  р ,  е ,  t ]  =   a d a p t n \ e s h ( g ,  b ,  с ,  a , 

f)

,  рт еб у

-

т й   ал а   с   кау й   ь , к о -

л ав Г

 14. еРш ени

п р и в о ди н ию п о з в о ляю н ач ль н у н ел и н ей н о г в е к от с ке т

 зачд

т   к  п о и ск

 м ат ем ат и чес окй

у   р еш ен и

 физк

685zyxwvutsrqponm

и   с о л в ер а ,  п р и н яыт м и  п о   му о лч а ,  з а д в а ем ы е   п ар м и   с в о й с тв о ,  з н а ч е н и е т  о п р едл и т о  до п суит м о е   ч и сл о  к о н еч н ы х  э л е м н то в ю   рт и а н г л у я ц и ю ,  сп о с б   др о б л е н и я   э л е м н от в   и   и сп о ль з о в ан и о  с о л в ер а .  С о л в е р   adaptmesh  в о з в р а щ а е т   в  в ы охнд ы х   а р мгу ен ат р   р еш ен и я  и  и  м ас и в ы  р , е   и  t ,  с о едр ж ащ и е   и н фо р м а ц и ю  о   р а с ч е тн о .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

.  Д о п о л н и те л ь н ы

я  с  усат н о в к а м

-

е   а р гм у е н ы т ь   м ак си м аль н

Ви з а у л и з а ц

я  ре лзутьа

, , е х й

а

Ф ну к ц и и   pdegpiot  и   pdemesh  п р енд а з н а ч ен ы   лд я   г р а ф и ч е с к о г о   о т браж е н и я   г е о м е рт и и   о бласт и   и   с ек т и ,  и х   и с п о л ь з о в а н и е   о п и сан о   в   п р еы д щ у и х р а з де л а х .  О с н о в н о й   н фу к ц и е й  дл я   в и з аул и з а ц и и   р еш ен и я   я в л се т я   pdepiot, котра я   п о з в о л яе т   пу р а в л я т ь   в и од м   п о чл у а е м ы х   гр а фи к о в   п р и   п ом ощ и  р я д а   д о п о л н и ет л ь н ы х   п а р м е тр о в .  Ф ну к ц и и  pdecont  и  pdesurf,  с рт о ящ и е  ли н и и   руо в н я   р еш ен и я   и л и   р т ем х р н ы й   гр а фи к ,  р еа л и з юу т   ч а с нт ы е   с ч л уа и о б р ащ ен и я   к  pdepiot.  Вондх ы м и   а р мг у е н а т м и   pdecont  и  pdesurf  яв л ю ст я м а рт и ц а   р  с  к о р ди н а т м и   зу л о в ,  м а рт и ц а   t  с о вт ес и я   гл о б а л ь н о й   и  л о к аль н о й   н му ер а ц и й   и  в ек от р   и  с о   з н ач ен и ям и  р еш ен и я  в   з у лах .  Чевт р ыт м д о п о л н и ет л ь н ы м   а р мг у е н о т м   pdecont  м ож е т   я в л ьт с я   в е к то р   з н ач ен и й , к о то р ы е  требсту я   от браз и т ь   л и н и ям и  уро в н я , и л и  и х  ч и с л о . И н ет р ф й а р мг у е н т

с   н фу к ц и а   яв л ю ст я   п ары

ле е  з а дю ст

и  pdepiot  до с та о ч н о   ну и в ер с а л ен я   м ас и в ам и   р , е   и  t  с  и н фо р м а ц и е : с в о й с тв о ,  з н ач ен и е  (та б л

  14.1.е ьын итле zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML  Дпо  пытер амр  pdepiotzyxwvutsrqpo

а ц и а лб Т св о й т С

о

и е н ча З

.  П ер в ы е  тр и   вохнд ы х й  о  тр и а н глуяц и .  Д а .  14.1).zyxwvutsrqponmlkjihgfedcbaZYXWVU

е

xydata

В е к то г о  г р а ф и к

xyst yle

off,  fl a t ,  i n t e r p  (п о  ум о л ч а н и ю

contour

on, off  (п о  ум о л ч а н и ю ли н и й

zdata

В е к то н ог

colormap

c o o l, h o t , gray, bon e, ... —  ц в е то в ы

mesh

on, off  (no ум о л ч а н и ю

) —  о т б р а ж е н и

colorbar

off,  on (п о  ум о л ч а н и ю з н ач ен и я

) —  в ы в о

р   с о  з н а ч е н и я м а

р  с о  з н а ч е н и я м о  г р а ф и к а

и  р еш ен и

я  в  уз л а

х   дл

) —  с п о с б

) —  о т б р а ж е н и и  р е ш е н и

я  п о с тр о е н и ы  з а л и в к

е   ил я  в  уз л а

я  дв му е р н о

х   дл

и  с к р ы ти я  п о с тр о е н и

е   п а л и тр

и   к о н т ур о

в

е   к о н т ур н ы

х

я   тр е м х р

-

ы е   к о н е ч н о э л е м е н тн о

д   ш кал

-

ы   с о тв е с тв и

й  с ект я   ц в ет

а  и

и

686zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA таьс Ч  IV. вьзаоине лпос И Toolbox и  ринеш х ын а дипкрл  зач д и ц Та л б

 14.1  (оаин)екч о zyxwvutsrqponmlkjihgfedcba

и е н ча З е о zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

в с от й С

title

С рт о к

le ve ls

иЧ с л ж а ем о г

а  с з аоглвк

м

о  ли н и

й  уорвн о  ли н и мя

и  уорвн

я  и л и  воект я

р с о  з н чае и мя

и  рше не и я

, ообрта

-

П ри м е р   и сп о ль з о в ан и я   pdepiot  п ри в ед н   в   ю су л е д щ е м   р а з де л ,  п о св ящ ен н о м   р еш ен и ю   н ек о т р о й   м о ед л ь н о й   з адч и   с   и сп о ль з о в ан и е м   н фу к ц и й PD E  Toolbox.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Р е ш ни

е  м еод лнь

Р а с м о рт и

й  задч

м  р еш ен и

е  м о едль н о

и

й  з а д ч

и  дл

2

хд

г  +

2

  уд

д и

я  эли п ит ч ес к о г

  .

2

г  2 = - 5n  sin их

о  урав н ен и

я

 •  sin 2ny

в   п р я м о гу л ь н и к е  с  ц ен рто м  в  н а ч л е   к о р ди н а т , в ы с о т й   е ид н и ц а  и  ш и р и н ой ,  р а в н о й   вд м у .  Н а  с от р н а х   п р я м о гу л ь н и к а   п о с ат в л е н ы   о дн о р дн ы с лу о в и я   Д и р и лх е .  И з в ес нт о  то ч н о е   р еш ен и е   M(JC, y)=simix- sm2ny  .  Т р ебу с е т я   п о с л е до в а ет л ь н о   му ен ь ш ат ь   ш а г  скет и   и  р е ш а т ь   з адч у ,  п о к а   п ри бли т  о лти ч аьт с я  о т  то ч н о г о   м ен е  че м  н а  0.01. ж ен н о е  р еш ен и е  н е  едбу е   с лу о в и я   в  сред е   pdetooi  и  э к с п о р З адй т е   г е о м е рт и ю   о бласт и   и  гр а н и ч н ы ит р й у т е  и х  в  гл о б а л ь н ы е   м ас и в ы  g и  ь  и з  м не ю  Boundary.  С ген ер и рйу т е  дв М - фа й л а  с  де к о м п о з и ц и о н н о й  гео м ерти е й   myg.m  и  гр а н и ч н ы м и   с ул о в и я м myb.m  п р и  п о м о щ и   н фу к ц и й   wbound  и  wgeom. Алго р и т м   оф рм и т е   в   в и ед фа й л - н фу к ц и и  modeiexam,  вохнд ы м и   а р мг у е н а т м и   котро й   я в л я ю ст я : и м ен фа й л о в  с  гео м ерт и е й   о бласт и  и  гр а н и ч н ы м и  усло в и ям и  и  то ч н о с т ь  р еш ен и я В   М - фа й л  в к л ю ч и т е   п о нфд у к ц и ю  дл я  вычи слен и я  то ч н о г о   р еш ен и я .  чУ ит е я   р еш ен и я   в   зу ла ч т о   да н н а я   п о нфд у к ц и я   п р е дн а з н а ч е н а   л д я   н о а хж е д н и скет и  и  в ы з ы в а ест я   о т  м ас и в о в   с  к о р ди н а т м и   зу л о в ,  п о э т м у   е с лу д т  ис п оль з оват ь   п о э л е м н нт о е   му н о ж ен и е .  Ли с ит н г   14.3 соедр ж и т   етк с т   осн ов н о й   фа й л - н фу к ц и и  modeiexam  и  п онфду к ц и и   exsol,  сн аб ж ен н ы й   п о др о б н ы м и  к о м е н та р и я м и . иэ н

е  м оед л ноь

й  за д ч

% зч а д

я  ни д о х а и  Длхир

е  дл

т  ри н е ш я г о к с е ч  итпил э

а и а . , х -

и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR

function modeiexam(gfile, bfile,  err) % Ф- л й а и ц к н у ф

е

е  мо н ь л е д о

й  го н ч и н а р о  д гоньлаицнер ф и

й о

л ав Г

 14. еРш ени

% уи н е в а р % Ие и н а в о з ь л о п с % 

 зачд

 м ат е м ат и че с окй

я  в  по н ь л о г у о м я р : modelexam('фй а

 фи зи к

й  ои т с а л б л  с  дп м о к е

 

687zyxwvutsrqp

. . гм о е

. ', 'фй а

л  с  гн а р

% Ии ц а з и л а и ц н я  ск т е и  с  мо н ь л а м и с к а й  со н р о т [р , е , t] = initmesh(gfile,  'Hmax', 0.2); % Зи н а д е  ко т н е и ц ф э о в  уи н е в а р я а  = 0; с  = 1; % Ои н е л д е р п е  ск о р т и  с  фо л у м р о й  по в а р й  чт с а f =  '5*pi^2*sin(pi*x) .*sin(2*pi*y) ' ;

, у. волс '

й  эт н е м л

а   0.2

и  уи н е в а р

% Ои ц а з и н а г р я  цг о к с е ч и л к и о  ии н е ч ь л е м з я  си к т е % н е  дт у н г и т с о а  та м е у б е р я  тт с о н ч о ь erhelp = 1; while erhelp > err % Ии н е ч ь л е м з е  ск т е и [р , е , t] = refinemesh(gfile, p, e, t ) ; % Ри н е ш е  уи н е в а р я u = assempdeCbfile, p, e, t, c, a, f); % Ви н е л с и ч ы е  тг о н ч о о  ри н е ш я  в  уа л з х  си к т е % ас и ц с б ы  и  от а н и д р ы  уо л з в  хс т я н а р я  в  са к о р т р 2 , :)); uex = exsoKpd,  : ) ,  ( % Ви н е л с и ч ы е  нм р о ы  пт с о н ш е р г о и  пг о н е ж и л б и р % в- р о т к е м о ц б л о т с , а  пи ц к н у ф д о я  exsol вс т е а в ы з % во т к е р  с  ты н ч о м  ре и н е ш м  нм и д о х б о е о  т ьтаворинопснар erhelp = norm(u -  uex', Inf); end

, err)

я

, пк о

а

, х  мцирта о  ри н е ш

ы  р я   (и  яс т е я л в я  о т  ск о р т , пм о т э о )

я у

% Ри н е ш е  нн е д й а о  с  то м е у б е р й  ть т с о н ч о ю % Ви ц а з и л а у з и я  ро н т е ч с а й  ти ц я л у г н а и р и  и  во в ы д  кг о н р у т н о о  гк и ф а р а % ряинеш , зг о т и л а о  цо т е в м figure subplotzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA (2, 1, 1) pdemesh(p, e, t) subplot(2, \, 2) pdeplot(p, e, t,  'xydata1, u,  'colormap',  'gray1,  'colorbar1,  'off') function z = exsol(x, y) % Пи ц к н у ф д о я  дл я  ви н е л с и ч ы я  тг о н ч о z = sin(pi*x).*sin(2*pi*y);

о  ри н е ш

я

аЧс т ь

688

О ЗЫ В л ен и ц в оет ь ст

 IV. Ис польз вани е

 Toolbox и  р еш ени

 пр инхлыакд

  за ч д

zyxwvuts

В   ф а й л - ф ун к ц и и   modelexam(  'myg' ,  'm yb',  1.0е - 02 )  П р и в о д и т   К   В Я ОП ю   гр а фи ч е с к о г о   окн а , в   к о т р о е   в ы в о яд с т я   р а с ч е нт а я   с ект а   и   з а л и ыт й м   к о н р ту н ы й   гр а фи к   р еш ен и я   м о ед л ь н о й   з адч и   с   рт е б у м о й   то ч н о ю   (р и с .  14.25).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

- 0.5

- 1  - 0.8  - 0.6  - 0.4  - 0.2 



0.2  0.4 

0.6 

0.8 

1zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK

zyxwvutsrqponmlkjihgfed

ш

8  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA - 0.5 - 1  - 0.8  - 0.6  - 0.4  - 0.2  0  0.2  0.4  0.6  0.8  1

Р си

.  14.25.  Р асчнет а

я  скет

PD E  Toolbox  соердж и т   н ес к о л ь к о  дем о н сртац и о н н ы pdedemo8.m  с  реш ен и е м  р аз ли ч н ы х   з адч о с е т ля ь н о   р а з о б р а ть с я   в   в о з м о ж н о сят я в л се т я  фа й л - п р о гр а м о й   с  и н етр фй со од с у т п  к  к аж од м у   и з  п р и м е р о в .

Ф уци н к

а  и  реш ен и

е  м оедль н о

й   з адч

и

х   фа й л о в

:  pdedem ol.m — .  Д ан н ы е  п р и м ер ы   п о з в о л яю т   сам о х   PD E Toolbox.  М - афй л   pdedemos.m м   к о м а н дн о й  с тр о к и ,  о б л егч а ю щ е й

и  PDE Toolbox

PD E  Toolbox  п р едо с ат в л яе фн у к ц и й , п р едн а з н а ч ен н ы н и я   г е о м е рт и и   о бласт щ е н   о п и сан и ю   нф у к ц и й н и я   е е   н а   к о н еч н ы п о лч у и т ь   п р и   п ом ощ р еали з о в ан н ы х   в   ни п о   P D E Toolbox.

т   в  р а с п о р яж ен и е  п о л ь з о в а етл я   окол о х   лд я   р е а л и з а ц и и   э та п о в   р еш ен и я   з адч и   д о   в и з аул и з а ц и и   р е з л у ь та .  Д а н н ы й   р а з де , сжлуащ и х   л д я   к о н с тр и у р о в а н и я   о бласт е   э л е м н ыт .  И н ф о р м а ц и ю   о   н фу к ц и и   в с е гд и   к о м ан д ы   h elp.  Д е та л ь н о е   о п и сан и е  все х х   а л г о р и тм о в   и м ес т я   в   сп рав о ч н о й   с и е мт

  п яи т ед с я т

и и   о т   з ад л   п о св я и   и  р а з б и е а   м ож н о   н фу к ц и й  и е   M ATLAB

л ав Г

  14. еРш ени

Создани Г е о м ерт и ч е с к и ли б до б а в л е н и з а п щу ен а с лнед и з в ан и и с п о л ь з ю у ст

 зачд

 м ат е м ат и че с окй

  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON 689 zyxwvutsrqponm

 фи зи к

е  иксечртмоег

х  примтво

й   п ри м и т и   п ом щ и   с о в т ес ю у щ е ю   с о вт ес ю у щ е г , т о   п о яв л ест м  до п о л н и етл ь н ы е   п ри м и т ва , з а к л ю ч ен н о я   с ат н да р нт ы

в   м ож е

в

н   ли б о   и з  м ен ю  сред ы   pdet o o i, .  В ы з о в   н фу к ц и и   п р и в о ди т  к о   п ри м и т в а   в   окн о   с р ед ы   (есл и   pdetooi  н е я  о к н о  pdetooi  и  п р и м и т в  о то б р а ж е тс я   в  н ем ) . П о м   а р мг у е н о т м   к а ж од й   нфу к ц и и  м ож е т   я в л ьт с я  н а е   в   а п о с тр о ф ы .  Е сл и   н аз в ан и е   н е   з адн о ,  т о е   и м ен а : c i,  E I ,  R I , ...

о   пр

т   бы т

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

ь   с о з ад й   нф у к ц и

• p d e c i r c ( x c,  у с ,  г ) , p d e c i r c ( х с ,  у с ,  г ,  l a b e l )  —к р у г   С  ц е н т р о м   В   хс , у с   и  р а д и у с о м   г .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA О   pdeellip(xc,  су

эли п н а   г оу

с   с  ц ен рто л  phi  (з адв ем ы

,  а ,  b,  phi) ,  pdeellip (хс

м   в   сх ,  у с   и  п о лусям й   в  р а ди а н а)х

,  су

,  a,  b,  phi,  label)  —

и   а   и  ь ,  п о в ер н ыту

й   вокру

ы  и  о р ди н а т

ы  к о т р ы

х   к у а з ы в а ю ст

П   p d e r e c t ( [ x m i n  xmax  ym in  у г л а х ] )

label)  —  п р ям о гу л ь н и к

е о Гм е т р и Н ек о т р ы т и   н а   к о н еч н ы и м ею щ и с х

е  фну к ц и

й  к о р ди н а т м

я  гео м ерт и   бы л

, р еали з юу щ и

ym a x] ,

.zyxwvutsrqponmlkjihgfed

и  в ер ш и н

я

и  п р е о б р а з о в а н и е  э лем н ыт

я  фну к ц и й

,  p d e r e c t ( [ x m i n  xmax  ym in 

и  и  тирлцауягн

-

я   в  vx  и  vy

, о п р едля м ы

я  обл а ст

а

К  С  в е р Ш И Н а

•   p d e p o l y ( v x ,  vy)  , p d e p o l y  ( vx,  vy,  l a b e l )  —М Н ОГ УОЬЛ Н И

м и ,  абсц и с

г   ц е н рт

.

и   о п и сан

ы  р а н е

и   о бласт .  Н и ж

х   г е о м е рт и ч е с к и

и   и  р а з б и е н и е   п р и в ед е   а л г о р и тм ы

я  о б л ас н   сп и со .

к  все х

•   gst a t  =   csgchk(gd)  —  п р о в ер к а   п рав и ль н о ст и   з адн и я   м а рт и ц ы   gd  гео м ре т и и   о б л а с ти .  В ы охнд о й   а р мг у е н т   я в л ес т я   в е к от р - с рт о к й ,  к аж ыд й э л ем н т   котро й   с о ед р ж и т   и н фо р м а ц и ю   о   с о в т ес ю у щ е м   п ри м и т в е  р.азд   "Заине д  гте- мое (сркту а   м а рт и ц ы  гео м ерт и и   о бласт и   о п и сан а  в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR ир  таис"л б о йаон д   )авыг л . П   di  =   descsg(gd,  sf,  ns)  —г е н е р а ц и я   м а рт и ц ы   di  де к о м п о з и ц и о н н о й г е о м е рт и и   о бласт и   и з   м а рт и ц ы   г е о м е рт и и   gd,  срто к и   с   ф о р м л уо й   с в яз и г е о м е рт и ч е с к и х   п ри м и т во в   sf  и   м арт и ц ы   с о вт е с и я   с от л б ц о в   gd  с и м ен а м и   п ри м и т во в  в  фо р млуе .  В ы з о в   desceg  с  дмву я   в ы о х нд ы м и   а р уг м е н а тм и   [di,  bt ]  =  descsg(gd,  sf,  ns)  п р и в о ди т   к  з ап и с и  в  bt  и н фо р м ац и и   о   с о вт е с и и   м и н и м аль н ы х   п о д б л а с ет й   г е о м е рт и ч е с к и м   п ри м и т в ам . •   [newdi,  newbti]  -   csgdei  (di,  з и ц и он н о й   г е о м е рт и и   о бласт и   в се л а с тя м и .  В ы онхд ы е   а р мг у е н т ы   де к о м п о з и ц и о н н о й   г е о м е рт и и   и м аль н ы х   п о д б л а с ет й .

bt)  —  адлеун и х  гр а н и ц   м же д с о ед р ж а т   о б н о в л ен н у   ат б л и ц у   с в яз е

е   и з  м арт и ц у   м и н и м аль н ы м й   п ри м и т во

ы   di  дек о м п о и  п о д б ю   м а рт и ц у   newdi в   и   ми н и -

аЧс т ь

690 • 

[ р ,  е , 

t ] 

 IV. Ис по льз вани е

 Toolbox и  р еш ени

 пр инхлыакд

zyxwvuts

 зачд

=   i n i t m e s h ( g l )  ,  [ р ,  е ,  t ]  *  i n i t m e s h  ( ' n i yge o m 1  )  —И Н И Ц И а -

ли з ац и я   с ке т и   о б л а с ти ,  дек о м п о з и ц и о н н а я   г е о м е рт и я   котро й   з а д ес т я м арт и ц е й   и л и   М - фа й л о м .  В о з м о ж н о   пу р ав л ен и е   п р о ц ес о м   и н и ц и али з а ц и и   кс ет и   п р и   п ом ощ и   п а р   до п о л н и ет л ь н ы х   п а р а м е тр о в :  с в о й с т в о ,  з н а ч ен и е .  П а р а м е т р   нш а х   с у ат н а в л и в а е т   м ак си м аль н у ю   л ид н у   со т рон ы   рт е г у о л ь н ы х   э л е м н от в .  Н а ч а л ь н а я   рт и а н г л у я ц и я   о бласт и   со з ад м   г е о м е рт и и   о б л а с ти ,  в б л и з и   бо ле е   м ел к и х   о б ъ е к то в   ск е т с те я   с   ч у е о т щ гу е ,  че м   в   к рпу н ы х .  З н ач ен и е   п а р м е тр а   Hgrad  о п р едля т   ск ор ст рост а   р аз м ер о в   э л е м н от в   п р и   о ад т л е н и и   о т   м ел к и х   о б ъ е к то в . З н ач ен и Hgrad, б л и з к и е  к  еид н и ц е  (100%), п р и в о дя т  к  м елдн о м у   рост у   р аз м ер о в н а п р о ти в ,  з н ач ен и я   бли з к и е   к   в ду м   (200%),  с о вт ес юу т   д о с та о ч н б ы срт о м у   в уе л и ч е н и ю   р аз м ер о в   (р и с .  14.26).

а ь я , о

Р я д   п а р м е тр о в   in itm esh  п р енд аз н ач е н   лд я   в и з а у л и з а ц и и   э ат п о в   а л го р и тм а   п о с тр о е н и я   тр и а н г л у я ц и и   и   чл у ш е н и я   е е   к а ч е с тв а ,  п о др о б н а я и н фо р м ац и я   о б   и х   и сп оль з ован и и   п р и в едн а   в   д о к му е н та ц и и   к PD E Toolbox.  К р о м е   то г ,  нфу к ц и я   jiggiem esh  р еа л и з еу т   а л го р и т м ч л шу е н и я   тр и а н г л у я ц и .

Hgrad - I.I

Рис •   Ф ун к ц и

и н и ц и али з ац и ц и он н а зу ло к ом ан о п и сан

. 14.26. В ли ян и

Hgrad =1.9

е   п а р м е тр

а  H grad  н а  р а з м ер

ы   э л е м н от

в

и   poim esh  ( gl,  n x,  ny)  ,  poim esh  ( 'mygeom' ,  n x,  ny)  с л уж а

т   ДЛ

Я

и  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA й он р я г е у р л   т ек с и   н а  йьон угло м япр  о б л а с ти ,  дек о м п о з и я   г е о м е рт и я   котро й   з а д ес т я   м а рт и ц е й   и л и   М - фа й л о м .  Чи с л о в   п о   к а ж од й   и з   к о р ди н а т   з а д е ст я  впх и   п у .  П о с л е до в а те л ь н о с т ь д   дл я   п р я м о г у л ь н и к а ,  де к о м п о з и ц и о н н а я   г е о м е рт и я   котрог о а  фай л- нфу к ц и е й  mygzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG

[р , е , t] = poimesh('myg', 15, 10); pdemesh(p,e,t)

п р и в о ди т   к   р е гл у я р н о poimesh  п р е дн а з н а ч е н

й   с ке т а  то л ь к

о  дл

,  и з о б р а ж ен н о я   п р я м о гу л ь н ы

й   н а   ри с х   о б л а с те й

.  14.27.  Ф ну к ц и .

я

л ав Г

 14. Реш ени

 зачд

 м ат е м ат и че с окй

691 zyxwvutsrqpon

 фи зи к

// / / / / '/ / / / / / / / // / / / / // / // / / / / / / / / / / / / // / / / / / / У У / / / / / / / // У / у / /

У / Ј У У // 0.4 7 // / / / 0.3 / / X / у // 0.2 Z / // // / / / / / 0.1 /"/ ./ / / /у / У 0 0 / ///// / / / / / / / / ­0.1 / / / / / / /J ­0.2 / / / / / /'/ /// // // ­0.3 у / zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA / X / / I / / / ­0.4 / / / / / / zyxwvutsrqponmlkjihgfedcbaZ / 0 5 ­1 ­0.8  ­0.6  ­0.4  ­0.2  0  0.2  0.4  0.6 /0 .8 , П  Ј

/

/ У /

7





/

/

/

/

/

/

/

/

/

у

/

/

/

/

/

/

feval  (Builtin­function)

I 60

\  0.063 s

0.000 s

uito ols\private\prefutils

! 60

0.063 s

0.000 s

proЈview>makefflef>  age

 2

•  uito ols\private\pretotils >lo adPrefs

timefun\private\forrnatclate

2

|  0.063 s

0.047 s

spdm.gs

1

0.063 s

0.063 s

: 1

1 0.047 s

0.000 s

0.047 s

0.047 s

mkdir

36

isfield



Ђ1

с Ри

. 15.7.  Снрмаы у

й  еч то

т  о н  вем ыр



х  а ртз

I S t Мо

H

» Ш 1ш ш &:::



H

-





H



:

I

: 1ж

й  ке юпьмто

х

р

а

716 

аЧс т ь

 IV. Ис по льз вани е

 Toolbox и  р еш ени

 пр инхлыакд

zyxwvuts

 зачд

О чт е т   м ож н о   п о лч у и т ь   в   в и д е   с о в кпу н о с т и   фа й л о в   фо р м а т а   H TM L  в   з а да н н о м   п о дк а т л о г е   (н а п р и м е р ,  ' h t m i r e p o r t ' )  еткщу ег о   р або ч ег о   к атло г а   MATLAB,  с о з да в ем о м   к о м а н до й   prof save ( st a t _ d a t a ,   f h t m l_ r ep o r t '  ) . а   с   и м ен м   st a t _ d a t a  до л ж н а   бы т ь   с о з ад н а   пр и П р е д в а р и те л ь н о   с р кт у П ОМ ОЩ И   s t a t d a t a  =   p r o f  i l e  (   i n f o  ' ) • zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML  !

Р е ш ни

е  с и с т е

м  ура вне и е  с пе тк р

и  ис л е овда ни

й а

М еот д ы   р еш ен и я  си ест м  ли н ей н ы х  урав н ен и й  деляст и   и ет р а ц и о н н ы е . П р я м ы е  м еотд ы   о сн о в ан ы  н а  п р едв а р и етл ь н о ц и и   м а рт и ц ы   с и е мт ы   и  п осюлуед щ е м   р еш ен и и  дву м а тр и ц а м и . Д а н н ы й  п о хд д   п о з в о л яет , в   ч а снт о сит ск оль к о  си ест м   с  о нд о й  м арт и ц е й  и  р а з л и ч н ы м и  в ек от р а м В  M ATLAB  о п ер а ц и р уа в н е н и

О п ер ац и ри ц е р ут щ ег

т   п р ям о

й  м оет

х   си е т , э ф ек ит в н

д  р еш ен и

а   к лас

: п р ям ы й   ф а к от р и з а м   с   рт е г у о л ь н ы м о  р еш и т и   п рав ы х   ч а с етй

я  си семт

е и ь  н е .

ы  ли н ей н ы

х

й  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA хА- b ,  п ри ч е м   в   с ч л уа е   н ес к о л ь к и х   си е т м   хА  = ^Ь ,  

(к) хА   = Ь у   '  в е к то р м о г а ет л ь н о й   м а тр и ц

К а ж ыд л и н ей н ы

я   \  р еали з еу

я   н а  дв

й   с от л б е х  ал геб р аи ч ес к и

ы   п рав ы

ц   м а рт и ц

я   А  \  В   р еал и з еу й   А   с  и с п о л ь з о в а н и е у   м а рт и ц ы   (п р и м ен ен и о  в и д а   б ы л о   о п и сан

х   ч а се т ы   В .  В  общ е

й   з а п и с ы в а ю ст м   сч л ау = ХА В ,

ы   X  соедр ж и х   руа в н е н и й т   р еш ен и м   с п ец и а л ь н ы е   о б р а тн о о  в  гаве л

я   в   с от л б ц е  н оаихд ст

т   р еш ен и

я   р еш ен и

ы   н ек о т р о е  си есмт

й  в сп о

я   с и е мт , р еш ен и й   р а з н о с тн о

-

ы

е   с о вт е с ю у щ е

й   с и ем т

ы

. е   с и ем т

ы   р уа в н е н и х   а л г о р и тм о в й   кос й   ч ер т

й   с  р а з р еж н н о ,  чуи ыт в аю щ и ы   лд я   р е ш е н и

й   м ат х   к р с ут я   си е т м   об

-

 6).

В   п р и л о ж ен и я х   ч аст о   в с рт е ч а ю ст я   с и ем т ы   л и н ей н ы х   ру а в н е н и й , дл я   реш е н и я   котры х   и те р а ц и о н н ы е   м ое т д ы   о к а з ы в а ю ст я   н аи бо ле е  э ф ек ит в н ы м и M ATLAB  о б л а д е т   д о с та о ч н о   боль ш и м   н абор м   нф у к ц и й , к о т р ы е  р еал и зюу т   осн овн ы е   и ет р а ц и о н н ы е   а л г о р и тм ы :  п р еод бсул о в л ен н ы й   м е от д   со п р яж ен н ы х   г р а д и е н то в   (peg),  м еот д   б и с о п р яж ен н ы х   г р а д и е н то в   (bicg),  ме е   м е о т ыд .  Ожбсу то д   о б щ е н н ы х   м и н и м аль н ы х   н ев яз о к   (gmres)  и   рдгиу ед н и е   а л г о р и тм о в   п ер ч и с л ен н ы х   и ет р а ц и о н н ы х   м ео т д в   в ы о х ди т   з а   рам к да н н о й  к н и ги . С п равоч н а в   ч а с тн о с ти то ч е н о

..., zyxwvutsrq

а   M ATLAB  соедр ж и е  си емст ы   л и н ей н ы й   ап рок си м ац и

т   н ек о т р ы х   ру а в н е н и й и   о п е р а то р

е   к л а с и ч ес к и , с о втес юу щ е а   Ла п л а с

. и

е   п р и м ер ы а   пр

и   п ом ощ

, й   п ия т и   ме -

-

л ав Г

  15. еазРнры ж

то д с рт о и ст (см

а   п р е од б с у л о в л е н н ы . р а з д

П о л ь з о в а те л д о б с у л о в л и в а ет л я р уа в н е н и в   с о в т ес ю у щ е и н етр ф й с п р о в едн и о п р е дл н н ы Ч а с ти ч н а хА   = хХ котра я ч и сл е  и св т е н ы и л и  в б л и з

 м ат р и ц ы

717zyxwvutsrqpon

 

х   с о п р яж ен н ы х   г р а д и е н то в .  П р е до бсул о в л и в а те л ь я   н а   осн ов е   н еп о л н о г о   р аз ло ж ен и я   Хо л е ц к о г о   и ос н х д о й   м а тр и ц ы .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Mathematics: Sparse Matrices: Simultaneous Linear Equations). ь   м ож е

т   вы брат ь   лю бу ю   п о ях д щ у ю   м а рт и ц ,  з а п р о г р а м и р о в а т ь   б ы с рт о е   р еш ен и й   с  дан н о й   м а рт и ц е й   в  фай л- нфу к ц и и  и  ука з а т м   а р мгу е н т е   peg  в м ест о   п р е до б с у л о в л и в а е т л я а   peg  п р еод сатв л яе т   в ы ч и с л и е тл ю   ш и роки я   и с л еод в а н и й   с   ц ел ь ю   н ап и сан и я   э фекит в н ы х   к лас о в   з адч . я   а л ге б р а и ч е с к а   и л и   о б щ ен н а   п о з в о л яе  к о м п л ек с н ы )х х   з н ач ен и й и  н е к о т р о г

у   в   к а ч е с вт е  си емст ь   им

. И н етр ф й о   ч и сла

я  фай л- нфу к ц и

и ь

е   воз м ож н ост

и   лд в   лд

х   с о л в ер о

а   с о б втен н ы х   з н ач ен и   —р е ш а е т с я   п р и   п ом ощ е   ч и сл о   с о б вт ен н ы с  фн у к ц и и  eigs  од п сук ае я   с   н аи б о ль ш ег о   и л и   н аи м ен ь ш ег . Н а п р и м е р , в ы з о в

,  н а ч и н а

х

.  Г и б к о с т

я   п р о б л ем я   хА   = ВХх ь   з адн н о

т   раз ы ск ат

е   п ре ы   л и н ей н ы

я я

й  —  п р о с та и   н фу к ц и х   з н ач ен и т   н оа х ж е д н и

я zyxwvutsrqpon и   eigs, й   (в   от м е   со б о   п о   м л оу д ю

Lambda  =  eigs(A,  k) п р и в о ди с о б втен н ы с о б втен н ы

т   к   з а н ес н и х   з н ач ен и й х   з н ач ен и

ю   в   в е к то р   lambda  п ервы .  Д л я   н оажх едн и я   п ер в ы й  п р и м ен яест я  о б р а щ ен и е

х   к   н аи бо ль ш и х   к   н а и м ен ь ш и :

х   п о   м л оу д х   п о   м л оу д ю

ю

la m bd a  =   e i g s ( А ,  к ,  0)

В   о бщ е м   с чл у а е ,  к о гд а   р т е бс у н и й   в бли з и   з адн н ог о   ч и сл eigs." lambda  =  eigs(A,  k,  s) О дн о в р е м н н о е   н оа хж е д н и eigs  с   вмду я   в ы о х нд ы м н фу к ц и и   eig,  к о т р а п р о б лем ы   с о б вт е н н ы ,итцры ма  фукн ци  маитцр П р и   р еш ен и н о й   п о л ж и те л ь н р ы м   в о х дн ы да н и е   р яд п р о ц ес о м

е   с о б вт ен н ы и   а р г м у е н ат м и я   п р е дн а з н а ч е н х   з н ач ен и

и   о бо бщ ен н о

 " гавы л

ь   н ес к о л ь к т   куа з т

о   с о б вт е н н ы ь   ег о   рт е ь и

х   в е к то р в   п р о и с о х ид ,  ч т о   а н а л о ги ч н а   лд я   р е ш е н и я   п олн о й   (с.м  р.азд   "Сетвсынб о   6).

х   з н ач е м   а р мг у е н о т

т   пр о   и сп оль з ован и й   а л ге б р а и ч е с к о  ча лис

м  в

и   вы з ов

е ю й

  и   в ык е р т о

й   з адч

о   о п р едлен н о м   а р г м у е н то а   д о п о л н и те л ь н ы .

я   о п р е дл и т а   s,  е сулд

и   н а   с о б с вт е н н ы е   з н ач ен и я   с   с и м е рт и ч й   м а тр и ц е й   В   се л у д т   ку а з ы в а т ь   е е   в то м   п осл е   м а тр и ц ы   .А   Ф ну к ц и я   eigs  до п су к а е т   за х   п а р а м е тр о в ,  пу р а в л я ю щ и х   в ы ч и с л и те л ь н ы

м

лав Г

а  1 6

Оп т и м и з а ц

я

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB

В   с о ат в   M ATLAB  вохид т   Optimization  Toolbox,  п р едн а з н а ч ен н ы й   лд я   р е ш ен и я   л и н ей н ы х   и   н ел и н ей н ы х   о п ит м и з а ц и о н н ы х   з адч .  Ф ну к ц и и   э от г о Toolbox  р еа л и з юу т   осн овн ы е   а л г о р и мт ы   о п ти м и з а ц и , п р и ч е м   п о н и м ан и е а л г о р и тм а   п о з в о л яе т   н а с тр о и т ь   в ы бран н у ю   н фу к ц и ю   н а   э ф е к ит в н о е   ре ш ен и е   п о с ат в л е н н о й   з адч и ,  ч т о   п р о де м о н с тр и р о в а н о   н а   п р и м ер е   с и ем т ы н ел и н ей н ы х   ру а в н е н и й . Optimization  Toolbox  н е  и м е т   п р и л о ж ен и й  с  гр афи ч ес к и м   и н ет р ф й с о м .  П о с ленд и й   р а з де л   да н н о й   гл а в ы   с о ед р ж и т   п ри м е р п р и ло ж ен и я ,  о б л егч а ю щ ег о   о д су т п   к   н жу о й   н фу к ц и и   Toolbox  и   пу р ав ле н и е  в ы ч и с л и етл ь н ы м   п р о ц ес о м .

O p t i m i z a t i o n  T o o l b o x Пр и р еш ен и р ез к ч не и бо ле п о ль з о в ан и е иэ т х ны м и   и ск о м ы и с лоедв а н и

  чен т и

и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   ав ыг л  6 в ы   и сп о ль з о в ал и   р я д   н уф к ц и й  Optimization  Toolbox  лд я   р ау в н е н и й   (fzero),  м и н и м и з ац и и  фн у кц и и  онд о й   п ер м н о й   н а   от е   (fminbnd)  и   м и н и м и з ац и и  фн у кц и й  н есколь и х   п ер м н ы х   бе з   о г р а н и й   н а   н ез а в и с м ы е   п ер м н ы е   (fminsearch).  Д а н н ы й   р а з ед л   п о с в ящ е т   бы т ь   р еш ен ы   с  и с е   сло ж н ы м   з а дч м   с  о гр ан и ч ен и ям и , к о т р ы е   м о уг м   в ы ч и с ли еть н ы х   н уф к ц и й   Optimization  Toolbox.  И н ертфй   н уф к ц и й  до с ато ч н о   ги б к и й , вс е   он и   одп ску аю т   о б р ащ ен и е   с  п ремн  чи сло м  вондх ы х   и  вы ондх ы х   а рм г у е н о т в   в  з ав и с м о ст и  о т  дан ы х   з а дч х   в ел и ч и н .  К ро м е   то г ,  бо ль ш и н свт о   н уф к ц и й   Toolbox  п о з в о ляю е  з а д ч , з ави сящ и х  о т  о нд о г о  и л и  н есколь ки х  п а р м етр о в .

Л и не й но

е  и  не л ине йо

Л и не й но З адч то р ы

е  прога м м ирова ни

е  прог а м м ирова ни а   ли н ей н о г й   м и н и м и з и реу

я н с и т

е

е о   п р о гр а м и р о в а н и т  ц елву

ю   л и н ей н у

я   со ти ю  фну к ц и / Т х , 

т   в   н оа хж е д н и ю

и   в е к то р

а   х,   к о

-

(16.1)

л ав Г

  16.  пОт и м и зац и я

719 zyxwvutsrqpo

гд е   /   —  в ек от р   к о э ф и ц и е н то в р ан и ч ен и ям :  н ер ав ен свт а

, и   одув л ет о р яе т   з адн н ы м   л и н ей н ы м   ог м zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA А х

и  р а в ен с вт а

* ь 

м A

eqX 

К ром н и ч ен и

(16.2)

е   то г о ,  м огу я  в  в е к то р н о

т   бы т й  фо р м

ь   п о с ат в л е н

=  b

eq' 

(16.3)

ы   дв с у о т р н н и

е   п о к о м п о н е н тн ы

е   о гр а

lbУз>4У )

  и

х (>0 

(/  =  1, 2, 3, 4).

о   о кт л о н е н и р   к а и м - ли б й   ц ен о   в ы ч и сли

о  сп о с бо й  бмуаги л   м ра т и ц

я   о ж и аде м   п рои з ,  т . е .  п о срт и

у   к овари ац и

л и   V.

  IV. Ис по льз вани е  Toolbox и  р еш ени  пр инхлыакд   за ч д zyxwvuts аЧс т ь 722zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Е сл п ер с и

и   в е к от я   в ы ч и с л я ю ст

р   у   и   м а рт и ц

а   V  и з в еснт ы

,  т о   до хн о с т

я   п о   ф о р м л уа

ь   п о р фт е л

я   и   ег о   и д с

-

: 2

T

a p  =   x Vx. Ф орм аль н а н о г о  п р о г р а м и р о в а н и я

я   п о с та н о в к

а   з адч : н а й т

и   М аркови ц и  м и н и м у

а   п р и в о ди

т   к   з адч

м  фн у к ц и

е   к в а рд и т ч

-

и

J(X)  = XT VX 

пр

и   о гр а н и ч е н и я х

(16.6)

: у т х   = a, T e

jc  =  l, 

(16.7)

e T = ( l , l , 1,1) 

(16.8)

J C > 0 . 

(16.9)

В ел и ч и н а   ж ел а м о й   од х н о с т и   п о р ф те л я   а   до л ж н а   бы т м аль н о й   и  н е  б о л ь ш е   м ак си м аль н о й   од х н о с т и   вы бран н ы в ан и я   ц ен ы х   б му а г .  Н ер а в ен с вт о   (16.9)—  о дн о с т р о н н е о гр а н и ч е н и е   ти п а   (16.4).  О гр а н и ч ен и я   (16.7) и  (16.8) —  э т т  о б ъ еид н и т ь   в  о дн о , п о с рт о и д а   (16.3), п о э т м у   и х  се луд

и  в ек от

П с ту од х н о с т

е  м и н и

е я   ви

-

р

ь   з адн

ы   сю л у е д щ и и   п о р фт е л

V =

Т о гд м а рт и ц

ь   н е   м ен ь ш х   лд я   и н в е с ит р о е   п о к м п о н е н тн о о   о гр а н и ч е н и в   м а рт и ц у

а   в  о б о з н а ч е н и я х ы   и  в е к то р а

е   з н ач ен и я  дл я   м арт и ц ы   F ,  в е к то р а   у   и   ж ел а м о й я   a:zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED 102.0 27.1

27.1 148.8

- 52.3 42.1

66.5 - 66.4

11.3 13.2

- 52.3

42.1

246.5

56.9

;  у  = 16.1

66.5

- 66.4

56.9

272.3

, п р и н яыт , с в яз ан н ы

х  дл я   о п и с ан и е  с  о гр а н и ч е н и я м и

"11.3  13.2  16.1 17.4 1 1 1 1

17.4 я  фну к ц и

и  quadprog,  п о с рт о и

м

: 15

1Ь  =  [ 0zyxwvutsrqponmlkjihgfedcb   0  0  0]  . I zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ

л ав Г

 16. пОт и м и зац и я

Дл

я   р еш ен и ю   с о ат в ь т а  фа й л - п р о гр а м

сь т ет к с

723 zyxwvutsrqponm

 

я   з адч

и  о  фо р м и р о в а н и

и   п о р фт е л я  с  фи к с и р о в а н н о й  до х дн о у  risk_asset.  В о з м о ж н ы й  в а р и а н т  и сох дн о г о ы  risk_asset  п р и в ед н  в  л и с ит н г е  16.2.zyxwvutsrqponmlkjihgfedcbaZYX

е  фа й л - п р о г а м



:

! zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Л ист ин г   16.2. Ф а йл - прога м м а  risk_asset 

% Зи н а д

е  мц и р т а

ы  ко т н е и ц ф э о

V = [  102.0 

- 52.3  6 6 . 5 

- 6 6 . 4 

5 6 . 9  й   ти п

Aeq  =   [ 11. 3 

13. 2 



1

:; 

и  

66.5;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ )ќ'.;. ^:Щ   х. : \/\у zyxwvut   :h  56.9; 

ќ  . 

2 7 2 . 3 ] ; 

. ^ 

а   равен ст

1 6 . 1 

1 7 . 4 ; 

1

]

1

ќ ' 

"

в

•• zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR   • • ''.}•  •;.•  '} ;'• ][

;

beg =  [15; 1];  % Зи н а д

. .  "

42.1  - 66.4;

42.1  246.5 

е   о гр ан и ч ен и

й  фи ц к н у



27.1  - 52.3 

27.1  148.8 

%  З а д а н и

в  цо в е л

I zyxwvutsrq

.  :

е  ои н е ч и н а р г

й  сз и н

у  н а  пы н е м р е

е  

. . . . . ќ ќ . 

..

1Ь  -   [0; 0; 0; 0] ; % Ри н е ш

е  и  во в ы

д  рт а ь л у з е

а  в  ко н д а м о

х  = quadprog( V,  [],[], 

В ы п о л н ен и н ы х  срседт

е   фа й л - п р о гр а м в  в  в ы б р а н н ы

е  дл

е  он к

о

 

:

 ќ ќ ќ  ќ ; ќ.  .

[ ], Aeq, beq, lb)

ы  risk_asset  да с я  в ло ж ен и й  а к ти в ы

т   о вт е

т   о  р ас п р едл н и

и   енд еж

-

:

>> risk_asset Warning: Large- scale method does not currently solve this problem formulation, switching to medium- scale method. > In C:\MATLAB65\toolbox\optim\quadprog.m at line 213  .'.'ќ'. Optimization terminated successfully. 0.0626 0.4359  0.1439  .  0.3575  П р и   э от scale а л го р и тм ыт ер а м р

м   в   к о м а н дн о а  в м ест   изацпто"м

24  З ак



. 130

е  о к н о   в ы в ел о с ь   с о б щ ен и о  Large- scale, п р и н я то г  дйаон  г)авы л .  

•   •   •   , 

• •" ••' •, •. • •   •   -   /   • .  • • : . ; : :v ; ".""'• •  •  ..  • ;.   - . •  • • • •K- .•:  • ' • • •'• • ; е  о   п р и м ен ен и

о   п о  ум о л ч а н и

ю  (с.м

и  Medium р.азд  ''Па\

724 

аЧс т ь



Пр и м е ча ни

О бо щ н е и ьл а н ы

  IV. Ис по льз вани е

е  

 Toolbox и  р еш ени

 пр инхлыакд

^zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF

е   п р и н е вд о г о   п р и м еа ,  и н рпеца т и я   р е з л оь а ту в   и  сцпеи е  св ст дре а   п а к ет а  MATLAB дл я  рше н и я  з ад ч   ат к о г о   кс а л а  пирев  гаве л  18. ы  в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

не д

е Н л и не й о

е  прога м м ирова ни

е

Optimization Toolbox  п о з в о л яе т   р еш ат от р ы х   м и н и м и з и р е ум а я   н фу к ц и я   н ел и н ей н а д о б а в л я ю ст я   н ел и н ей н ы е . О б щ а я   п о с та н о в к м и ро в ан и я  та к о в а : требсту я   раз ы ск ат

ь   ря

д   о п ти м и з а ц и о н н ы ,  и   к   л и н ей н ы а   з адч и   н ели н ей н о г

х   з адч м   о гр а н и ч е н и я

,  в   к о

с р ед и   в с е х   в е к то р о (16.2—16.4) и  до п о л н и етл ь н ы

о   п р о гр а м

(16.10)

й   з адч

е   И ОТЛ Ч

е  и н т е р ф е й с

ч т о   н ел и н ей н ы нф у к ц и .  О б р а щ е н и ю уд щ и м   образ ом

В о н дх ы рог з ем у ы

м   а р мг у е н о т о   со в п аде е   в е к от р

х   о гр а н и ч е н и

й

;  ceq(x)  = 0. 

и   п р о и з в о ди с т

я   пр

и   п ом ощ

(16.11) и   н фу к ц и

и   fmincon.

а   fm in c o n  О Т  l i n p r o g  И  q u a d p r o g И О ТС О

Т  В  ТОМ

,

я   с ( х ) < 0  и   cQq{x)- 0  з а д ю ст я   в   фа й л е   к  fmincon  в   до с та о ч н о   общ е м   с ч л уа е   в ы г л я ди т   с ле :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

кУ а з а н и е   в то р о г ч и т ь   з н ач ен и е з л у ь ат е .  Е с л и м о й   то ч н о с ть ю к о л и ч е с вт о   вы з ово л я  —  р еш ен и е л е м   н а   фа й л - н фу к ц и н фу к ц и ю   / (• н и я   п а р а м е тр о в P I ,  P2,... н а ч и н а ,  о п и с а н  6.

е   л и н ей н ы в

е   о гр а н и ч е н и

х  = fmincon (fun, хО

И с л е до в а н и ров ав ыг л

х   с и емт в  и  р а в ен с т

х   н ер а в ен с т

е  п о с ат в л ен н о

Осн овн о

-

ь

в   х ,   од у в л е т о р я ю щ и ф) - .р а в е н с т

в   я в л я е тс

% п о с к о л ь к у . .д а н н ы х . о г р а н и ч е н и   e

]

;

и е н ол п В ы





я   п ус т ы

" . 

м   мас и вом

,

'..- .   ".. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR



,  и з  к о м а н дн о

е  fmincony нер м и р па

а

т zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI

й  не

c eq   [

е   н е р а в е н с тв

й  срт о к

и

х   »  fmincon (@myfun, zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   [Q.I  0 . 7 ] ,  [   ],  [  Ь   С  Ь   t  Ь   [  Ь   [  3,   @mycon)

» 

п р и в о ид

т  к  в ы в о д

у   н ек о т р о

и  о  ход

й  и н фо р м а ц и

е  в ы ч и с лен и

й  и   р ез луь ат

а

1.0е - 00 4  * 0.18:95 

О б р ащ ен и з н ач ен и

- 0.0235

е   к   fmincon  с  тр ем я   в ы о х нд ы м е  фну к ц и и  в  то ч к е  м и н и м у а

и   а р мг у е н а т м

и   п о з в о л яе

т   п о лч у и т

ь

:

»  [х ,  Јt  flag]  =  fmincon(©myfun,  [0.7  0.7],  [  ],  [  ],  [  ] ,  . . . [  ] >  [••:•], [  ],  Qmycon) x  = .'•'.  .':•;;  ­ ••. '.•["'''•  .: ..••.'•'••.;•••' 1.0e­004  * ;::  0.1895 :\  ­0.0235  ; f



f

З н ач ен и н а й де н о



l

. . 

1

.

a

g

0

8

=

8

:

 

• 

2



;

e

­



0







:

0



:





;





• 





• 

• 





,

.

^

:

:

­

:

/

'

.

­ 

.

.

9

. . 



"

­

.







е   flag  б о л ь ш е .



/

:

.



.



/

:

'

• 

е   нлу

:

:

 

• 

"



;

'

;

я   с в и е дл т ь с в у

• 

"

;

 

­

:

o







.

• 

; . 

• 

т   о   то м

,  ч т о   р еш ен и

­

е   с пу е ш н

о

л ав Г

  16. Опт и м и зац и я

727zyxwvutsrqpo

 

е Н л и н йы

е  за д ч

Н ели н ей н о котры

е   м о гу

и

е   п р о гр а м и р о в а н и т   бы т

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

е   н е   и с ч ер п ы в ае т   к лас с   н ел и н ей н ы ы   в   Optimization  Toolbox.  Ф ну к ц и

ь   р еш ен

f g o a l a t t a i n ,  fm in m ax,  f se m i n f  Ю Я Л ОВПЗ

гр а н и ц ы ли ровк ласт ли н ей н ы м и да ю вы ш е

, н аохид т и   з ад ь   од п с у и т м ы

ь   р еш ен и ч   и  и н етрфй х   з н ач ен и , та к   и  н ели н ей н ы м

т   с  о гр а н и ч ен и ям .

Задч

а  о  дос т иеж н

В   з адч

е   о  до сит ж ен и

лд

и  гиацрн я   н ай т

П о с та в л е н н а н и е  к  к о т р о

х  к о м п о н ен

Ь  З а д а ч

и   О  д о с т и ж е н и

и

. Н и ж

е   п р и в е дн ы   фо р м у х   лд я   и х  р еш ен и я . О б   п ер м ен ы х   м ож е т   з а д в а ть с я   ка к , в   о бщ е м   сч л ау е   он и   совп а о   п р о гр а м и р о в а н и я , о п и с а н н о й

ы

и   гр а н и ц

а   у   едбу я  все

е   о   м и н и м ак се , п р енд аз н ач ен н ы

и   о гр а н и ч е н и ям и е   н ел и н ей н о г

и  в  з адч

w  и   g.  Т р ебсту в ел и ч и н

Т  ИТВОаД еС Л

е   в  з а д ч с   нф у к ц и й й   н ез а в и с и м ы х

х   з адч , и   Toolbox

ы   з адн

и   х   и з   о бласт

т   м и н и м аль н о

й   пр

а   в е к от р - нф у к ц и

я zyxwvutsrqponmlkjihgfedcbaZYXWVUT   F(x)  и  дв а   в е к то р а

и   о д п с иу т м ы

х   з н ач ен и й

и   в ы п о л н ен и

и   с лу о в и

, дл

я   котрог

й   Fi(x)- wiy w\ )-   Ц ел в а п рост о   (ли ст н г   16.6).  П р и   со з адн и и   фа й л - н фу к ц и о гр а н и ч е н и я   с лй е у д т е   п р и в е дн н ы м   вы ш и н е тр ф й с а   и  а л го р и тм а .  В  н аш е м   п р и м ер р ан и ч ен и е ,  п р и ч е м   д о п о л н и те л ь н а я   н ез а в и с и м а с к ал яр о м . В  счлуа е  в о з н и к н о в ен и я  з артнду ен и

я   н ап и сат я   н фу к ц и

ь   фа й л - н фу к ц и и   лд я я   п р о г р а м и р е у ст я и   лд я   п о лбу е с к о н е ч н о г о е   с о гл а ш е н и я м   о тн о с и те л ь н о   е е е  в сег о   о дн о   п о лбуе с к о н е ч н о е   ог я   п ер м ен н а я   wx  яв л сет я й   о б р а ит е с ь   к  ли сит н г у   16.7.zyxwvutsrq

: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л и с т и н г   16.6. М ин м из реу м а я  фицнку я  ре ш ни я  за д ч и  с  пол убе сокне мчы i ограниеч мя и

и

fu n c t i o n  f  =   m yfu n s( x) % ц е л е в а

я   ф ун к ц и

f  =   х ( 1 )

л

я

2  +   2 *х ( 2 )



2 ;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB

function  [с , ceq, Kl, S] = sem_con(X, S) ifzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  isnan(S(l, 1)) % Ии ц а з и л а ц и н %  (ва р о т

я  шг а я  кт н е о п м о

S =  [0.2 0]; end

а  ск т е а  н е  бе д у

и  0.2 дл т  ия с ь т а в о з ь л о п с

я  со н р я л а к

й  по н е м р е )

й  wl

Глав

 16. Оптимзаця

 

731zyxwvu

%zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Ги ц а р е н я   сетки  н а  ок з е р т е   [0, 100] дл я  пы н ч е н о к с е б у л о х  и н е ч и н а р г о й

wl = 1:S(1,  1):100; % Ви н е л с и ч ы

е  г о н ч е н о к с е б у л о п

о  ои н е ч и н а р г

я   в  уа л з

х  ск т е

и

Kl = cos(wl*X(l))./(wl*X(2)) -  0.1; % Ны н й е н и л е

е  и н ч и н а р г о

я  т ю у в т с у с т о

,  е а д з

м  по т с у

й  ми с а

в

с  =  [ ] ; ceq =  [ ];zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Дл

я  р еш ен и » 

и   о с ат л о с

ь  з а д т

ь   н ач ль н о

е zyxwvutsrqponmlkjihgfedcba

е  п р и б л и ж ен и

х О   =  [ 0 . 5 ;   0 . 2 ]   ;

и  в ы з в а т в   1: » 

я  з а д ч ь   н фу к ц и

ю  f seminf, усатн о в и

[х ,  fva l ]  =   fsem in f(@m yfun s, 

в   ч и сл

о  п о лбуеск о н еч н ы

х  о гр а н и ч е н и

й

x0,  1,  @sem_con)

х   = 1. 3512 2.1785 f va l  = 1 1 . 3 1 7 5zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

М и н м а скн

я  з а д ч

П о с та н о в к

а   м и н и м ак сн о

а й  з а д ч min  x 

лд

и   з а к л ю ч а е ст

я  в  н оахж едн и

и

maxzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH   {ft  (JC)} i' — 1, 2,..., n

я   н ел и н ей н о й   в е к от р - нфу к ц и и   / ( * ) =  (/ i  (*), / 2  (- *), .• • ,/„(• ) *)п р н и ч ен и я х   (16.2—16.4)  и   (16.11)  ет х   ж е   сам ы х ,  ч т о   и  в   р а с м о тр е н н о з адч е   н ел и н ей н о г о  п р о г р а м и р о в а н и я . Д л я   р еш ен и я  да н н о й   з адч н аз н ач ен а  фну к ц и я  fminimax,  п р и м ен ен и е  к о т р о й  в  до с та о ч н о   общ е ч а е  в ы гл яид т   ю с лу е д щ и м   образ ом :

и   о гр а й   вы ш и   п р ед м   улс

е -

х   =  fminimax (fun,  х0 ,  А ,  b,  Aeq,  beq,  lb,  ub,  nonlcon,  options,  PI, P2,  ...)

П ер в ы й щ е й  в ек от ж е , к а к н фу к ц и п с ку а е т вс т е   н е и с п о л ь з е м у ы

  в о х нд о

й   а р мг у е н

т   fminimax  яв л ест я   ф а й л - нф у к ц и е й , в о з в р а щ а ю р   з н ач ен и й   {f] ( x) |.  С м ы с л   о с ат л ь н ы х   в о х нд ы х   а р мг у е н о т в   та к о   и  дл я   fmincon,  п р и м ен ен и е  к о т р о й   о б жс у а д л о с ь   вы ш е . И н етр ф й и   fminimax,  к а к   и   б о л ь ш и н с вт а   н фу к ц и й   Optimization Toolbox,  од   п ер м ен н о е  ч и сл о  вохнд ы х   и  в ы охнд ы х   а р г м у е н то в ,  п р и ч е м  в  к ач е х   в о нх д ы х   а р мг у е н о т в   к у а з ы в а е ст я   п со т у й   м ас и в .  В

й с о

732 

аЧс т ь

в то р м   д о п о л н и те л ь н о ч ен и я   в е к от р - нф у к ц и ы т й   в ы о х нд о л ен и й . С м ы с

й   н ад

ю   з а дч о   н ай т

у   л д я   де м о н с рт а ц и и   н ез а в и с м ы

min  тах{/ Ь > 

  Toolbox и  р еш ени

 пр инхлыакд

/ 2 ( * Р * 2 )  h( xv 

(х {,х 2) 

{

4){fi}

и   о б р ащ ен и е  п ерм н ы

zyxwvutsrq

  за ч д

м   в ы о х нд о м   а р мг у е н т е   fminimax  в о з в р а щ а ю тс и   / ( х ) ,  в   т р е т ь е м —  м а к с и м а л ь н о е   и з   н их т   с о ед р ж и т   и н фо р м а ц и ю   о   п ри чи н е   о с та н о в й  то т   ж е , ч т о   и  дл я   нфу к ц и и   fmincon.

й   а р гм у е н л   ег о   з н а ч ен и

Р а с м о рт и м   м о е дл ь н у fminimax,  в  к о т р о

  IV. Ис по льз вани е

я   зн а ,  а   чветр а   вы чи с

-

я   к   н фу к ц и и е  zyxwvutsrqponmlkjihgfedcbaZYXWV х х   и   х 2  и з  услови я : х

г ) },

дг е

п р и   л и н ей н ы

х   о гр а н и ч е н и я

х х х   > О ,  х 2>  О ,  3*!  +  2х 2   1 % Мц и р т а

а  Яб о к

и  с т е я л в я

% Фи н а в о р и м р о

я  о м у с

е  л а н о г а и д

й  те р

и  мц и р т а

х  ми р т а

ц  J = D + Dl + D1'

ы  D

d = 4*х ; % Ии ц а з и л а ц и н

я  г о н е ж р з а р

о  и н е л в а т с д е р п

я   лд

я  мц и р т а

ы  D

я   лд

я  мцирта

ы   D1

Diag = sparse(l:n,  l:n, d, n, n ) ; % Фи н а в о р и м р о

е  р о т к е в

а  по н ч о б

й  л а н о г а и д

и

d2 = - ones(l, n -  1); % Ии ц а з и л а и ц н

я  г о н е ж р з а р

о  и н е л в а т с д е р п

Dl = sparse(2:п ,  1:п   -  1,zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG  62, п , п) ; % Ви н е л с и ч ы

е  о н е ж р з а р

й  ц и р т а м

ы  б о к Я

и

J = Diag + Dl + Dl'; end

Р еш ен и е  си семт ы   н ел и н ей н ы х   р уа в н е н и й   оф рм и т е  в   фа й л - п р о гр а м е  (ли с ит н г   16.16),  в   к о т р о й   з а д ю ст я   ч и сл о   п ер м н ы х   и   в е к от р   н ач ль н ог о п р и б л и ж ен и я   и  и сп о ль з есту я   f solve  дл я   п о и с к а  к о р н е й . Н а ш а   ц ел ь   с о т и т в   и с л е од в а н и и   э ф е к ит в н о с т и   п р и м ен ен и я   яв н ы х   фо р м у л   лд я   э л е м н от в м а рт и ц ы   Якоби ,  п о э тм у   сн ач л а   о б р а ит е с ь   к   fsolve  с о   з н ач ен и е м   .'off  ' п а р м е тр а   Jacobian  (о н о  усатн о в л ен о   п о   му о л ч а н и ю ) .  З а м еьт ,  ч т о   в   э от м С л уч а

т   В Ы З В Та

е   f s o l v e  б у д е

а р мг у е н от пу р а в л яю щ у сн ов а  п р и м ен и т в а т ь   в с рт о е н н ы Л ист ин ур а в н е и

м   и   м а тр и ц ю   с р кт у

Ь   фа Й -Л Н фу К Ц И

а   Як о б

а  дл

о  ы н е м р е п

% Ри н е ш

е  м е т с и я  эо т н е м л

ы  бе в  мцирта

я   р е ш ни

я  бол шь

й   си т е м

х

х О  = ones(l, n ) ; % но н ь л а ч

% дл

  l a r g e s y s  j  С  ОНИ Д

М НЫ Д ВО ЫХ

М

я   н е   ет д б у .  З ает м   м о ид ф и ц и р й у т е ,  суатн о в и в   п ар м ет р   Jacobian  в  з н а ч ен и е  в   ' o n 1 , и е  f solve. Д л я   к о н тр о л я  з а  врем н е м   с ч ет а   од у б н о   з а ед й с в т о е  фн у кц и и  t i c  и  toe.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML

г   16.16. Ф а йл - прога м м й

п  = 1000; % члси

Ю

и   в ы ч и с л яь т с

е  и н е ж и л б и р п з  ии н а в о з ь л о п с ы  б о к Я

е я   ынвя

и

х  у м р о ф

л

ы  не л и не й ны

х

Глав

 16. Оптимзаця

745zyxwvutsrq

options = optimset('Display', 'iter', 'Diagnostics',  'on'); tic x = fsolve(@largesysj, xO, options); toe % Ри н е ш % дл

е  м е т с и

ы  с  ие и н а в о з ь л о п с

я  эо т н е м л

в  мц и р т а

м   ынвя ы  б о к Я

х  у м р о ф

л

и

options = optimset(options,  'Jacobian1,  'on'); tic x  = fsolve(@largesysj,  xO, options); toezyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

в   л и с ит н г а   16.16  св и елдть св у т   о б  э ф ек ит в н о с т и В ы п о л н ен и е   о п е р а то р о и сп о ль з о в ан и я  яв н ы х  форм у л  дл я  в ы ч и слен и я  э лем н от в   м а рт и ц ы  Я к о б и  п о с р а в н ен и ю   с  а п р о к с и м а ц и е й  и х   к о н еч н ы м и  р а з н о с тя м и  —  в р ем я   с ч ет а   от л и ч а е ст я   п р и м ер н о  в   50 р а з .  П о с к о л ь к у   п ар м ет р   D iagn ostics  и м е т  з н ач е н и е   ' o n 1 , т о  в  к о м а н дн о е  о к н о  с н а ч л а  в ы в о ид ст я  и н фо р м а ц и я  о  к о л и ч есвт е н е и з в е сн т ы х , сп о с б е  в ы ч и слен и я  ч аснт ы х   п р о и з в о дн ы х   и  п р и м ен яем о м  ал г о р и тм е   (в  да н н о м   с л уч а е —  м еот д   до в е р и ет л ь н о й   о б л а с ти ) .  Р а б о т а   f solve с о п р о в ж ад е с т я   о т б р аж ен и е м   с в енд и й   о   к а ж од м   ш аг е   в ы ч и с л и те л ь н о г о п р о ц ес а   (о п ц и я   D isplay  суатн о в л ен а   в   ' i t e r ' ) .  С в едн и я   п р е сд а т в л е н ы  в в и ед  та б л и ц ы : Iteration 1 2 3 4 5 6 7 С то лб и

Func- count  f(x) 1 998 871.767 2 3 567.03 4 36.9426 0.0498932 5

Norm of step

First- order optimality 1

2.13

2.5

0.932

6.25

0.0273

15.6

- е З 00

5

15.6

4e- 011

15.6

1.87805 0.0643166

7

1.31898е- 01 9

7.56621е- 00 5 р  И т е р а ц и и

1 1

2.5

6.87172е- 00 8

т   Н ОМ е

3 2.38

6.25

б

к   I t e r a t i o n  с о д е р ж и

Trust- region radius

; F u n c - c o u n t —  ИЛС Ч

О   ЫВО З

нф у к ц и м ы   лд и ет р а ц и лен н о г р и ет л ь н о

;  f  (x)  —  мсу а   к в а д р то в   з н ач ен и й  лев ы х   ч а с ет й   р уа в н е н и й  си ест я   е тк щ у е г о   п р и б ли ж ен и я ; Norm  of  s t e p —  н о р м а   ш аг а   н а   е кщ т у е ;  F ir st - o r d e r  o p t i m a l i t y—  б еск о н еч н а я  н о р м а  гр а ди е н та , в ы ч и с о   лд я   е тк щ у е г о   п р и б ли ж ен и я ; T ru st - regio n  rad iu s  —  р аид у с   од в е й   о б л а с ти .

Дан н ы м ео т д р еали з о в ан

й   р а з де м   до в е р и е т л ь н ы

л   о п и сы в ае ы   и   др г у и

т   то л ь к х   о б л а с ет е   а л г о р и тм

о   р еш ен и е   с и ем т ы   н ел и н ей н ы й   п р и   п ом ощ и   fsoive.  В   нфу к ц и ы   р еш ен и я , к о т р ы е   в ы б и р а ю тс

х  урав н ен и

В

й -

й и   fsoive я   пр и   по -

746 

Щ ОМ

аЧс т ь

И   П ЦИО

 IV. Ис по льз вани е

 Toolbox и  р еш ени

 пр инхлыакд

zyxwvuts

 зачд

Й   N o n l E q n Al go r i t h m ,  L a r g e S c a l e ,  L i n e S e a r c h T y p e  у п р а в л я ю щ е

й

с р тк у ы .  П е р д   р еш ен и е м   з ад ч   в   Optimization  Toolbox  п о л ез н о   обра и   о   н а с рт о й к а х   а л г о р и тм о в   вы бран н о й   нф у к ц и . Э т и ит ь с я   к   и н фо р м а ц и с е нв д и я   м о гу т   бы т ь   п о ч ер п н ту ы   и з  с п р а в о ч н о й   с и емт ы   Toolbox.  Ф ну к ц и и и   о д п с уи т м ы е   п а р м е рт ы   лд я  н и х  о п и с а н ы   в   р а з де л е zyxwvutsrqponmlkjihgfedcbaZ   Optimization  Toolbox: Function  Reference,   з а д н и е   п а р м е тр о в  —  в   Optimization  Toolbox:  Function Reference:  Optimization  Parameters,   а   сам и   а л г о р и тм ы  —  в   Optimization Toolbox: Standard Algorithms   и  Optimization Toolbox: Large- Scale Algorithms. М ы  р ек о м ен уд п р и в е дн н ы

м   ат к ж е  в  с п р а в о ч н о

е   и з ч уи т

ь   п р и м ер й  си есмт

р  прил еожни

рП и м е

ы  реш ен и я  о п ти м и з а ц и о н н ы х   з адч , е  п о  Optimization  Toolbox.zyxwvutsrqponmlkjihgfedc

я  с  GUI

Optimization  Toolbox  н е   и м е т   п р и л о ж ен и п о л ь з о в а ет л я   лд я  до спут а   к  фн у к ц и я он н ы х   з ад ч   з н а ч и те л ь н о   п у р о с ит л о с п р и л о ж ен и я .  Т екщу и й   р а з ед л   п о с в ящ е ск и м   и н е тр ф й с о м  дл я  р еш ен и я  з адч З адч н а и чл у ш и бор н фу к ц и

т  в  та к о

а   со ти м   образ о е   п а р м е тр о

м   п о дб р м   од у в л е т о р я л в   с  и с п о л ь з о в ан и е

е   и сп о ль з о в ан и я   раз ли ч н ы х   да н н ы и м я   фа й л а   и  фай л- нфу к ц и н и и  до п суит м ы х   и н ет р в а л о м ен и я  в  фа й л - п р о гр а м у со м   п о з в о л и т   щ с у е св т н о б р а б о тк е   н абор а   ад н н ы х л ю   к о н тр о л ь   н а д  н а ч л ь н ы м р а   п а р м е тр о в   и   от браж ат л о ж ен и е   П бо д р   в о р те м а р а п о бладе т   в ы ш ео п и с ан н ы м К н оп к фа й л а фа й л ю ст л яю щ е

я и ц к н фу

ж ен и е

м   и н етр ф й с о е  о п ит м и з а ц и

. Р еш ен и и  н а л и ч и ю   п р и л о ж ен и е   п а р а м е тр о в

м -

и   с о вт е с ю у щ е г

о я   с  гр а фи ч е

-

.

в   н ек о т р о й  фну к ц и , ч от б ы  о н а   н або р у   да н н ы х .  Р еш ен и е  з адч и   о  п од м   lsq c u r ve fit  о п и с а н о   вы ш е   н а  п р и м ер

а е

и  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA F  =  а х ъ агХ   + а ъ  sin a 4 x  (с.м  р.азд   "Пр о б д о  пв "отер амр йаон д   )авыг л .

Р ле г я у р н о

лд

е   п а р м е тр о

й   с   гр а фи ч е с к и м   о п ти м и з а ц и ь   б ы  п р н   н ап и сан и и   о  п о дб р

а  та и чС ,  в   к о т р о а   з а н о с и ст я   м ар к ер ам й   н фу к ц и .   С о вт е с вт ю у щ и ,  в ернх ю

ь  ы н а д

м   п о л ь з о в а ет л я   в   област и   н а   о ся ю  с  п а р м е тр а м и ю   и  н и ж н ю

е   фа й л - п р о гр а м ы , п р и в едн н о й  в  л и с ит н г х   и   н фу к ц и й   н е  о ч ен ь   од у б н о   —  ртебсу я   . П р и  в ы б о р е   н ач ль н ог о   п р и б л и ж ен и в   лд я  п а р м е тр о в   ат к ж е   н е о б х ди м о   вн оси т .  С о з да н и е  п р и ло ж ен и я  с  гр а фи ч ес к и м  и н ертфй о   экон ом и т ь   в р ем я   п р и  п о д б н о й   м н о г к р а тн о .  П р и л о ж ен и е  до л ж н о   п р е д о с ат в л я т ь   п о л ь з о в а ет и   с у та н о в к а м и ,  п р о и з в о ди т ь   п р о ц р еуд ь   гр а фи ч е с к о е   п р е сд а т в л е н и е   р е з л у ь та ,   окн о   котрог о   и з о б р аж ен о   н а   и  в о з м о ж н о с тя м и . е   п р и в о ди

т   к  п о яв л ен и ь   вы би рае ь   Ф йа л  с и м  ды н а х   в   окн е   п р и ло ж ен и я , п о л ь з о в а етл е   с рт о к и   п о з в о л яю ю   гр а н и ц ы   п а р м е тр о в

е   16.13, ь я   и   з ад ь  и з й у   п о бд . П р и ри с .  16.3, и з м ен ят

ю  ди а л о г в о г о   окн а  о тк р ы ти т   н жу ы й   фа й л   с   да н н ы м и , и м .   С ч и та н н ы е  да н н ы е   от браж а .  И м я  фай л- нфу к ц и , в ы ч и с ь   з аде т   в  срто к е  в в о д а  Ф л йа т   вы брат ь   н ач ль н о е   п ри бли .  Г р а фи к   н ач аль н ог о  п р и

я я -

-

л ав Г

 16.  пОт и м и зац и я

б л и ж ен и

я   с рт о и ст

П ОБД

Р   ж с л иу

з н ач ен и п р о и з в о д и ст

747zyxwvutsrqponm

я   п р и  н аж ит и   н а  к н о п к т   лд я  з а п сук а   п р о ц р е уд я   в  о б л а с т ь  ы н ь л а м и т Оп и  помо щ и  к н о п к и  От и с и ч

я  в ы в о ядст я  п р

у zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ  и ф а рГ к  дл я  ч а н . плб и р .  К н о п к а ы   п о дб о р а   п а р м е тр о в .  Н а й де н н ы е е ы  р те м а р а п .  Уадлен и е   гр а фи к о в ь  оис . zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA в

р  п а р а м е т р о

#   По дб о





1

1

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Фб й л  с д а н ы м и Nt.dat

а Фй л - у Фн кц и [ 

г" - —

jg

4

н о льа ч Н

е  п р иебн ли ж

е

[0.0 0.0 4  0 1.0]



к .

я fitfun

i

н Няи ж

У

3

/

В е р н хя

^

а


> q = subs(f, 'x', '1.1')

м   п р е с да т в л е н и е ю   пр

м   и  з ает м   н ай т и  з н а и   vpa:zyxwvutsrqponmlkjihgfe

и  п о м щ

q = ехр(1.1

Л

Л

3  + 2*1.1 2 + 1.1  + 5)

>> vpa(q,  50) ans =

18 97  7.322  63918380228 95228 4 4 47  213 957 854 88 63  9310417 4 0zyxwvutsrqponmlkjihgfedcbaZY

Р е ш ни

е  за д

ч

Р еш ен и е  си ест м   л и н ей н ы х   и  н ели н ей н ы п р о и з в о дн ы х ,  н оахж едн и е   о п р е дл н н ы и с к   ан ал и т ч ес к и х   р еш ен и й   ид ф е р н ц и а л ь н ы вом , вс е   о с н о в н ы е   м а ет и ч е с к и е   з адч м ощ и  Symbolic M ath Toolbox.  Р аз муестя вс е  з адч и   и м ею т   ан ал и т ч ес к о е  р еш ен и е

З адч

и  л иен йо

й  алег бр

х  урав н ен и й х   и  н ео п р едл н н ы

, р а з ы с к а н и х   р уа в н е н и т   бы т ь   и с л е од в а н т  уч и ыт в а ьт

и   м о гу , се луд .

е  п р едло х   и н те г р а л о в й   и   с и е тм

в  и , п о ,  сло ы   п р и  п о ,  ч т о   да л ек о  н е

ы

Ф ну к ц и и  Symbolic M ath Toolbox  в ы п о л н яю м а рт и ц а м и   и  в е к то р а м и .  Вс е  з а д ч и ,  о п и с ан н ы н ы   в   си м воль н о й   фо р м е ,  п ри ч е м   с о вт ес ю у щ и н аз ван и я ,  ч т о   и   нфу к ц и и   лд я   ч и с л е н н о г юв у щ и е   м ое т д ы   п е р о п р е дл н ы  дл я  к лас В ы ч и с л ен и н ие

е   о п р е д л и етл м  det, н а п р и м е р

я   в   си м воль н о

» 

А   =   sym (  •   [ a  b  с ;  d  e  f; 

» 

D   =   d e t  (A)

т  в   с и м в о л ь н о м  в и д е   о п ер а ц и и  с ав е л  б , м о гу т   бы т ь   р еш е е  в  гzyxwvutsrqponmlkjihgfedcbaZYXWVUTSR е   н фу к ц и и   и м ею т  т е  ж е о   р еш ен и я ,  п о с к о л ь к у   с о в т ес а   sym. й   фо р м

е  п р о и з в о ди ст

я   с   и сп оль з ова

-

: g  h  j ]  ' ) ;

D  = j * a * e  -   a * f * h  -   j * d * b  +   d * c * h  +   g *b *f  -   g * c * e

Ф ну к ц и о б р а нт у

я   inv  п р енд а з н а ч ен ю   к  м а рт и ц

» 

AI  =   i n v  (А )  ;

» 

а   лд е  А , о п р едл н н о

я   си м воль н ог

о   о б р ащ ен и й  в ы ш е

я   м а тр и ц

.  Н а й ди т

.

p r e t t y( AI ) [ -

i e + f h 

i  b  —  с   h 

b f -

c e ]

е

764 

аЧс т ь

 IV. Ис по льз вани е



-

 Toolbox и  р еш ени

i d + f g 

 пр инхлыакд

i  а   —  e g 

[ - d h + e g 

a  f  —  с   d  ]

a  e  — b  d]zyxwvutsrqponmlkjih

a h —  b  g 

Г  

1



% 1 

О б р а ит З н а м е н а ет л э л е м н от в ж ен и

е   вн и м ан и

е  дл

ь   к а ж до г ,  п о э т м я   %i п р и в едн

=

-

i

% 1 

a

e

+

a

f

е   н а   фо р м о   э л ем н т у   и с п о л ь з се т у о  н и ж

у   о т б р аж ен и а   о б р а тн о я   п о д с ат н о в к е  м а рт и ц ы

й   п оли н о

м   м а тр и ц ы

Х а р к ет р и с ит ч е с к и ди

% 1 

:

h

+

i

d

% 1 

b

я   р е з л у ь ат й   м а рт и ц

— 

zyxwvutsrq

 зачд

d

c

h

— 

g

zyxwvutsrqponmlkjihgfed

]

b

а   в   к о м а н дн о ы   AI  о ди н а к о а   %1, с о втес юу щ е

f

+

в   лд

g

м   окн е я   в се е   вы ра

c

e

. х -

. , з ав и сящ и

й   о т   п ер м ен н о

й   х ,  н оах-

я  poly:

т   н фу к ц и » 

р А   =   p o l y  (А )  ;

» 

p r e t t y  (р А 3 

)  ;



2zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO



х   — i х   — e x  + i x e  — x f h  — a x  + i a x  + a e x —  i a e  +  a f h -  d b x + i d b  — d c h  — g - b f - g c x  +  g c e

В от р м ен о

й   д о п о л н и те л ь н ы й  до л ж е

н   з ав и с ет

й   а р мгу е н ь   а х р к ет р и с ит ч е с к и

т   poly  п о з в о л яе

т   к у а з а ть й   п оли н о

м  м а тр и ц ы

,  о т   к а о .

й   п ер

-

т   бы т ь   н е   то л ь к о   си м воль н ы м и   п ер Э л ем н т ы   си м воль н ы х   м а тр и ц   м о гу м ен н ы м и ,  н о   и   в ы р а ж е н и я м и ,  и   р а ц и о н а л ь н ы м и   ч и слам и .  В   к ач есвт е   п ри м ер а   н а й ид т е   с о б с вт е н н ы е   ч и сл а   м а рт и ц ы   Г и ль б ер т а   п я тн а д ц а то г о   п о р яд к а ,  и сп о ль з у я   сн ач л а   си м воль н о е   п р е сд а т в л е н и е   э л е м н от в   м а тр ^ ды ,  а з а ет м   срав н и т е   и х   с   р е з л у ь ат о м   ч и с л ен н о г о   а л г о р и тм а .  О п р едл и т е   вре м ен ы е  з а тр а т ы   э ит х   с п о с б о в , с ген ер и р о в а в   о чт е т   п р и   п ом ощ и  п р о фа й л е р а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   (с.м  р.азд   "П"ре айл фор авыг л   15). Ф а й л - п р о гр а м вдм у

а   л д я   н о а хж е д н и и  и  з а м ер а  в р ем н

я   сп о с бам

|  Л и с т и н

г   17.1. Наедохжни

е  с обс т ве ны

p r o f i l e  on  - d e t a i l  b u i l t i n AS  =  s y m ( h i l b ( 1 5 ) ) / vs  =   eig( AS) A  =   h i l b( 1 5 ) ; v  =   e ig( A) profile report

я   с о б втен н ы и  п р и в едн

х   ч и се а  в  л и сит н г х  чис е

л  м а т риц

л   м а тр и ц ы   Г и ль б ер т а е   17.1.zyxwvutsrqponmlkjihgfedcb ы  Гилбье рт

а  

I

л ав Г

  17. Си м во льнеы

765zyxwvutsrqpo zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB

 вчиы с ле ни я

м   л и н ей н ы х   а л ге б р а и ч е с к и х   р уа в н е н и й   в   си м воль н о м   ви д е Р еш ен и е   си е т п р о и з в о ди с т я   п р и   п ом щ и   з н ак а   о б р а тн о й   кос й   ч е р ыт .  С юлуед щ и й   п ри м е р   ед м о н с р т и р е у т   н о а хж е д н и е   л и н ей н ы х   баз и сн ы х   н фу к ц и й   тр е г у о л ь н о г о к о н еч н о г о   э л ем н т а   в   в и ед ,  п р и го дн о м   лд я   п о м ещ ен и я   в   с о б вт ен н у ю   п ро гр а м у .  З а д ч а   со ти т   в  п очлуен и и   фо р м у л   лд я  в ы ч и слен и я  тре х  л и н ей н ы х н фу к ц и й   N1 (х ,  у) ,  N2 (х ,  у) ,  N3 ( х ,  у) ,  к аж д я   и з  к о т р ы х   равн а   еид н и ц е  в о нд о й   и з   в ер ш и н   тр е г у о л ь н и к а ,  а   в   вуд х   о с ат л ь н ы х   о б р а щ а е ст я   в   н ол ь (р и с .  17.3).  В ерш и н ы   рт е г у о л ь н и к а   и м ею т   к о р ди н а т ы   (xi,  yi) ,  (х2 ,  у2 ) , (хЗ ,  уЗ ) .  Д о с та о ч н о   з ап и сат ь   общ е е   в ы р аж ен и е   лд я   л и н е й н о й   н фу к ц и и в ду х   п ер м ен н ы х   с  к о э ф и ц и ен атм и  а , ь   и  с , а   з ает м   раз ы ск ат ь   и х   лд я   к а ж од й   н ф у к ц и , р еш а я   с о в т ес ю у щ у ю   с и ем т у   л и н ей н ы х   руа в н е н и й .  Ли с ти н г   17.2  соедр ж и т   фа й л - п р о г а м у   basis  лд я   н оахж едн и я   фо р м лу ,  п о  к о т р ы м   в ы ч и с л яю стя   р т е б му ы е   нф у к ц и .  О б р а ти е   вн и м ан и е ,  ч т о   Symbolic M ath  Toolbox  п о з в о л яе т   с ге н е р и р о в а т ь   в ы р аж ен и я   в   в и ед ,  п р и го дн о м   лд я з а н ес н и я   в   с о б втен н у ю   п р о гр а м у   н а   F ortran  и л и   С .  В   фа й л - п р о гр а м е basis и с п о л ь з о в а н а   н фу к ц и я  ccode, р а з р а б о тч и к а м   п р о гр а м м   н а  F ortran сле е уд т а В О З Ь  ИЛ ОП С ь  f o r t r a n ВМСТ е О  ccode.

N 2(x,y) zyxwvutsrqponmlkjihgfedcbaZ

(х 19  уд zyxwvutsrqponmlkjih

с иР

цинк фу

. 17.3.  Линй е ы

е  бзинас ы

и zyxwvutsrqponmlkjihgfedcbaZYXW

е нцик  у ф

й

syms  a  b  с   х   у %  З а д а н и

е   о бщ ег

о   ви д

N   =   а   +   Ь * х   +   с *у % Ои н е л д е р п

е  со н ь л о в м и

а   ли н ей н о

й   ф ну к ц и

и

; zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA й  мцирта

ы  см е т с и

М  = sym('[1 xl yl; 1 х 2 у 2 ; 1 х З  у З ] ')

ы  уи н е в а р ;

й

766 

Часть

 IV. Использвание

% Ни н е д ж о х а е  N1 г  = sym( '[1; 0; 0] ' ) ;  % па в р v = М\г ;  % ри н е ш % Пк в о н а т с д о а  ви н е ж а р ы й  дл N1 = subs(N, a, v(l)); N1 = subs(Nl, b, v(2)); N1 = subs(Nl, с , v(3)); N1 = simplify(Nl);  % уи н е щ о р п pretty(N1)  % во в ы ccode(Nl)  % ги ц а р е н % Ни н е д ж о х а е  N2 г  = sym( '[0/ 1; 0] ' ) ;  % па в р v = М\г ;  % ри н е ш % Пк в о н а т с д о а  ви н е ж а р ы й  дл N2 = subs(N, a, v(l)); N2 = subs(N2, b, v(2)); N2 = subs(N2, с , v(3)); N2 = simplify(N2);  % уи н е щ о р п pretty(N2)  % во в ы ccode(N2)  % ги ц а р е н % Ни н е д ж о х а е  N3 г  = sym( '[0; 0; 1] ' ) ;  % па в р v = М\г ; % Пк в о н а т с д о а  ви н е ж а р ы й  дл N3 = subs(N, a, v(l)); N3 = subs(N3, b, v(2)); N3 = subs(N3, с , v(3)); N3 = simplify(N3);  % уи н е щ о р п pretty(N3)  % во в ы ccode(N3)  % ги ц а р е н

В   р е з л у ь ат в ы р аж ен и фо р м а т

я  чт с а е  см е т с и

 Toolbox и   решни

ь  см е т с и

ы  уи н е в а р

й  дл

 прикладных

я  N1

ы

в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR  а,  Ъ,  с

я  ко т н е и ц ф э о

е  N1 д  N1 в  ко н д а м о я  С- д о к я  чт с а е  см е т с и

а  дл

ь  см е т с и

е  он к о я  N1 ы  уи н е в а р

й  дл

я  N2

й  дл

я  N3

ы

я  ко т н е и ц ф э о

в  а , Ь , с

е  N2 д  N2 в  ко н д а м о я  С- д о к я  чт с а

а  дл

ь  см е т с и

я  ко т н е и ц ф э о

е  он к о я  N2 ы  уи н е в а р

в  а , Ь , с

е  N3 д  N3 в  ко н д а м о я  С- д о к

е   работ ы   фа й л - п р о г а м я   лд я   р т е х   б а з и с н ы х   н фу к ц и е  С . Н и ж е  п ри в ед н  р ез луь ат

а  дл

е  он к о я  N3zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR

е   окн ы   basis  в   к о м а н дн о й   N I , N2  И  N3 И  И Х  п р есдатв л ен и т   то л ь к о  дл я  п ер в о й  б а з и с н о

о   в ы в о яд с т й  фну к ц и

я е  в :zyxwvutsrqp

- х З   у 2  +  х 2  у З   -   х   у З   +  х   у 2  +  у   х З   -   у   х 2

х З   y l  +   х 2  у З   -   х 2  y l  —  х З   у 2  -   x l  у З   +   x l  у 2 2  +   х2 *у t 0  =   (- Зх *у xl*y3  +   xl *y2 ) ;

З   -   х*у

З   +   х*у

2  +   у*х

З   -   y*x2) / ( x3*yl  +   х2 *у

З   -   x2 *yl  -   хЗ *у

2  -

л ав Г

  17. Си м во льнеы

 вчиы с лени я

С о вт е с ю у щ и с о б вт е н н у

е   с рт о к

и   м ож н у   п р и  п о м щ

ю   п р о гр а м

мС у м и р о в а н и

767zyxwvutsrqp

 

о   л е гк

о   п о м е сит и  бферу

е  и  р а зл оеж ни

Р аз л о ж ен и н фу к ц и

ь   и з   к о м а н дн о г о   окн а  в а  Windows.zyxwvutsrqponmlkjihgfed

а   о б м ен

е  в  яр д

е   м ает и ч е с к и я   t a yio r ,  н а п р и м е р

х   н фу к ц и й   в   р я д   Т ей ло р а   п о з в о л яе т   п р о де л а т ь :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB

»  f = sym( '1/(1 + х ) ќ ) ; »  tf = tayior(f); »  pretty(tf) 2 





5

1 —  x + x —  x + x —  x

П о   му о л ч а н и ю   в ы в о ид с т я   ш ес т ь   ч л ен о в   р яд а   р аз ло ж ен и от ч к и   н оль .  Чи с л о   ч л ен о в   р аз ло ж ен и я   м ож н о   з адт ет л ь н о м   п а р м е рт е   t a yio r .  Т р еит й   п ар м ет р   ку а з ы в а е т м ен ы х   е су л д т   п р о и з в о ди т ь   р аз ло ж ен и е   в   от м   с ч л у а е н фу к ц и я  о п р едл н а   о т  н еск о ль к и х  п ер м ен н ы х :

я   в   о к р е с нт о с т ь   в о   в то р м   до п о л н и ,  п о   к а о й   и з   п ер ,  к о гд а   си м воль н а

и я

syms у g = sym( '1/ (x + У ) ');zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC tg := tayior(g, 7, У ) pretty(tg) 2 У У

1/x 2

и   котро м   а р мгу е н т ,  м огу т   в ы б и р а ьт с :

»  pretty(tayior('е( рх ) х '

У

5

б

У

У

ќ

X

Точка ,  в   о к р еснт о с т в е р от м   в о хн д о ж ен и ю   в   р яд ф ну к ц и , н а п р и м е р

4

3

У 4

3

5 X

X

X

й   п р о в ид с т е   t a yio r .  В  к ач есвт я   в   от м   ч и с л

я   р аз ло ж ен и е е   нф у к ц и й е   и  в срт о ен н ы

7 б X

X

,  куаз ы в аест , п о лдеж ащ и

я   в   ч те х   раз ло е   м а ет и ч е с к и

е

, 4, х , 1/2)) 2

( р х е 1/2

) + е( р х 1/2

)  (х  -  1/2) + 1/2 е( р х 1/2

)  (х  -   1/2)

3 + 1/6 е( р х 1/2

)  (х  -   1/2)

т   п р и л о ж ен и В   с о ат в   Symbolic  M ath  Toolbox  вохид ск и м   и н е т р ф й с о м , п р едн а з н а ч ен н о е  дл я   н агл янд о н и я   в  р я д   р а з л и ч н ы х   фн у к ц и й , в   от м   ч и сл е   и  о п р едл н н ы

е   t a yio r t o o i  с  гр афи ч е й   д е м о н с рт а ц и и   раз ло ж е х   п о л ь з о в а ет л м

.

аЧс т ь

768

К ом ан д н ог

  IV. Ис по льз вани е

  Toolbox и  р еш ени

 пр инхлыакд

zyxwvutsrq

  за ч д

а   t a yio r t o o l  п р и в о ди т   к   п о яв л ен и ю   окн а   п р и ло ж ен и я ,  и з о б р аж ен о  н а  р и с .  17.4.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Feli  EdTtiools  Wni dow Help

-   г  

•  •   |

Taylor Series Approximation

!  1- 0 5-

\ -

zyxwvutsrqponmlkjih

***** \ zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   о -

У   -

|  -5

t 1  s 6 | 4 

- 10 - 4 

-6

- 2 

3

0

5

2

7

= x- 1/2 x+1/24 x - 1/720x f(x) -

x*cos(x) a-  JO - ^l 

Рис

П о л ь з о в а те л с о вт е с и н а  п р о и з в о л ь н о ч и сл о   ч л ен о п рост й  и  н Н а о х ж де н и п о з в о л яе п р е дп о л а г е з ав и с ящ ег м ы .  С му

ь   м ож е т   в о ди т и   с   п рави лам м   и н ет р в а л в   р аз ло ж ен и я е  тр еб у т  до п о л н и етл ь н ы

е   си м в о ль н ы т   о щс у е с в т и т   з адн и о   о т   и н ед к с а а

Reset

Help   |

.  17.4.  П р и л о ж е н и

Colse

е   t a yio r t o o l

ь   фо р м л у ы   раз ли ч н ы и   MATLAB  и   и с леодв ат е   о рт е з к о м  р я д а  Т е й л о р а .  И н етр ф й с   п р и л о ж ен и х  п о яс н ен и й

х   в ы р аж ен и ь   нфу к ц и е  ч еыт ре ,  с а м о г



й   лд я   м с у я   symsum.  О б р а щ ен и х   а р г м у е н от в :  с л а г ем о г о   и н е кд с а   и  в ернх ег

1

а ,  *

х   нфу к ц и й  в   с рт о к е   f(x)=   в ь   п р и б ли ж ен и е   н фу к ц и и , с о едр ж ащ и м   раз ли ч н о е я   t a yio r t o o l  до с та о ч н о . ,  в   то м   ч и сл е   и   б ес к о н еч н ы х е   к   symsum  в   о бщ е о   в  с и м в о л ь н о о   и   н и ж н ег о   п р едл

, м   ви д й  фо р м е а   м ус

е , -

л ав Г

  17. Си м во льнеы

в ы ч и с л яет

 вчиы с лени я

я   пр

769 zyxwvutsrqp

 

и  п о м щ

и  сю луед щ и

х   к ом ан д

:

»  syms  k » 

 Л

s  =   symsuin(  '  (- 1) к / к ^

2  ' ,  к ,  1,  I n f)

s  = A

- l / 1 2 *p i 2

В оз м ожн о   сму и р о в а н и е   с л аг ем ы х ,  з ав и сящ и х   н е  то л ь к о   о т   и н ед к с а ,  н о   и т   ф а к то р и а л , о т   н ек о т р о й   си м воль н о й   п ер м ен н о й . Е сл и  в  с л аг ем ы е   в о х ид т о   е с ул д т   п р и м ен и т ь   к  в ы р аж ен и ю   л д я   ф а к то р и а л а   н фу к ц и ю   sym.  Н а й ди т е з н ач ен и е   б ес к о н еч н о й   мс у ы ,  яв л ю щ ей с я   р аз л о ж ен и е м   н фу к ц и и   sinx  в р я д zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

к=о   И с п о л ь з йу т

е   к о м а н ды



)

:

» 

syms  k  х

» 

s  =   sym su m ( ( - 1 ) Л ( к ) *x

/s

( 2 *к   +   l) / sym (  '  ( 2*к   +   1)  !  ' ) ,  к ,  0,  I n f)

s  = si n ( x) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

ре П д л ы

, zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

диф ер нцировани

е  иинавори г етни е

Р я д   н фу к ц и й   Symbolic  M ath  Toolbox  п р енд аз н ач е н   лд я   р е ш е н и я   з ад ч   ид ф фер н ц и а л ь н о г о   и   и н те г р а л ь н о г о   и с ч и с л ен и я .  Ф ну к ц и я   lim it  н аохди т   п ре е д л   н фу к ц и и   в   н ек о т р о й   то ч к е ,  в к лю ч а я   и  п лю с   и л и   ми н у с   б е с к о н е ч н о с ьт П ер в ы м   в о хн д ы м   а р мг у е н от м   lim it  явлсет я   си м воль н о е   в ы р аж ен и е ,  в от р ы м  —  п ер м ен н ая ,  а   рт еь и м   —  то ч к а ,  в   к о т р о й   р а з ы с к и в а е ст я   п р е дл П с уьт , н а п р и м е р , требсту я   вы ч и сли т ь

. .

(  \ ton  1 +   Д л я   п о чл уе н и п о ль з йу т

я   о тв е е   in f  в  к ач есвт

а   о п р едл и т е   от ч к

и   п р е дл а

е   а   и   х ,  к а к   с и м в о ль н ы е   п ер м ен н ы е ,  и  и с :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG

»  syms а  х »  limit((1  + 1/х) А (х*а) ans = ( рхе а

)

, х , Inf)

770 

аЧс т ь

 IV. Ис по льз вани е

 Toolbox и  р еш ени

т   н а о х ид т Ф ну к ц и я   lim it  п о з в о л яе н и я   п р е дл а   сп рав а   е с ул д т   ку а з т 1  r i gh t ' ,  а  слев а   —  •  lef  t ' .  Н а й ди т

ь   о дн о с т р о н н и ь   ч ев т р ы е  р еш ен и

е   п р едл ы

, ч т о   еслуд

т  в ы п о л н и т

zyxwvutsrqp

 зачд

,  дл

й   д о п о л н и те л ь н ы е  сю луед щ и

lA lim  (lO +  ; t ) ; 

О ч е в и нд о

 пр инхлыакд

я   н о жа х е д й   а р мгу е н х   з ад ч

х   в ду

т

lim flO +  jt) 17 *.

ь   ю с луед щ и

е   к о м а н ды

:zyxwvutsrqponmlkjihgfedcbaZY

»  syms b х »zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   limit((10 + х ) Л (1/х ) , х , 0,  'left') ans = 0 »  limit((10 + х ) Л (1/х ) , x, 0,  'right1) ans = inf

О б р а ти т м ер

е   вн и м ан и е е  н е  сщ у есвту

» 

l i m i t  ( ( 10  +   х )

, ч т о   о б ы ч н ы

й   п р ед

л   в   от ч к

е   н ол

ь   в   п р еы д щ у е

м   п ри

-

: / ч

( 1 / х ) /   х ,  0)

a n s  = NaN

О п р е дл н и е   п р о и з в о дн о й   ч ер з   п р ед л   п о з в о л яе т   п р и м ен ят ь   lim it  лд я ди ф е р н ц и р о в а н и я   нф у к ц и й .  Н а й ди т е   п ер в у ю   п р о и з в о дн у ю   н фу к ц и и arctgzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  х ,  и сп о ль з у я   р а в е н с вт о d  arctg ( х  + h) -   arctg  x —arctg  x=  lim  *  f  ; dx  -л » о   п syms  h  x L  =  lim it ( ( at an ( x  +  h)  -   atan (x))/ h ,  h,  0); pretty(L) 1 2 1  +  x В ы ч и с л ен и нфу к ц и а р гм у е н ет в то р о м

е   п р о и з в о дн ы х   лю бог и   diff.  С и м в о л ь н а я   з ап и с ,  п ер м ен н а я , п о  к о т р о ,  а   п о р я до к   п р о и з в о дн о

о   п о р я дк ь   н фу к ц и й   п р о и з в о ди ст й  —  в   рт еь м

а   п рощ и   к у а з ы в а ест

е   п р о и з в о ди т

ь   пр я   в   п ер в о

и   п ом ощ м   в о х нд о

я   ди ф е р н ц и р о в а н и .  П р и м ен ен и

е  d iff  дл

и м

е  —  в о я   вы чи с -

л ав Г

 17. иС м во льнеы

л ен и л ен т о м

 вчиы с лени я

я   п р о и з в о дн о

771 zyxwvutsrqpon

й   в   п р ые д щ у е :

у   р е з л у ь ат

м   п р и м ер

» 

Р   =   d i f f ( ' a t a n ( x ) ' ,  х , 

» 

pret t y( P )

, р аз му е стя

,  п р и в о ди

т   к  э к в и в а

-

1);

1

1  +   х

Н ап и ш и т ций с а тв л е н и е то ч к и в о ид да н н о

е   фа й л - н фу к ц и

ю   tan gen t  лд я .  Вондх ы м и   а р мг у е н ат м и   tan gen t  м   н фу к ц и и   о нд о й   п ер м ен н о , в  к о т р о й   е с ул д т  п р о в ест и   к а с ет л ь н ю у т   в   о нд о   гр а фи ч е с к о е   окн о  гр а фи к й  то ч к е . К  п р и м ер у ,  в ы з о в

  и с л е од в а н и я   ск ор ст я в л ю ст я   с рт о к а   с   си м в о ль н ы й   х   и   ч и сло в е   з н ач ен и .  Ф ай л- нфу к ц и и   нфу к ц и и  и  к а с етл ь н о

и   рост

а   н фу к м   п р ед

-

е   абсц и с ы я  tan gen t  в ы й   к  н е й  в   з а -

»  tangent ('sin (x) *x""2 ',  2) од л ж е

н   п р и в о ди т

ь   к  гр а ф и к а м

, и з о б р аж ен н ы

м   н а  р и с

.  17.5.zyxwvutsrqponmlkjihgfedcbaZYX

8883811258463879/4503599627370496  - х 693588153221697/225179981368524 8

5.5 5 45 4

у

3.5

>^ \

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML

3

\

VzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE

2.5

'

/

\

1.5 1

1.2 

Рис

1.4 

1.6 

. 17.5.  Г рафи к

1.8 

и   н фу к ц и

2  X

2.2 

и   и   к а с ет л ь н о

2.4 

2.6 

й

2.8 

\ 3

772 

аЧс т ь

м   фа й л - нфу к ц и

л Аг о р и т

  IV. Ис по льз вани е

и   в к л ю ч ает е   си м воль н о

й   н фу к ц и

2.  Н аохж едн и

е   п р о и з в о дн о й

.

е   си м воль н ог я   п р о и з в о дн о й

о   з н ач ен и

и  п о  срт о к

е  п р

о   в ы р аж ен и

и  п о м щ

я   л д я   к а с те л ь н о ы   и   о р ди н а т

,  абсц и с

я   к а с те л ь н а я

 пр инхлыакд

zyxwvuts

 зачд

:

1.  О п р едл н и 3.  Ф о р м и р о в а н и в   н ег п р о в ид с т

 Toolbox и  р еш ени

и   sym.

ы   то ч к и

й   и   п о сд а т н о в к ,  в   к о т р о

и й

.

Дл

я   п о с рт о е н и я   к а с ет л ь н о й   ли н и и   и с п о л ь з йу т е   ezp io t .  О то б р а ж е н и е   гр а а   и с ел м у д о й   н фу к ц и и   ж и рн о й   ли н и е й   вы п олн и т е   п р и   п ом ощ и   p lo t , о   с г е н е р и рй у т е   в е к от р   с о   з н ач ен и ям и   а р мг у е н т а  и л д я   ч е г о   п р е д в а р и те л ь н п о чл у и т е   в е к то р   с о в т ес ю у щ и х   ч и с л ен ы х   з н ач ен и й   си м воль н о й   н уф к ци .  В  к ач есвт е   гр а н и ц   о тр е з к а ,  н а   к о т р о м   в ы в о яд с т я   гр а фи к и   н фу к ц и и  и к а с ет л ь н о й   к  н ей , в ы б ер и т е   то ч к и , о сто ящ и е   н а  еид н и ц у   вп рав о   и  в лев о  о т з адн н ой .  Ф ай л- нфу к ц и я   tan gen t  н е   ртеб у т   в ы о х нд ы х   а р г м у е н то в .  О б р а е  в о з н и к н о ит е с ь   к  ли сит н г у   17.3  з а   до п о л н и тел ь н о й   и н фо р м а ц и е й   в   с чл у а в ен и я  з артнду ен и й   п р и   п р о гр а м и р о в а н и .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP фи к

; zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л ис т ин г   17.3. Ф а йл - иц нку ф я   t a n g e n t 

Izyxwvut

function tangent(funstr, XO) % Ф- л й а и ц к н у ф я  дл я  пи н е о р т с о я  ко н ь л е т а с % к  гк и ф а р у  фи ц к н у и  funstг  в  тк ч о % funstr — ск о р т а  с  сы н ь л о в м и м  ве и н е ж а р ы % Ие и н а в о з ь л о п с %  % Зи н а д

: tangent('е( рх х е  со н ь л о в м и

й е  Х О м  фи ц к н у

и

) ќzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC , 0) й  фи ц к н у

и

syms х f = sym(funstr); % Ви н е л с и ч ы е  фи ц к н у и  в  тк ч о Y0 = subs(f,  'х 1, ХО ) % Ои н е л д е р п е  ил а в р е т н а  дл % фи ц к н у и  и  ко н ь л е т а с й А  = Х О  -  1; В  = Х О  + 1; % Во в ы

д  гк и ф а р

а  фи ц к н у

и  жо н р и

% Ги ц а р е н я  вр о т к е а  зи н е ч а н X =  [А:( В  -  А)/100:В] ; % Пк в о н а т с д о а  вр о т к е а  в  со н ь л о в м и % и  ои н а в о з а р б е  вр о т к е а  зи н е ч а н

е  Х О я  пи н е о р т с о

я  го к и ф а р

й  ле и н

в

й

й  ат н е м у г р

а е  пи н е л в а т с д е р й  фи ц к н у и

е  фи ц к н у

и

л ав Г

 17. иС м во льнеы

 чвиы с лени я

 

773 zyxwvutsrq

F = subs(f,  'х 1, X ) ; % Вовы

д  гк и ф а р

а  и  ук в о н а т с

а  тн и щ л о

ы  ли н

и

Hline = plot(X, F ) ; 1

set(Hline,  'LineWidth , 2) % Ни н е д ж о х а

е  сг о н ь л о в м и

о  ви н е ж а р ы

я  дл

я  по в р е

й  по н д о в з и о р

й

k = diff(f, x, 1); % Ви н е л с и ч ы

е  кт н е и ц ф э о

а  ко н ь л е т а с 1

К  = subs(к ,  'х , ХО

)

% Со н ь л о в м и

е  уи н е в а р

е  зи н а д

yt = sym( 'yO + к*( х  -  хО % Пк в о н а т с д о

а  ка т н е и ц ф э о

% в  уи н е в а р

е  ко н ь л е т а с

й я  ко н ь л е т а с

й

) ' ) ; , ас и ц с б

ы  и  от а н и д р

ы

й

yt = subs(yt,  'к' , К) ; yt = subs(yt,  'xO\ ХО)

;

1

yt = subs(yt,  'yO , YO); % Во в ы

д  гк и ф а р

% ги ф а р

а  ко н ь л е т а с

к  фи ц к н у

й  н а  т е  ж е  ои с

, гд

е  нс т и д о х а

я

и

hold on ezplot(yt,  [А  В] ) % Тк ч о

а  ки н а с

я  ос т е а ч е м т

я  м- м о р е к р а о к ж у р к

м

plotfXO, YO, 'о' ) grid on hold offzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

С и м воль н о е   и н ет г р и р о в а н и е   я в л ес т я   з н а ч и ет л ь н о   бо ле е   слож н о й   з ад ч ей , ч е м   ди ф е р н ц и р о в а н и е . Symbolic  M ath  Toolbox  п о з в о л яе т   р а б о та ь   ка к   с н е о п р е дл н н ы м и   и н те г р а л м и ,  ат к   и   с   о п р едл н н ы м и .  Н ео п р едл н н ы е и н ет г р а л ы   о т   си м в о ль н ы х   н фу к ц и й  в ы ч и сляю ст я   п р и  п о м щ и   in t , в   к ач ест в е  вонхд ы х   а р мг у е н о т в   к у а з ы в а ю ст я   си м воль н а я   н фу к ц и я  и  п ер м ен н ая , п о котро й  п р о и сохид т   и н те г р и р о в а н и е , н а п р и м е р : >>  sym s  х » 

f  =   sym (  ' x ^ 3 * e x p ( x )  ' ) ;

» 

I  =   i n t ( f , 

x)

I  = х

Л

» 

3 *е хр ( х

)  -   3 *x ^ 2 *e x p ( x )  +   6 *x *e x p ( x )  -   6 *e x p ( x )

pretty(I ) 3  x 

2 e x p ( x )  —  3  x 

e x p ( x )  +   б   x  e x p ( x )  —  6  e x p ( x )

774 

аЧс т ь

П р о и з в е ди т » 

е  п р о в ер к у

 IV. Ис по льз вани е

 Toolbox и  р еш ени

, п р о ди ф ер н ц и р о в а

в  п очлуен у

 пр инхлыакд

zyxwvut

  за ч д

ю   п е р в о б р а з н юу

:

d i f f ( I ,  х ,  1)

a n s  = А

х 3*е х р ( х

Р а з м у е с тя котры ц и аль н ы

)

,  нфу к ц и х   с ч л уа я е  фну к ц и

я   in t  н е  всегд а   м ож е х   in t  в о з в р а щ а е т   в ы р аж ен и , н а п р и м е р , п о лчуи т

О п р е дл и т

е   п о ды н ет г р а л ь н у

т   вы п олн и т

ь   и н те г р и р о в а н и е е   лд

я   п ер в о бр аз н о е  и н те гр а л

е   з н ач ен и

ю   н фу к ц и

ю  и  в ы з о в и т

й   ч ер

. В  н е з   сп е -

а

е   in t :zyxwvutsrqponmlkjihgfedc

»  syms x »  f = sym('exp(sin(x)A2)*cos(x)'); »  I = int(f, x); » pretty(I)

1/2 — 1/2 i pi  erf(i sin(x)), О вт е и н ет г р а л о

т   с о ед р ж и

т   ат к   н а з ы в а е м у м   с  п ер м ен ы

К ром е   то г о ,  в   п о лчуен н о п о д ы н те г р а л ь н а я   н фу к ц и раз ован и я   лд я   о д с и т ж е н и sim plify  н е  см о гу т   п у р о с ит Д л я   н оа х ж е д н и да т ь   н и ж н и и  ч евт ро

ю   н фу к ц и м   п р едл о м

м  в енрх и

я   о п р едл н н о г й  и  венрх и м   а р мг у е н а т

е   в ы р аж ен и я  в ещ есвт н н а я   о к о н ч а те л ь н о г ь   да н н о й   п р е дл х   in t :

ю   ош и бки :

е   в о х ид .  Т р ебюу ст

,  к о т р а

т   к о м п л ек с н а

я   е ди н и ц а ,  нфу к ц и

е  в ы р а ж ен и е

. а   в   си м воль н о

м   ви д

е   е с лу д

, с о вт ес вт ен н о

»  syms  x  a  b Л

» 

f  =   sym (  '  ( х

» 

I  =   i n t ( f ,  x ,  a , 

» 

pretty(I ) 3 

3  +   1 ) / ( x  -   1)  ' ) ;



b);



я

,  о хт я е   п р ео б и   simple  и

я   д о п о л н и те л ь н ы о   р е з л у ь ат

о   и н ет г р а л ы   и н те г р и р о в а н и я

я   о п р е дл я ст

2

1/ 3  b  +   1/ 2  b  +  b  +   2  l o g( b  -   1)  -   1/ 3  a  -   1/ 2  a  -   a  -   2  lo g  (a  -   1)

, в   ртеь

т   за м

л ав Г

 17. Си м во льнеы

Двой н ы Н а й д и те

 чвиы с лени я

е   и н ет г р а л , н а п р и м е р

775zyxwvutsrqpon

 

ы   в ы ч и с л я ю ст , и н етгр а

я   п овтрн ы м   п р и м ен ен и е м   нфу к ц и и   in t . л zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

db [jysinx  dxdy.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON с  a

О п р едл и т е   си м воль н ы ц и ю   f  о т  х  и  у  и  п р о и н етгр и рйу т

е  п ер м ен н ы е   сн ач л

е  а , ь ,  с , d, x,  у ,  п о ды н етгр а л ь н у ю   н уф к а  п о  х , а  з ает м   п о  у :zyxwvutsrqponmlkjihgfedcb

»  syms a b с  d х  у >> f = sym( 'y*sin(x) ' ) ; »  Ix = int(f, x, a, b) Ix = - y*cos(b) + y*cos(a) »  Iy = int(Ix, у , c, d) Iy = 1/2*(- cos(b)  + cos(a))*(dA2 -  c A 2) »  pretty(Iy) 2 

2

1/2  (- cos(b) + cos(a))  (d  -  с  )

н А а л о ги ч н ы те г р а л ы

м   образ о м   в  с и м в о л ь н о м   в и д е  в ы ч и сляю ст я  л ю б ы е   к р а тн ы .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Р е ш ни л гА е б р а и ч е с к и то ч н о з л у ь ат к о м а н дн о

е  ура вне и ,  нфу к ц и т   р еш ен и м  о к н

й  и  с ис т е

е  и н

м

е   р уа в н е н и я   д о   ч е вт р от г о   п о р я дк я   solve  в ы в о ди т   о вт е т   в   епс т н я я   р уа в н е н и я   рт е ь г о   п о р я дк а е  с  и с п о л ь з о в а н и е м  п о дс та н о в к

а   в к л ю ч и ет л ь н х   рац и он аль н ы ,  к   п р и м ер у :

о   р е ш а ю ст х   ч и с ел

я .  Р е я  в

,  о т б р а ж е тс

»  syms х »  f = sym('x^3 -  х

Л

2  -  5*х  + 1');

»  г  = solve(f, x ) ; »  pretty(r) [ 

-

1/3 %2 + 16/3 %1 +1/3 

]  .

[  ] [  1/2  ] [-  1/6 %2 -  8/3 %1 + 1/3 + 1/2 i 3  (1/3 %2 -  16/3 %1)]

776 

аЧс т ь

  IV. Ис по льз вани е

 Toolbox и  р еш ени

 пр инхлыакд

 зачд

zyxwvut

[zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   1/2  ] [-  1/6 %2 -  8/3 %1 + 1/3 -  1/2 i 3 

(1/3 %2 -  16/3 %1)]

1/2 1/3 (10 н н  б

i 111 

)

1/2 1/3zyxwvutsrqponmlkjihgfedcbaZYXW (10 - н  б

К орн корн н фу к ц и

я   з а п и с ы в а ю ст и   руа в н е н и и   н а й ед н ы  в е р н о , в ы ч и с л и т ю  si p l i f у  дл я  п р е о б р а з о в а н и

я   в   си м в о ль н ы е   з н ач ен и я   р е з л у ь ат

i 111 

)

й   м ас и е  f  о т   п ер в о г :

в   г .  П р о в е р ь те о   корн я .  И с п о л ь з йу т

,  ч т о е

»  simplify (subs (f,  'х 1, r(l))) ans = 0

Д о п с у ит м ч аст боч е ч е вт р о

о   и сп о ль з о в ан и и   ру а в н е н и я й   с р ед

е   си м в о ль н ы я   solve  п о з в о л яет ы   л д я   н о а жх е д н и и  о б щ ег о   в и да .

х   п ер м н ы

.  Ф ну к ц и ы   фо р м л у й   с е пт н

я   корн е

х   в   в ы р аж ен и ,  н а п р и м е р й   а л ге б р а и ч е с к о г

, в ы в ест

и   лд я   л е в о й и   в   окн о   ра о   р уа в н е н и я

»  syms х Л

»  f = sym('a*x^4 + Ь*х

Л

3 + с*х

2 + d*x + с 1 ) ;

»  pretty(solve(f, x))

Р е з л уь а т п о д с та н о в к л Аг е б р а и ч е с к и ка к   п рави ло п р и б л и ж ен н ы

т   з ан и м ае

т   д о с та о ч н

о   м н ог

, и  в  к н и г

е  н е  п р и в о ди ст я

е   р уа в н е н и ,  н е   м о гу е  з н а ч ен и

т   бы т я  к о р н е й

о   м е са т

,  н ес м о рт

я   н а   и сп о ль з о в ан и

е

.

я  вы сш и

х   п о р я дк о ь   р аз р еш ен

ы   то ч н о

в  и  тр а н с ц ен ден нт ы .  В   э от

м   с чл у а

е  ура в н ен и я е   в ы в о яд с т

, я

.

Р еш ен и е   с и е мт ы   н ел и н ей н ы х   р уа в н е н и й   ат к ж е   solve.  В охнд ы м и   а р мг у е н а т м и   solve  яв л ю ст я  в  да н н о р уа в н е н и й   и   п ер м ен н ы е ,  п о   к о т р ы м   р т е бс у я   п р и м ер , дл я   си емт ы   и з  дву х   р уа в н е н и й   с  п р а в ы м и И ЯЩ С ЗаВИ Х ед л н ы  Ы ЬН В ВОЛ М СИ Х Я И Ц К  фуН Х  f 1 И  f2,  в ы г л я ди т   та к : s  =  solve ( fl,  f2,  xl,  x2).  Р ез луь ато s  с  п о л ям и  xl  и  х2 ,  к аж од е   и з  к о т р ы х   с о ед р ж и т   си м воль н о р еш ен и я  (р а б о т е  с о  сртку а м и   да н н ы х   п освящ ен / >> syms xl x2 »  fl = sym('xl*(2 -  х2 ) -  cos(xl)*exp(x2)'); »  f2 = sym( '2 + xl -  x2 -  cos(xl) -  exp(x2) ќ ) ; »  s = solve (fl, f2, xl, x2) ;

В ы в иед т м ан и е

е   в  о к н , ч т о  п о л

о  р а б о ч е я  сркту

й   с р ед ы   с о ед р ж а

ы   з н а ч ен и

я  п о ле т   си м воль н ы

й   с рк т у е  в е к то р ы

ы   s,  о б р а ти т :

е  в н и

-

»  s.xl ans = [  .73908513321516064165531208767387] [  .67179203946718009639325125311984  -   1.3390702694949181314704735832283*i]

778 

аЧс т ь

  IV. Ис по льз вани е

 Toolbox и  р еш ени

 пр инхлыакд

zyxwvuts

 зачд

»zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   s. x2 a n s  =

- lam bertw(exp(2) )+ 2]zyxwvutsr



[ log(.67179203946718009639325125311984  -   1.3390702694949181314704735832283*i)]

Ф ну кц и к о м п л ек с н ы ч ре

я   solve  н а ш л а   вд е   п а р ы   р е ш е н и й : в ещ есвт н н ы е  s. xl  (.2),  s.x2  (2).  П ер в а я   к о м п о н ен т з   н фу к ц и ю   Ла м б е р т а   w = L(x),  к о т р а я   о п р едл н w

р еш ен и я   х   тр а н с ц е н д е н тн о г о   р уа в н е н и г о   в  урав н ен и е .  В ещ есвтн о е   р еш ен и ав ег л  16  п р и   п о м о щ и   f solve.  К р о м н ы е  к о р н и , р е ш а я   с и ме т у   н ел и н ей н ы И н ет р ф й н ы х   в   к а ч е с вт о б р ащ ен и » 

с   нфу к ц и

и   solve  од п сук ае е   в ы о нх д ы х   а р г м у е н от в е  к  solve  в  п рыед щ у е

[ x l ,  х 2 ]  =   s o l v e ( f l , 

я   we   = x  о е  с о в п аде т  с е   то г о ,  нфу к ц и х  урав н ен и й  в т   и сп о ль з о в ан и ,  в м ест м   п р и м ер е  и м е

f 2 ,  x l , 

»  [ x l ,  х 2 ]  =   s o l v e ( ' x l * ( 2  c o s ( x l )  +   е х р ( х 2 ) ' )

-   х 2 ) 

Р е ш ни

е  дрефе ицна лфыь

и  с ис т е

у   вы ш е

т   п а р м е тр а   w,  оявщдх е  р еш ен и ем , п очлуен ы я   solve  н а ш л а   к о м п л ек с  с и м в о л ь н о м   в и ед .

м  в -

х   п ер м н

-

.  Э к в и в а л ен нт о

е

:

x2) ;

й   си м в о ль н ы м и   нфу к ц и я м и   solve  м о гу т   бы т ,  п ри ч е м   н е   о б я з а ет л ь н е  п ер м ен н ы е   м ожн

о   п р и в е дн н о м

е   s. xi  ( l) ,  s.x2  (1)  и а   s.x2  в ы р аж ен а а   к а к   з ав и си м о ст ь

е   си м воль н ы о   с рт к у ы т   ви д

З адн и е   л ев ы х   ч а се т й   р уа в н е н и з а те л ь н ы м .  Вонхд ы м и   а р мг у е н а т м м и ,  з а к л ю ч ен н ы е   в   а п о с тр о ф ы ю  ч а сьт .  Н ез а в и с и м ы га е м ы е   в  лев у н ап р и м ер ,  о б р а щ е н и е

а н а л о ги ч н

а   в е к то р

=   c o s  ( x l )  *е х

и   н е   я в л ес т я   обя ь   с рт о к и   с   р уа в н е н и я о   п ер н о с и т ь   в с е   сла о  та к   ж е  н е   ку а з ы в а ть р   ( х 2 )  '  , 

' 2  +   x l 

,

-   х 2  =

.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG

х  руа вне и

й

м

Symbolic  M ath  Toolbox  п о з в о л яе т   раз ы ск ат ь   р еш ен и е   ид ф е р н ц и а л ь н ы р уа в н е н и й   и  си ест м   в  а н а л и т ч ес к о м   в и ед .  В о з м о ж н о   н ао х ж е д н и е   к а к   общ е г о   р еш ен и я , з ав и с ящ ег о   о т   к о н с та н т , та к   и  р еш ен и я , удов л евт о р яю щ ег о   по с ат в л е н н ы м   гр а н и ч н ы м   с ул о в и я м .  Р еш ен и е  ди ф ер н ц и а л ь н ы х   руа в н е н и й си е т м   п р о и з в о ди с т я   п р и   п ом ощ и   н фу к ц и и   dsoive,  вохнд ы м и   а р г м у е н ат м котро й   я в л ю ст я   с рт о к и   с  урав н ен и ем ,  гр а н и ч н ы м и   сул о в и я м и ,  п р и   и х   н а ли ч и ,  и   н ез ав и с и м о й   п ер м ен н о й .  Е сл и   н ез ав и с и м а я   п ер м ен н а я   н е   к уа з н а ,  т о   п о   му о л ч а н и ю   и с п о л ь з ес т у я   t .  П р о и з в о дн ы е   в   с рт о к а х   з а д ю ст я   та к Dy, D2y,...  Г р а н и ч н ы е   с лу о в и я   м о гу т  с о едр ж ат ь   п р о и з в о дн ы е   о т   н е и з в е с нт о фн у к ц и .  В   к а ч есвт е   п р и м ер а   н а й ид т е   ан али т ч ес к о е   р еш ен и е   р уа в н е н и

х  и и : й я

л ав Г

 17. иС м во льнеы

Р и к ат л е вт о р я ю щ е

и   (дл

О то б р а з и т б л и ж ен н ы (и с п о л ь з о в а н и и н ей "

 гавы л

Вы зо образ ом » 

 вчиы с лени я

779 zyxwvutsrqpon

 

я   н ек о т р о г е  гр а н и ч н о м

о   ч а с тн о г у   с лу о в и

о   чс л ау

е   п о лч у е н н о м   р еш ен и ем е   с о л в ер о  6).

е   р еш ен и ,  п очлуен н ы в   о п и сан

я   з н ач ен и

, уодв

-

е   н а   о рт е з к

е   [0.5, 7]  и   с р ав н и т е   ег о   с   п р и м   п р и   п ом ощ и   с о л в ер а   ode4 5 о   в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH  р.азд   "Ринеш х ьын цеиалр  дфе иф   а ву р -

и   dsoive  в   р а с м а рт и в а ем о

в   н фу к ц и

й   к о э ф и ц и е н от в )

ю

м   п р и м ер

е   в ы г л я ид

т   ю с луед щ и

м

: л

у   =   d s o i v e ( ' D y  +   у

В ы в ие д т

е   в  к о м а н дн о

2  =   х

е  о к н

А

( - 2 ) ' , 

о  п о лчуен н о

' у ( 0 . 5 )  =   - 1 ' , 

е  р еш ен и е

'х') ;

, и сп о ль з у

я   p r e t t y:zyxwvutsrqponmlkji

»  pretty(у ) 1/2 1/2  1 - 5 

1/2  tanh(-  1/2 5 

5 -

1

log(x) + 1/2 log( 

))

1/2 5 

+1

1/2 . 

Т еп р ци

ь   р еш и т

е   р уа в н е н и

е   Р и к ат

ю   rikkat y  (ли ст н 2

x

и   ч и с л ен н о

г   17.4),  в ы ч и сляю щ у

,  с о з адй т

ю   п р ав у

ю   ч аст

е   фа й л - н фу к ь   р уа в н е н и

я   у'=

2

= - у   +  х~ ,  и  з а д й т е   е е   и м я   в   к а ч е с вт е   в о х дн о г о   а р мг у е н т а   с о л в ер а   ode45 в м ес т е   с  о рт ез к о м  и  гр а н и ч н ы м   с ул о в и е м : 1 »  [X,  Y]  =  ode45('rikkaty ,  [0.5  7],  - 1) ;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO ,  вичсыалщюя

йл - ияц кн фу

я  пра ву

ю  час т

ь  рауенв и

я

f u n c t i o n  F  =   r i k k a t y  ( x,  у ) F  =   [ 1 / х

л

2  -  

О то б р а з и т

у(1Г 2]

е   п о лч у е н н ы

е  п р и б л и ж ен н о

»  ezplot(y) »  hold  on » 

p l o t ( X ,  Y, 

» 

g r i d  o n

;



1

)

е  и  то ч н о

е  р еш ен и

я  н а  онд и

х   о с ях

:

аЧс т ь

780

П р о в ер к р еш ен и й

  IV. Ис по льз вани е

 Toolbox и  р еш ени

 пр инхлыакд

а   (р и с .  17.6)  п о к а з ы в а е т   с о в п а едн и е   ан али т ч ес к о г о   и   ч и с л ен н о г .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

1/ 2

1/2 (1- 5  tanh(- 1/2 5

1/ 2

1/ 2

о

1/ 2

  log(x)+1/2 log(9+4 5 )- 1/ 2 log(2) 5 ))/ х

Г " 

0.4

zyxwvut

 зачд

I _  ^~ 1 _г >  Л Л

I

zyxwvutsrqponmlkjihgf

I

.

У / 1 А

0 - 0 2

1

- 0.4

- 0.8

г

г ' 5 1 1 2 

- 1 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA С

.  17.6.  Тчно

с Ри

ш не р и П ои с к   ан али т ч еск о г рт е б у т   ку а з а н и р ен ц и аль н ы с  гр а н и ч н ы м и з  дву х  ди ф ер н ц и а л ь н ы

В   да н н о му о л ч а н и руа в н е н и н ы х   а р гм у е н а т

3  4  5 6 е  и  пниелжрб о е  унваери

е я  Ртаик

и

о   р еш ен и я   в о   в о хн д ы е   руа в н е н и и   с ул о в и я м

я   с и емт ы   ид ф е р н ц и а л ь н ы х   а р мг у е н ат х   dsoive  с тр о к ,  с о едр ж ащ и я   с  те м   ж е   о б з н а ч ен и е м   D ДЛ Я  п р о и з в о дн ы х и   п р и   и х   н али ч и .  Н а й ди т е   общ е е   р еш ен и х   р уа в н е н и й   п ер в о г о   п о р я дк а

е  dsoive  м о ж н о   в ы з в ат м   с ч л уа ю   с ч и ат е с я ,  ч т о   н ез ав и с и м о я   яв н о   в о х ди л а   п ер м ен н а х   ат к   ж е , к а к   и  в   п рыед щ у е

zyxwvutsrqponmlkjihgfe

ь   с  дмву я   в о х нд ы м й   п ер м ен н о я   х ,  т о   е е   с леод в ал м   п р и м ер )

х   р уа в н е н и х   ид фе ,  и   срто е   с и ем т

й к ы

и   а р г м у е н та м и ,  п о й   я в л ес т я   t  (есл и   б ы   в о   б ы   ку а з а т ь   в о   ов дх .  И с п о л ь з йу т е   в   к ач е -

л ав Г

 17. Си м во льнеы

 чвиы с лени я

в с т е   в ы о х дн о г н е т  с и м в о л ь н о

781 zyxwvutsrqpon

 

о   а р гм у е н т й  п ер м ен н о й

а   в е к от

р   з н ач ен и й

, к аж ыд

й   э л ем н

т   котрог

о   а ст

-

:

»  [f*  g]  =  dsoive('D f  =  exp(- g)',  'Dg  =   exp ( - f) ') ; В ы в еи д т е   п о лч у е н н о е  р еш ен и е  в  к о м а н дн о е  о к н о :zyxwvutsrqponmlkjihgfedcbaZYXWVU » pretty(f) exp(t Cl + C2 Cl) -  1 log(  ) Cl » pretty(g) exp(t Cl + C2 Cl) Cl - log(  ) exp(t Cl + C2 Cl) -  1 П р о и з в е ди т фер н ц и а л ь н ы

е   п р о в ер к у

,  п о сдатв и е  урав н ен и

я  си сетм ы

в   н а й ед н н ы :

е   си м воль н ы

е   н фу к ц и

и  в   ид ф

-

»  syms t »  ul = diff(f, t) -  exp(- g) ul = 0 »  u2 = diff(g, t) -  exp(- f) u2 = - (С1 Л 2*ехри*С

1 + C2*Cl)/(exp(t*Cl + C2*C1) -  1) -

exp(t*Cl + C2*CiP2/(exp(t*Cl  + C2*C1) x

l) 2*Cl"2)/exp(t*Cl  + C2*Cl)*(exp(t*Cl  +  C2*C1)  -   1)/C1  - l/(exp(t*Cl  + C2*C1) -  1)*C1 »  simplify(u2) ans = 0

н А ал и т ч ес к о

е   р еш ен и

е  н ай едн

вт о р я ю щ е

е  гр а н и ч н ы

о б р а ит ь с

я  к  dsoive  с о  сюлуед щ и м

м  усло в и я

о  в е р н о

. Н а й ди т

е  р еш ен и

/

м   / ( 5 ) =  1,  # '(5) =  3.  О ч е в и дн о и   а р г м у е н ат м и

е  си сетм ы

,  овдлеу , ч т о   есулд

:

»  [f,  g]  =  dsolve('D f  =  exp(- g)• ,  'Dg  =  exp ( - f) ',  'Df(5)  =  I 1 , • Dg(5)  =   3' ) ;

т

-

782 

аЧс т ь

а   з ап и с е  в  онд

ь  урав н ен и у   с рт о к у

 IV. Ис по льз вани е

й  в   нод

 Toolbox и  р еш ени

у   р с от к

у   ч ре

з   з а п яу т

 пр инхлыакд

ю   и  гр а н и ч н ы

zyxwvu

 зачд

Д о п с и ту м ви й

,  атк ж

х   сло у

-

» 

[f,  g]  =  dsolveCD f  =  exp(- g),  Dg  =  exp ( - f) 1 ,  'D f(5)  =  1,  Dg(5)  =   3 1 ) ;

:

Д и ф ер н ц и аль н ы е   р уа в н е н и я   в ы сш и х   п о р я дк о в   р е ш а ю ст я   а н а л о ги ч н о Р а с м о рт и м   о ди н   п р и м ер ,  едм о н с рт и рюу щ и й   и сп оль з ован и е   н фу к ц и M aple.  Т р еб уст я   н ай т и   ан ал и т ч ес к о е   р еш ен и е   ди ф е р н ц и а л ь н о г о   р аув н ен и я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

. й -

l Н 2 )'dx zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE  dx О б р ащ ен и ви си м о Ле ж а н др

е   к  d so ive  с  двму й   п ерем ен н ой — п р и в о ди а   и  фну к ц и ю  Ле ж а н др

я   в о х нд ы м

и   а р мг у е н а т м т   к  р е ш е н и ю а   в то р о г о   р о да

и   —  руа в н ен и е м   и  н ез а , в ы р а ж ен н о м у   ч ер з   п о ли н о м :zyxwvutsrqponmlkjihgfedcbaZYXWVUTS

A = 0',  'x') »  у  = dsolve('(l -  x 2)*D2y -  2*x*Dy + n*(n -  1)*y 

У  = Cl*LegendreP(n -  1, x) + C2*LegendreQ(n -  1,  x) П о п ы тк а  Т УЧИ Л ОП Ь   свед н и я   M AT L AB  О  ф ун к ц и я х   Legen dreP  И   LegandreQ пр и   п омощ и   в с тр о е н н о й   сп равк и   п р и в о ди т   к   сообщ ен и ю   о б   о т с ут с т в и и   од н ои м ен н ы х   М - фай лов .  Ф у н к ц и и   Sym bolic  M a t h  T o o lbo x  н а  с а м о м   де л е  р е а л и з ую т   и н те р ф е й с   м еж д у   с р е до й   M AT L AB  и   б и б л и о т е к о й   осн овн ы х   ф ун к ц и й   M aple.  Ф у н к ц и и   Legen dreP  И  LegandreQ  He оп р е д е л е н ы   В  M AT L AB.  Д л я д о с т уп а   к   и н форм ац и и   о   ф ун к ц и я х   M ap le  п р е д н а з н а ч е н а   коман д а   m h elp, и сп ольз ован и е   к о то р о й   с хо ж е   с  к о м а н д о й   h e lp ,  н а п р и м е р ,  у к а з а н и е   в   каче с тв е   п а р а м е т р а   и м ен и   ф ун к ц и и »  mhelp  LegendreP И Д О ВЫ В тнаир

Т  О п р е д л е н и ы в о  зыв

е   ф ун к ц и а  ио н б о   рдоп

и   Legen dreP  (и  С в я з а н н о е   описани е  см а р е м и  рп

й   С  не и   использования

й  Legen dreQ), Ba:

LegendreP, LegendreQ — The Legendre functions and  associated Legendre functions of the first and second  kinds Calling Sequence: LegendreP(v, x) LegendreQ(v, x) LegendreP(v, u, x) LegendreQ(v, u, x)

л а Гв

 17. им еоылвьнС

 вис члые иян

Д л я   п о ч л уе н и я   сп и ск а   с п ец и а л ь н ы п су т н ы х   и з   M ATLAB,  жслиу п о з в о л яе т   в ы ч и сли т ь   з н ач ен и

 

т   к ом ан д е  фн у кц и

783 zyxwvutsrqpo

х   м ает и ч е с к и х   н фу к ц и й   Maple  од а   m fun list.  Ф ну к ц и я   M ATLAB  mfun й  Maple, к  п р и м ер у zyxwvutsrqponmlkjihgfedcba

f

»  mfun('LegendreP , 5, 0.7) ans = - 0.3652 В ы ш ео п и с ан н о е   о б р ащ ен и е   я в л се т я   о нд о й   и з   в о з м о ж н о с ет й ,  п р еод сатв л яем ы х   Symbolic  M ath  Toolbox  п о л ь з о в а те л ю ,  к о т р ы й   ж ел а т   и сп оль з о в а т ь   р ес у ы   в ы ч и с л и ет л ь н о г о   я др а   Maple  п р и   р а б о т е   в   M ATLAB  с   си м воль н ы м и   в ы р аж ен и ям и .  Е сл и   в ы   и м ет е   оп ы т   работ ы   в   M aple,  т о щ с у ве с т н у ю   п о ль з у   п р и н ес т   Extended  Symbolic  M ath  Toolbox.  Д а н н о е р ас ш и р ен и е   осн овн ог о   Symbolic  M ath  Toolbox  п о з в о л яе т   о п ер и р о в ат ь   ка к с о   в с ем и   нфу к ц и я м и   Maple  (и ск лю ч а я   гр а фи ч е с к и е ) ,  ат к   и   с о з да в т ь   и   вы п о л н ят ь   п р и ло ж ен и я , н а п и с а н н ы е  н а   яз ы к е  п р о гр а м и р о в а н и я ,  в с рт о ен н о м в   Maple.

лав Г

а  1 8

т ао б Р

а  с о  слапмнй и в  Spline ToolboxzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH

О бласт ь   п р и м ен ен и я   сп лай н о в   в ес ь м а   ш и рока :  о н и   и сп о ль з юу ст я   п р и   ап п ро к си м ац и и   о дн о м е р н ы х   и   м н о г м ер н ы х   ад н н ы х   и   фн у к ц и й ,  в о   м н о ги х рд г и у х   в ы ч и с л и ет л ь н ы х   з адч ах ,  а  так ж е   в  двму ер н о й   и  тр емх р н о й   гр а фи к е .  С р есдвт а   Spline  Toolbox  п о з в о л яю т   к о н с тр и у р о в а т ь   о дн о м е р н ы е   и  м н о го м е р н ы е   сп лай н ы   (к а к   и н те р п о л яц и о н н ы е , та к   и   с гл а ж и в а ю щ и е) ,  одвлуе тв о р я ю щ и е   раз ли ч н ы м   с лу о в и я м   г л а д к о с ти ,  и   п р и м ен ят ь   и х   лд я   р е ш е н и я раз н о браз н ы х   з адч .  Вояхдщ и е   в   с о ат в   Toolbox  п р и л о ж ен и я   с   гр а фи ч е с к и м   и н е тр ф й с о м   ж с л ау т  дл я   п очлуен и я   н а г л я дн о г о   п р е сд а т в л е н и я   о  п ове е дн и и  с п л а й н о в  и  э к с п ер и м ен от в  с  н и м и .

л п а С йн

ы  и  форм

ы  и х  престд алв е ин

я

Р а с м о рт и м   сн ач л а   з а дч у   п р и б л и ж ен и я   та б л и ч н о й   н фу к ц и и   о дн о й   п ер м ен о й   с  п о м о щ ь ю   сп лай н о в . Н а п о м н и м  о с н о в н ы е  о п р едл н и я   и  те р м и н ы . Д л я   р еш ен и я   з адч и   од л ж н ы   бы т ь   з адн ы   в д е   п о с л е д о в а ет л ь н о с ит :  от ч к и zyxwvutsrq ) и  з н ач ен и я  а п р о к с и м и реум о й   н фу к ц и и  в  эит х   то ч к а х х х ,  х 2,  ...,  xN   (скета я   нф у к ц и я ) .  С ект а   с ч и а т ес я   п у о р я до ч е н н о й ,  т . е . \У ,   г > У  • •> У •  и   (сеотч н а x   >  s = csapi(х ,  у ) s = form:  'pp' breaks:  [lxll  double] coefs:  [10x4  double] pieces:  10 order:  4 dim:  1

Ф ну к ц и я   сп лай н  треьт "оствуи н ер аз р ы в н о с т в ан и е   н еп р е ы в н о с т ет ,  ч т о   н а п оли н о м   нА а л о ги ч н а з ом , в м ест н фу к ц и и   р е му о й   нф у к ц и ж ащ а я   о п и сан и р у та м и   о п и сан П р и   работ о б я з а ет л ь н ы м в о х нд о г сп лай н а р яд а  дгриу 26  З ак

csapi  к о н сртиу е й   еп с т н я   зу ла "  и л и   рт е ь

т   кб и у ч е с к и

и   (ч евт ро г и   "з а п р ет а   с ыт к а й   п р о и з в о дн о и   рт е ь й   п р о и з в о дн о   и Х   ч у а скт х   [^, ^ 2 ]   [ Р\ (х)   и  п р и   эот м   в ы п о л н яю ст я   с и а цу т и я   н а   ч у а скт о   N- 1  п о л и н о м а   м ы  бе д у csapi  яв л ю ст я   м ас и в .  В   в ы охнд о м   а р мг у е н т е  ксоуч н о- п оли н ом и аль н о а  в  р.азд   "Петыс о р

е   в   Spline  Toolbox  м уен и .  П о лчуен н у ю   р кс у т о   а р гм у е н т а   р дг и у х   н фу к ц и , в ы ч и слен и я   ег о   з н а ч е н и й х   ед й с в т и й . .  130

й   и н ет р п о л я ц и о н н ы й   сп лай н ,  т . е . о   п о р я дк а ) , с  та к   н аз ы в аем ы м и   с ул о в и я м и "  (not- a knot  condition), т .  е .  суло в и ям и й   сп лай н а   в   то ч к а х   х 2  и   xN ^  .  Т р е б о й   в   то ч к е   х 2  факит ч еск и   о з н ач 2 ' х з ]  и м сет я   ие д н ы й   и н ет р п о л я ц и о н н ы й я   с лу о в и я   P\ (xi)  = yi  п р и   /  =  1, 2, 3. X х   [XN - 2>- N- \ ]  и   [ *д м , *# ] .  Т а к и м   обра м   и м ет ь   N- 3.  Вондх ы м и   а р г м у е н ат м и ы   от ч е к   раз ры в а   и   з н ач ен и й   ап ро к си м и а   s,  соедр е   в о з в р а щ а е ст я   с р тк у й   фо р м ы   сп лай н а  (р аб о т а   с о   к р с ут  у"ткрсы  гавы л  8). е   о п ер и р о в ат ь   с р тк у а м у   s  м о ж н о   и сп о ль з о в ат й   Toolbox  лд я   п о с рт о ен и ,  и н те гр и р о в а н и я ,  ди ф ер н ц и р о в а н и

и   н е   я в л се т ь   в   к а ч е свт я   гр а фи к

я е а я  и

788 

Оп е р а и ц

аЧс т ь

и  на

С к о н с тр и у р о в а ж те е  и с п о л ь з о в а т ли ч н ы х   а х р к ет р и с ит в ас е т я   о т  сртку >>  fn p lt ( s)

  IV. Ис по льз вани е

д  спл а йн м

 Toolbox и  р еш ени

в   сп лай ь   ц ел ы

н   и   з ап и са й   н або к   сп лай н о ы   с  о п и сан и е

в   и н фо р м а ц и ю   о   н е м   в   с р тк у р   н фу к ц и й   Spline  Toolbox  лд я   п о лчуен и в   и  и х  в и з аул и з а ц и .  К аж д я   нфу к ц и м  с п л а й н а , н а п р и м е р ,

т   к  в ы в о д у   гр а фи к а   сп лай н а .  О то б р а з и т е   и со х нд ы ж е   о ся х   л д я   п р о в е р к и   п рав и ль н о ст и   р е з л у ь ат .  Д л я   в ы ч и с лен и н ек о т р о м   н абор е  то ч е к   ж с л иу т   н фу к ц и я   fnval: »  Y  =   fn va l( s,  [0.1  0.2]) Y = 0.9900  0.9608 е   и   ди ф е р н ц и р о в а н и и   fn in t  и   fnder,  к о т р ы й   и л и   п р о и з в о дн о й   рт е б у м о г , =   fnder  (s,  2) ;

н а о х ид т   в от р у ю   п р о и з в о дн ю у (срктуо й   с   о п и сан и е в о дн о й .  Н а л и ч и е   п ер в о бр аз н о н фу к ц и и   fn in t ,  п о з в о л яе н ай т и   раз н ост ь   з н ач ен и рй у т е   сп лай н   s  лд я   н аш ег с  и н етгр а л о м   о т   н фу к ц и

zyxwvut

 зачд

и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE

п р и в о ид

И н те г р и р о в а н и н фу к ц и образ н о п р и м ер »  s2 

 пр инхлыакд

е   воз вращ аю

,  в ы   м о я   раз я  вы з ы

е   да н н ы

-

е   н а   э ит я   сп лай н

е   о сщ у е с в т л я ю т ,  с о вт ес вт ен н о т   ср к т у у   с  о п и с ан и е о   п о р я дк а   о т   з адн н ог о   сп лай н а

х а  в

, м   п ер в о

,  н а -

.  В ы з о

в   fnder  с   о нд и м   в о х нд ы м   а р мг у е н от м т   к   в ы ч и с л ен и ю   п ер в о й   п рои з ,  к о т р а я   п о лч у а е с т я   с   п ом щ ь ю т   и н те г р и р о в а т ь   та б л и ч н ы е   н фу к ц и и  —  до с та о ч н о й   нфу к ц и и   fn in t  в   гр а н и ч н ы х   то ч к а х .  П р о и н те гр и о   п р и м ер а   п о   ег о   о б л а с т и   о п р едл н и я   и   срав н и т е и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   у( х) : zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI м   сп лай н а

)  п р и в о ди й   сп лай н а

>>zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   S = fnint(s); »  I = fnval(S, x(end)) -  fnval(S, x(l)) I = 1.4936 >> quadl(fun, x(l), x(end)) ans = 1.4936 Д л я   п ои ск а   м и н и м аль н о г о   з н а ч ен и я   сп лай н с о вт е с вт е н н о ,  нфу к ц и и   fnmin  и   fn zeros.  в о хнд ы м   а р мг у е н о т м   (срткуо й   с  о п и сан и е ид с т я   н а   в се й   о б л а с т и   о п р е дл н и я   сп лай н а м и н и м аль н ог о   з н ач ен и я   н а   о п р едл н н о м   гр а н и ц ы   в о   в то р о м   д о п о л н и те л ь н о м   в о х нд о

а   и   ег о   к о р н е й   п р е дн а з н а ч е н ы Е сл и   о н и   в ы з ы в а ю ст я   с   о нд и м   сп лай н а) , т о   п о и с к   п рои з во .  Д л я   в ы ч и слен и я   корн е й   ил п р о м е ж кт у е   се л у д т   з адт ь   ег м   а р мг у е н т е   —  в е к то р е .  Ф ну к

, м и о -

л ав Г

  18. абРо т а

  со

 с плай нм и

789 zyxwvutsrqpo

 в  Spline Toolbox 

и ц я  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA fnmin  в о з в р а щ а е т   м и н и м аль н о е  з н а ч ен и е , а  п р и  о б р а щ ен и и  к  н е й  с   вуд м я  в ы охнд ы м и   а р мг у е н а т м и   ещ е  и  абсц и с у   м и н и м уа :zyxwvutsrqponmlkjihgfedcbaZY

>> [mval , mx] = fnmin(s, [- 1  0.5]) mval =zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA / ќ 

0

m



3

6

7

ќ 

ќ » ќ 

.

9

=

-

В ы о н хд ы ч и сл с от л б ц рю у с т п ри н и м ае сп лай сп лай

.

1

м   а р мг у е н от о   с от л б ц о а   с о ед р ж и я   ка к   т   в н   м ен я н  р а в е н

в   котро

м   н фу к ц и й   со в п аде

т гр а н и ц   э от т   зн а  н л у ю

и   fnzeros  яв л ест т   с   ч и сло м   корн е   и н фо р м а ц и ю   о   корн е  —  э лем н т ы   и н ет р в а л ,  к о т р ы е   м о т гу й   то ч к е   м ало е   з н ач ен и е) ,  бы т к   н а   э о т м   и н етр в а л е )  и   о лти ч аьт с   н а  все м   и н етр в ал е) .

я   м а тр и ц й   сп лай н а ы   с от л б ц :  с о в п а д т ь   п р и м ер н я   рд у

а   и з   в ду х   с тр о к .  С о де р ж и м о а   и н ет р п р е ит ь   (есл и   сп лай о   равн ы   (есл г   о т   др г у а   (есл

, е н и и

В с е   од с п у т н ы е   о п ер ац и и   н а д   сп лай н ам и   о п и сан ы   в   сп рав о ч н о й   с и емт е MATLAB  п о   Toolbox  (см . р а з д . Spline Toolbox: Functions —  Categorical List: Operators). В о с п о л ь з ему с Дл

я   им

и  дл

я  в ы ч и слен и

я  п о гр еш н о с ит

я   п о чл уе н и я   н а г л я нд о й   и н фо р м а ц и ап ро к си м ац и и   н фу к ц и и  п о срт и он д и х   о с ях , а  н а  дргиу х  —  гр а фи >> subplot(2, 1, 1)

м   гр а фи к  п о гр еш н о с ит

. и  о  п овенд и к   сп лай н

и   сп лай н а   и  и оснхд о

а  и  п о гр еш н о с т й   н фу к ц и

и и  н а

:

>> х  = - 1:0.05:1; >> у  =  fun(x); >> plot(  х , у ,  'г' р

)

>> hold on >>  fnplt(s) >> title('Гкифар

и   ицкнуф

>>  legend('ф' яицкну

и   и  ' анй лпс 1

,  'сплайн

)

,0)

>> х е  = - 1:0.01:1; >> ye = abs(fnval(s,  хе

)  -   fun(xe));

»  subplot(2,  1,zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  2) »  plot (хе

, ye)

>>  title('Гифар

П о лч у а ю щ и й с

1

к   ошибк

я  р ез луь ат

т  п ри вед

)

н   н а  р и с

. 18.1.

аЧс т ь

790

  IV. Ис по льз вани е

 Toolbox и  р еш ени

ки ф а Гр

0.2 • -1  

- 0.8 

- 0.6 

и и фуц к н

- 0.4 

- 0.2 

4

х

  1Q"  

- 1 

и ф а Гр

- 0.8 

Рис

- 0.6 

- 0.4 

- 0.2 

. 18.1. Пнелива тс дер

и  пшер гнотс

м   ег о  п р



и



и  иц яиплро ен т

и  о бр ащ ен и

0.2 

к  ош бик

0.4 

0.6 

0.8 

1

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP

0.2 

0.4 

0.6 

0.8 

о  сйпанл

1 zyxwvutsrqponmlkjihgfedc

а

и  уzyxwvutsrqponmlkjihgfedcbaZYXWVU   =  е   х

и  дл я  фнцки у т   в м ес т о   к о н с тр и у р о в а н и я   в   з адн н ы

и  к   csapi  в  кач евст

zyxwvut

 зачд

а

е  кгоксибеч у

И н ет р ф й с   н фу к ц и и   csapi  п о з в о л яе в и ед   с р тк у ы   вы ч и сли т ь   ег о   з н а ч е н и то р   с  аб с ц и с ам и  точ е к »  xl  =   - 0 . 9 :0 . 2 :0 . 9 ; и  укаже

и  и   нй а лсп

 пр инхлыакд

я   сп лай н

е  треьт г

х   то ч к а х

.  С о з да и

о   в о х нд о г

а  в м   в ек

-

о   а р м гу е н а т

:zyxwvut

>> value  = csapi(x,  у , x l ) ;

ы   з н ач ен и я   к б уи ч е с к о г о   сп лай н а   в   з адн н ы х   от ч В   в е к от р   value  з ан ес н к а х .  О б р а щ е н и е   csapi  (x,  у ,  xl)  аде т   то т   ж е   р ез луь ат ,  ч т о   и f n v a l ( c s a p i ( x ,  у ) ,  x l ) .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC

оП с т р о е ни

е  спл а йн

а  дл

Spline Toolbox  п о з в о л яе т  к о н с тр иу р о в а т п о с тр о е н и я ,  н а п р и м е р ,  кбуи ч ес к о г вы ш е   н фу к ц и я   csapi.  В   счлуа в о х дн о г о   а р г ум е н т а —  м а тр и ц ы ц и и  в  уз лах . П р о д е м о н с рт и р е у з н ач ен и

ю  а р гму ен т

м   п р и б л и ж ен и а   котры

я  веткор- ицнук ф

и ь   сп лай н о   сп лай н

е   в е к от р - нфу к ц и ,  срто к е  та б л и ч н ы х   с о в т ес у

и   котро

ы  дл я   в ек от р - нфу к ц и й . Д л а   и с п о л ь з ес ту я   р а с м о тр е н н а й   о н а   в ы з ы в а е ст я   о т   в то р о г й   с о ед р ж а т   з н ач ен и я   н уф к

х   о нд о м е р н ы т   дв а   з н а ч е н и

х   да н н ы х я  фну к ц и

,  к аж одм . Э т

я я о у

и  з н а

-

л ав Г

  18. абРо т а

ч ен и с те

 с о

я   я в л ю ст я   "ули кто

 с плай нм и

791 zyxwvutsrqpon

 в  Spline Toolbox 

я   к о р ди н а т м й   П аск аля

и   от ч е к " и  з адест

,  леж ащ и

х   н а   кри вой

я   п а р м е рт и ч е с к и м

, к о т р а и  з а в и с и м о с ятм и

я   н аз ы в а :zyxwvutsrqponmlkjihgfe

х  = a •  cos  t + b -  cos /,  у  -   a •  cos t •  sin t + b •  sin /, дг е   0  0. Л и с ти н П аск ал

г   18.1  соедр ж и я   п р и  п о м щ

т   е тк с и  кбиу ч еск и йл - иц кн фу

т   фа й л - н фу к ц и

и  u iit ka 2,  к о т р а я   с тр о и т   л иу к т у .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO

х   сп лай н о в я  дл

я  пос т рое ни

я  ул и т к

и  Па с кл

я  

I

fu n c t i o n  u l i t k a 2 ( a ,  b) % П о с т р о е н и

и   П аскал

е   ул и т к

% З а д а н и

е   ш аг

я   к уб и ч е с к и м

а   и з м ен ен и

я   п а р а м е тр

и  с п л а й н а м

и

а  

".

h  =   p i / 2 0 ; zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA % Зи н а д

е  зи н е ч а н

й  р т е м а р п

а

t =  0:h:2*pi; % Ви н е л с и ч ы

е  ц и л б а т

ы  и н е ч а н з

й

х  = a*cos(t).*cos(t)  + b*cos(t); у  = a*cos(t).*sin(t)  + b*sin(t) % Фи н а в о р и м р о

е  ц и р т а м

ы  с о  зм я и н е ч а н

и  о н ч и л б а т

й  и ц к н у ф

и

R -   [х  ; у ] ; % Си н а д з о

е  н й а л п с

а

р р  = csapi(t  ,R); . % Во в ы

д  гк и ф а р

а  н й а л п с

а  н а  ос

и  с  оы в о к а н и д

м  обатшсам

м

figure fnplt(pp) axis  equal

Вы зо

в  фай л- нфу к ц и

и

»  ulitka2(2,  1) п р и в о ди

т  к  п о яв л ен и

ю  ули кт

и   П аск ал

я  (р и с

В он дх ы м и   а р г м у е н ат м и   фа й л - н фу к ц и и п а р м е рт ы   л иу к т и   П аск ал я   а   и   .Ь   М ен я раз ли ч н ы е   фо р м ы   л уи кт и .  И сохнд ы м и яв л ю ст я   р а в н о тс о я щ и е   от ч к и   с  ш аго юв у щ и е   и м   к о р ди н а т ы   х ,   у   от ч е к   в е к от р а   л иу к т и   г  . Ф ну к ц и я  csapi  с рт о и к б уи ч е с к о г о   сп лай н а , к о т р ы й  з ает м   о т б р а ж е ст fn plt .

.  18.2).

  u iit ka 2  яв л ю ст я   г е о м е рт и ч е с к и я   э т и   в ели ч и н ы ,  м о ж н   да н н ы м и   лд я   п о с рт о е н и м   /г ,  п о м ещ ен н ы е  в   t,  и н а   кри во й  —  к о р ди н а т т   к с уо ч н о - п о л и н о м и а л ь н у я   гр а фи ч е с к и   пр

е о   п о лч у и т я   сп лай н   с о в т ес ы   р а ид с у ю   фо р м и  п о м щ

ь а у и

аЧс т ь

792

. 18.2. Укилт

Рис

а   я П л ак с й п а снл

^  Дл и од х

Пр и м е ча ни я   н ке о р ы т т  н дерс иу

з н ач н а

  IV. Ис по льз вани е

, пнеор атсо , пр и  зн ечиая

я  с  пщом ь х  пор тмае

е  

^

а  сржеи од

, в  то м   ичлс я   н у фк ц и т   н кс ое ь л

х   н у фк ц и й е   з н ча е и , т . е . табли ц

 Toolbox и  р еш ени

е  слиуво

 пр инхлыакд

zyxwvuts

 зачд

ю  пниемр я  кгоксибеч у о в  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ a = 2,  Ъ  - 1zyxwvutsrqponmlkjihgfed

е   и  дл я   расмнеот о , елс и   п ри бл жмеа о  оидн аковы

ы р л ио н з в П ь

е  крае ыв

К а к   ж у е   о мт е ч а л о с "оствуи я   зу л а " п о л и р е ум о й   фн у к ц и р а с м а тр и в а е м о г н ы х   о   п р и б ли ж аем о к р аев ы е   с ул о в и я раз ли ч н ы е  в а р и а н т

ь   вы ш е ,  нфу к ц и я   csapi  с рт о и и   с лу о в и я   да ю т   н аи бо ле е  то ч н о , елс и   н е т  и н фо р м а ц и и  о б   е е  п р о и з в о дн ы о   о тр е з к а .  П р и   н али ч и и   к а и -х ли б й   нф у к ц и , з а ч сюут ,  ц ел с о б р а з н .  Д л я   э то г о   п р и м е н я ес т я   нфу к ц и я ы  о б р а щ е н и я . П ер в ы й  сп о с б

й   csapi,  п оир с я   н у кц ф и я  мн ог х  з н чае и й  амнеруга т

.

я

.  Э т

т   сп лай е   п р е сд а т в л е н и

н   с   с лу о в и я м

и

е   и н е тр х   н а  гр а н и ц а о   д о п о л н и ет л ь н ы х   ад н о   п о с ат в и т ь   рд г и у   csape.  О н а   од п сук а е

х е т

s  =   c s a p e ( x ,  у )

п р и в о ди н ог (н и ж мг у е н от

т   к   п о с рт о е н и о  кбуи ч ес к о г е   м ы   с к аж ем м

ю   к суо ч н о - п о л и н о м и а л ь н о о   сп лай н а  с  к р аев ы м ,  ч т о   э т о   з а   суло в и я)

s  =   c s a p e ( х ,  у ,  c o n d s)

и  усл о в и ям и .  В ы з о

й   фо р м , з а д н н ы м в   csape  с  тр еьт и

ы   и н те р п о л я ц и о н и  п о   му о л ч а н и м   в о х нд ы

ю м   ар -

л ав Г

 18. Рабо т а

 с о

 сплайнм и

 в  Spline Toolbox

793 zyxwvutsrqpon

п оз воляе т   вы брат ь   краевы е   ус л о в и я   и з   до в о л ь н о   обш и рн ог о   сп и ска ,  п р е д .  18.1. П р и  э т о м   може т   п о тр е б о в а ть с я   расш и рен и е   м ас и с та в л е н н о г о   в  т а б л в а   у  д л я  у к а з а н и я   з н ач ен и й   п р о и з в о дн о й   сп лай н а   н а  г р а н и ц а х   о тр е з к а . В о з можн о   та к ж е   з а да н и е   с о б с тв е н н ы х   гран и ч н ы х   ус л о в и й ,  н о  т о г д а   п арам ет р con ds  д о л ж е н   бы т ь   н е  т е к с т о в о й   с тр о к о й ,  а   в е к т о р - с т р о к о й   и з  дв у х   э лем ен то в .  П р и  так о м   сп особ е   можн о   о п р е де л и т ь   раз ли чн ы е   краевы е   ус л о в и я . П р и э то м   з н а ч е н и е   п ервог о   э лем ен т а   с о т в е т с т в уе т   лево й   гран и ц е   о тр е з к а ,  а в то р о г о   —  п р а в о й .  В   м а с и в   у   п р и  э т о м   до б а в л я ю тс я   до п о л н и те л ь н ы е  з н а ч ен и я   в   н ачал о   и  к о н е ц   м ас и ва .  П р и н я т ы   с л е д ую щ и е   п рави ла :  е с л и   з н а ч е н и е   э лем ен т а   в е к то р а   с тр о к и   con ds  р а в н о   1,  т о   д о п о л н и т е л ь н ы й   э лем ен т  в у   з а да е т   з н ач ен и е   п ерво й   п р о и з в о дн о й ,  е с л и   в   con ds  э л е м е н т   раве н   2,  т о до п о л н и те л ь н ы й   э лем ен т   в   у   з а да е т   з н ач ен и е   в то р о й   п р о и з в о дн о й .  В  с л у ч а е   п е р и о ди ч е с к и х   ус л о в и й   con ds  з а д а е т с я   м ас и во м   [0  0]  и   о б р а щ е н и я s i  =   c s a p e ( x ,  у ,  ' p e r i o d i c ' )  И  s i  =   c s a p e  ( х ,  у ,  [0  0 ] )  п р и в о д я

т   К   И ДО

-

н аковом у   р е з ул ь т а т у .  С т р о к о в о е   з н ач ен и е   ' v a r i a t i o n a i '  п а р а м е тр а con ds  э к в и в а л е н т н о   з а да н и ю   в е к то р а   [2  2]  о д н о в р е м е н н о   с   з ап и сь ю   до п о л н и те л ь н ы х   н ул е в ы х   э л е м е н то в   в   м ас и в   у .  Е с л и   con ds  ( j)  (дл я   j  =  1 и/ ил и   j  =   2) н е  з а д а е т с я   и л и  п р и н и м а е т   з н ач ен и я ,  о т л и ч н ы е   о т   0,  1,  2, т о con ds  ( j)  п р и н и м а е т с я   равн ы м   1, а   с о т в е т с т в ую щ е е   з н ач ен и е   в   м ас и в е  у п р и н и м а е тс я   п о  у м о л ч а н и ю   с л е д ую щ и м   образ ом .  З н а ч е н и е м   п о   ум о л ч а н и ю дл я   д о п о л н и те л ь н ы х   э л е м е н то в   у   я в л я е тс я   п р о и з в о дн а я   к уб и ч е с к о г о   и н те р п о л я н та ,  п о с т р о е н н о г о   п о  б л и ж а й ш и м   ч е ты р е м   то ч к а м .zyxwvutsrqponmlkjihgfedcbaZYX

 18.1. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR   ыт ер а м р П   кн ци фу   csapezyxwvutsrq

а ц и а лб Т и ен ч а З н я  ет ма р п р а  conds

'c o m p let e' ИЛ

И

'clamped'

-

П и е н соя

я

n ot- a- kn ot'

'p erio d ic '

е  зиен ча н в  мвсаи

сУ л о в и п а де н и н аклон

е   з ак р еп лен и я е   та н г е н с о а   (п р о и з в о дн ы х

гр а н и ц а

х   о тр е з к

с о  з н а ч е н и я м и в  р а с ш и р е н н о 1

ы н о б чав Д

сУ л о в и оп и сан н о

. С о в в   гу л о

-

З н ач ен и я   п р о и з в о дн ы х и н т е р п о л и р еу м о й   нф у к ц и и  в   \Х  и  xN   п о  ум о л ч ан и ю   п р и н и м а ю тс я  та ки ми , к а к  в   "default"

,

Н е  тр е б ут с я / и г н о р и р е уст

в ) н а

а   [х },  xN   ] , з а д н н ы м м   м ас и в

е   "о тс у в и е   вы ш

сУ л о в и е   п е р и о д и ч н о с ти С о в п а де н и е   з н ач ен и в о й   и  в то р о й   п р о и з в о дн ы н а  г р а н и ц а х   п р о м е ж ту к

я

е  у

и е  у я   зу л а "

е . й  пер

Н е  тр е б утс х

а

я

я

аЧс т ь

794

 IV. Ис по льз вани е

 Toolbox и  р еш ени

 пр инхлыакд

 18.1zyxwvutsrqponmlkjihgf   (оаин)екч о zyxwvuts

а ц и а лб Т и ен ч а З н

я  пет ма р П и е о сня я ы он б а в Д ч е  зи ен ча н в  мсави е   у р а  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA con ds

'  sec o n d 1

С о в п а де н и р ы х   п р о и з в о дн ы ница х   о тр е з к з н ач ен и ям и м ас и в

1

va r i a t i o n a l'

Р а с м о тр и ф ун к ц и

м   п ри ме

е   з н ач ен и

й   в то х   н а   гр а а   \ х х ,  xN   ]  с о

, з а д н н ы м

Ус т а н а в л и в а е и з в о дн ы равн ы м

т   в то р ы е   в  то ч к а и  0

р   п ри бли ж ен и

х   н а   кон ц а

я   в  то ч к а

xN   в то р ы

я

х   х х  и

х   п р о и з в о дн ы

х

п о  ум о л ч а н и г а ю тс я   равн ы м

ю   п р е дп о л а и  0

И г н о р и р уе т с

я

-

е   у е   п ро х   х х   и   xN

я   с   п омощ ь

и   ^  =  COS(2TU :)  с   п о с л е д ую щ и

п р о и з в о дн ы

З н ач ен и

и  в

zyxwvut

 зачд

ю   сп лай н о

м   вы ч и слен и е

в   п е р и о ди ч е с к о м   раз н ост

й

и   е е   п ервы

х

х   *j  =  0 ,  xN   = 1zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK

»  х  = 0:0.05:1; у  = cos(2*pi*x); »  s = csapi(x, у) ; »  si = csape(x, у ,  'periodic'); »  diff (fnval(fnder(s),  [0 1])) ans = - 0.0665 »  diff(fnval(fnder(sl),  [0 1])) ans = - 3.7007e- 016 В   п р и в е де н н о м   п ри м ер е   з а да ю тс я   и с хо д н ы е   да н н ы е   и   с тр о я тс од - ф о р м е :   s  с   у с л о в и я м и   "о т с ут с т в и я   уз л а " ,  и   s i  —  с   п е р и о д и ч е с к и м ви ям и .  З а т е м   в ы ч и с л я е тс я   раз н ост ь   з н ач ен и й   п р о и з в о дн ы х   м е ж ут к а ,  т .  е .  ч е р е з   п ери од ,  р а в н ы й   1.  З де с ь   и с п о л ь з ую т с я   с л е д ую щ и ц и и   Spline  T oolbox,  fn d er  п о з в о л я е т   вы чи сли т ь   п ерву ю сп лай н а .  Р е з у л ь т а т о м   fn d er  (s)  я в л я е т с я   с т р ук т ур а   с   п олям и м и   s.  Ф у н к ц и я   fn va l  в ы ч и с л я е т   з н ач ен и я   п ерво й   п р о и з в о дн о то ч к а х ,  у к а з а н н ы х   в о   в то р о м   е е   в хо д н о м   а р г ум е н т е .  В   д а н н о я в л я е тс я   м ас и во м   и з   дв у х   э л е м е н то в   [0  1] ,  т .  е .  в ы ч и с л е н и то ч к а х   х х   =  0 ,  xN   =  1.  В   з а в е р ш е н и е   с   п омощ ь ю   ф ун к ц и и   в ы ч и с л я е тс ж е   де й с тв и чал е   и  кон ц

я   раз н ост я   п о   вы ч и слен и е   п ери од

ь   п о л уч е н н ы

х   з н ач ен и ю   раз н ост

а   п р о в о дя тс

я   дл

и   з н ач ен и я   с т р ук т ур

й   п ерво

й   п р о и з в о дн о й й   п ервы х   п р о и з в о дн ы ы   s i .  И з   п о л у ч е н н ы

я   сп лай н

ы  в и   ус л о х   п ро е   ф ун к

н а   кон ц а

-

  п р о и з в о дн у ю ,  а н а л о г и ч н ы й   сп лай н а   в м   с л уч а е  о н я   п р о в о дя тс я  в M AT L AB  d i ff .  З а т е

м   т е х   в   на х   р е з ул ь -

л ав Г

  18. абРо т а

 с о

та о в   в и дн о зу л а " ,  р а з н о с т д а   до в о л ь н ск и х  гр а н и ч н ы Ч то б с ул о в и й сп лай н а н оль

 с плай нм и

, ч т о   в   п ерв о м   с чл у а е ь   п о чл уе н ы х   з н а ч ен и о   в ел и к а   п о   с р а в н ен и х   с лу о в и й   п р и  п о срт о ен и

ы   ще е   р а з   п о чд е р к н т у , в ы ч и сли м   пу о м и н ав ш юу с , в от р ы е   п р о и з в о дн ы , т . е . "есетв н н о г

» 

795zyxwvutsrqp

 в  Spline Toolbox 

,  т . е .  п р и   н ало ж ен и и   с лу о в и й  п р о и з в о дн о й  в   н ач л ю   с о   в от р ы м   ч с л а уе м   з адн и и  с п л а й н а .

ь   в аж н о ст

й   "оствуи е   и  к о н ц е  п ер и о я   п е р и о ид ч е

я -

ь   к о р е к тн о г

о   з адн и я   гр а н и ч н ы х ь   з н а ч ен и й  п ер в о й  п р о и з в о дн о й о   н а  гр а н и ц а х   о рт е з к а   о б р а щ а ю тс я  в :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC я   раз н ост

е   котрог о   сп лай н а"

s2 -  csape(x,  [0 у  0] ,  [2 2]);

»  diff(fnval(fnder(s2) ,  [0 1])) ans = 1.1490

К а к   в и дн о и с к ус тв е н н о

,  з д е с

ь   р е з ул ь та е   н аложен и

т   п о л уч и л с е   ус л о в и

я   с ущ е с тв е н н о   хуж е .  Т а к и м   образом ,   y"(xN )  = 0  п р и   п о с т р о е н и и й   y ( * i ) =  0 , zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF

сп лай н а   може т   п ри вест и   к   о щ ути м о й   п о гр е ш н о с ти .  Н е т р у д н о   та к ж е   п рове р и ть ,  ТЧ О   В ОЫ З Ы   s2  =   c sa p e ( x,  у ,  ' v a r i a t i o n a l '  )  s2  =   c sa p e ( x,  [0  у   0 ] ,  [2  2 ] )  э к в и в а л е н т н ы .

И

й   с и с те м е   M AT L AB  n o  T o o lb o x Д р уг и е   п ри мер ы   с о де р ж а тс я   в   сп равочн о (с м .  р а з д .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   S pline Toolbox: Functions -   Categorical  List:  Construction of S plines). zyxwvutsrqpo

е  спл а йон

с И п о л з ь в а ин О б р а ит м с лен )авыг л .

я   е тп р е   (с.м

а   вы ш

Н ап ом н и м л я се т ет р в а л

 р.азд

ь   к  р а б о т   "В- а м р фо

,  ч т о   сп лай я   мс у о

й   В - сп лай н о

е   [tt,  ti+fc].  зУл

п о в т р ен и й п оли н ом ов до л ж н о   в ы п о л н я ьт с тисьон в атле д лс мво  виой лус х ы вмае   в   й а он д с о в т ес у п р е пд о л а г е в к л ю ч и ет л ь н о

  з у л а   о п р е дл я ,  со атв ляю щ и

в  в  -В рм фо е   с о   сп лай н ам  (рине ж о азл

н   п о р я дк

а   к   с  уз лам в   Bt  k   , к аж ыд

ы   в  п о с л еод в аетл ь н о с т

е и   в  В - форм е   п о   м а ы нз и с б

,  к о т р а

я   бы л

и   ,Ц ..., tn+k   в   5- фо р м й   и з  к о т р ы и   м о гу

а   о п р ед

 )айнм плс "

х   о л ти ч е т   со в п адт

  й т оэ

е   п р е сд а т в

н   о т   нлу

я   н а  и н

ь   и   к о л и ч е с вт

т   г л а кд о с т ь   с о ие д н е н и я   м ж ед у   соб й   к с уо ч н ы х   2?- псйалн .  П р и   фо р м и р о в а н и и   м ас и в а   зу ло я   ю с лу е д щ е е   п рави ло : твсеоич кло  пинейврто  уа зл   в  п-о  уво зл  равон  ртисазон у д меж  км о д я рпо  сайн пл  и  ктс-еич ло  гткисоад л   (нтисвоны реп  фукн ци  и  ее  х)ын издвопр ,   - ы ад нк л  тк.чео   С л е д о в а те л ь н о ,  / -с н ткары й   з еу л   в   н е к о т р о й   то ч к т   о с тв у и ю   с лу о в и й   н еп р е ы в н о с т и   во бщ е ,  а   п р о с т й   з уе т   н еп р е ы в н о с т ь   н фу к ц и и   и   е е   п р о и з в о дн ы х   д о   п о р я дк а  к  .

о х в

е л 2

796 

аЧс т ь

 IV. Ис по льз вани е

 Toolbox и  р еш ени

 пр инхлыакд

zyxwvuts

 зачд

В   р е з л уь ат е   м ож е т   бы т ь   р еали з о в ан о   п р и б л и ж ен и е   н фу к ц и й   с   раз ли ч н о й епс т н ь ю   г л а д к о с ти .  S- фо р м а   м ож е т   и м ет ь  р а з р ы в ы   в  п р о и з в о дн ы х   н е  то л ь к о   в о   в н рт у е н н и х ,  н о  и  в   гр а н и ч н ы х   зу лах .  П р и н я т о  в ы б и р а т ь   н ач ль н ы е  и к о н еч н ы е   з ул ы   та к :  ^  =   ...  = ^ = j c l 5zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ   tn+l  =  ...  =tn+k   =xN .  П о с л едо в а етл ь н о ст ь   зу ло в   м ож е т   бы т ь   п о с рт о е н а   в чр у н у ю   и л и   с   п ом ощ ь ю   н фу к ц и и augknt.  П р и   о б р а щ ен и и   augknt  (x,  к )  ген ери ресту я   п о с л е д о в а те л ь н о с ть ,  у котро й  п ерв ы й  и  п о сленд и й  узл ы   и м ею т   к р а нт о с т ь   к  :zyxwvutsrqponmlkjihgfedcb »  knots = augknt([1 2 3 4 5],4) knots = Columns 1 through 7 1 1 1 1 Columns 8 through 11 5  ќ 5 .  5  В от р м е рт э от кову





4

5

й   сп о с б   вы з ов а   augknt  (x,  k,  muits)  п о з в о л яе а   muits  ку а з а т ь   ж ел а м у ю   к р а нт о с т ь   к а ж од г м   лсе и  m uits  явлсет я   п о с т ян н о й , т о   вс е  в н ртуен н и ю   к р а тн о с ть .

т   с   п ом ощ ь о   в н рт у е н н е г

о   з ула е   з ул

ы   и м ею

ю   п ар .  П р т   о ид н а

и -

»kn o t s  =  augkn t([l  2  3  4],  3,  2) knots  = Columns 1 through 7 1 1 1 Columns 8 through 10 4  4  Дл

я   з адн и

я   ж ел а м о

м и ро в ат

й   к р а нт о с т й   м ас и

ь   п о хд я щ и







3

4 и   в   к а ж од в  muits  с о  з н ач ен и ям

м   зул

м   в н р т е ун е и  к р а тн о с ти

е   е с лу д :

т   с фо р

-

»kn o t s  =  augknt ([1  2  3  4],  3,  [12]) knots = Columns  1  through  7 1 1 1 2  3  3  4 Columns  8  through  9 4  4zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

^  е у Сд е л о в е лн у ас д с п р ав

Пр и м е ча н и

е  

т   мои т е ь е   з н а ч не и е т  з н ачне и е

,  чт о   нв , в  т о   мерв , омеоялпдр

а  о т  баз ов г

о  укчаст

^j е   баз о в г о   к п т ро м ж е у я   ка к  р- р а м р фо   в елс е  кчонс уы м  п оил н ом а  —  п оил н ом м  н а  пн делсо

а   ае д т а   [tx, tn+k ]  5- офрм а   о т   баз о в г о   к п т ро м ж е у а м  н а  повре м  укчтса е   Р ] , а м  укчсат е   PN _^.

л ав Г

 18. абРо т а

 с о

Д л я   и з ч еу н и я   в л и ян и в к л ю ч ен о   п р и л о ж ен и П осл е  в ы з о в а

 сплайнм и

797zyxwvutsrqpo

 в  Spline  Toolbox

я   з уло е  с  гр афи ч ес к и

в   н а  в и

д  и  п о р яд м   и н е тр ф й с о

к   5- с п л а й н м   п о л ь з о в а ет л

а   в   Spline  Toolbox я   b sp i i gu i .

»  bspiigui

о кт р о е ст я   окн о zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Experiment with a B- spline as a function of its knots  (р и с .  18.3), в котро м   и з о браж е н   5- сп лай н   и  ег о  п ерв ы е   рт и  п р о и з в о дн ы е .  С   п о м о щ ь ю кн оп о к   Add  a  knot  (Д о б а в и т ь   з у ел ) ,   Mark  a  knot  by  (left)  clicking  near  it (О мт еи т ь   з уе л   щ е л ч к о м   мы ш и ) ,  Delete  the marked  knot  (Уадли т ь   п о м еч н н ы й  уз ел) ,  Move the marked knot with the slider (П ер вди н ту ь   п о м еч н н ы й  узе л с   п ом щ ь ю   н б е гу к а )  м ож н о  э к сп ери м ен ит ро в ат ь  с  коли ч евсто м   зу ло в , и х   п о л о ж ен и е м   и  к р ант о сьт ю .  В  внерх й   ч аст и   окн а  п оявлсет я   и н фо р м а ц и я  о  по р я кд е  5- сп лай н а  и  к оли ч есвт е  п о ли н о м и аль н ы х  кскуов , соасвтляю щ и х  его .zyxwvutsrqponmlk

Ф zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   Experiment with a B- spline as a function of its knotszyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP Help

The B- spline is of ORDER 4 since it is specified by 5 knots. It consists of 4  polynomial pieces, each  of DEGREE 3.

Also shown are the 1 st, 2nd, and 3rd derivative of the B- spline.

 



5

2  r

0

Mark a knot by (left)clicking near it

Delete the marked knot

Move the marked KNOT with the slider

Close

Рис

. 18.3. Экспери м ен т

ы   с  ^- с п л а й н а м

и   с  п о м щ ь

ю   н фу к ц и

и  b s p i i g u i

798 

Р а с м о рт и п ер в о образ ом

аЧс т ь

м   п ри м е й   п р о и з в о дн о :

 IV. Ис по льз вани е

р   и н ет р п о л я ц и й   в   н ек о т р о

 Toolbox и  р еш ени

и   сп лай н ам й   то ч к е

.  П сту

и   нф у к ц и ь   н фу к ц и

 пр инхлыакд

,  и м ею щ е я  з а д н

zyxwvuts

 зачд

й   раз ры

в

а   ю с у л ед щ и

м

—I)   |x> 0.

П о с рт о и м   сп лай н   рт е ь г о   п о р я дк а   (к в а др ит ч н ы й ) .  В   к ач есвт е   з н ач ен и й а р мг у е н т а   в ы б ер м   с ю л уе д щ и е :  х   =   [- 1  - 0.25  о   0.25  l]. Р а с м а рт и в а ем а я н фу к ц и я   и ме т   раз ры в   п ер в о й   п р о и з в о дн о й   в   от ч к е zyxwvutsrqponmlkjihgfedcbaZYXWVUT   х  = 0.  Д л я   п о с рт о ен и я с п л а й н - н фу к ц и и   м ож е т   бы т ь   и сп о ль з о в ан а   н фу к ц и я   spapi  в   юсулед щ е й фо р м е :  spapi  (kn ots,  х ,  у) .  Зсед ь   м ас и в   knots  с о едр ж и т   зу л ы ,  н ео бх ид м ы е  дл я   п о с рт о ен и я   сп лай н а , к о л и ч есвт о   и х   равн о   n + k  , гд е   к   —  п о р я од к   с п л а й н а ;  п   —  к о л и ч есвт о  з н ач ен и й  в  м ас и в е  хх .  В  м ас и в е  у у   з а п и с а н ы з н а ч ен и я   н фу к ц и и  о т  со втесюу щ и х   э л е м н от в   м ас и в а   х .zyxwvutsrqponmlkjihgfed

р е Пп у д и н ж лЕс

и   пр с п о т ер я в бы т

В   н аш е с я  до п о л н и те л ь н к и - х ли б д о в а ет л ь н о с т

е

ь  з н чае и м   п р и м ер о   то ч к а

и  и сп ольз ван и я   г   раз я  фн цку и

и  фн цкуи , т о  ю вущтс еио м и  и  е е  пывре

е  дл я   о п р едл н и о   к  з н ач ен и я х   с л ев а   и  с п р а в ь   к ом ан д  р еали з еу

я   сп лай н м   н фу к ц и а   о т   от ч к т   п о с ат в л е н н у

и  spapi  н коерт и   н м е эа л т х   (г  -   1) п рои з внод ы х

х х   =   [- 1  - 0 . 5  - 0 . 5  0  0 . 5  0 . 5  1]  ;

» 

у у   =   [0  0 . 2 5  1  1  0 . 2 5  - 1  0 ] ;

» 

k n o t s  =   [ - 1  - 1  - 1  - 0 . 5  0  0  0 . 5  1  1  1 ] ;

» 

s  =   s p a p i ( k n o t s ,  х

» 

у

е  в   исмав а   у у   жол н д

и   и см а в

е  х х ы

.

а   еи д н с в т е н н ы м   образ о и  з адт ь   з н ач ен и я   п р о и з в о дн ы и   раз ры в а   х  = 0.  С люеуд щ а ю   з а дч у

» 



е  з н чае и

м   ртеб у -

х   в  к а я   п о сле -

)

fn p lt ( s)

С о гл а с н о лов ,  в   м ас и в з у л е   н а р ш у а е ст в е н   тр е м В   м ас и в з н ач ен и й и   е е   п ер в о в о нд ы х   до л ж н

  п р и в е дн н о м

,  в е  х   н фу к ц и й

у   вы ш е   knots  з н ач ен и я   н еп р е ы в н о с т   зу л е   t = 0  то л ь к х   з н ач ен и я   - 0.5  и   у у   и м   од л ж н   п р о и з в о дн о й .  О мт еи м ы   бы т ь   в з ят ы  с

е   п р ав и л у   п о с рт о е н и я   п о с л е д о в а ет л ь н о с т и   зу е   з ул а   t = 0  п о в т р яест я   дв а ж ды ,  т . к .  в   эот ь   п ер в о й   п р о и з в о дн о й   (п о р ядо к   сп лай н а   ра о   о нд о   ус л о в и е —  н еп р е ы в н о с т ь   нф у к ц и ) и   0.5  п о в т р яю ст я   дв а ж ды ,  з н а ч и т ,  в   м ас и в ы   с о вт е с вт о а т ь   з н ач ен и я   сам о й   н фу к ц и ,  ч т о   до п о л н и те л ь н ы е   з н ач ен и я   п рои з  р а з н ы х   с от р н  о т  то ч к и   раз ры в а  фну к ц и .

м . е и -

л ав Г

 18. абРо т а

В   к о м а н дн о с рт о е н н о э ф и ц и е н от в

 с о

е  о к н м   сп лай н е , р а в н ы

 с плай нм и

 в  Spline  Toolbox

о  в ы в о ид ст :  п очлуен м   с ем и

799 zyxwvutsrqpo

я   с о ед р ж и м о е   с рк т у а   5- фо р м а   с  десяьт , сп лай н  тр еьт г о   п о р я дк

ы   s  с  и н фо р м а ц и е ю   зу л а м и ,  к о ли ч есвто а  р а з м ер н о с т

и  о ди н

й  о  п о м   ко .zyxwvutsrqpon

S = form: 'B- ' knots: [1x10 double] coefs: [1x7 double] number: 7 order: 3 dim: 1 Р е з л уь ат

т   работ

ы   н фу к ц и

и  fn pit  п р есдатв ле

с иР

с  рзаыр ов О б р ащ ен и н ы  р а з л и ч н ы и н те р п о л я ц и о н н о г х   и  у м ас и о н дх о ат к о м с етр у

. 18.4.  Пн еори тсо м  пниордзв

н   н а  р и с

е  сйна-пл нцки у ф й  с  пщом ь

.  18.4.zyxwvutsrqponmlkjihgfedcbaZYX

и ю  фнцки у

и  spapi

е  к  spapi  в   фо р м е   sp  =   spapi  (k,  x,  у )  п о з в о л яе т   с рт о и т ь   сп лай х   п о р я дк о в . В  к ач есвт е   п ер в о г о   а р мг у е н т а   к у а з ы в а ест я   п о р я до к о   сп лай н а .  С юлеуд щ и м и   а р мг у е н а т м и   я в л ю ст я   м ас и в ы ,  п р есдатв л яю щ и е   соб й   в о х нд ы е   да н н ы е   л д я   п о с рт о е н и я   сп лай н а  — в  к о р ди н а т  то ч е к   раз ры в а   и  з н ач ен и й  фн у к ц и и  с о вт ес н н о .  В  в ы м   а р мгу е н т е   (сркеут )  в о з в р а щ а ест я   и н фо р м а ц и я   о   сп лай н е .  П р и   вы з ов е   н фу к ц и и  spapi  п о хдящ а я   п о с л е од в а е т л ь н о с т ь   зу ло в   фо р м и я   а в от м а ит ч е с к и   с  п о м о щ ь ю  фн у к ц и и  aptkn t  (х ,  к ) .

800 

Р а с м о рт и ным

аЧс т ь

.  В   п ер в о

в о   в от р з л у ь ат о в

м   п о с рт о е н и м   с ч л уа м   —  в то р о г ,  фо р м и рюу ст

»  х  = 0:4; »  у  = х.*е( рх -

 IV. Ис по льз вани е

е   сп лай н о е   с рт о и ст о   п о р я дк а я   раз н ы

 Toolbox и  р еш ени

 пр инхлыакд

zyxwvuts

 зачд

в   раз н ы х   п о р я дк о в   п о   о нд и м   и  те м   ж е  дан я   сп лай н   рт е ь г о   п о р я дк а   (к в а др ти ч н ы й ) ,  а .  П р и   э то м ,  ка к   е сулд т   и з   п р и в е дн н ы х   ре е   м ас и в ы   зу л о в :zyxwvutsrqponmlkjihgfedcbaZYXWVU

х .  *x) ;

»  s2 = spapi(3, x, y) »  fnplt(s2,  '- ' , 1) »  hold on »  si = spapi(2, x, y) »  fnplt(sl#  '+' , 2) s2 = form :  ' B-  ' knots: [0 0 0 1.5000 2.5000 4 4 4] coefs: [1x5 double] number: 5 order: 3 dim: 1 si = form :  ' B-  ' knots: [0 0 1 2  3 4 4] coefs: [0 0. 3679 0.0366 3.7023e- 004  4.5014e- 007] number: 5 order: 2 dim: 1

Г р а фи к ли н и е

и   п ер в о г й  п о к а з а

о   и   в то р о г н  сп лай н  тр еьт г

о   сп лай н о о   п о р я дк а

в   п р и в е нд , а  к р есит к ам

ы   н а   р и с .  18.5.  С п л о ш н о и  —  в то р о г о .

й

П оск оль к у   в   с ге н е р и р о в а н н ы х   м ас и в а х   зу ло в   kn ots  к аж ыд й   в н рт уе н н и з еу л  в сртеч а ст я   ли ш ь   ои д н  р а з , т о   э т о  о з н а ч ет ,  ч т о   н а л о ж ен о   м ак си м аль н воз можн о е   лд я   д а н н о г о   сп лай н а   к о л и ч е с вт о   с лу о в и й   г л а дк о с т и   в   к а ж од зу ле .  В   э от м   м о ж н о   б уе ид ь т с я ,  о т б р а з и в   гр а фи к   п ер в о й   и   в то р о й   п рои з в о нд ы х   сп лай н а : »  fnplt(fnder(s2),  '- ') >> hold on >> fnplt(fnder(s2, 2), '- - ') Дл я   сп лай н а  тр еьт г в   уз л е —  н еп р е ы в н о с т

о   п о р я дк ь   сам о

а   м ак си м аль н й   н фу к ц и

о   воз м ожн о и   и   е е   п ер в о

е   к о л и ч е с вт й   п р о и з в о дн о й

й о м

о   с лу о в и

й

-

,  о   че м

л ав Г

 18. Рабо т а

с в и е д лт ь с в е т у ш рт и о х в а

 с о

т  р и с я   —  в то р о й )

 сплайнм и

 в  Spline Toolbox

.  18.6  (сп ло ш н а .

Рис п о с рт е н н ы

Рис

. 18.6. Г р афи к

и  п ер в о й

я  л и н и

801 zyxwvutsrqp

я  —  гр а фи

к   п ер в о

. 18.5. С п лай н ы  р аз н ы х   п о р я кд о в м  и  те м  ж е  дан н ы е  п о  онд и

 и  в от р

й   п р о и з в о нд ы

х   лд

я  с п л а й н

й   п р о и з в о дн о й

,  а

, м

а  тр еьт г

о  п о р ядк

а

802 

аЧс т ь

С г л а и вж щ ю

  IV. Ис по льз вани е

 Toolbox и  р еш ени

е  слпанй ы



то р ы нф у к ц и я ч ес к о г

;  wt  —  н ео рт и ц аетл ь н ы

е   н е р кд

о   в ы б и р а ю ст , ка к   п р а в и л о , п о л аг ест о   сп лай н а   m =  2.

я   рав н ы м

С г е н е р и ре у м   да н н ы е   с о   с чл уа й н ы н и м  —  кбиу ч еск и й   с гл а ж и в а ю щ и (х ,  n o isy) ,  п ер в ы м   п а р м е тр о р ы м  —  з н ач ен и й  в о з м щу ен н о



Пр и м е ча н и

Дан н ы ыд щ у е г

е   с  "ш му о м о   п р и м ер

я   п о мр е яв т с

и  zyxwvutsrqponmlkjihgfedcbaZYXW yi  и з в еснт ы   с  н е , яв ляю ст я  дан о  с п л а й н а , т . е . , о со бен н о ь   в ели к а .  В  эот м   улс й   сп лай н   со бщ ае т

V

 

'

е   в ес о в ы

и   1;  X(t)  —  н ео тр и ц а тел ь н а я   п о с т ян н о й  и  р а в н о м   в о з мщ у ен и е й   сп лай

м   котро й  фну к ц и

е   м н о ж и ет л и

, к о я   в ес о в а . Д л я   бкиу

й   е ид н и ц е

я -

м   ("ш му о ") ,  а   з ает м   п о н   с   п ом щ ь ю   н фу к ц и и   csaps й   яв л с ет я   м ас и в   к о р ди н а т , а  в от .

е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED   jj "  п очлеун а   с ч л уа й н о

ы   е тп у й   с о а тв л я ю щ е

х   =   0 : 0 . 1 : 3 ; у   =   2*х .  *е х р ( - х

лД

zyxwvuts

 зачд

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK

е  ч а с т о   з н ач ен и я   а п р о к с и м и р е ум о й   н фу к ц и Н а   п р а к ит к котро й   п о г р е ш н о с ьт ю   yt  = yi  + S t,  дг е   i = 1,..., N , н а п р и м е р ным и   э к с п е р и м е н ат . П о э т м у   п о с рт о е н и е   и н те р п о л я ц и о н н о г от ч н о е   од у в л е т о р е н и е   э и т м   ад н н ы м   с ат н о в и ст я   н е э ф е к ит в н ы м в  те х   счлуаях , к о гд а   п о гр е ш н о с т ь   в  дан н ы х   м ож е т   бы т ч а е   п р и м е н я ю ст я  сглаж и в аю щ и е   сп лай н ы . С гл аж и в аю щ и ми н и му м   фн у к ц и о н а л у :

дг е   ер   [0,1]  —  п а р м е тр

 пр инхлыакд

я   к  з н ач ен и я й   с   п ом щ ь

м   н фу к ц и

ю   ю с ул ед щ и

и   и з  п ре х   к ом ан

-

д

.  *х ) ;  n o i s y  =   у   +   . 2 *  ( r a n d ( s i z e  (x)  )  -   . 5 ) .

и   о р лз е а ь т у

с р ж те а о д я   н а  п ри маелго к аз у н ы й   йа ф л  се у дел в на и я  и  з па и с и  двоичн ы г о  к атло г а   в  р.азд  "Утвсакон

м   од б а в л е н и

в   н м еп р ы м   к  кн и г т  скоп и роват х  дна ы

С л ю е уд щ а я   п о с л е до в а е т л ь н о с т ь   к ом ан в аю щ ег о   сп лай н а   и  ег о   гр афи ч ес к о м ли н и е й   п о к аз а н  с гл аж и в аю щ и й   сп лай н >> load setl8.mat >> scs = csaps(x, noisy); >> fnplt(scs) >> hold on

е  з па и сна е  комп-кат и дске ь   в  тщ укеи

х  раз обран  путйе" д   п р и в о ди у   о т б р аж ен и ю , а  к ржук ам

 гавы л

ы   в   йа ф л   set 18.mat  и я   и х  и сп ольз ван и я г   (сп осб ы   ычис т  1, а  уанст овк а  щ уке т -

. Дл й   к а лт о ы  в  гаве л  5).

т   к   п о с рт о е н и .  Н а  р и с и   —  и оснхд ы

ю   с гл а ж и .  18.7  с п л о ш н о е  да н н ы

й е zyxwvutsrqp

л ав Г

  18. абРо т а

 с о

 в  Spline ToolboxzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO 803

 с плай нм и

»zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   plot(x,  noisy,  'ro') >>  legend('с' нйалп ,'д' еын а

)

>> hold  offzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

1.2 О  

.1   -

0.5

.с иР 18.

1.5

»  scsl = csaps(x, noisy, 1) »  scsO = csaps(x, noisy, 0) »  plot(x, noisy, 'ro1) »  hold on »  fnplt(scsl) »  fnplt(scsO, 'b*- 1) h o l d  o ff

,  ' я'и ицялопретн

е

 Кк с еичб у й  сюиажвщ л г й  сй апл н 7 иzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

»  load setl8.mat

»  legend('д' еын а

н

2.5zyxwvutsrqponmlkjihgfedcbaZYXW

Ч то б ы   "р е глуи р о в а ть " ,  н а с к о л ь к о   бли з к о   с гл а ж и в а ю щ и п о хд и т ь   к  и оснхд ы м   да н н ы м , м о ж н о  и с п о л ь з о в а т ь   нфу к ц и го й   ф о р м е   csaps  (х ,  у ,  р ) ,  гд е   р —  п а р м ет р   с гл а ж и в а н и я ч ен и я   р   =   1 и р   =   о  п р и в о дят ,  с о вт ес н н о ,  к  и н етр п о л яц и о н н о м ч ес к о м у   сп лай н у   и   п оли н ом у   п ер в о й   епс т н и   (п р ям о й ) м о е тд у   н а и м ен ь ш и х   к в а д р а то в .

» 

с п лай дан ы

,  'MHK')

й   сп лай

н   од л ж е н ю  csaps  в   руд .  К р а й н и е  з н а у   кб и у ,  п о с рт о ен н о м у  п о

zyxwvuts

аЧс т ь  IV. Ис по льз вани е  Toolbox и  р еш ени  пр инхлыакд  зачд 804zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

т   од - ф о р м у   и н те р п о л я ц и о н н о г о   к буи ч е с к о г о   сп лай С рт к у а   sc si  соедр ж и н а , a scsO —  да н н ы е  дл я   п о срт ен и я   п р ям о й   п о   м о е тд у   н аи м ен ь ш и х   к в а рд .  Г р а фи к и   п о чл уе н ы х   с гл а ж и в а ю щ и х   сп лай н о в   п р и в е дн ы  н а от в   (М Н К ) р и с .  18.8.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

О  

ын а д и ц я о л п р е т ни

е я

- • —м н к zyxwvutsrqponmlkjihgfedcbaZYX

Рс и

С щ у е с вю т у ч ан и

и   п р е л дь н ы

т   н ек о т р ы ю   п р и н и м а е ст

х   з н а ч ен и

е  р ек о м ен муд ы я  з н ач ен и

гд е   h  —  сур енд ен н о ид т ь   э к с п е р и м е н ыт обращ ен и

.  18.8.   С члуа

е   р а с то я н и , м ен я я  з н ач ен и

й   п а р м е рт

е   з н а ч ен и

а   с гл а ж и в а н и

я  п а р м е тр

я

а   р , та к

, п о   м уол

-

е

е   м ж ед

у   абсц и с ам е   р . Уз н а т

ь   ще к т у е

и   да н н ы х е   з н а ч ен и е/

.  М о ж н

о   п ров ?  п о з в о л яе

т

е   [sp ,  p]  =   c sa p s( x,  у ) .

К ром е   то г о ,  с гл аж и в аю щ и й   сп лай н   м ож н spaps,  к о т р а я   воз вращ ае т   сп лай н   в   S- фо р м е п ер в ы х   в о х нд ы х   а р гм у е н т а   з адю т   и о с н хд ы едл я т   о д п с и ут м о е   октл н ен и е  п о срт ен н о г >> load setl8.mat >> scspl = spaps(x, noisy, 0.05);

о   с рт о и т ь   с   п ом щ ь ю   н фу к ц и и :  sp  =   spaps(x,  у ,  t o i ) .  Д в а е   да н н ы е ,  а   п а р м е т р   t o i  о п ре о   сп лай н а  о т  и онсдх ы х   ад н н ы х :zyxwvutsrq

л ав Г

 18. абРо т а

  со

 в  Spline ToolboxzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP 805

 с плай нм и

»  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA scsp2 = spaps(x,  noisy/  0.01); >> hold on >> plot(x,  noisy,  'ro') >>  fnplt(scspl/  'b+- ') >>  fnplt(scsp2)zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA >>  l e g e n d ( ' д а н н ы е '

П р и в едн н а в ду

я   п о с л е од в а е т л ь н о с т х   с гл а ж и в а ю щ и

и ос н х д ы

х   ад н н ы

1

,  С п л а й н - г р у б е е

,  ' с п л а й н - т о ч н е е '

)

ь   к ом ан д   п р и в о ди т   к   к о н с тр и у р о в а н и ю х   сп лай н о в   с   раз н ы м и   од п с уи т м ы м и   о кт л о н е н и я м и  о т х   (р и с .  18.9).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC

О   н ад ы —  сй-напл бруег Н

е е

•   - й н ас л п е н о ч т

0.5 

с иР

. 18.9.  Сюижавщл ги

я   э то г

1.5 

о т  ин ыдо х с

ы  пр и  ризлнач ы х  дна ы

е   й на п л с

В   Spline  Toolbox  и мсет ли ч н ы х   п о р я дк о в , м и н и м и з и рюу щ и

т .  е .  п ри м ен яест фо р м е .  Д л



я   в з еш ен н ы о   и с п о л ь з ес т у

я   воз м ож н ост

ь   п о с рт е н и х   фн у к ц и о н а л

й   м ео т

д   н а и м ен ь ш и я   н фу к ц и



е

3 zyxwvutsrqponmlkjihgfedc

2.5 

х  диым тс поу

х   н о л ек и я т о

х

х я   5- фо р м

ы   сп лай н о

в   раз

:

х   к в а д р то я   spap2.  П р

в   в   с та н д а р тн о и   о б р ащ ен и

й и   к   не й

-

806 

аЧс т ь

  IV. Ис по льз вани е

 Toolbox и  р еш ени

sp  =   spap2  (kn ots,  к ,  х ,  у )  в есо в ы ие д н и ц е .  Зесд ь   k n o t s—  м ас и в   зу л о в к —  п о р яод к   сп лай н а .  М ас и в   у   м ож е и л и   м а рт и ч н ы е   да н н ы е . Д л я   куаз н и е у слд т   з ап и сат ь   и х   в   в е к от р   w, дл и н адт ь   в  п оят м  вохдн о м   а р мг у е н ет :  sp 

К ^  Пр и м е ча н и Д ан ы к о ри д н е а т В оз м ож н о б р ащ ен и срт о и ст я бы т ь   ц ел ы срт о е н и я н ы й   сп лай н н еп р е ы в н ы

е   м н о ж и е тл и   ,  х ,  у —  м ас и в т   с о ед р ж а т ь   я  в есо в ы х   м н о ж и ет л й а   котрог о   со в п аде =   spap2  (kn ots, 

 пр инхлыакд

п о л а г ю ст

я   рав н ы м х   ад н н ы х ,  в ек от р н ы

ы   и ос н х д ы

zyxwvuts

 зачд

и

, е ,  о лти ч н ы х   о т   1, т   с  дл и н о й   х ,  и  з а к , zyxwvutsrqponmlkjihgfedcbaZYXWV   к ,   у ,  w) .zyxwvutsrqponmlkj с к ал яр н ы е

е  ^Д

е  в  мисав

е  у  дл я  н цкуфи , ун дреюся т

и  spap2, ю вущтс еои

е   юоярп втщ йес

я

.

о   и з б еж ат ь   с о ат в л е н и я   п о с л е од в а е т л ь н о с т и   зу л о в ,  п р и бегн у в  к ю   s  =   spap2(L,  k,  x,  у ) .  П р и   э от м   п о с л еод в аетл ь н о с т ь   з уло в   а в от м а ит ч е с к и   с   п ом щ ь ю   н фу к ц и и   aptkn t.  П а р а м е т р   L долж е н м   и  п о л ж и те л ь н ы м ,  о н   о п р едля т   к о л и ч е с вт о   ч у а с кт о в   лд я   п о   сп лай н а .  Е сл и   L  > (len gth(х )  -   к ) , т о   н аохид ст я   и н ет р п о л я ц и о н , и н а ч е —  с гл аж и в аю щ и й .  В   лю б о м   с чл у а е   сп лай н   и ме т  к  -  2 х   п р о и з в о дн ы х .

П р и   п о с рт о е н и и   с гл а ж и в а ю щ е г о   сп лай н а   от ч к и   раз ры в а   о п р е д л я ю ст то м а ти ч е с к и .  С   п о м щ ь ю   н фу к ц и и   n ewkn t(s),  дг е   s  —  сртку м ац и е й   о   с к о н с рт и у р о в а н н о м   сп лай н е ,  м о ж н о   п о п ы ат ь с я   ч л уш и т л о ж ен н у ю   п о с л е до в а е т л ь н о с т ь   зу ло в   и  п ер с то и т ь   сп лай н , с н о в ш ис ь   к  фн у к ц и и   spap2:  si  =   spap2  (newknt ( s) ,  k,  x,  у) .  П р и м ен ен и в о з м о ж н о с ет й   и л ю с р т и р е с ут я   юс л уе д щ и м и   к о м а н да м и ,  в ы п о л н ен и р ы х   п р и в о ди т  к  с п л а й н а м , п р есдатв лен н ы м   н а  р и с . 18.10.

я   ав а   с  и н фо р ь   п р ед а   о б р а ти в е  эит е   кот

х -

>>  load  set l8.in at zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA >> s = spap2(3, 3, x, noisy); >> hold on >> plot(x, noisy, 'ro') >> fnplt(s, 'b+- ') >> si = spap2(newknt(s) , 3, x, noisy); »  fnplt(si, '- ', 2) ; >>  legend('иындохс

е   дан ые'

,  'ныньлач

й  ' нйалпс

,  'п' йын еортс

)

>> hold  off

Бо л е е   п о др о б н о   о   в о з м о ж н о с ят х   н фу к ц и н о й   с и ем т е   MATLAB  п о  Toolbox  (см gorical List: Construction of Splines).

. р а з д

и   spap2  м о ж н о   зу н ат ь   в   сп рав о ч .zyxwvutsrqponmlkjihgfedcbaZYXWVUTS  Spline Toolbox: Functions -   Cate-

л ав Г

 18. абРо т а

 с о

 сплайнм и

 в  Spline Toolbox

807zyxwvutsrqpo

0.9 О   1 

0.8 0.7

и с о х дн ы н ы ьл а ч

е  дан ы й  с пйал

е н  (L=3)

11 е  у  ь  ь : i p  и  у  н  н  ы  й  (L- 3)

0.6

I \

05

I

0.4

X

0.3 0.2

\

0.1 f n.1

о i - 0.1tzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 1  !  1.5  2  2.5  31zyxwvutsrqponmlkjihgfedcbaZY )  0.5 1 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF

Рис

. 18.10. П о срт ен и

нт И е р а т к и в но

е   сп лай н и  ег о  к о р ек ц и

а  с  п о м щ ь

е  пост ре ин

В   Spline  Toolbox  в о з м о ж н Д л я   э то г о   и с п о л ь з ес ту П р и   е г о   з а п с ку е

ю   н уф к ц и

е  кывир о   п о с рт о е н и

я   п р и л о ж ен и

е   кри вы е   с  гр афи ч еск и

и   spap2

я

х х   в   и н ет р а к ит в н о м   и н е тр ф й с о

м   р еж и м е . м   getcurve.

»  getcurve о кт р ы в а е ст н а   о ся п р и в о ди сы в аю с т

я   окн о , в   к о т р о м   с   п ом щ ь ю   мы ш и   р т е бс у я   о мт е и т ь   то ч к и х   (р и с .  18.11).  Щ ел ч о к   мы ш ь ю   в н е   о се й   о з н а ч е т   з ав ер ш ен и е   в од а  и т  к  с о з да н и ю   кри во й  (р и с .  18.12).  П р и  эот м   к о р ди н а т ы  то ч е к  з ап и я   в  с атн да р нт у ю   п ер м н у ю   ans  и  в ы в о ядст я   в  к о м а н дн о е  о к н о :

- 0. 7903 - 0. 2193

- 0. 4032 0. 2076

- 0 .0115 - 0 .0029

0 .3848 0 .2076

0. 5922 0. 0088

аЧс т ь

808

 IV. Ис по льз вани е

 Toolbox и  р еш ени

 пр инхлыакд

 зачд

zyxwvut

Use mouse clicks to pick points INSIDE me gridds" aies 0.8 0.8

. : 

• • . 

' .  •

0.4 0.2

1

Q



• 

>

- 0.2 - 0.4 - 0.6 - 0.8 i

«0Я   .Q 6  >0,4  - 0.? 



0.2 

0 4 

CJ8 

0 8

|

zyxwvutsrqponmlkjihgfedc

4Vhr!n у  л и  are done, dick  OUTSIDE the gnddad ^гл а

.  18.11. Р а б о т

Рис

а  в  о к н

е  фн у кц и

и   ge t c u r ve

О Б D4 1^.

0.2

_^i

/

0

-

\

^

/ 4(*

*С\ 2 - 0,4

. , ..

«0.6 - 0.8

Рис

i

1

- 0.8 

- 0.6 

.  18.12. Р ез льуат

1 - 0.4 

- С. 2 

т  р а б о т

1

0  done

13,2 

ы   н фу к ц и

0.4 

0.6 

0.8

и   ge t c u r ve

\

л ав Г

  18. абРо т а

  со

 с плай нм и

809 zyxwvutsrqp

 в  Spline Toolbox 

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG е  splinetool

рП и л е о ж н и

т   п р и л о ж ен и В   с о ат в   Spline  Toolbox  вохид п о л ь з о в а ет л я   sp lin e t o o l,  к о т р о е   п о з в о л яе м ен т ы   п о   ап ро к си м ац и и   сп лай н ам и .  П о л ь з о в а те л и м е ю щ е го с я   н абор а   и л и  з а д т ь   с о б вт е н н ы е •   сп ос б   ап ро к си м ац и щ и е  с п л а й н ы П   раз ли ч н ы

ы  гр а н и ч н ы

х   с ул о в и й

к  игомеузьлопс

Р а с м о рт и о б р ащ ен и

, а  так ж

м   и н ет р ф й с о и   н а г л я нд ы ь   м ож е е   в ы б р а ть

м

е   э к с п ер и ь   да н н ы

т   в з ят

е  и з

:

и  —  и н етр п о л яц и о н н ы е   сп лай н ы   и л и   с гл а ж и в а ю ;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

е  ти п

ќ  поряд

е   с   гр а фи ч е с к и т   п р о в ес т

;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM

о  анй лпс

м   работ

-

.

у   с   и н ет р п о л я ц и о н н ы м

и   кб и у ч е с к и м

и   сп лай н ам и

.  П р

и

и

»  splinetool о кт р ы в а е ст к н оп к ам

и  дл

о   п р и л о ж ен и а   да н н ы х

я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ   Spline  Tool,   п р и в едн н о е   н а   р и с .  18.13,  с .

ю   кн оп к у   Provide your own  data  or  an  m- flle that  does,   п ренд а е   п ер в у ю   лд я   в о д а   с о б вт ен ы х   ад н н ы х   и л и   и м ен и   М - фа й л а ,  в   к о т р о м .  О кт р о ест я   окн о  Please provide data,  п о к а з а н н о е  н а  р и с . 18.14, м   в е дн ы   да н н ы е   л д я   д е м о н с тр а ц и о н н о г о   п р и м ер а   п р и б л и ж ен и я и   co sx

Н аж м и т з н а ч ен н у о н и   с о з ад ю с т я в   котро н фу к ц и О з н а к о м ь ет с жми т

я   окн я  в ы б о р

ь   сн ач л у  О К

е   кн оп к

а   с   п р е лд а г е м ы . О кт р о ест

я   окн

м   в а р и а н то м о  Spline Tool (ри с

.  Н и ч ег о   н е   и з м ен я . 18.15).

, н а -

В   окн е  Spline Tool,  п о к а з а н н о м   н а  р и с .  18.15, дем о н срти ресту я   п р и б л и ж ен и е н уф к ц и и   cos л ; и н етр п о л яц и о н н ы м  кбиу чески м   сп лай н о м  с  услови ям и   "отсу св т и я   зу л а " .  В   п р а в о й   ч аст и   окн а   в ы в о ид с т я   гр а фи ч е с к а я   и н фо р м а ц и я .  Н а в не р х м   гр а фи к е   сп рав а   сп лош н о й   ли н и е й   п о к аз а н   к б иу ч е с к и й   сп лай н ,  а к рж у а м и   —  и осндх ы е   да н н ы е . Н а  н и ж н е м   (в с п о м гаетл ь н о м )  гр а фи к е  п ри в е нд а   ош и бка , в о з н и к а ю щ а я   п р и  з ам ен е  и оснхд о й   н фу к ц и и  с п л а й н о м .

^  Г и рфа н же и и с м о ва иь с д т н ь о тс

П р и м е ча н и к   о ш и кб е  ап рокси м еору м   иов с я   а т м   же ю  д о  п шреог н ост

е   ^5 и   м ж ое

т   бы т

ь   вы н е д й   н у кф ц и х   з н ча е и й   в   о ч тк а , т . е .  п р и   и н рептоли рван и и   нле г о к р у и я

,  л с е и   инзтсве о   на л и т ч с к е о . Елс и  ж е  фн цку и я  табли чн а х   р аз ы в о ,  т о   и   ош и бк и   о н а   ч с и п т у ло .

е   в ы ра я   и  зс теа д а   е д уб я   н в о ей л у

я

т   вы о ,  с  точ

-

810

Ча с т ь

  IV. И сопльзаиевн

  Toolbox и  ре шин

 пхынрикла д

 за ч д ЁШ е З [

I- J Spline Tool 

zyx

| zyxwvutsrq

Choose some data to work on with the SPLINE TOOL: Provide your own data or an m- file that does The following data sets illustrate various aspects of spline fitting. Titanium heat ciata Noisy values of a smooth function The function sin(x) on [0 .. pi/2] Census data Richard T

Improve shape, of interpoiant by moving knotszyxwvutsrqponmlkjihgfedcbaZYXWVUT

Рис

.  18.13. О к н

о  Spline Tool

• }. Please provide data Give a value or an expression for the data sites (or the name like titanium, whose output, [x,y], provides both data sites an p.which case you can ignorethe request for data values be ]linspace(0,2*pi,31) Gv ie* a correspond Give a value or an expression for the corresponding data va a function whose values at the data sites are to be used as Give a corresponding label for the y- axis (default  is data vak

OK Рис

.  18.14. О к н

Cancel

о  Please  provide data

л ав Г

  18. абРо т а

  со

 с плай нм и

 в  Spline Toolbox

811

Л  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Spline ToolzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA File  Edit  View  Help - List of approximations New ReplicatezyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

D elete

J shown in graph

Rename...

- г Approximatio n method I Cubic S pline I nterpolation 

jy

End conditions:  |  not- a- knot  J * j left end  1st deriv. 

right end I 

1st denv.

-г Data , breaks/ knots, weights....

sites  and values 0.20944  —1 0.978148 0.418879 0.913545 0.628319   —*0.803017 0.837758 0.669131 1.0472 0.5 1.25664 0.309017 1.46608 0.104528 1.67552  i - 0.104528 3  4 linspace(0,2*pi,31)

Bottomline:  splinei  = csapi(x,y);  %  same as csape(x,y,'not- a- knot') or spline(x,y) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR

с Ри

. 18.15.  Онк

о  Spline Tool,ю щи дур неомтс

Н а   в с п о м о г а ет л ь н о м   гр а фи к е п р о и з в о дн ы е   сп лай н а .  В ы б о р п р о и з в о ид с т я   в   м не ю   View.   П ош и бк и   (п ну к т   Show Error).  Д л п р о и з в о дн о й   е с лу д т   в ы б р а ть и л и  Show 2nd  Derivative. В   р ас п о л ж ен н ы

м о ж н о ст н ог

о   сп лай н

х   с л ев и  дл я   п р о в едн и а   э т о   э к с п ер и м ен т

е  пниежлрб  так ж е   м о гу   о т б р аж ем о о   му о л ч а н и я   о т б р аж ен и ,  с о вт ес н н о

а   о т   гр а фи к о я   э к с п е р и м е н от в

т   бы т

ь   п о с рт о е н й   и н фо р м а ц и ю   о щс у е св т л я я   гр а фи к о ,  п ну к т

в   п о ля . Д л ы   с   и з м ен ен и е

х   п р е дл а г ю с т я   к б уи ч е с к о г м   гр а н и ч н ы

е  фнцкиу

и  cos*

ы   п ер в а я   и  в то р а я и  н а   э от м   гр а фи к е я   вы во д   гр а фи к а в   п ер в о й   и л и   в то р й ы   Show  1st  Derivative я   раз ли ч н ы о   и н ет р п о л я ц и о н х   с ул о в и й

е   воз

-

.  В   п о л

е

812 

аЧс т ь

 IV. Ис по льз вани е

 Toolbox и  р еш ени

 пр инхлыакд

zyxwvu

 зачд

 н оахядст я   вд а  сп и ск а : п ервы й   п р е дл а г е т   вы брат ь  сп о Approximation methodzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

со б   а п р о к с и м а ц и , а  в то р о й  — з а д т ь   гр а н и ч н ы е  усл о в и я .  В  п ер в о м   сп и ск е к у а з ы в а ес т я   ит п   с п л а й н а ,  п о   му о л ч ан и ю   Cubic  Spline  Interpolation  (И н етр п о л яц и я   к б уи ч е с к и м   сп лай н о м ) .  В от р й   сп и со к   End  conditions   жслиу т   лд я п о с ат н о в к и   гр а н и ч н ы х   с ул о в и й ,  п о  ум о л ч ан и ю   э т о  усло в и я   "оствуи я   зу л а "  (not- a- knot).   Г р афи к   л д я   э от г о   с ч л ау я   ж у е   в ы в едн .  П о л е   Data, breaks/ knots,  weights   соедр ж и т   ад н н ы е   и  п а р м ерт ы   п р и б ли ж ен и я ,  к о т р ы е м о гу т   бы т ь   и з м ен ен ы . В  сам о й   н и жн е й   ч аст и   окн а   Spline Tool в   срт о к е  Bottomline   п р и в едн а   з ап и с ь   н фу к ц и й   Spline  Toolbox,  и с п о л ь з о в а ш и сх я   лд я п о с рт о е н и я   сп лай н а .  М о ж н о   в ы в ес т и   о нд о в р е м н н о   гр а фи к и   сп лай н о в  с раз ли ч н ы м и   гр а н и ч н ы м и   с ул о в и я м и .  Д л я  со з адн и я   н овог о   сп лай н а   и  в ы в о д а   ег о  гр а фи к а   щ ел к н и т е  п о  к н о п к е  New в  п о л е  List of approximations.   З еат м в   п ол е  Approximation method  в ы бери т е   и з  сп и ск а  дргоу й  в и д  гр ан и ч н ы х   сло у в и й   End  conditions,   н а п р и м е р ,   second  (т . е . услови я   н а  в то р ы е   п р о и з в о дн ы е н а   к о н ц а)х .  В   о б л а с ят х   в о да ,  р а с п о л ж ен н ы х   п о д  сп и ск о м   End  conditions, з а д ю ст я   з н ач ен и я   в от р ы х   п р о и з в о дн ы х   н а  к о н ц а х   п р о м е ж кт у а .  В   да н н о м с чл у а е ,  п о с к о л ь к у   н фу к ц и я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF   cosx  з а д н а   ан ал и т ч ес к и ,  т о   в ы ч и с лен и е  в от р ы х   п р о и з в о дн ы х   е д бу т  в ы п о л н ен о   а в от м а ит ч е с к и .zyxwvutsrqponmlkjihgfedcbaZYXW ^  Дл жа у л с л Ес

Пр и м е ча ни я   в ы бо р

а   п к о р дя т   кн оп ки , рсап олжне ы е  н ап и сан и  н а  кн оп к 1st  deriv.  и  в   чювае от щ у п р о и з в он д й .

е   а   п р о и з в но д й

^ , з н чае и е   н а д  сю вущтс еои м о  2nd deriv., т о  н ижат ю   е й   о б л ас т ь   в од

е   к о тр

й   н и о д м ебх и   м яо б л а с т е   н а  н е е  и змне и а   з на о с и т я   з н ча е и

о   з аь д т и   в ао д т  нп диа с е   п в ор е

, . ь  н а й

Н овы й   гр а фи к   ср аз у   ж е  в ы в о ид ст я   н а  э к р а н . Т екщу и й   гр а фи к   о б з н а ч е ст я и   ит п а м и ж и рн о й   ли н и ей .  П о э к с п ер и м ен ит рйу т е   с а м о с т яел ь н о   с   др г у и м гр а н и ч н ы х   с ул о в и й ,  п ер ч и слен ы х   в   сп и ск е   End  conditions.   Р ез луь ат ы   ра бот ы   м ож н о   в ы в ес т и   в   о ед т л ь н о е   гр а фи ч е с к о е   окн о ,  в ы б р а в   в   м не ю   File п ну к т   Print to Figure.   Д л я  э к с п о р т а   и о сн дх ы х   ад н н ы х   и  р е з луь та а   ап ро к си м ац и и  в  р а б о ч у ю   с р де у  се улд т  в ы б р а т ь   в  мне ю   File  п ну к т ы   Export Data и е   п ер в о г о   вари ан т а   о кт р ы в а е ст я   окн о   Copy  data to Export Spline.  П р и  в ы б о р workspace,   а  в то р о г о  —  Copy spline to workspace, в  к о тр ы х   п р ел д а г с т я   в ес т и   и м ен а   лд я  э к с п о р ит реум ы х   ад н н ы х   и л и  со гласи ьт с я   с  н а з н а ч ем ы м и  п о му о л ч а н и ю .  П ну к т   Save  M- file   м не ю   File   п р енд а з н а ч е н   лд я   г е н е р а ц и и  М фа й л а  с  к о м а н да м и , к о т р ы е  р еал и з юу т   с о з ад н и е   п р и с вт ю у щ и х   в  да н н ы й е   гр а фи к о в ,  в к лю ч а я   н фу к ц и и   л д я   п о с рт о е н и я   с о в т се м о ен т   н а   э к ран вю у щ и х   сп лай н о в . Оп и ш е в   п р и л о ж ен и лд я  в ы ч и слен и

м   п р и б л и ж ен и

е   сп лай н ам и   sp iin e t o o i.  П р е дв а р и те л ь н я   и с е лм у д о й   (ли ст н

и   п рои з воль н о

й   фн у к ц и о   е с лу д г   18.2).

т   с о з ад т

, н а п р и м е р ь   фа й л - н фу к ц и

,  XQ~ X , ю

л ав Г )

 18. абРо т а . . . . . . . М . . . . .


 с о

. . . . « >

. >

. » . .

« 

 сплайнм и . . «. . . •

 в  Spline Toolbox •









' •

. . . . . . . . •

. •

. . . •



. . . М . . . . М > < « М . « . > '. .> .


Wx ]»  Т 0  уд б з н ач ен и й .  Е сл и   о п щ у ен н и я , т о   п о  ум о л ч ан и

т   р а с ч и ат н ы   о б а   п а р м е тр ю   расч е т   п р о в ид с т

ы   от ч к

и   э ф е к ит в н о й   гр а н и ц ы   лд я   э и т а   и л и   лд я   н и х   з а д н ы   п сы т у е   з н ач е я   л д я   е сд я т и   р а в н о тс о я щ и х   от ч е

х к

886 

аЧс т ь

 IV. Ис по льз вани е

 Toolbox и  р еш ени

 пр инхлыакд

zyxwvu

 зачд

и н ет р в а л а   [)Vv,  y m a x ] •  П о с к о ль к у   п ер в о н ач ль н о   н е   и з в е с нт о   з н а ч ен и е j l o w ,  т о   ег о   м о ж н о   р а с ч и та ь ,  о б р а ит в ш и с ь   к   н фу к ц и и   с о   з н а ч ен и е м н   в   п ри во п чи сл о   =   2.  Д р гуо й   сп ос б   п о ч л уе н и я   j / l o w  п р о де м о н с тр и р о в а ид м о м   н иж е   п р и м ер .  П о с ленд и й   п ар м ет р   м н о ж в с е т_ о р г а н и ч н е и й   лд я portopt  п р есдатв л яе т   м а рт и ч н у ю   фо р м у   до п о л н и ет л ь н ы х   о гр а н и ч е н и й  н а в ес о в ы е   к о э ф и ц и ен т ы  а к ит в о в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE   xt  в  п о р фтел . Д о л ев ы е   о гр а н и ч е н и я   н а  со ас т в   п о р ф т е л я   в   frontcon  р а з б и т ы   н а   дв а   в и а д :  дв су то р н н и е   н а   к аж ы д й о   а к ит в а  в  оедтль н о сит )  и  н а  с гр пу и р о в а н н ы е   а к ит в ы  п о ве с   xt  (ДЛ Я   к а ж до г р аз н ы м   п ри з н ак ам . П а р м е т р   Г а к ти в о в   о п р е дл я т   с о ат в   г р пу ы ,  а  п ар м ет р   г _ о г р а н и ч е н и я   —  з а д е т   о гр а н и ч е н и я   лд я   грп у ы   (з адн и е   од п о л н и е тл ь н ы х   о гр а н и ч е н и й   р а с м о рт е н о   ад л е   в  р.азд   "Де ьын итле по   - е г а и н чо р иня  пир  аизе анл йе  пле тфро  " эйто  г)авы л . В ы о н хд ы п о р ф ет л •   приск о кт л о н е н и

е   п а р м е тр й  н а  э ф ек ит в н о —  в е к то я  до хнд о с т

•   п до х дн о с т •   п до ли п о р фт е л

ы   у   н фу к ц и й  гр а н и ц е р   ри ск о

и   —  в ек от —  м ас и в .

ы   и   с о ед р ж а

в   л д я   к а ж од г и   о т  о ж и да ем о й ) р   о ж и ад е м ы

, к аж д

й   о ди н а к о в :

я   с рт о к

о   п о р ф те л ;

и

я   (с р енд ек в ард ит ч ес к и

х   од х н о с е т а   котрог

т   а х р к ет р и с ит к

й   лд о   п р е сд а т в л я е

е

я  к а ж до г

о   п о р фт е л я т   до л

и   а к ит в о

; в  в

Е сл о ди н а к о в фе к ит в н о

и   н е  и с п о л ь з о в а т ь   до п о л н и е т л ь н ы х   о гр а н и ч е н и й , в ы з о в   лю бо й   н фу к ц и и , п о э т м у   р а с м о рт и м   н фу к ц и ю  po rt o pt  лд я   н оахж едн и я   от ч е к  э ф й   гр а н и ц ы   л д я   м о ед л ь н о й   з адч и .  В   н аш е м   с ч л уа е   у т[п   = 10.8% и Ута х   = 19.1%.  П о п ы атем с я   р а с ч и ат ь   ч еы т р е   п о р ф те л я   с  до хдн о с ятм и  о т 12% с  ш аго м  в   2%: »  P_Ret  =   [0.12  0.14  0.16  0.18];zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO >> [P_Risk, P_Ret, P_Ass] = portopt(A_yld, A_cov, [ ], P_Ret) ??? Error using ==> portopt One or more requested returns are less than the return 0.131667 of the least risky portfolio П о лчу е н н о е   с о б щ ен и е   о б   ош и бк е   и н ф о р м и р е ут ,  ч т о   э ф ек ит в н о г о   п орт фе л я  с  до х дн о с ть ю ,  м ен ь ш е й   о . 131667, н ет . Ук а з а н н о е  з н ач ен и е  ест ь   y l o w  в н аш и х   о б з н ач ен и ях .  Н а д о   ли б о   и з м ен и т ь   в е к от р   з адн н ы х   од х н о с е т й п о р фт е л й ,  л и б о   и сп о ль з о в ат ь   р г ду ю   фо р м у   вы з ов а   фн у к ц и .  В о сп о ль з у ем с я  дргиу м   сп ос бо м  р а с ч е т а   ч ые т р е х   п о р ф те л й  н а  э ф ек ит в н о й  гр а н и ц е : >> [P_Risk, P_Ret, P_Ass] = portopt(A _yld, A _cov, 4) P_Risk = 0.0805

л ав Г

 20. Реш ени

 эокн м и чес икх

 зачд

887zyxwvutsrq

0.0884 0.1126 0.2050 P_Ret = 0.1317 0.1514 0.1712 0.1910 P_Ass = 0.57 47

- 0.0000

0.0487

0.2592

- 0.0000

0.3822

0.0000

- 0.0000

0.4088

- 0.0000

0

0

0

0

О б р а ти в   о ид н аи бо ль ш е

е   в н и м ан и е н   п о р фт е л ь й  до х дн о с ть ю

т п О им ы а н л ь П о с тр о е н и п о р фт е л й н о ш ен и М о де л и р о в а н и л ясе т

, ч т о  дл .  П о сленд и

я   н аш ег й   п о р фте л ,  ч т о  в п о л н

й  воб ы е   э ф ек ит в н о .  И н в ес от ю   к   ри ск у я  с  п о м щ ь

р  пе орлт ф

0.2336

0.0000

0 .1430

0.0020

0

0 .3566

- 0.0000

0.1411

0 .4501

о   п р и м ер

а  в то р

ь   со ти е   п р е с д к а з е му о

1 .0000zyxwvutsrqponmlkjihgfed

й   а к ит т   то л ь к

в   (Е 1 ) н е  в о ш е л  н и о   и з   о дн о г о   а к ит в а  с .zyxwvutsrqponmlkjihgfedcbaZYXWV

я

й  гр а н и ц р   в ы би рае :  п о рфтел е   о нт о ш е н и ю   н фу к ц и

ы  дае т   и н в есотр у   м н о ж е св т о   э ф е к ит в н ы х т   то т   и з   н и х ,  к о т р ы й   с о вт ес у т   ег о   о т ь   с   бо ль ш е й   од х н о с ь т ю   и ме т   боль ш и й   ри ск . я  и н в есот р а   к  ри ск у   в  п ак ет е  MATLAB  ощсу есвт и  п о лез н о ст и  Н е й м а н а —М о н г е р ш те р н а :zyxwvutsrqponmlkjihgfe (20.14)

П о с т ян н а о п и сы в ае в с е х   то ч к а се я  сем й свто од х н о с т гр а фи к е м н о ж е св т я в л се т в   котро о б з н ач ен н аль н ой в еу л и ч е н и

я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   а   н а з ы в а ест я   м к е о с и дн  нтия пер  ркиса.   рУа в н е н и е   U  = const т  л и н и ю  б ез р а з л и ч и я , т . е . п о лез н о ст ь   л д я   и н в е с от р а   о ди н а к о в а  н а х   э от й   к р и в о й .  М н о ж есвт о   иэ т х   л и н и й   о б р а з юу т   н еп р ес к а ю щ е , п р и  э то м , че м  б о л ь ш е   п о л е з н о с ьт , те м  в ы ш е  (п о  о нт о ш ен и ю  к и   у р )  и  лев е   (п о  о нт о ш ен и ю  к  ри ск у   а р )  к р и в а я  р а с п о л ж е н а  н а . И н в е с то р  сртем и ст я   м ак си м и з и ро в ат ь  з н ач ен и е   о д п с иу т м ы х   п о р фт е л й .  П о э т м у   о п ит м а л ь н ы я  п о р тфе л ь , о вт еч а ю щ и й   еи д н с в т е н о й  то ч к й   о н а   к а с ет я   о нд о й   и з  ли н и й   б ез р аз л и ч и а   Т ).   Э т а   ли н и я   б ез р аз ли ч и я ,  к о т р у ю ,  овтеч а т   н аи бо ль ш е й   од с и т ж и м о й   п о л е з н о с ит е   п р и в ед т   к   о с вт у и ю   общ и х   от ч е к  н

е  фн у кц и

и  (20.14) н я   и н в е с от р е  э ф ек ит в н о й  г р а н и ц ы я   (н а  р и с . 20.1  э т а   то ч к   е д бу м   н аз ы в ат ь   рац и о ,  и б о   м алей ш е е  е а   од п с уи т м о м   м н о ж е св т м   лд

а а , а е

е

zyxwvuts

 IV. Ис по льз вани е  Toolbox и  р еш ени  пр инхлыакд  зачд аЧс т ь 888zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

п о р фетл яв л с ет гл о у гр а н и ц е

й   и  в ы б р а н н о я   гул о в й ,  п о э тм в   н ак лон а   к а с ет л ь н ы ) м о ж е т   н е  в ы п о л н яьт с я

м   р уо в н

е   п о л е з н о с ит

.  Т о ч к а   3 э ф ек ит в н о й   гр а н и ц ы е   к ас н и я   ли н и й   (со в п аедн и е   ат н г е н с о в х   к   кри во й   б ез р аз л и ч и я   и   э ф ек ит в н о й .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG

у   с лу о в и х   п р ям ы

бо ы В

р  иорсевнт

м  пл е ф тро

я  дл

я  м леод

и  Мовицрка

а

0.4

0.35 &  3

0.3

  " Угла

х

0.25 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA и^- Т оп т (Шын ь л а ь ро с те в н и а и л е ф т ро п k •

I  0.2





• ""

 

т

"у^ / zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE

0.15

i"V i

0.1

0.0Е

).О 5

0.1

с Ри

О дн а к о   в   п ак ет к о гд а   и н в е с от и   в   б ез р и с к о в ы срок а   (го р и з о н та Г у  . Д о п о л н и те л ь н

. 20.2, с п л о ш н а

я  ж и р н а

к   п р ям о

й   1- 2,  н а ч и н а ю щ и й с

то ч к 2.  уЛ н иц 3.  Ча с т

е   2 гр а н и ц

я  л и н и я)

ы   М аркови ц

я 0.35

о  пл е ф тро

0.4 zyxwvutsrqponmlkjihg

я

е  Мивокрца

а

а  н е  то л ь к я   еи д н с в т е н ы

я   гр а н и ц

я   м о е дл ь   и н в е с ит р о в а н и я о   в  р и с к о в ы е  а к ти в ы м   лд я   в ы б р а н н о г м   п р о ц е н нт о й   с ат в к о ь   з аем н ы е   с р е дв т а   п о   с ат в к

а   м ож е

т   со тя

ь   и з   рт е

, , н о о й е

х   ч а се т

й

: я   в   от ч к

ы   М арк ови ц а

ч   3 -   4  (4 —  н е   к о н еч н а е  М а р к о в и ц а , и осядщх е ь   гр а н и ц

р  оиьпнлматго й  гнар и ц

а

0.3

0.25 к  (а )

е   и с п о л ь з ес т у я   м о ди ф и ц и р о в а н н а р   м ож е т   в к л а ды в а т ь   с р е дв т й   а к ти в ,  к о т р ы й   я в л се т )  и н в ес ит р о в а н и я ,  ахр к етр и з еум ы о   и н в е с от р   м ож е т   п р и в л ек ат

(см

1.  О рт ез о

0.2  и Рс

. 20.1.  Выоб н а ин эв отк е ф

у   э ф е к ит в н а

" Мовирцка я  бичлзреа

р и ва к

.0.15

т ь   (г ь   >Г/ . • ),  п о э тм . р и с

"пялу

i

е   (о , ту )  и   к а с ю щ и й с

я  в

. я   то ч к а )  ест ь   ч аст ь   к а с ет л ь н о й   и з  то ч к и   (0, г ь )  . а   м ж де

у  то ч к а м

и   2 и  3.

й   п р ям о

й   к   гр а

-

л ав Г

 20. Реш ени

 эокн м и чес икх

889 zyxwvutsrqpon

 зачд й а ч су л

бщ О и П  А

й р н ви т к  эфе ф

й ци н а р г ы

1

у 4 *:.• '

0.35

/

ах _

0.3

й л е ф тро п

ы н ь л е т са к

S

ь -2

л   0.25 о о

X

г  



°-

2 - ын  кь ле тса

й л е пф т р о

ь  - 1 -

2

0.15

-

Ч V

W -

0.1

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 0.25 0.35zyxwvutsrqponmlkjihgfedc 0.15  0.2 03 0.1

Г )  П ^

0.05

0

ис Р

. 20.2.  Э фекит вн а

Рис б ез р и с к о в ы

х   в л о ж ен и

В  з ав и си м о ст и   о т  то г , к а к о г кри ва я   б ез р аз ли ч и я ,  и н в есот Точк а   к ас н и я   е д бу т   е ид н с в т е н н о й в ы п к ул о й   нфу к ц и е й . Е сл и н в е со т р с о вт ес ю у щ и

и   рац и он аль н а

Е сл од п с у и т м о ц и ен к ас н и

и   рац и он аль н а

я   гр а н и ц а   пр й   и   з а и м с вт о а н и

а  э фекит в н о т   св о ,  п о ск о ль к

я   кри ва я   б ез р аз л и ч и т   влож и т ь   в с е   с о б вт е н н ы й   от ч к е   с о п р и к о с н о в ен и я

у   е су л д

й   п р ям о т   Ј  в ло ж ен и я  п р ям о

о  учаскт р   с ф о р м и ре у

к  (а )

я   кри ва й   (о рт ез к о я   с р е тд й  с  гр а н и ц е

и   н али ч и

й  гр а н и ц й   п о р фт е л у   ли н и я   б ез р аз л и ч и

я   с о п р и к ас ет е   с р е вд т , к а к  в  м оелд

я   б ез р аз л и ч и

я   с о п р и к ас ет м   1 -   2 и л и  лчуо в  в  к ас етл ь н ы й   п о р фт е л ь й   М арк ови ц а :

и й

ы  бед у ь   ц ен ы

т   к а с ьт с х   бм у а г я   я в л се т

я   с   гр а н и ц е а   в   ри ск овы и   М арк ови ц а

я   с  к ак о й - л и б м   3 -   4), т о   п о лчуаест ,  со втесюу щ и

о   ч а с ьт я   к о э фи й   от ч к

о   п о р фт е л

я   ли б

ю е

(20- 15)

гд е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   at  —  р и с к ,  овтеч аю щ и й   н а й ед н н о й   то ч к е   н а   э ф е к ит в н о к   к а с те л ь н о г

. я

й   2 - 3 ,  т о й   п о р фт е л ь , .

Ј = 4 т , 

.  Т ек с т   фа й л - н фу к ц и и mypiotprog  со едр ж и ст я   в  ли сит н г е   22.1.  И м ен а  о б ъ ек от в   окн а   п р и л о ж ен и я  и вы з ов ы   mypiotprog  п р и  в о з н и к н о в ен и и  с о б ы ит й   callback  да н н ы х   о б ъ е к от в п р и в е нд ы   в  та б л .  22.1.

IzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  fMniyplot

0.8













1

0.6 0.4 0.2



0 \ 



\

- 0,2 - 0.4 -

i  i 0.1  0.2















0 . 3 

0 . 4 

0 . 5 

0 . 6 

0 . 7 

0 . 8 

л

$!п(10*х. П о с тр о и т

ь   г ри а ф

к

Оч и с и т

ь  о с

т

 22.1. анеzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP  Им кевтоъ б инея пж о илр  myplot Им

а   в од

К н оп к

а  П отиср

ь и  гфа р

К н оп к

а   т ис О ч

ь   ос и

)

и

а ц и а лб Т

С р то к

1

.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE   22.1.  О к н о   п ри лож ен и я   m yp l o t zyxwvutsrqponmlkjihgfedcbaZ

Рис

О б ъ ек

х

2). рех(- х

1 0 . 9 

а к

я

С о б ыт и

е   C a l l ba c k

FunEdt

m yp io t p r o g( ' S e t F u n ' )

P lotBtn

m yp io t p r o g( ' P r e ssP lo t ' )

C learBtn

m yp io t p r o g( ' P r e ssC le a r ' )

л ав Г

 22. М еорд ни зац и я

 преин лойж

 с  GUI вер с и

 5.3 

931 zyxwvutsrq

function myplotprog(event) global FunStr switch event case 'SetFun' % Пс и о

к  ул е т а з к

я  н а  ск о р т

у  вд о в

а  и  зи н е с н а

е  ег

о  в  HFunEdt

HFunEdt = findobj('Tag',  'FunEdt'); % зи н е с н а

е  в  гу н ь л а б о л

ю  пу н е м р е

ю  FunStr сг о м и ж р е д о

о  ск о р т

и  вд о в

а

FunStr = get(HFunEdt,  'String'); case 'PressPlot' % Зи н а д

е  вр о т к е

а  ао т н е м у г р

в  дл

я  пи н е о р т с о

я  гк и ф а р

а

х  = 0:0.01:1; % К инавориуртсно

е  и  ви н е л о п ы

% ат н е м у г р

е  ск о р т

и  дл

я  ви н е л с и ч ы

я  вр о т к е

а  зи н е ч а н

й

а

eval(['у  =' FunStr  ';']) plot(x, у ,  'LineWidth', 3,  'Color1,  'k') % Пи н е о р т с о

е  гк и ф а р

а

case  'PressClear' cla  % ок т с и ч

а  ое с

й

endzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

С в едн и я п ри н ц и п о п о л ь з о в а те л ид м о с т гр а фи к н о й  гр а фи к п р и л о ж ен и

М ое д р н и з а ц П р и л о ж ен и ви ло ж ен и осн овн ы в ен н ы н ие в и уд бо ле

е   в   ю с у л ед щ е м   р а з ед л ,  п р едп о л а г ю т   п он и м ан и е ,  и з ло ж ен н ы в   к о н с рт и у р о в а н и я   п р и л о ж ен и й   с   гр а фи ч е с к и м   и н етр ф й с о м я   к а к   в   в ер с и и  5.3,  ат к   и   в  сюлуед щ и х .  О б р аит ес ь   п р и   н ео б х и   к  со втесюу щ и м   р а з де л а м   к н и ги , п о св ящ ен н ы м  де с к р и п то р н о й е   и   с о з ад н и ю   п р и л о ж ен и й   в   MATLAB  (и с п о л ь з о в а н и е   д е с к р и п то р и  о п и с а н о  в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  гаве л  9, чтась  III к н и г и  о св ещ ает   воп рос ы  н а п и с а н и я й  с  G U I ).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

я  приле ожн я

е  в ерси и   5.3  с  гр афи ч еск и м   и н е тр ф й с о м   п о л ь з о в а те л я ,  к а к   п р а ,  соедрж и ст я   в   фа й л а х   с  р ас ш и р ен и е м   mat  и  т .  П р и м е р  та к о г о   п ри ло я   mypiot  п ри вед н   в   п р ые д щ у е м   р а з ед л .  Д а н н ы й   р а з де л   о п и сы в ае т е  э ат п ы   п ер в о д а   фа й л о в   п р и л о ж ен и я  в   фо р м а т ы   F I G  и  М , свой ст е   бо ле е   н овы м   в ер с и я м   M ATLAB,  и  и з м ен ен и я  с в яз ан н о й   с  п р и ло ж е м   фа й л - н фу к ц и и  о б р а б о тк и   с о б ы ти й .  П р и л о ж ен и е  п р и в о ди ст я   к   ат к о м у ,  к о т р ы й   о б ес п еч и в а е т   ад л ь н е й ш у ю   работ у   н а д   н и м   в   с р ед е   G U ID E е   н овы х   в ер с и й   M ATLAB  бе з   к а и -х ли б о   о с б е н н о с ет й .  П р о ц ес с   мо -

932 

аЧс т ь

  V.  о п Длни т ельны

 MATLABzyxwvuts

 во зм но с тж и

ед р н и з а ц и и   н е  треб у т   с ау т н о в л е н н о й   в ер с и и   5.3,  н ео б хид м о   и м ет ь   то л ь к о фа й л ы   п р и ло ж ен и я . В сю д у   ад л ь ш е   п о д   MATLAB  м ы   ед бу м   п о н и м ат ь   в ер си ю  сатрш е   5.3.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Со рх а не и

е  приел ожн

я  в  форм а т

е   FIG

С орха н и т е   фа й л ы   myplot.m,  myplot.mat  и  myplotprog.m  в   екщту е м   к атло г е MATLAB  и   з а п суит е   п р и л о ж ен и е ,  н а б р а в   myplot  в   к о м а н дн о й   с рт о к е MATLAB.  П о яв л яест я   окн о   п р и л о ж ен и я ,  п ри ч е м   о н о   нф у к ц и о н и р е у т   ат к ж е , ка к  и  в  в ер си и   5.3.  П о л ь з о в а те л ь   м ож е т   з адв ат ь   фо р м л у ы   в   с рт о к е  в в о д а   и  о то б р а ж а т ь   гр а фи к и  фну к ц и й .

С ю л уе д щ и й   э ат п   с о т и т   в   п о ч л уе н и и   к у а з етл я   н а   окн о   п р и л о ж ен и я myplot.  бУеид тс ь ,  ч т о   к р о м е   окн а   п р и л о ж ен и я   боль ш е   н е т   о кт р ы ыт х   гр а фи ч е с к и х   окон .  С в о й с вт о   H a n d ie visibiiit y  о к н а   myplot  м о ж е т   бы т ь   а ст у н о в л ен о   в   off,  ч т о   в о сп р еп яствеу т   н о а хж е д н и ю   рт е б у м о г о   к у а з а ет л я .  П о т   ку а з т ь   MATLAB,  ч т о   вс е   куаз етл и   н а   о б ъ ек т ы э отм у   сн ач л а   е с ул д до л ж н ы   бы т ь   до с п ут н ы .  Д а н н а я  усатн о в к а   п р о и з в о ди с т я  в ы б о р о м   з н ач ен и я on с в о й свт а   showHiddenHandies  о б ъ ек т а   Root. Ука з аетл ь   н а   о б ъ ек т   Root  р а ве н  н люу .  И с п о л ь з йу т е  фн у к ц и ю  set  лд я  треб ум о г о   и з м ен ен и я  з н а ч ен и я :zyxwvutsrq >> set(0, 'ShowHiddenHandies', 'on') Т еп р гр а фи ч е с к о о б ъ е к от С в о й с вт ск и е к ат

ь   в с е   к у а з а ет л и   од с п у т н ы е   окн о   п р и л о ж ен и я в   и  и х  с в о й свт а   о п и сан

.  В   адн н ы й   м о ен т   о тк р ы т о   то л ь к о   о нд о , к о т р о е   яв л с ет я   п отм ко м   Root  (и ераи х я  гаве л  9). ы  в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG

о   c h ild r en  о б ъ ек т . П р и м е н и т е  фн у к ц и

е  о к н а :

а   Root  соедр ж и ю  get,  в о з в р а щ а ю щ у

т   к у а з ет л

и   н а   о тк р ы ты ю   з н ач ен и

е   гр а фи ч е е  с в о й свт

а   объ

-

»  h  =  get(0,  'C hildren ') П ер м ен н а в о   в о хн д о К ом ан д

я   h с о едр ж и м   а р мг у е н т

т   з н ач ен и е  указ етл е   guide  лд я   п ерохд

я   н а  о к н о  п р и л о ж ен и я а   к   в и з аул ь н о

й   с р ед

. Ука ж и т е  h е   G U I D E.

а

»  guide(h) п р и в о ди ит о тк р ы т работ В ы б ер и т окн с орха н и т с е тд

т   к  п о яв л ен и е   вн и м ан и е

ю  сред ,  ч т о   п р и л о ж ен и

о   ег о   г р а ф и ч е с к о у   в  сред е   G U ID E.

ы   G U I D E, в  к о т р о й   ж у е   о тк р ы т е   myplot  о сатло с ь   з а п щу е н н ы м .  Д а н н о е  о к н о  се улд т  з а к р ы т е   окн о

о  myplot.  О б р а ,  п о ск о ль к ь   и   п род лж и т

у ь

е   в   м не ю zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC   File   сред ы   G U I D E  п ну к т   Save   as,  п о яв л ест я   ди а л о г в о е о  Save Figure  As,  в  к о т р о м   е су л д т  указ т ь   и м я  фа й л а  myplot.fig.  М о ж н о ь   п р и л о ж ен и е   и  п о д   ргдиу м   и м ен ем , н о  то гд а   лд я   ег о   з а п с у к а   п ри я   н аби рат ь   в   к о м а н дн о й   с рт о к е   ж у е   н е   myplot,  а   н о в е   и мя .  П р еж н и е

л ав Г

 22. М еорд ни зац и я

 преин лойж

и м ен а   п р и л о ж ен и ж и т   н ес к о л ь к G U I D E  и  п ер й ид т

 с  GUI вер с и

й   о б л е гч а о   ч аст

т   р а б о ту

о   и с п о л ь з ему ы е   к  и зч уен и

933 zyxwvutsrqpo

 5.3 

,  о с б ен н о х   ран е

,  сел е   п р и ло ж ен и й о   е тк щ у е г

ю   с о ед р ж и м о г

и   м о де р н и з а ц и

и   п о лде е   с р ед

.  З а к р о й т о   к а т л о га

у

.

е   в   ко В   щек ту е м   к атлог е   MATLAB  п о яв и лс я   фа й л   myplot.fig.  Н а б е р и т м а н нд о й   с рт о к е  mypiot  и  убеид тсь ,  ч т о   п р и ло ж ен и е   р а б о та е т   ат к   ж е , к а к  и в   с ат р о й   в ер с и .  З апс у к   п р и л о ж ен и я   о б е с п е ч и в а ес т я   н али ч и е м   фа й л а mypiot.m,  в   к о т р о м   з ап и сан а   фа й л - н фу к ц и я  mypiot,  о б ес п еч и в аю щ а я   ин и ц и али з ац и ю   п р и л о ж ен и я   п р и   з а п с ук е .  Час т ь   ет к с а   фа й л - н фу к ц и и   mypiot п р и в едн а   в   л и с ит н г е   22.2.  О б р а ти е   в н и м ан и е , ч т о   п ерв ы м   о п е р а то р о м   яв л я ест я  з а гр зу к а   фа й л а   myplot.mat  п р и  п о м щ и   load.  Освтуи е   р ас ш и р ен и я фа й л а   в   load  п р и в о ди т   к   з а г р зу к е   и м ен н о   дв о и ч н о г о   mat- ф а й л а .  П о с л е т   вы з ов ы   нф у к ц и й , со з адю щ и х   о б ъ ек т ы   с   з адн н ы м и к ом ан д ы   load  юслуед с в о й с вт а м и : гр а фи ч ес к о е   окн о  (фн у кц и я  figure),  ос и  (фну к ц и я  axes) и  т . д .zyxwvutsrqpon г  22.2. Соед ирмж о

е  фа йл

я zyxwvutsrqponmlkjihgfedcbaZYXW  m yp i o t )  Izyxwvutsr

а  myplotm (фа йл - иц кн фу

function fig = mypiot() load mypiot % зк з у р г а % Си н а д з о

е  оо т к е ъ б

а  фл й а

а  myplot.mat

в

hO = figure('Color',  [0.8 0.8 0.8], ... 'Colormap', matO, ... 'FileName',  'C:\MATLABRll\work\GUI53to60\myplot.m1,  ... 1

MenuBar',  'none', ...

'Name',  'mypiot', ... 'NumberTitle'  , 'off, ... 'PaperPosition',  [18 180 576 432], ... 1

PaperUnits',  'points'  , ...

ќPosition',  [446 284 560 420], ... 'Tag',  'Figl'zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA , ... 'ToolBar',  'none');

В аж н о   п о н и м а ть , ч т о   з ап су к   п р и л о ж ен и я   к о м а н до й  mypiot  н е  треб у ч и я   фа й л а   myplot.fig.  Н а   сам о м   е лд е   р а б о т а е т   с ат р я   к о м би н ац и р ас ш и р ен и ям и   mat  и  т .  З ап суит ь   фа й л   myplot.fig  м о ж н о   с   и сп о ль з о в ан и е open: » 

т  н ал и я   фа й л о

в  с м

open ('m ypiot.fig')

О б р а б о тк а   с о б ы ит й   п р о и с о х ди myplotprog.m,  т . к . myplot.fig  со едр ж и н фу к ц и и   mypiotprog.  Т а к о й   сп ос

т   б   работ

в   т   с о вт е с ю у щ и

ф а й л - нф у к ц и ы   с   п р и л о ж ен и ям

,  рхан ящ ей с я   е   о б р ащ ен и я   к  фай л и   н е   о ч ен ь   од у

в -

934 

б ен .  С юлуед щ и ис и  5.3, к о т р а р ое х д  к  фо р м а т

е П р ох

аЧс т ь

  V. Доплни т ельны

 M ATLABzyxwvuts

 во зм но с тж и

й   р а з де л   о п и сы в ае т   м о ед р н и з а ц и ю   п р и ло ж ен и я   лд я  в ер я   н ап р ав лен а   н а  п о лн ы й   о кт а з   о т  фа й л о в   с та р о й   в ер с и и   и  п е м   F I G  и  М .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC

д  к  форм а т а

П р и л о ж ен и е   с   гр а фи ч е с к и MATLAB  л и б о   к о м би н ац и е fig.  М - афй л   с о ед р ж и п о н фду к ц и и   о б р а б о тк с о б ы ит й   од бун е е   п р о и з в о д и ть

м  FIG и  М м   и н е рт ф й с о й   фа й л о т   фа й л - нфу к ц и ю и   с о б ы ит

м   п о л ь з о в а ет л в   с  р а с ш и р ен и ям ,  и н и ц и ал и з и рюу щ у й   э л е м н от в   и н е тр ф й с а ,  лсе и  с  п р и ло ж ен и е

я   п р е сд а т в л я ес т и   fig  и  ш , л и б ю   п р и ло ж ен и .  П р о г р а м и р о в а н и м   ас оц и рова

я   в о   то л ь к

о е  и е

н   М - фа й л

.

С ед л а й т е   од с п у т н ы м и   к у а з ет л и   н а  о б ъ ек т ы   та к , ка к  о п и с а н о  в   п реыд щу е м р а з де л , а В О З ЛЬ О П СИ в   se t ( 0,  'ShowH iddenH andles'  ,  ' o n ' ) .  З ап суит е   п ри л о ж ен и е   mypiot  и з  к о м а н дн о й   с рт о к и   (з ап скуает я   фа й л   myplot.m)  и   п олу ч и т е   к у а з ет л ь   н а  гр а фи ч ес к о е   ОКН О  П ри лож ен и я   h  =  get ( 0,  ' C h ild r e n ' ) , е   окн а .  О тк р о й т е   в   с р ед е   G U ID E п р е дв а р и е т л ь н о   з ак ры в   вс е   л и ш н и MATLAB  П ри лож ен и е  П р и  ПОМОЩ И  guide (h) .

В ы б ер и т е   в  м не ю zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB  Tools  сред ы   G U I D E  п ну к т   GUI Options,  п о яв л ест я   ди а л о е   н а с рт о и т ь   п р и ло ж ен и е .  П о с та в ь т е го в е   окн о   GUI  Options,   п о з в о ляю щ е п е р к л ю ч а е тл ь   в  п о л ж ен и е   Generate .fig  and  .m file,  сатн о в яст я   о д сп у т н ы м и фл а г и  в  н и ж н е й  ч аст и   окн а . Ф л а г   Generate callback  function  prototypes   одлж е н бы т ь   в к лю ч е н   дл я  а в от м аит ч ес к о й   ге н е р а ц и и   п о н фду к ц и й   о б р а б о тк и   со бы ти й . В  р а с к р ы в а ю щ ем с я   сп и ск е  Command- line  accessibility се луд т   с у ат н о в и т ь Callback  (GUI becomes Current  Figure within Callbacks). С о рха н и т е   п р и л о ж ен и е   с  и м ен м   mypiot.fig  в  сред е   G U I D E ,  в ы б р а в   в   м не ю File   пн у к т   Save as.   Е сл и   в ы  р а н е е   о щ с у е св т и л и   ед й с в т и я ,  о п и с а н н ы е   в  п ре ыдщ у е м   р а з де л ,  т о   п о яв и ст я   окн о   с   п р еу д ж е дн и е м   о   то м , ч т о   фай л mypiot.fig  ж у е   с ущ е с тв уе т —  п ер п и ш и т е   е го , н аж в   Yes.  Д а л е е   сн ов а  п оя в и ст я   окн о   с   с о б щ ен и е м   о   сщ у е с в т о а н и и   фа й л а   myplot.m.  П р едл а г ест я й   (к н о п к а  Replace),  л и б о   до б а в и т ь   к   не ли б о   з ам ен и т ь   с ат р ы й   фа й л  н а  н о в ы м у   н овы й   фа й л   myplot.m  (к н о п к а   Append).   П р еж н и й   фа й л   с о ед р ж и т   фа й л г   22.2), и н и ц и али з и рюу щ у ю   п р и л о ж ен и е  в  сит л е н фу к ц и ю  mypiot  (см . лисит н в ер с и и   5.3.  П о с к о л ь к у   р т е бс у я   п о л н о с ьт ю   о кт а з а ьт с я   о т   фо р м а т а   в ер си и  5.3, т о  селуд т  в ы б р а т ь   Replace. Н а ж а ти е   н а  Replace  п р и в о ди т   к  з апску у   р е д а к то р а   М - фа й л о в , в  к о т р о м  от кры т   н овы й   фа й л   myplot.m,  соедр ж ащ и й   а в от м а ит ч е с к и   с ге н е р и р о в а н н у ю фа й л - н фу к ц и ю   mypiot.  В   сред е   G U I D E  в ы едли т е   щ ел ч к о м   мы ш и   срт о к у м   м ен ю ,  ак ит в и з и реум о м   п рав о й   кн оп ко й   мы ш и ,  в в од а   и   в   к о н ет к с н о п ну к т е   View  Callbacks   в ы б ер и т е   п о пд н у к т   Callback.   О б р а ти т е   вн и м ан и е , ч т о в   фа й л е   myplot.m  п о яв и л а с ь   п о н ф ду к ц и я   F un E dtC aiiback  о б р а б о тк и   со бы ит я   callback  с рт о к и   в о да .  нА а л о ги ч н ы м   образ о м   п о с л е д о в а ет л ь н о   с о з ад й -

л ав Г

 22. М еорд ни зац и я

т е   п о д ф ун к ц и

 преин лойж

 с  GUI вер с и

 5.3

и   P lo t Bt n _ C a llb a c k  И   C le a r Bt n _ C a llba c k,  с о т в е т с т в у ю щ и

935zyxwvutsrqpon

е

кн оп ка м zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   т и о П р ст о ь  и ф гра к   и  т и с и Оч ь   ис о .   Р а з м е с и т е  в   елт е   к а ж од й  и з э и т х   п о н фду к ц и й   о б р ащ ен и е  к  myplotprog с  со втесюу щ и м  вохнд ы м  а р мг у е н о т м .  В  р ез луь ат е   фа й л   myplot.m долж е н   и м ет ь  сркту , п р и в едн н у ю  в  л и сит н г е  22.3 (ав от м аит ч ес к и  созадн н ы е  к о м ен та р и и   н е   п р и в о яд с т я лд я   э к о н о м и и   м е с а т) . З ап сиут е  и з  сред ы   G U ID E  п р и ло ж ен и е  и  убеид тсь , ч т о  о н о  р а б о та е т  п р а в и л ь н о .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF

function varargout = myplot(varargin) gui_Singleton = 1; gui_State = struct('gui_Name',  mfilename, ... 'gui_Singleton',  gui_Singleton, ... 1 gui_OpeningFcn', @myplot_OpeningFcn/ ... 1 gui_OutputFcn',  @myplot_OutputFcn, ... 1 gui_LayoutFcn',  [ ] , ... ќgui.Callback1 ,  [ ]); if nargin && ischar(varargin(l)) gui_State.gui_Callback = str2func(varargin{l}); end if nargout [varargout{1:nargout}] = gui_mainfen(gui_State, varargin{:}); else gui_mainf  en  (gui_State, varargin{ :}) ; end function myplot_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObj ect; guidata(hObj ect, handles); , function varargout = myplot_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; function FunEdt_Callback(hObject, eventdata, handles) myplotprog('SetFun')

936 

аЧс т ь

  V.  о п Длни т ельны

 возмно с тж и

 MATLAB zyxwvu

function PlotBtn_Callback(hObject, eventdata, handles) myplotprog(ќPressPlotќ)

function ClearBtn_Callback(hObject, eventdata, handles)

myplotprog('PressClear')zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

И з ч уи т е   тр и   п о л ч у е н н ы е   п о н фду к ц и и   о б р а б о тк и   с о б ы ти й .  К аж д я   п од н фу к ц и я   с о ед р ж и т   еи д н с в т е н ы й   о п е р а то р   вы з ов а   фа й л - н фу к ц и myplotprog  с   со втес юу щ и м   во нхд ы м   а р гм у е н о т м .  П р и  в о з н и к н о в ен и с о б ы ит я   C allback  о т   л ю б о г о   и з  э лем н от в   пу р ав л ен и я   п р о и с о х ди т   о бращ е н и е   к   п о нфд у к ц и и  myplotprog,  в   к о т р о й   в ы п о л н я ю ст я   к ом ан д ы   о дн о г о  и блок в   case  о п е р а то р а   switch., П о сленд и й   э а т п   м о ед р н и з а ц и и   п р и л о ж ен и з а к л ю ч а е ст я   в  п р о гр а м и р о в а н и и  п онфду к ц и й  о б р а б о тк и   с о б ы ти й . Д а н н ы п о н ф ду к ц и и   до л ж н ы   в ы п о л н ят ь   т е   ж е   ед й с в т и я ,  ч т о   и   б л о к и   case  myplotprog,  р а з му е стя ,  с  учоет м   п ри н ц и п о в  н ап и с ан и я  п р и л о ж ен и й  в   сред G U I D E  M ATLAB.

и и з я е в е

к У а з а ет л и   н а  гр а фи ч ес к и е   о б ъ ек т ы   с о едр ж ас т я   в   п о ля х   с р тк у ы   h an dles, и м ен а   котры х   со в п адю т   с о   з н а ч ен и ям и   с в о й с вт а   Tag  да н н ы х   о б ъ е к то в . у   п о н ф ду к ц и я м и   п р о и з в о ди с т я   п р и   п ом ощ и   с о з ад н и я О бм е н   да н н ы м и   м ж де д о п о л н и ет л ь н ы х   п о ле й  в  сркту е  h an dles.  П о сл е  з ан ес н и я  в  п о л е   han dles т   с ор ха н и т ь   срк т у ,  и сп о ль з у я   н фу к ц и ю н ж ун о г о   з н ач ен и я   е с ул д guidata  (п р и м е р   и сп о ль з о в ан и я   с ркт у ы   han dles  п ри в ед н   в zyxwvutsrqponmlkjihg   .аздр   "П-е и а т л ею ч к л р  " гавы л  11). П о нфд у к ц и л о ж ен и

и   о б р а б о тк я  mypiot  п ри в едн

и   с о б ы ит ы  в  ли сит н г

Л ист ин г  22.4. Пицнук офд m yp i o t

и  обра от к

й   э л е м н от

в   и н е тр ф й с а   о б н о в лен н о г о  п ри е   22.4.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP

и  с отбы и

й  обновл е ног

о   п р и л е о ж ни

я

function FunEdt_Callback(hObject, eventdata, handles) % Ои н а в о з а р б

е  нг о в

о  пл о

% сг о м и ж р е д о

о  ск о р т

и  вд о в

я  FunStr ср у т к у р т

ы  handles и  зи н е с н а

а

handles.FunStr = get(hObject,  'String'); % Си н е а р х о

е  оо н е л в о н б

й  ср у т к у р т

ы  handles

guidata(gcbo, handles) function PlotBtn_Callback(hObject, eventdata, handles) % Зи н а д

е  вр о т к е

х  = 0:0.01:1;

а  ао т н е м у г р

в  дл

я  пи н е о р т с о

я  гк и ф а р

а

е  в  нг е

о

л ав Г

 22. М еорд ни зац и я

 преин лойж

% К инавориуртсно % ат н е м у г р

е  и  ви н е л о п ы

 с  GUI вер с и

е  ск о р т

и  дл

 5.3 

я  ви н е л с и ч ы

937zyxwvutsr

я  вр о т к е

а  зи н е ч а н

й

а

eval(['у  =' handles.FunStr  ';']) % Пи н е о р т с о

е  гк и ф а р

а

plot(x, у ,  'LineWidth1, 3,  'Color1, 'k')

function ClearBtn_Callback(hObject, eventdata, handles) % ок т с и ч

а  ое с

й

clazyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

З а п с и ут е   п р и л о ж ен и myplotprog.m,  а с о ц и р о в а н н ы н ж ун ы , и х   м о ж н о   а д лу и ь т и н е тр ф й с о м  п о л ь з о в а етл

е   mypiot  и  п р о в ер ь т е   с о   с ат р о .  М о де р н и з и р о в а н н о я   с о едр ж и с т я

е   е г о   р а б о ту .  Ф а й л ы   myplot.mat  и й   в ер с и е й   п р и л о ж ен и я , б о л ь ш е  н е е  п р и л о ж ен и е   с  гр а фи ч ес к и м   в  дву х  фай л а х  myplot.fig  и  myplot.m.

л Га в

а  2 3

и е нш ы в о П е и н л рж по

е тсо н пиельдовзи р и й  MATLABzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

Дан н а л о ж ен и п а м я ть гр а м н о г сан ы

с о кУ р е н и э о нк м и

я   гл а в а   о п и сы в ае т   осн овн ы е  п р и н ц и п ы  э фекит в н о й  р а з р а б о тк й  в  M ATLAB,  к о т р ы е   п о з в о л яю т   сн и ж ат ь   в р ем я   с ч ет а   и  э к о н о м и т .  Н а   до с та о ч н о   п рост м   р уо в н е   о б ъ яс н ен о   и сп о ль з о в ан и а   в н еш н и х   п р о ц е р ду о   и н етр ф й с а   MATLAB API  лд я   в ы з о в х  н а  дргиу х  яз ы к а х  п р о гр а м и р о в а н и я .

е  ратоб я  пам тя

ы  М - йлво фа

Д о с та о ч н к   п р и м ер у э л ем н т п ер б р ат с о вт е с ю у щ и ед л н и я

ь

е   п ро , н ап и

-

,

и

MATLAB  и н етр п р еит реу т   к о м а н ды ,  з а п и с а н н ы к о д   и   п о с л е до в а е т л ь н о   в ы п о л н яе т   и х .  м н ог о   в р ем н и   в   от м   с ч л у а е ,  к о гд а   а л го р и т ад н н ы х   с о ед р ж и т   ц и к лы , п о ск о ль к у   к аж д с от л ь к о   р а з ,  с к о л ь к о   в ы п о л н я е ст я   ц и кл п р и л о ж ен и й   M ATLAB  н ео б хид м о   св ет му .  Э ф ек ит в н о с т ь   п р и л о ж ен и й   ат к ж е м ят и  п о д  с о з ад в ем ы е   боль ш и е  м ас и в ы .

о э П л е м е тн ы

и   п ри

е  опе ра иц

П р о ц ес м   о б р а б о тк я   с рт о к .  С л е до в а те л ь н о и   и сп о ль з о в ан и   о п р е дл я с т

е  в   М - фай лах с   и н ет р п р е ат ц и

,  в   м аш и н н ы и   з ан и м ае о   о б ъ ем

и   боль ш ог а   ц и кл а   и н е т р п р е и т р е с ут ,  п р и   р а з р а б о тк е   ц и к ло в   к   ми н и я   р а с п р едл н и е м   па

й т а я е -

и

о   ч аст о   рт е б с у я   п р о и з в ес т и   п р ео бр аз о в ан и е  э лем н от в   м ас и в а ,  р а з де л и т ь   в с е   э л ем н т ы   о нд о й   м а рт и ц ы   н а   с о вт е с ю у щ и ы   др гу о й .  Д ан н у ю   о п ер ац и ю   м ож н о   о щс у е с в т и ь   вм д у я   сп ос бам и ь   в с е   э л е м н ыт   м а рт и ц ы   в о   в л о ж ен н ы х   ц и к ла х   for  и   п о едл и т ь  н е   з н ач ен и я ,  л и б о   и сп о ль з о в ат ь   о п ер ац и ю   п о э л е м н нт о г .  П ер в ы й   вари ан т   р еали з о в а н   в   фа й л - п р о гр а м е   t e s t i  (ли с

, е : а о -

л ав Г

 23. Пошвы ени

 производт е льно с т и

ит н г  23.1), а  в то р о вы бран ы   к в а д р тн ы п р и   п ом ощ и   н фу к ц и

 преин лойж

939 zyxwvutsrqp

 M ATLAB 

й  —  в   фа й л - п р о г а м е   t e st 2  (ли ст н г  23.2). Д л я   п р и м е р а е   м а рт и ц ы  АЙ В  о ид н а к о в ы х   р аз м ер о в ,  з а п о л н яе м ы е и   ones,  ртебсу я   з ап и сат ь   р е з л у ь ат т   в   м а рт и ц у   А , Т . е . j) / B ( i,  j) .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC

  Л ист ин г  23 . 1 . Ф а йл - прога м м а  t e s t l  (п е р е б о р  в  ц и кл е )  izyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Izyxwvutsr

А  = ones(400); В  = 5*ones(400); for i = 1:400 for j = 1:400 A(i, j) = A(i, j)/B(i, j ) ; end end Г  

" — ' 

" ќ 

:  Л и с т и н

ќ 

г  23.2. Ф а йл - прога м м

у

а  t e s t 2  (и с п о л ьз о в а н и

е  поэ л е м е нт ы

х  операицй

)  !

А   =  o n e s( 4 00) ; В   =  5 *o n e s( 4 0 0 ) ; А   =  А. / В

С рав н и т в а ть с я работ В   р а с м а рт и в а е м ы к а ж до г в а ет л ь н о с т в р ем н ы О п р едл и т

;

е  в р ем я ,  н а п р и м е р е   фа й л - п р о г а м о   и з  М - фай ло ь   к ом ан х   з а тр е   в р ем

, з а тр ч и в а е м о ,  п р о фа й л ер о

е   н а  р а б о т у   t e s t l  и  t e st 2.  М о ж н о  в о с п о л ь з о м   д л я   п о чл у е н и я   д е ат л ь н о й   и н фо р м а ц и и  о м zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   (с.м  р.азд   "П"ре айл фор авыг л  16).

х   п р и м ер а х   р т е бс у я   о п р е дл и т ь   то л ь к о   в р ем я   работ в   testl.m  и  test2.m,  п о э тм у   п рощ е   п р и м ен и т ь   п о с л е од д   t i c  и   t o e,  к о т р а я   п р е нд а з н а ч е н а   л д я   с у ат н о в л е н и т   н а  вы п олн ен и е  М - афй л а  и л и  н есколь ки х  к о р кт и х   к ом ан д я  в ы ч и слен и я  п о  п ерв о м у   и  в от р м у   сп о с бам :

ы я

»  tic, testl, toe elapsed_time = 3.2500 »  tic, test2, toe elapsed_time = 0.0940

.

О б р а ти з а тр а т

е   вн и м ан и е ы   в  десякт

и  и  сонт

,  ч т о   п о э лем н т ы и  р а з !

е   о п ер ац и

и   му ен ь ш а ю

т   в р ем н н ы

е

940 

аЧс т ь

Пр и м е ча ни

^  1. З н чае и с о в п ат д ле ь нт

е  

я   в мр е н и ь   с  пнеирдв ы м о  те м  же .

2. Ф н укц и н еи

я   к о м ан д

н ап ри мер

  V.  о п Длни т ельны

^zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED

,  нчепуол ы и  в  кн и ег

и  t i c  и  t oe  жа улс .  П роц серн о

е   н а   р аз л и ч н ы , н о  сн от ш не и

т  дл я   нел иподр е   м е рв

т  мне

е  очеви нд о

ы   м р а ит ц в   м а рт и ц

х   к о м п ь ю ер ат х

,  муог я  п ри бл з и

е  ос теа я  реаль н ог

я   в о з р ащ с т ае

:  T l  = c p u t i i n e ;  t e s t l ; 

ю у С щ д ле а я  з адч а   и ме с я   п р ео б а з о в а т ь   э м ле н т Д ел н и е   в се х   э л е м н от рт д у а  (ли ст н г   23.3).

 MATLAB zyxwvut

 возмно с тж и

о   мн ев р я   н у кц ф и е

т  н е -

и  вы п ол й   cputime,

T2  =   c p u t i m e  - •  T l .

е  реш ен и е ы   п о   фо р мл а у ы   А  В О  в ло ж ен н ы

. П репд о л ж и м , ч т о  тте рбу :  A(i,  j)  =  A(i,  j) / ( i *j) . х   ц и к ла х   н е   п р е сд а т в л я е т

г  23.3. Ф а йл - прога м м а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC  t e s t 3  (де л е ни е  э л е м е нт о в  в о  вл еож ны х ) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Л ист ин ли ц к а х

А  = ones (400) ; for i = 1:400 for j = 1 :400 end end

Д л я   п р и м ен ен и я   п о э л е м н нт ы х   о п ер ац и й   рт е б у ст я   с фо р м и р о в ат р а тн у ю   м а тр и ц у   то г о   ж е   р а з м е р а ,  ч т о   и   А ,  э л ем н т ы   кот ро п р о и з в едн и е м   н о м ер а   с тр о к и   н а   н ом е р   с то л б ц а .  В с п о м о г а те л ь н а ц а   м   я в л е ст я   в н еш н и м   п р о и з в едн и е м   п о дх я щ е г о   с то л б ц (л и сит н г   23.4).

ь   к в ад й   я в л ю ст я   м а рт и а   и   с тр о к

я и

А   =  o n e s( 4 0 0 ) ; r o w  =   1 : 4 0 0 ; М   =   r o w '  *  r o w; А   =   А. / М

С р ав н ен и ван н ог

;

е   в р ем н н ы о  в  фа й л - п р о гр а м

»  tic, test3, toe elapsed_time = 3.1410

х   з а тр а

т   б е уж а д е   t e st 4:

т   в   э ф е к ит в н о с т

и   сп ос ба

,  р еа л и з о

-

л ав Г

 23. Пошвы ени

 пр о и зво дт е льно с т и

 преин лойж

 M ATLAB 

941 zyxwvutsrq

»zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   tic, test4, toe elapsed_time = 0.0780zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

З а м е ьт а д лу и т ю уд щ е

т , ч т о   п о сл е  п о э л ем н нт о г о  дел н и я   м ас и в  м  н е  нже у н  —  ег о  се луд ь   и з   п а м я ит .  О с н о в н ы е   п р и ем ы   работ ы   с   п а м я ьт ю   о п и сан ы   в   сле м   р а з де л .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Э о нкм и

я  пам тя

и

О ид н   и з  сам ы х   о ч е в и нд ы х   сп ос бо в   экон ом и и  п ам ят и   з а к л ю ч а е ст я   в   а л ед у н и и   ет х   п ер м ен н ы ,х   котры е   боль ш е   н е  п о н а до б ятс .  Д л я   э то г о   щ су в ет ю т   дв а   с п о с б а .  В о- п ервы х ,  о нд а   и л и   н ес к о л ь к о   п ер м н ы х   в ы ед л я ю с т я  в окн е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Workspace  и  уадляю ст я   п р и  п о м щ и   и л и  о дн о и м ен н о г о  пн у к т а   к о н те к с тн о г о  м ен ю . В от р й   сп ос б , п р и го нд ы й  в  п р и л о ж ен и ях , с о с т и т  в и сп о ль з о в ан и и   к о м ан д ы   c lear.  адлУяем ы е   п ер м ен н ы е   з а н о с ят я   в   сп и со к е е  п а р м е тр о в ,  н а п р и м е р : c lea r  h ip i  tmp3. Е сл и  э т и  п ер м ен н ы е  бы л и  соз да н ы   в   фа й л - п р о гр а м е   и л и   и з   к о м а н дн о й   с рт о к и , т о   о н и  уадляю ст я   и з  ос н овн о й   с р ед ы   M ATLAB.  П ер м ен н ы е   фа й л - н фу к ц и и   а д л уя ю с т я   и з   с р ед ы фа й л - нфу к ц и .  О дн а к о   с ел и   о н и   б ы л и   о б ъ яв л ен ы   к а к   гл о б а л ь н ы е ,  т о   он и т  допсут н ы   л д я   о с ат л ь н ы х   н фу к ц и й  (р а б о т а   с  гло о сатн с у я   в  п а м ят и  и  буд баль н ы м и   п ер м ен н ы м и  о п и с а н а  в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF  р.азд   "Пукн ци "ф до  гавы л  5). Д л я   а д л е ну и р а   c le a r  куа з а т

я   гл о б а л ь н ы х   п ер м н ы ь   global, н а п р и м е р

х   е су л д т   в   к а ч е свт е   п ер в о г : c lea r  global  alpha  beta.

К ом ан д а   c le a r  м о ж е т   бы т ь   вы з ван f c le a r  ( h i p l ,  ' tm p3'), ч т о   доу б н о ,  есл н с ят я  в  н ек о т р ы х   с рт о к в ы х   п ер м ен н ы х ад л Уе н и п р о гр а м с я  в см ы с и   з а гржу а т Пр и п ер м н ы вы х к ом ан

а   и   в   фн у к ц и о н а л ь н о и   и м ен а  уадляем ы .

о   п ар м ет

-

й   фо р м е х   п ер м ен н ы

: х   ра х

-

е   п ер м н ы х   н е  в сегд а   ж ел ат ь н о .  В о з м о ж н о ,  ч т о   в   о нд о м   блок е ы   м ас и в  с  в ы ч и слен н ы м и  з н ач ен и ям и  н е  н ж уен , н о  о н   п о н а до б и т   рд г оу м   е е   блок е .  Е сл и   э от т   м а с и в   з ан и м ае т   м н ог о   п а м я ит , т о   и м е т л   з ап и сат ь   с о е др ж а щ и е с я   в   н е м  да н н ы е  н а  ди с к , уадли т ь   ег о   и з  п а м ят и ь   п о   м ер е   н а д о б н о с ит .  Д л я   э от г о   сж л у а т   к о м ан д ы   save  и   load.   ч е тн и и   ав ыг л  1  в ы   п р и м ен ял и   и х   л д я   с о р ха н е н и я   з н ач ен и й   ср аз у   в се х х   рабоч е й   с р е ыд ,  а   п р и   чент и и   ав ыг л  2—  лд я   с орхан ен и я   ч и сло   ад н н ы х   в   ет к с от в м   фа й л е   и   с ч и ыт в а н и я .  Оидбсу м   воз м ож н ост и   эи т х д  бо ле е  п о др о б н о .

К а к   save,  ат к   и   load  м о гу т   бы т ь   в ы з в ан ы   в   к о м а н дн о й   и  фну к ц и о н а л ь н о фо р м а х .  Н а п р и м е р :  save  filename  А   В   И   save (filenam e,  'А filename  —  и м я  фа й л а , п р и в о дя т   к  о ди н а к о в м у   р е з л у ь ат .  П р н аль н о м   сп ос б е   в м ес т о   и м ен и   п ер м ен н о й  в   а п о с рт о фа х   м ож н с рт о к в у ю   п ер м ен н юу ,  ч т о   и н о гд а   о к а з ы в а е ст я   од у б н ы м .  П о

й ,  ' В ' ) ,   д г е и  фну к ц и о о   ку а з ы в а т ь   му о л ч а н и ю

1

942 

аЧс т ь

п ер м ен н ы з ан и м аю

е   с о р х а н я ю ст т  м ен ь ш ^  Дл

е  м есат

Пр и м е ча ни

я   в  дв о и ч н ы , че м  тек с от в ы е

  V. Доплни т е льны

х   фа й л а х   с  р а с ш и р ен и е , и  з ап и с ы в аю ст

я   б ы с рт е

м   mat, к о т р ы е .zyxwvutsrqponmlkji

е

я   о т г о   о чб т ы   mat- айф л ы   ч и ал т с н п д ео л с г о   п а р м ет а   save  анст уови т f f   ! 1   sa ve ( ' D a t a F ile , A , - v6 ' ) .

Д л я   з ап и с оид н   фа й л б а в л яю ст

zyxwvu

 во зм но с тж и   MATLAB

и   з н ач ен и й   п ер м ен н ы .  Е сл и   з ап и с ь   п р о и с о х ид я  в  ф а й л , т о  указ ы в аест

ь   в   ир с в е я ь  

х   п р и л о ж ен и я   м ож н т   в  н еск о ль к и х   м е с а тх я   оп ц и я  - append, н а п р и м е р

оп ц и

х  6.x,  е у делс т   в   к в а ч с те ю   - v6,  н ап ри ме

е :

о   и сп о ль з о в ат ь   в с ег о ,  т . е . з н ач ен и я  до:zyxwvutsrqponmlkjihgf

А  = rand(100); save('DataFile', 'А' ) В  = А .

Л

2;

save('DataFile' , 'В' , '- append'); clear('А 1, 'В

Дл

1

)

я   п о с лю е у д щ е й   з а грзу к ioad(  ' D a t a F ile 1 ,  'A1)  п р и в о ди

и   п ер м н н ы т  к  п о яв л ен и

х   п р и м е н я ес т ю  м ас и в

я   load,  н а п р и м е р а  А  в  р а б о ч е й   с р ед

, .

и   р а с ш и р ен и е  фай л а  дан н ы х  — о н о В   п р и в ен д ы х   п р и м ер а х   м ы  н е  указ ы в ал з а дв л о с ь   mat п о  умо лч ан и ю . П р епд о л ж и м , ч т о  п ер м н ы е  бы л и  з ап и сан ы в   фа й л е   с   рг и д у м   р а с ш и р ен и ем ,  н ап р и м ер ,  myvars.dat  п р и   п ом щ и save ( 'm yvars.dat ',  'А 1 ,  ' В ' ) . Т о гд а   п р и  сч и ыт ван и и   и х  з н ач ен и й   н ео б х ид м о   п р и н ят ь  в о  в н и м ан и е  сю у длещ е е   о б с т яе л ь с в т о .  Ф а й л  myvars.dat явля с т е я   вд о и ч н ы м ,  п оск ль к у   п р и  сроахн ен и и   н е   бы л а   з адн а   оп ц и я   - a sc ii. С  дргоу й  с от р н ы , load  и н ертп иет ру т   вс е  фай л ы  с  р асш и р ен и ем , олти ч н ы м о т   mat, к а к  тек сотв ы е .  П о э тм у   о б р а щ ен и е   lo ad ( 'm yvars.d at 1 ,  'А' ,  'В ' ) п р и в ед т   к  ош и бке —  в м ест о   э от г о   е с ул д т   з адт ь   д о п о л н и те л ь н ы й   п ар м ет р   - mat: load  ( 'm yva r s. d a t ',  'А' ,  ' В ' ,  ' - m a t ' ) .

в Уе л и ч е н и я   до с п у т н о й   п а м ят и   м ож н о  до б и ьт с я   з а  сче т   п р о ц ерду ы ,  к о т р у ю п р и н ят о   н аз ы ват ь   "с б о р к о й   м с уо р а " .  Д л я   э то г о   е с ул д т   в о с п о л ь з о в а ть с я к о м а н до й   pack,  к о т р а я   р аз м ещ ае т   п ер м ен н ы е   M ATLAB  в   п ам ят и   о п ит , ч т о  в о  в р ем я   с еа н с а   работ ы   да н н ы е   н е   пуо м аль н ы м   образ ом .  Д е л о   в  то м р я д о ч и в а ю тс я   в   п а м ят и   и   э т о   ч аст о   п р и в о ди т   к   н али ч и ю   с в о б нд ы х   не с м еж н ы х   ф р а г м е н то в ,  к а ж до г о   и з   котры х   н е до с ат о ч н о   лд я  р а з м ещ ен и я й боль ш ог о   м ас и в а .  К о м а н д а   pack  з а п и с ы в а е т   п ер м ен н ы е   в о   в р ем н н ы фа й л   в  текщу е м   к атлог е   (п о  ум о л ч а н и ю   в  pack.tmp),  п о л н о с ьт ю   освоб ж да е т   п ам ят ь   рабоч е й   с р ед ы   и  з ает м   сн ов а   з а гржу а е т   п ер м ен н ы е , та к  ч т о с ат н о в и ст я   од с п у т н о й   н еп р е ы в н а я   о бласт ь   п а м я ти .  П р и  та к о й   о р га н и з а ц и и   п ам ят и  в  M ATLAB  п р епд о ч ит ел ь н е е   в о ди т ь   п ер в ы м и   сам ы е   боль ш и е м ас и в ы   (см . п р и м е р  в  р а з де л е   сп рав о ч н о й   с и ем т ы zyxwvutsrqponmlkjihgfedcbaZY  M ATLAB: Programming:

л ав Г

 23. Пошвы ени

 пр о и зво дт е льно с т и

 преин лойж

943 zyxwvutsr

 MATLAB 

Improving  P e rformanc e  and  M e mo ry  U s a ge :  M a king  Efficient  U s e  of  M e mo ry: Working  with  Variables). zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

С щ у е с вт н н о с ркт у э л е м н от м а тр и ц а м

й  э к о н о м и ы   ад н н ы х в   е су л д и  о п и с а н

и  п а м ят и  и  в рем н и  сч ет а   м ожн о  до б и ьт с я   п р и   ч уе т е .  Н а п р и м е р ,  м арт и ц ы   с   боль ш и м   к о л и ч е с вт о м   н л еву ы х т   р ха н и т ь   в   р аз р еж н н о м   в и ед   (р а б о т а   с   р аз р еж н н ы м и а  в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  гаве л  15).

Н е  м ен е  в а ж н о   п ри н и м ат де р ж а т   то л ь к о   ц ел ы е   з н ач ен и я н и я   ц ел о ч и с л ен н ы е   м ас и в in t 32,  uin t32)  в   з а в и с и м о с т ад н н ы х .

ь  в о   в н и м а н и , т о   и м е ы   п о хдя щ е г и   о т   м ак си м аль н о г

е  и  ти п  да н н ы х .  Т а к , есл и  да н н ы е  со т   см ы с л   и сп о ль з о в ат ь   л д я   и х   р ах н е о   ти п а   ( in t 8, u in t s,  i n t i 6 ,  u i n t i 6 , о   и   м и н и м аль н о г о   з н ач ен и й

Чи с л а  8,  16 и л и  32 в  н а з в а н и и  ти п а  го в о р я т   о  то м , с к о л ь к о  би т  з а н и м а е т   од н а   п ер м ен н а я  да н н о г о   ти п а . Д о п суит м ы е   з н ач ен и я  п ер м ен н ы х   лд я   к а ж о д г о   и з   ти п о в   п р и в е дн ы   в   сп рав о ч н о й   с и ем т е   MATLAB  (см . , н а п р и м е р , раз д . MATLAB: Programming: Data Types: Numeric Types). Д л я   и н и ц и али з ац и и   п о хд я щ е г о   м ас и в а   ад н н ы х   м ож н о   п р и м ен и т ь   сле Й  И З  нфу к ц и й  ones, eye  Л И И  zeros: ю уд щ е е   о б р ащ ен и е  К ДНО  О >>  i8A  =  ones(1000,  ' i n t 8 ' ) ; >>  whos  i8AzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Bytes  Class Name  Size  i8A  1000x1000  1000000  int8 array Grand total is 1000000 elements using 1000000 bytes Д аль н ей ш и е   о п ер ац и и   с   м ас и в о м   ч и се л   ит п а   in t 8  с орхан яю ч т о  н ео б хди м о   ч у и ыт в а т ь   лд я  и з беж ан и я  о ш и б о к : »  i8A(:, :) = 200; >> whos i8A Name  Size  Bytes  Class i8A  1000x1000  1000000  int8 array Grand total is 1000000 elements using 1000000 bytes

т   ит

п   да н н ы х

127 П р и   работ е   с   в е щ е св т н ы м и   да н н ы м и   н е   в с е гд а   оп равдн н о   п р и м ен ен и е дв о й н о й   то ч н о с ти ,  т . е .  м ас и в о в   ит п а   double,  к о т р ы е   и с п о л ь з ю у ст я   п о му о л ч а н и ю .  В  р яд е   с ч л уа е в   лд я   э к о н о м и и  п ам ят и  в   дв а   р а з а   ц е л с о б р а з н о о г р а н и ч и ьт с я   обы ч н о й   то ч н о с ть ю   и   п р ео бр аз о в ат ь   м ас и в   да н н ы х   к   ит п у sin gle  п р и  п о м о щ и  о дн о и м ен н о й  фну к ц и : >> dA = ones(1000); >> sA = single(dA);

,

944 

аЧс т ь

  V.  о п Длни т е льны

 MATLAB zyxwvut

 во зм но с тж и

»  whos  dA  sAzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Name 

Size 

Bytes  Class

dA 

1000x1000 

8000000  double array

sA 

1000x1000 

4000000  single array

Grand  total is 2000000  elements  using 12000000  bytes

о   бы л о   ср аз у В м ес т о   п р ео бр аз о в ан и я   м ас и в а   ад н н ы х   к   ит п у   sin gle  м о ж н н ач т ь   работ у   с  эит м  ти п о м , и н и ц и а л и з и р о в а в   н л е ву о й   м ас и в : »  sA = zeros(1000, 'single'); »  sA(:, :) = 0.33; >> sA = SA/2; /4 >> sA = sA. 2;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA »  sA = sin(sA); >> whos sA Name  Size  Bytes  Class sA  1000x1000  4000000  single array Grand total is 1000000 elements using 4000000 bytes П р е д в а р и те л ь н а с м о рт е л и п а м ят м ас и в

я   и н и ц и али з ац и я   м ас и в о ,  к о т р у ю   м ы   то л ь к о   ч т о   рас ,  п о з в о л яе т   с о к р а ит ь   в р ем я   р а с ч е от в   и  умен ь ш ае т   ф р а г м е н ат ц и ю и   п о  с р а в н ен и ю   с  ди н ам и ч еск и м   в ы е лд н и е м   п ам ят и   п о д   с о з ад в е м ы й .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

е дл ы В ин

е  пам т я

и  по

д  масив

ы   с р ед ы   MATLAB  н е   рт ебюу е   о т   м н о ги х   р дг и у х   яз ы к о в   п р о гр а м и р о в а н и я и  и з м ен яю ст я  п о  м ер е   п р и с в о ен и . К  п р и м ер у ,  о п е р а то р   п ри св аи в ан и я

М ас и в ли ч и н а м и ч ес к з н ач ен и й » А



и   п о с л е до в а е т л ь н о с т м а тр и ц а и н и ц и али з и рован

ы т   п р е д в а р и те л ь н о г

о   о б ъ яв л ен и ,  а   р а з м е р м   ег о   э л е м н ат

я  н овы , з а п о л н яю щ и

ы   м ас и в м   н ек о т р ы й   м а рт и ц

я   в   от а   ид х у  А zyxwvutsrqponm

[ - 3   4 ;  9   7 ] ;

м  А Й

ь   к ом ан д В  (п р едп о л а г ест я ы  в  р а б о ч е

» 

В ( 1 ,   1)  =   - 3 ;

» 

В ( 1 ,   2 )  =   4 ;

» 

В ( 2 ,   1)  =   9 ;

» 

В ( 2 ,   2)  =   7 ;

,  п р и в едн н а ,  ч т о   п ер м ен н ы й   сре)д .

я   н и же

,  п р и в о дя т   к   о ди н а к о в ы е  А   и   в   д о   э то г о   н е   бы л

м и

л ав Г

 23. Пошвы ени

 производт е льно с т и

 преин лойж

945zyxwvutsrqpo

 M ATLAB 

Р абот а   с  н еб о ль ш и м и   м ас и в ам и   н е  п р и в о ди т   к  з ам ент о м у   в уе л и ч е н и ю   вре м ен ы х   з а тр а т ,  о дн а к о   о п ер и р о в ан и е   боль ш и м и   о б ъ ем а и   да н н ы х   де л а т щс у е с в т н о й  р а з н и ц у   м же д у   мв д у я   п ер ч и с л ен н ы м и  с п о с б ам и  з а п о л н е н и я м ас и в о .  С о с та в ь т е   в д е   ф а й л - п р о ц р еу д ы   лд я   з а п о л н е н и я   к в а д р тн о й   м ат ри ц ы   р аз м ер о м   400.  Э лем н т ы   м а рт и ц ы   в ы ч и с л я ю ст я   в о   в л о ж ен н ы х   ц и к ла х A  A п о   i  и  j  п о  фо рмлу е   l/   (i 2  +   j 2) , п ри ч е м  в  н ач л е   о нд о й   ф а й л - п р о ц р е уд ы с о з ад й т е   н л ев у ю   к в а др н т у ю   м а рт и ц у   п р и   п ом щ и   н фу к ц и и   zeros (ли ст н г и  23.5 и  23.6).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л и с т и н г  23.5. Ф а йл - прога м м а  t e s t s  бе з  пре вад рит е л ноьг о  едвыл е ни ! zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

я  па м тя

и   ! zyxwvutsr

:

for  i  =   1:400 for  j  =   1:400 jA 2) ; end end

A = zeros(400); for i = 1:400 for j = 1:400 end end

Т еп р ь   н а й ид т е  з а тр а т ы   м аш и н н о г о  в рем н и   н а  в ы п о л н ен и е  к аж од г о   и з  М фа й л о в : test5.m  и  test6.m. Учит е ,  ч т о   п ер д  и с п о л ь з о в ан и е м   t i c  и  toe  у дсле е т   о ч и с ит ь   рабоч у ю   с р ед у   MATLAB  к о м а н до й   c le a r  a l l ,  п о с к о л ь к у   м ас си в   в   м о г   б ы т ь   с о з ад н   ран е ,  а   в   э от м   счлуа е   п о д   н ег о   ж у е   б ы л а   в ы ед л н п а м я ть .

а

»  clear all »  tic, test5, toe elapsed_time = 7.8900 »  tic, test6, toe elapsed_time = 3.4060 З а   сч е с ит гн т у

т   п р е д в а р и те л ь н о г а   щ с у е св т н а

о   в ы ед л н и я   экон ом и

я   п ам ят я  в р ем н

и   по и   бо ле

д   з ап о л н яем ы е   ч е м   в   дв

а   раз а

й   м ас и .  В аж н

в   од о   по -

946 

н и м а ть м ес т м ас и о ч и ск т

аЧс т ь

, ч т о   п ер в ы й   з ап с у к   t e st s  п р и в о ди а   в   п ам ят и   п о д   м ас и в ,  а   п о   з ав ер ш ен и в   н а о х ид с т я   в   п а м я ти .  С л едо в а тел ь н о и  р а б о ч е й   с р ыед ) з ай м е т   с от л ь к

  V.  о п Длни т ельны

т   к  п о с л еод в аетл ь н о м и   работ ,  п о в т р н а о   ж е  в р ем н и

 во зм но с тж и

 MATLABzyxwvuts

у   о в т е дн и ю ы   фа й л - п р о гр а м ы   в ес ь я   работ а   t e st s  (бе з , с к о л ь к о   и  t e st б :zyxwvutsrqponm

»  tic, test5, toe elapsed_time = 3.4060 нА али п о яв л ен и е си в

з   код а  (з апс у

П ри н ц и п и аль н з а  сче т   в ы з о в са н  в  сю луед щ е

з явС

а   фа й л - п р о гр а м м  то г о   ж е  с а м о г к   M- Lint  о п и са о   ин о а   в н еш н и м   р а з де л

й  сп о с х   п р о ц е уд

ы   t e st s  п р и   п о м щ и   M- Lint  с о п р о в ж адест я о   с о в ет а   п о  п р едв а р и етл ь н о й   и н и ц и али з ац и и  м ас   "Дитагскон  М- во"айл ф  гавы л  5). н zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  в  р.азд б   с ку о р ен и

я   в ы п о л н ен и я   п р и л о ж ен и й   MATLAB р   н а  дргиу х  яз ы к а х   п р о гр а м и р о в а н и я   оп и .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED

ь  MATLAB с  диргму п р о г а м м и р о ва н

и  яа мкзы

и

я

Доволь н о   ч аст о   в с рт е ч а ст я   с и а у цт и я ,  к о гд а   и м ею с т я   м о л у ид ,  н а п и с а н н ы е н а  С  и л и  F ortran, и  требсту я   и сп о ль з о в ат ь   и х  в  п р и л о ж ен и и   MATLAB.  П а к е т   MATLAB  п р еод с атв л яе т   воз м ож н ост ь   вы з ов а   в н еш н и х   п р о гр а м м   бла г о да р я   Application  Program  Interface  (API), т .  е ,  п р о гр а м н о м у   и н ертф й с у п р и л о ж ен и я .  Ф ну к ц и и   MATLAB  API  едляст я   н а   вд е   к а т е г о р и :  нфу к ц и , о б ес п еч и в аю щ и е   с о з ад н и е   и   од с у т п   к   м ас и в а м   M ATLAB,  и   нфу к ц и , п о з в о л яю щ и е   о п ер и р о в ат ь   в  р а б о ч е й   с р ед е   MATLAB.  С о з да н и е   М Е -Х ф а й л о в и з   п р о ц е уд р   F ortran  з ак лю ч аест я   в   н ап и сан и и   и н етр ф й с н о й   п р о ц р еуд ы  с и сп о ль з о в ан и е м   н фу к ц и й   MATLAB  API  и   п осюлуед щ е й   ге н е р а ц и и   М ЕХ л   яв л сет я   ид фа й л а   п р и   п омощ и   к о м ан д ы   те х .  В   сред е   Windows  М Е -Х фа й н а м и ч ес к и   п о дк л ю ч а е м о й   б и б л и о ет к о й   и   и ме т   р асш и р ен и е   dll.  Г ен ерац и я М Е -Х ф а й л о в   и з   п р о ц е уд р   F ortran  ртеб у т   с ау т н о в к и   п о хд я щ е г о   ком п и л я то р а ,  н а п р и м е р ,  о дн о г о   и з :  D igital  Visual  F ortran  и л и   Compaq  Visual F ortran.  В срто ен н ы й   к о м п и л я то р   F ortran  н е  вохид т   в   п ак е т   MATLAB  в   от ли ч и е  о т  к о м п и л я то р а  Lcc дл я   п р и л о ж ен и й   н а  С . П о   с р ав н ен и ю   с   M ATLAB,  к о т р ы п ри н ц и п и аль н о   др г у о со ти т   в   н ап и сан и фа й л а   и   о б р ащ ен и п ри м е р   та к о й   в н еш н е гл а в ы .

п о хд а м

и   п о   п о в ы ш ен и ю   э ф е к ит в н о с т и   п р и л о ж ен и й е   м ы   р а с м о рт е л и   вы ш е ,  М Е -Х фай л ы   п р е до с ат в л я ю т й   сп ос б   п о в ы ш ен и я   б ы с р т о ед й с в т и я   п р о гр а м .  О н и  в н еш н е й   п р о ц р е уд ы   н а   F ortran  и л и   С , с о з адн и и   М ЕХ и   к   н ем у   и з   с р ед ы   и   п р и л о ж ен и й   M ATLAB.  П р о с т й й   п р о ц р е уд ы   р а с м о рт е н   в   п о с л не д м   р а з де л е   э от й

л ав Г

 23. Пошвы ени

 пр о и зво дт е льно с т и

 преин лойж

и рг у о н ф в а К и

947zyxwvutsrqp

 MATLAB 

е  MATLAB Compiler zyxwvutsrqponmlkjihgfedcbaZYXWVUTS

П ер д   к о м п и л яц и е й   п р о гр а м м   н е о б х ид м о   п р о и з в ес т к и ,  с в яз ан н ы е   с  в ы б о р м   к о м п и л я то р а .  Е сл и   к о м п и л я то му о л ч а н и ю   и с п о л ь з ес т у я   в с рт о е н н ы й   Lcc дл я   п р и ло ж ен и к  к о н фи гру и р о в а н и ю   MATLAB  Compiler.  Н а б е р и т »  т е

и   н ек о т р ы е   с уа т н о в р   н е  в ы б р а н ,  т о   п о й   н а  С .  П р и спут и м е  в  к о м а н дн о й   с рт о к е

х   - se t u p

е р п дП у и н ж

е

Н ек о р т ы к о н р и ф у г о в ан и ос л ве ь   щ бо с н е и н у ю   п р о га м у З а п с ку а е т а в от м а ит ч е с к и

е   н а и т в сн р у ы

е   п р о а гм я   и л и  комп и цля и йе е   о б   о ш и бк е

ы   у м ог . Елс , т о  е у делс

т  кон лфи оквта и  п лос т  вмнер

ь   с   п ро ц у д е е  н абор о   к лю о т ч и т

а   к о м ан д

й ы  те х   вы

ь   на и т в с р у

-

.

я   п р о гр а м

а   с  и н етр ф й со к  все х   к о м п и л я то р о в

й   п ои с

м   и з  к о м а н дн о , и м ею щ ис х

й   с рт о к и   и   п р е лд а г е с т я   н а   к о м п ь ю ет р

Please  choose your compiler  for building external interface  (МХ Е Would you like те

я .zyxwvutsrqponml )  files:

х  to locate  installed  compilers  [y]/n?

В в еи д т е   у   (п овтдерж н и е )  н а   з а п р о с   о б   а в от м а ит ч е с к о м   п ои ск е . П о яв л ет с я  сп и со к  допсут н ы х   к о м п и л я то р в   С  и  F ortran (к о т р ы й   м ож е т   о лт и ч а ьт с я о т  п р и в едн н о г о  н и ж е) : Select a compiler: [1] Compaq Visual Fortran version  6.1  in C:\Program Files\Microsoft Visual Studio [2] Lcc С  version  2.4  in C:\MATLAB7\sys\lcc

[3]  Microsoft  VisualzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC   C/C++ version  6.0  in  C:\Program  Files\Microsoft Visual  Studio [0] None Compiler:

П о ск ль у   алед е   м ы  раз бер м   и сп о ль з о в ан и е  вн ше н и х   п р о ц у ед е у д елс т  ввсет и  н ом е р  сювустоещ ге о   к о м п и л оя т р а  (в  дан о и  н аж т ь   . Дале е  п лсраегдт я   п в е и т ор д ь   ле а н с д ы Please verify your choices: Compiler: Compaq Visual Fortran 6.1 Location: C:\Program Files\Microsoft Visual Studio Are these correct?([y]/n): В в и ед т в ер ш ен о ю уд щ и

е   у   и   н аж м и т .  П ер й ид т х   р а з де л а х 31  З ак

.  130

е   < Enter> .  К о н фи гру и р о в а н и е   к   и з ч уе н и ю   н ек о т р ы .

х   п р и м ер о в

р   н а  F ortran, т о м  сча лу е   п ер в ы й ) й  в ы б о р :

е   MATLAB  Compiler  з а ,  р а з о б р а н н ы х   в   с ле -

948 

аЧс т ь

р о Пс т

й  прим е р

Н ачн и т П р е дп о л о ж и м н ап и сан н у чи сл п р о ц е д ур

, с л оеж ни

  V. Доплни т ельны

е  дув

 во зм но с тж и

х  чисе

л

 MATLAB zyxwv

zyxwvutsrqponmlkjihgfedcbaZYX

е   и з уч е н и

е   с о з да н и я   М Е Х- ф а й л о в   с   сам ог о   п р о с то г о   п ри м ера . ,  ч т о   и з   с р е д ы   M AT L AB  т р е б уе т с я   вы з ват ь   п р о ц е д ур у   sum, ю   н а   F o r t r a n  90.  П р о ц е д у р а   sum  с к л а д ы в а е т   д в а   в е щ е с тв е н н ы х а   а   и   ь   и   з ап и сы вае т   р е з ул ь т а т   в   с   (л и с т и н г   23.7).  Б уд е м   с ч и та ть ,  ч т о а   sum с о д е р ж и т с я   в   фай л е   mysum.f90.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR

|  Л ис т ин

г  23.7. Ис охнад

я  проец уд

а  sum н а  Fortran 90 (фай

л  mysum.f90) zyxwvutsrqponm

subroutine sum(a, b, с ) !  р у д е ц о р П ! 

а  sum се а в ы д а л к

и  ве а щ р в з о

т  ра т ь л у з е

т  дв

а  вы н е в т с е щ

х   лсич

а  а  и  b

т  в  с

real*8 a, b, с с  = а  + b end

Н е п о с р е дс тв е н н о   вы з ват ь   п р о ц е д ур у   sum  и з   с р е д ы   M AT L AB,  р а з ум е т с я ,  н е уд а с т я .  Н е о б х о д и м о   н ап и сат ь   и н те р ф е й с н у ю   п р о ц е д ур у   н а   F o r t r a n  с   и с п ольз ован и е м   ф ун к ц и й   M AT L AB  AP I ,  к о т о р а я   б уд е т   то ч к о й   в хо д а   МЕХ фай л а   m ysum .dll  п р и   в ы з о в е   ф ун к ц и и  mysum  и з   с р е д ы   M AT L AB.  И н т е р ф е й с н а я   п р о ц е д ур а   до л ж н а   н а з ы в а ть с я   m exF u n ct ion  и   и м е т ь   ч е ты р е   а р г ум е н т а ТИ П

а   in t e ge r M :

  х ын в д х о   а р г ум е н т о в ,  с   к о т о р ы м и   б уд е т   п р о и с хо д и т ь   обра 1.  n r h s  —  ч и с л о zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA щ ен и е  к   М Е Х - ф у н к ц и и  mysum и з   с р е д ы   M AT L AB. 2.  p r h s  —  м а с и

в   ук а з а т е л е

3.  n i h s  —  ч и с л о   х ын д х в о ы ращ ен и е   к   М Е Х - ф ун к ц и 4.  p i n s  —  м а с и Обме н   да н н ы м те р ф е й с н о вы ш еп ереч и слен н ы р е з ул ь т а т те р ф е й с н а ви т е   фай п а р а м е тр

в   ук а з а т е л е

й   н а  ве ын дхо

  а р г ум е н т

ы   mysum.

  а р г ум е н т о в ,  с   к о т о р ы м и   б уд е и  mysum  и з   с р е д ы   M AT L AB. й   н а  ве ын дхоы

  а р г ум е н т

т   п р о и с хо д и т

ь   об

-

ы   mysum.

и   м еж д

у   п р о ц е д ур о й   sum  и   с р е д о й   M AT L AB  п о с р е д с т в о м   ин ы   m exF u n ct io n  о с ущ е с т в л я е т с я   то л ь к о   пр и   п омощ и х   а р г ум е н т о в .  Д л я   в ы д е л е н и я   да н н ы х   и з   p r h s  и  з а н е с е н и я а   в   p i n s  п р е д н а з н а ч е н ы   сп ец и аль н ы е   ф ун к ц и и   M AT L AB  AP I .  И н я   д л я   sum  п р о ц е д у р а   m exF u n ct ion  п р и в е д е н а   в   л и с ти н г е   23.8,  н а з о ,  и н т е р ф е й с н а я   п р о ц е д ур а   име т   ч е ты р е л   с   н е й   m ysum g.f90.  И т а к а   ти п а   i n t e g e r M ,  д в а   м а с и в а   p i n s,  p r i s  и  д в а   с к а л я р а   n i h s,  n r h s. й   п р о ц е д ур

В   m exF u n ct io n  и сп ольз ован ы   m xC reat eD o u bleM at rix  И  mxG etP r,  в о з в р а щ а ю щ и Ф ун к ц и я   m xC reat eD o u bleM at rix  в ы д е л я е

дв

е   т   п ам ят

ф ун к ц и

и   е   З н ач ен и ь   п о д   м ас и

M AT L AB  AP I : я   И ТП а   i n t e ge r *4 . в   и   воз вращ ае т

л ав Г

 23. Пошвы ени

к у а з а ет л воз врат и м ет з а ет л м ен ы с о ед р ж а щ и а р мг у е н о т

 пр о и зво дт е льно с т и

ь   н а   м ас и в .  В а   р е з л у ь ат а   (см у ь   р аз м ер ы   о ид н  н а я   н а   п ер в ы й   в е щ е свт н н ы е  а р г ,  ь _ р г   и  с р е  вохнд ы е   а р мг у е н т в   о п р е дл н ы

 преин лойж

  р а с м а тр и в а е м о ы   в ду   о ди н г   п о н а д о б я ст  в ещ есвтн ы

949 zyxwvutsrqpo

 MATLAB 

м   п р и м ер е   э то т   м а с и в   ж с л иу ) в  р а б о ч у ю   с р де у   MATLAB  и .  Ф ну к ц и я  mxGetPr  жслиу т   дл я   п о ч л у е н и й   э л ем н т   в   м ас и в е .  Ц ел о ч и с л ен н ы е я  дл я   рхан ен и я  указ етл й   н а  м а с и в ы ы   и  в ы охдн о й   а р мг у е н т .  Д л я  з ап и с и  з н а ч ен и е  п ер м ен н ы е  а , ь  и  с . х   ч и с ел

т   дл  бед у я   к ау   п ер

я т , й

П р о ц е рд у а   mexFunction  н ач и н аест я   с   п о чл у е н и я   к у а з ет л й   н а   п ер в ы е   (а   в да н н о м   с чл у а е   и  еид н свтен ы е ) в ещ есвт н н ы е   э л е м н ыт   м ас и в о , н а  к о т р ы е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  уквазюты   п ер в ы й   и  в то р о й   э л е м н ыт   prh s.  В аж н о   п о н и м а ть , ч т о   м ас си в   prh s  со едр ж и т   к у а з ет л и   н а   м ас и в ы   с п ец и ал ь н о г о   ти п а   mxArray.  Д а н н ы й   ит п   о п р е д л н   в   M ATLAB API  и   яв л сет я   еид н с в т е н н о   воз м ожн ы м у   с р ео д й   M ATLAB  и   п р о ц ерудо й   н а сп ос бо м   о б м ен а   да н н ы м и   м ж ед F ortran.  Вс е   да н н ы е   MATLAB  п ер адю стя   п р и   п ом щ и   mxArray,  в   з ав и си м о ст и   о т   ти п а   п е р ад в е м ы х   ад н н ы х   е су л д т   п р и м ен ят ь   с о вт е с ю у щ и е н фу к ц и и   лд я   и з в л е ч н и я   к у а з ет л й .  Д л я   и з в леч н и я   к у а з е тл й   н а  вт-сещ е в ын  м ас и в ы , соедр ж ащ и е   з н ач ен и я  вонхд ы х   а р мг у е н от в   М Е - Х фн у к ц и , н ап р и м ер , а_ р г   И  b_pr, И етС у З ЛЬ О П С Я  фн у к ц и я  mxGetPr M ATLAB API. С ю л еу д щ и й   ш а г   со ти т   в   з ап и с в ен ы е   п ер м ен н ы е   а   и   ь .  П р о ц ерду mxCopyPtrToReal8,  з а н о с и т   в е щ е св т н н ы п р о ц р еуд е   F ortran. П ер в ы м  вохнд ы с я   к у а з а ет л ь ,  в от р ы м   —  и м я   м ас и в а м ы х   э л е м н от в   (в   р а с м а рт и в а ем о оид н   э лем н )т .  П р о ц ерду а   в ы з ы в а е ст в о нх д ы х   а р мг у е н от в   М Е -Х нфу к ц и ц р у ед ы  mexF unction. Н а   да н н ы й   м о ен т   в   и н е тр ф й с н о то в , о т   к о т р ы х   бы л а   вы з ван с от яе л ь с вт о   п о з в о л яе т   о б р а ит ь с л о  о с н о в н о й  з а д ч ей .  Р ез луь ат п ер м н у ю  с . О са лт о з н а ч ен и ОДИ

П ервы м

ь   о б ес п ч и т я   п ер м н о Н   н а   ОДИ Н  п р и  Щ О М О П и   д в ум я   в хо д н ы м

и   з н ач ен и

й   в о нх д ы х   а р мг у е н о т в   в   в ещ ес т а   M ATLAB API,  к о т р а я   н а з ы в а е ст я е   да н н ы е   в   м ас и в ,  о б ъ яв лен н ы й  в м   а р мг у е н о т м   mxCopyPtrToReais  явлет ,  а   ртеь и м   —  к о л и ч есвт о   з ап и сы в ае м   п р и м ер е   р т е бс у я   з ап и сат ь   то л ь к о я   дв а   р а з а   л д я   з а н е с н и я   з н ач ен и й и  в   п ер м ен н ы е   а   и  ь   и н етр ф й сн о й  п р о й  п р о ц реуд

е   и з в е сн т ы   з н ач ен и я   а р м гу е н я  в   сред е   MATLAB.  Д а н н о е  о б е   sum, е е  и с п о л ь з о в а н и е  и  бы а   а  и  ь  (см . л и сит н г  23.7), з ан ес н

а   М Е -Х н фу к ц и я   к  п р о ц реуд ,  т . е . см у

ь   в о з в р а щ ен и й  с . П р евд ар и етль н

е   М Е - Х н уф к ц и е о   н е о б и хд м И   ф ун к ц и и   а р г ум е н т а м

й   в   в ы о н дх о о   с о з а дт

ь   м ас и

м   а м р гу е н т в   р аз м ер

 в е а

и   m xC reateD oubleM atrixl  M AT L AB  AP I . и   m xC reateD oubieM atrix  я в л я е т с я

ч и сл о   с рт о к   и   с от л б ц о в   с о з да в е м о г н ица .  Н о л ь , ук а з а н н ы й   в   рт е ь м   а р мг у е н е т м ас и в у ,  а   е д и н и ц а —  к о м п л ек с н о м у в ращ ае т   к у а з а ет л ь   н а   с о з ад н н ы й   pih s  (1).  В ы ш е   бы л о   ск аз ан о , ч т о   м ас и н а   м ас и в ы   с  р е з луь та о м ,  п о ск о ль к у

о   м ас и в а

,  а   рт еь и м   —  н о л ь   и л и   и де ,  со втес у т   в е щ е св т н н о м у .  Ф ну к ц и я   mxCreateD oubieMatrix  в о з т   з ап и сат ь   в м ас и в ,  к о т р ы й   е су л д в   pin s  од лж е н   с о ед р ж а т ь   к у а з ет л и   и м ен н о  pin s  и сп о ль з есту я   лд я   п ер а д -

950 

аЧс т ь

  V.  о п Длни т ельны

 MATLAB zyxwv

 возмно с тж и

ч и   з н ач ен и й   в   рабоч у ю   с р ед у   M ATLAB.  П о сленд и м   е дй с в т и е м   я в л се т н ес н и е  в   м ас и в   з н ач ен и я  в ещ есвт н н о й   п ер м ен н о й   с , дл я   ч ег о   п ри м ен яет с я   п р о ц е р ду а   mxCopyReaiSToPtr  MATLAB API.  П ер в ы й   в о х дн о й   а р мгу е н mxCopyReaiSToPtr  яв л ест я   п ер м ен н о й ,  в т о р о й —  куаз етл м   н а   м ас и в п о лд е ж а щ и й   з ап о лн ен и ю ,  а   рт еи й   —  к о л и ч есвт о м   з ап и с ы в аем ы х   э л ем н от в   м а с и в а .

я   за т , -

 Л ис т ин г  23.8. Инт е рйфс на я  проец уд а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM  m e xFu n c t io n (фай л  mysumg.f90)  I zyxwvu \ zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA subroutine mexFunction(nlhs, pins, nrhs, prhs) !  а н с й е ф р т н И

я  пр у д е ц о р

!  и н а с и п О

е  то п и

а  дл в  ао т н е м у г р

я  sum в

integer nlhs, nrhs, pins(*) , prhs(*) !  и н а с и п О

е  то п и

в  иы м е у з ь л о п с

х  фи ц к н у

й  и з  MATLAB API

integer mxCreateDoubleMatrix, mxGetPr !  и н а с и п О

е  то п и

в  уе л т а з к

й  н а  иы м е у з ь л о п с

е  пы н е м р е

е

integer a_j?r, b_j?r, c_pr !  и н а с и п О

е  то п и

в  иы м е у з ь л о п с

х  пы н е м р е

х

real*8  a, b, с

!  и н е ч у л о П

е  уе л т а з к

!  с т е а в ы з в

й  н а  пы в р е

я  М- Х Е я и ц к н у ф

!  с т е у з ь л о п с и

й  и  во р т

, ул е т а з к

я  фи ц к н у

й  вы н д о х

и  хс т я н а р

е  аы т н е м у г р я  в  мвис а

, с  км ы р о т

и

е  prhs,

я  MATLAB API

a_pr = mxGetPr(prhs(1)) b_pr = mxGetPr(prhs(2)) !  с и п а З ! 

ь  зи н е ч а н

_ а р

й  пг о в р е

о  и  вг о р т

г  и  b__pr в  пы н е м р е

о  вы н д о х

е  а  и  b пр

х  ао т н е м у г р

и  пщ о м

в  с  ум я л е т а з к

и  пр у д е ц о р

и

ы  MATLAB API

call mxCopyPtrToReal8(a_pr, a, 1) call mxCopyPtrToReal8 (b__pr, b, 1) !  о з ы В

в  пр у д е ц о р

ы  sum, ка р о т

я  зи с о н а

т  в  пу н е м р е

ю  с  см у

у  а  и  b

call sum(a, b, с ) !  и н а д з о С

е  вг о н д о х ы



идо



н а  мис а

н  пр

и  пщ о м

о  ат н е м у г р и  фи ц к н у

а  — вг о н е в т с е щ

о  мв и с а

и  MATLAB API, во н д о х ы

й  ан е м у г р

в

plhs(l) = mxCreateDoubleMatrix(l, I, 0) c_pr = mxGetPr(plhs(1))

а  рр е м з а т  ет с

а  ои д ь  ул е т а з к

н  н а ь

л ав Г

 23. Пошвы ени

!  и н а в о р и п о К

 пр о и зво дт е льно с т и

е  и н е ч а н з

 преин лойж

я   с  в  мис а

call mxCopyReal8ToPtr(с ,  с__рг

 MATLAB 

в  с  уе л т а з к

951 zyxwvutsrq

м   с  р г

, 1)

endzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

И сп оль з ован и е   п р о ц р е уд ы   sum в   MATLAB  сатн е т   воз м ожн ы м   то л ь к о   п о сл е с о з ад н и я   М Е -Х нфу к ц и и   и з   sum,  рахн ящ ей с я   в   фа й л е   mysum.f90,  и   и н етр фе й с н о й  п р о ц реуд ы   mexFunction, к о т р а я   з ап и сан а  в  фай л е  mysumg.f90.  Д л я с о з ад н и я   М Е -Х нфу к ц и и   ж с л иу т   к ом ан д а   те х .  Н а п о м н и м , ч т о   п ер д   п ри м е н е ие м  те х   е сулд т  о п р едл и ьт ,  к а и м   к о м п и л я то р м   F ortran  едбу т   п оль з о в а ьт с я   MATLAB  лд я   ген ер ац и и   М Е -Х н фу к ц и и  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM (с.м  р.азд  "Квигоанеру ф о MA  TLAB  Compiler" дйаон  г)авы л . П осл е   н а с рт о й к и   MATLAB  н а   и с п о л ь з о в а н и п р и сп ут а ь   к  о к о н ч аетл ь н о м у   э ат п у  —  с о з адн и ч т о   фа й л ы  mysum.f90  и  mysumg.f90  н соятадх и  в ы п о л н и т е  к о м ан д у   те х ,  куаз в   в  к ач есвт »  ет

х  mysum.f90  mysumg.f90

О б р а ти в от р ы то р ы ит в ш и с

е   в н и м ан и е ,  ч т о   и м я   фай л а   с   и н е тр ф й с н о м   п а р м е тр о м   те х .  В  тщеку е м   к атлог й   и   с о ед р ж и т   р т е б му ю   М Е -Х нф у к ц и ю ь   к  н е й  и з  к о м а н дн о й  с тр о к и :

е   к о м п и л я то р ю   М Е -Х нф у к ц и я   в  тщ кеу е   е е  п а р м е тр о

е   п о яв и л с .  П р о в е р ь т

а   F ortran  м о ж н о .  бУеид тс ь , м   к а тл о г е   M ATLAB, в   и м ен а  фа й л о в :

й   п р о ц ер у д о я   фа й

й   я в л се т я л   mysum.dll,  к о е   е е   р а б о ту ,  о б р а -

»  s  =  mysum(l,  2)

П осл е  в ы з о в а   М Е -Х н фу к ц и см ы с л  в ы грзу и т ь   е е  п р >> clear mysum П ри м е ед н н ы фе й с д о с та о ч н о г л а ю щ ем з н ат ци еф й с н ы ли ч н ы

я  о сате и  п о м щ

и  к о м а н д

я   в  п а м яит . Е сл ы   clear:

р   с о з ад н и й   вы ш е а   п р и л о ж ен и

и  о н

а  н е  н жун а

, т о   и м е

т

я   М Е -Х н фу к ц и и   и з   п р о с е тй ш е й   п р о ц р е уд ы   F ortran, п ри в е ,  едм о н срт и реу т   осн овн ы е   п ри н ц и п ы   и сп о ль з о в ан и я   и н етр й   MATLAB  API.  П о л ь з о в а те л ю   M ATLAB,  н е   и м ею щ ем у о   оп ы т а   в   о бласт и   р а з р а б о тк и   и н е тр ф й с а   п р и ло ж ен и й ,  н о   же у   вы з ы ват ь   п р о ц р е уд ы   F ortran  и з   сред ы   M ATLAB,  до с та о ч н о ь   н еб о ль ш о й   н або р   н фу к ц и й   MATLAB  API.  Т р ебюу ст я   то л ь к о   н уф к ,  к о т р ы е   п о з в о ляю т   о б м е н и в а ьт с я   осн овн ы м и   ит п а м и   да н н ы х .  И н те р е   п р о ц е р ду ы ,  к а к   п р а в и л о ,  п р и н ц и п и а л ь н о   н е   о лт и ч а ю ст я   лд я   р а з х   п р о ц е уд р   н а  F ortran и  с о с т я т   и з  тре х   ч асетй :

1.  П о лчуен и 2.  В ы з о 3.  В о з в р ащ ен и

е  з н ач ен и в   п р о ц р е уд

й  вонхд ы

х   а р г м у е н от в

.

ы   н а  F ortran. е   з н ач ен и

й  в  срде

у   MATLAB.

952 

аЧс т ь

  V.  о п Длни т е льны

 M ATLAB zyxwvut

 во зм но с тж и

В   ю с лу е д щ и п р о ц еуд раз ли ч н ы

х   р а з де л а х   п ок аз ан ы   о с б ен н о с т и   р еали з ац и и   и н е рт ф й с н ы х р   и   с о вт е с ю у щ и е   н фу к ц и и   MATLAB  API  лд я   о б м е н а   ад н н ы х х  ти п о в .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Ра б от

а  с  ком пл е скмны

И сп о ль з о в ан и м ен ы м и е йф с н о котра си в а пр

и  пе р м е мны

е   п р о ц р уе д ,  ртебу й  п ро ц реуд я   в о з в ращ ае

ы   н а   F ortran,  оп ери ю у щ е й   с   к о м п л ек с н ы м и   п ре й   о р га н и з а ц и и   о б м ен а   ад н н ы х   в   и н ер т е  фн у кц и и  mxGetPr, п рисетд я  и сп о ль з о в ат ь  mxGetPi, ь   н а   к о м п л ек с н у ю   ч аст ь   п ер в о г о   э л ем н т а   м са ь   з н а ч ен и я   п ер м н о й   п о   к у а з е лт ю   п р о и з в о яс д т я zyxwvutsr

т   с о ю в ут е щ е .  К р о м т   к уа з е л т е   и   з ап и с

.  П очлуен и

р   m xC o p yP t r T o C o m p lexl6  И  m xC o p yC o m p le xl6T o P t r ,   И П р

И   п ро ц е ду

и   Щ ОМ ОП

и

че м  вохнд ы м   а р г м у е н от м ,  к р о м е  указ етл я   н а  в ещ есвт н н юу к у а з ет л ь   н а  к о м п лек сн у ю   ч а с ьт .  П р и  с о з адн и и  м ас и в DoubieMatrix  еслуд т   з адт ь   и ед н и ц у   в   к а ч е свт е   тр е ь г ск о ль к у   п р е дп о л а г е с т я   р ха н е н и е   к о м п л ек с н ы х   ч и с ел ц р уед ы   н а  F ortran  п ри вед н   в  ли ст н г е  23.9,  а  о вт еч а ю щ а п р о ц е р ду а   в  л и с ит н г е  23.10. j Л и с т и н

г  23.9. Проец уд

а  с л еож ни

, яв лясет а   н фу к ц и е .  Т ек с

о   а р мг у е н а т т   и со х н д о я   е й  и н етр фй сн ая

я  ком пл е с кны

х  чис е

л  (фа й

а   к о м п лек сн ы

х   чи сл

а   а   и  b

-

я  ещ е  и й  mxcreate,  п о й   п ро -

л  mycsum.f90) 

I

s u b r o u t i n e  su m ( a,  b ,  с ) ! 

П р о ц е д ур



и   воз вращ ае

а   sum  с к л а д ы в а е т   р е з ул ь та

т   дв т   в   с

com plex*16  а ,   Ь ,   с с   =  а   +  b en d zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

j Л и с т и н г  23.10. Инт е рйфс на X ,,........„„  . 

я  проец уд

а  m e xFu n c t io n  (фа й

л  mycsumg.f90)  „,...-  

subroutine mexFunction(nlhs,  plhs, nrhs, prhs) !  а н с й е ф р е т н И !  и н а с и п О

я  р у д е ц о р п е  о п и т

а   лд

в  о т н е м у г р а

я  sum в

integer nlhs, nrhs, plhs(*),  prhs(*) !  и н а с и п О

е  о п и т

в  иы м е у з ь л о п с

х  и ц к н у ф

й  и з  MATLAB API

integer mxCreateFull, mxGetPr,  mxGetPi !  и н а с и п О

е  о п и т

в  уе л т а з к

й   н а  иы м е у з ь л о п с

е  ы н е м р е п

integer a_pr, b_pr, c__pr, a_pi, b_pi,  c_pi !  и н а с и п О

е  о п и т

в  иы м е у з ь л о п с

complex*16  a, b, с

х  ы н е м р е п

х

е

; zyxwvutsr

.....J zyxwvut

л ав Г

 23. Пошвы ени

 пр о и зво дт е льно с т и

!  и н е ч у л о П

е  уе л т а з к

!  ы н д о х в

 MATLAB 

й  н а  вы н е в т с е щ

х  ав о т н е м у г р

!  с т я н а р х _ а р

 преин лойж

е  и  мы м и н

, с  км ы р о т

я  в  мв и с а

и  вс т е а в ы з

е  чт с а

953 zyxwvutsrq

и  пг о в р е

я  М- Х Е я и ц к н у ф

е  prhs, ис т е у з ь л о п с

о  и  вг о р т , ул е т а з к

я  фи ц к н у

о и

и  MATLAB API

г  я  mxGetPr(prhs(1))

a_pi = mxGetPi (prhs (1) ) b_pr = mxGetPr(prhs(2)) b_pi = mxGetPi(prhs(2)) !  с и п а З ! 

ь  зи н е ч а н

й  пг о в р е

о  и  вг о р т

о  вы н д о х

х  ао т н е м у г р

a_pr, a_pi и  b_pr, b_pi в  пы н е м р е

!  р у д е ц о р п

в  с  ум я л е т а з к

е  а  и  b пр

и  пщ о м

и

и

ы  MATLAB API

call mxCopyPtrToComplexl6(a_pr, a__pi, a, 1) call mxCopyPtrToComplexl6(b_pr, b_pi, b, 1) !  о з ы В

в  пр у д е ц о р

ы  sum, ка р о т

я  зи с о н а

т  в  пу н е м р е

ю  с  см у

у  а  и  b

call sum(a, b, с ) !  и н а д з о С

е  вг о н д о х ы



идо



н а  мис а

н  пр

о  ат н е м у г р

и  пщ о м

и  фи ц к н у

а  — кг о н с к е л п м о

о  мв и с а

и  MATLAB API, во н д о х ы

а  рр е м з а

й  ан е м у г р

а  ои д

т  ет с

н  н а

ь  ул е т а з к

ь

в

plhs(l) = mxCreateDoubleMatrix(l, 1, 1) c_pr = mxGetPr(plhs(1)) c_pi = mxGetPi{plhs(l)) !  и н а в о р и п о К ! 

е  зи н е ч а н

_ с р

я  с  в  ми с а

г   (н а  ву н е в т с е щ

в  с  ум я л е т а з к

ю  чь т с а

и

) и  c_pi  (н а  му м и н

ю  чь т с а

)

call mxCopyComplexl6ToPtr(с , c_pr, c_pi, 1) endzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

С о з да й т с к о м п и л и рйу т п р ые д щ у е »  ет

б ие У д с т

е  в  тщеку е

м   к атлог е  М Е -Х нфу к ц и ю

м   р а з де л

е   MATLAB  фай л ы   mycsum.f90  и  mycsumg.f90  и  п р и  п о м щ и  к о м а н д ы  те х ,  р а с м о тр е н н о й  в

:

х  mycsum.  f 90 mycsumg.f90

ь   в  то м

, ч т о  п о лчуен н а

я  М Е -Х нфу к ц и

я  mycsum р а б о та е

т  в е р н о

.

»  s = mycsum(1 + 2i, 3 -  5i) s = 4.0000 -  3.0000i Р а з м у е стя и  вещ есвтн ы

, mycsum  п р а в и л ь н х   а р г м у е н то в

»  s  =  mycsum(1,  3) s  = 4

о  в ы ч и сляе :

т   м су

у   н е  то л ь к

о   к о м п л ек с н ы х

, н о

954 

аЧс т ь

Об м е

н  м а с ива м

и  дыан

  V. Доплни т ельны

х

П е р адч у   м ас и в о в   ад н н ы х   в   п р о ц р еу д бо ч у ю   с р де у   M ATLAB  п р о и л ю срт и реу м а рт и ц . С о з да н и е  п р о ц реуд ы   л д я   н о а хж е д н и F ortran  н е  п р есдатв л яе т   р т да у , е е  тек с

 MATLAB zyxwv

 во зм но с тж и

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML

у   н а   F ortran  и  в о з в р а щ е н и е   и х   в   ра м   н а   п р и м ер е   п ер м н о ж ен и я   в уд х я   п р о и з в е дн и я  дву х   м а рт и ц  н а т   п р и в ед н  в  л и сит н г е   23.11.zyxwvutsrqponmlkjih

г  23. 1 1 .  рПоец уд а  пе р м еножи я  м а т ри ц  (фай л  mymult.f90) !  Л ис т ин : . zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA subroutine multmtr(nl/ п2 , пЗ ! Ви н е л с и ч ы

е  Z = X*Y, гд

integer nl, n2, пЗ

, X, Y, Z)

е  X -  nlxn2,  Y -  n2xn3,  Z -  п1п Х

З

, i, j, k

real*8 X(nl, n2) , Y(n2, п З ) do i = 1, nl 

, Z(nl, пЗ

)

.

do j = 1, n3 Z(i, j) = O.OdO do k = 1, n2 Z(i, j) = Z(i, j) + X(i, k)*Y(k, j) enddo enddo enddo end

Т р е бс ту я   с ге н е р и р о в а т ь   М Е -Х нфу к ц и ю  mymult  лд я   в ы ч и с лен и я   п р о и з в ед н и я  дву х   м а тр и ц ,  п ри ч е м   ч л уш и м   в а р и а н то м   о б р ащ ен и я   к  mymult  и з   сред ы M ATLAB  б ы л о   б ы   ку а з а н и е   в о   в о хн д ы х   а р мг у е н ат х   то л ь к о   и ос н х д ы х   м ат р и ц   (бе з   и х   р а з м е р о в )  и   п очлуен и е   в   в ы о х нд о м   а р мг у е н т е   р е з л у ь та .  С ле д о в а те л ь н о ,  р а б о т у   п о   о п р е дл н и ю   р аз м ер о в   п ер м н о ж аем ы х   м а тр и ц до л ж н а  в з ят ь  н а  себ я  и н етр фй сн ая  п р о ц еруд а   mexF unction (ли сит н г   23.12). В   и н етр ф й с н о й  п р о ц еруд е   н е о б х ид м о   о б ъ яв и т ь   к у а з ет л и   н а   м ас и в ы о вт е с ю у щ и е   и о с н дх ы м   м а рт и ц а м   и   и х   п р о и з в едн и ю ,  и   сам и   м ас и в ы П оск оль к у   р аз м ер ы   м ас и в о в   з ар н е е  н еи з в еснт ы , т о   м о ж н о   о гр а н и ч и т к   п р и м ер у , п яьт ю едс яьт ю   (в  сю улед щ е м   р а з ед л е   п р и в ед н   п ри м е р  и с п о л ь з о в ан и я   ид н а м и ч е с к и х   м ас и в о ) .  П о лчуен и е   к о л и ч е с вт а   с рт о к   и  с от л б ц о в о хнд ы х   а р мг у е н а т х   М Е -Х нф у к ц и и   п р о и з в о ди с т я   п р и   п ом ощ и   н фу к ц и mxGetM и  mxGetN  MATLAB API.  Д а н н ы е   н фу к ц и и  в ы з ы в а ю ст я   о т   к у а з а ет л н а   в о х дн о й   а р мг у е н т   М Е - Х нф у к ц и , т . е .  о т   э лем н т а   м ас и в а   prh s,  и вращ аю т   к о л и ч е с вт о   с рт о к  и л и  с то л б ц о в . П ер д   н о а хж е д н и е н о   п р о в ер и т

м   п р о и з в е дн и ь   с о вт е с и

е   р аз м ер о

я   м а рт и в   п ер м н о ж аем ы

ц   п р о ц е р ду о

й   mymult  ц ел с о б р а з х   м а тр и ц , а  и м ен н

, со . ь   их , в  в о й я  в о з о  сов

-

л ав Г

 23. Пошвы ени

п а де н и е   п  и п рограм м ы M AT L AB.  ош и бке .  С т р о к а р г ум е н т а  

К Г   Вс е т х   дл я ц е др у ы ком ан д в з а и м о де й с тв о в а т п р о ц е ду те м

 пр о и зво дт ельно с т и

 преин лойж

 MATLAB 

955 zyxwvutsrqp

 q. В   с л уч а е ,  к о г д а   п  н е  р а в н о   q, н е о б х о д и м о   п р е к р а ти т ь   работ у   и   вы вест и   с о т в е т с т в ую щ е е   со бщ ен и е   в   к о м а н дн о е   окн о П р о ц е д ур а   mexErrM sgTxt  M AT L AB  AP I с л уж и т   д л я  о с т а н о в а  п о а   с   со бщ ен и е м   о б   ош и бк е   ук а з ы в а е т с я   в   к а ч е с тв е   в хо д н о г о mexErrM sgTxt.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Пр и м е ча н и

  ф ну к ц и в   и м ен   о п ери ро в ан и

е   ^Д и   и  п р о ц е дру и   о з н ач ает

ы   M ATLAB AP I де л я тс я   н а  дв е  г р уп п ы .  П р е ф и к с ,  ч т о  да н н а я   фну к ц и я   и л и  п р о ц е дру а   п р е дн а з н а ч е н а я   с  да н н ы м и   рабоч е й   с р ед ы   M ATLAB.  Ф ун к ц и и   и  п р о ,  и м я  к о т р ы х   н а ч и н а е тс я   с   п р ефи к с а zyxwvutsrqponmlkjihgfedcbaZYXWV   те х ,   п о з в о ляю т   в ы п о лн ят ь ы   M ATLAB,  в ы в о ди т ь   со бщ ен и я   в   к о м а н дн о е   окн о ,  с л о в о м , й   с р е од й   M ATLAB.  О п и с а н и е   в с е х   ф ну к ц и й  и ь   с   сам о р   с о д е р ж и ст я   в  р а з д .  Application  Program  Interface   с п р а в о ч н о й  си с ы   M ATLAB.

П осл е   п роверк и   в хо д н ы х   а р г ум е н т о в   н е о б хо д и м о   и з влеч ь   ук а з а т е л и   н а  с о о т в е т с т в ую щ и е   м ас и в ы   и   вы з ват ь   п р о ц е д ур у   m xC opyP trToR eais  д л я   з а п о л н ен и я   м ас и во в  АЙ В , о п р е д е л е н н ы х   в   и н те р ф е й с н о й   п р о ц е д ур е .  Т р е т ь и м а р г ум е н т о м   mxC opyP trToReai8  я в л я е т с я   к о л и ч е с тв о   з ап и сы ваем ы х   да н н ы х  в к а ж ды й   м ас и в ,  т . е.   п р о и з в е д е н и е   чи сл а   с тр о к   н а   чи сл о   с то л б ц о в .  В ы з о в ю   р е з ул ь т а т а   в   м ас и в   с .  Д л я  в о з п р о ц е д ур ы   mymuit  п р и в о д и т   к   з ан есен и вращ ен и я   р е з ул ь т а т а   в   рабочу ю   ср ед у   M AT L AB  о с т а л о с ь   сформ и роват ь и   ф ун к ц и и в е щ е с тв е н н ы й   м ас и в   раз м ер а   m  н а   q  п р и   п о м о щ m xC reat eD o u bieM at rix,  з а п и с а т ь   ук а з а т е л ь   н а  н е г о   в   п е р в ы й   э лем ен т   м ас и в а   p l h s  И  вос п о л ь з о в а т ь с я   mxG etPr  И  m xC opyReal8ToP tr.zyxwvutsrqponmlkjihgfedcbaZYXWV :  Л и с т и н

г  23.12. Инт е йрсфна

я  проец уд

а  (фа й

л  mymultg.f90) 

subroutine mexFunction(nlhs, plhs, nrhs, prhs) !  а н с й е ф р е т н И я р у  децорп а  л д я  mymuit !  и н а с и п О е  о п и т в о т н е м у  гра в integer nlhs, nrhs integer plhs(*), prhs(*) !  и н а с и п О е  о п и т в ы м  еузьлопси х   ицкнуф й  и з  MATLAB  API integer mxGetM, mxGetN, mxGetPr,  mxCreateDoubieMatrix !  и н а с и п О е  о п и т в   ел таз ку й  н а ы м   еузьлопси е  пы н е м р е е integer A_pr, B_pr,  C_pr !  ы н е м р е П е  m, n, p, q  стюузьлопси я   ялд .  сипаз и  о р е м з а р в и р  там ц integer m, n, p, q !  я с т е а г л о п д е р П ,  тч о   циртам ы  н е  угом т  т е м и ь  рр е м з а , би ш ь л о й  50 real*8  ( А 50 ,  50), ( В 50 , 50), ( С 50 ,  50)

! zyxwvutsr

956 

аЧс т ь

!  и н е ч у л о П

е  ро р е м з а

в  ми р т а

  V.  о п Длни т е льны

ц  — вы н д о х

 во зм но с тж и

х  ао т н е м у г р

в  М- Х Е и ц к н у ф

 MATLAB zyxw

и

m = mxGetM(prhs (1) ) n = mxGetN(prhs(l) ) p = mxGetM(prhs(2) ) q = mxGetN(prhs(2)) !  к р е в о р П

а  с ищюувтс евто

х  ро р е м з а

в  ми р т а

ц

if  (n.ne.p) then 1

call mexErrMsgTxt('Matrix dimensions must argee! ) endif !  к р е в о р П

а  ро р е м з а

в  ми р т а

ц  н а  во х ы

д  з а  ды м и т с у п о

е  пл е д р

ы  ( >  А   =   r a n d ( 4 0 0 ) ; > >  В   =   r a n d ( 4 0 0 ) ;

>>  tic, С  = mymultfun(A,  В ) ; toe Elapsed  time  is 8.500000  seconds. >>  tic, С  = mymult(A,  B ) ; toe Elapsed  time  is 1.594000  seconds.

Дл

я   раз н ы н о ш ен и н ом и

х   к о м п ь ю ет р о е   о сате

т  в рем

я   с ч еа т

я   п р и м ер н .

в   в р ем н н ы е   з а тр о   ет м   ж е  —  М Е -Х нфу к ц и

ы   м о гу

т   р а з л и ч а ть с я я   в   н ес к о л ь к

,  н о   со т о   ра з   эко

-

В   з а к л ю ч ен и е   э от й   г л а в ы   о мт е и м ,  ч т о   в ы   и м ет е   воз м ож н ост ь   в ы з ы в ат ь н фу к ц и и   M ATLAB  и з   со б втен н ы х   п р о гр а м м   н а   F ortran  и л и   С   (см . р а з д .zyxwvutsrqp MATLAB:  External Interfaces:  Calling MATLAB  from  С   and  Fortran Programs сп рав о ч н о й  си есмт ы   MATLAB).

И Н Е Р П ИЛ О Ж

Я

е и н рл ж о П

е  1

ы н в о нс О

е  кмо дан ы и  M ATLAB и  ToolboxzyxwvutsrqponmlkjihgfedcbaZY

и  фуиц кн П р и ло ж ен и в ан н ы нф у к ц и й Дан робн

е  соедр ж и т   осн овн ы е   п о   р а з де л а м .  П р и в едн ,  и м ею ст я   п р и м ер ы   с ы лк и   н а   с о вт ес ю у щ и о  р а з о б р а н о  п р и м ен ен и

п Ур а в л е н и

е  фн у к ц и о   о п и сан и

и  и  к о м ан д ы   M ATLAB,  с грпу и р о е   раз ли ч н ы х   в а р и а н то в   вы з ов я   н ек о т р ы х   н фу к ц и й   и   к ом ан д е   гл а в ы   и   р а з де л ы   к н и ги , в   к о т р ы х   п од й  и  к о м а н д  MATLAB  и  Toolbox.

ы   и сп о ль з о в ан и е  фн у к ц и

е  с р е до й

и е н ч лу о П

е о сн чо аврп

•   demo —  п очлуен и •   doc —  з ап с у

в е   п а р м е тр р о й  требсту doc  p lo t

е  до спут к   сп рав о ч н о а   м ож е я   п о лч у и т

, фа й л а м

и  и  п е р е м е н ым

й мрио иац ф н

и

а   к  дем о н с рт а ц и о н н ы

т   бы т

й  си емст ь   ку а з а н ь   сп рав о ч н у

м  фай ла ы   п о  все м   р а з дел а о   и м я   н фу к ц и ю  и н фо р м а ц и ю

а . -

и м  в  о к н

е zyxwvutsrqponmlkjihgf  Help.

м   M ATLAB.  В  к ач ест и   к о м а н ды , дл я   к о т

и   ил

-

:

и л и  и м я   Toolbox: doc  toolbox\ pde •   h elp —  в ы в о

д  р а з де л о

в   в с рт о е н н о

•   h elp  e l fun  —  с о едр ж и м о э л е м н ат р н ы х   м а ет и ч е с к и В   ет к с т е   н аз ван и м и ,  н о   п р и   р а б о т б ку в а м и . •   h elp  floor  —о п и с а н и

й  с п р ав к е  р а з дел х   нфу к ц и я х

я   фн у к ц и е   н ад

й   и   ком ан о   н аби рат е  фн у к ц и

и  в  к о м а н дн о

а   eifun  с  и н фо р м а ц и е . д   п р и в едн ь   к ом ан д и   floor.

о   з а гл а в н ы м ы   и   нф у к ц и

е  о к н

о й  о  в срт о ен н ы

х и   бк у в а

и   с тр о ч н ы м

и

964 

zyxwvutsrq

р П е ин л о я ж

•   h elp  /  — и н фо р м а ц и

и  о б  о п е р а то р а

•   h elp  syn tax  — с п р а в к •   heipwin — з ап су окн е  Help.

а  о  си н атк си

к   к р а тк о

к   М - фа й л о в о ед р ж и т   з адн н ы й  тек с т lookfor integral е  п р

•   ve r —  в ы в о етл ь н ы х   п а к е то в •   version — в ы в о

ю   в ер с и

е  о к н

е  с ре од

п р а У в л е ни и   п ои ск

ы   п о  р а з де л а

м   MATLAB  в

й   MATLAB,  Toolbox  и  до п о л н и ю   в ер с и ю . о  в ерси

-

и   M ATLAB.

о   Help  и н фо р м а ц и и  о  н о в ш есвт ах ,  о лти ч аю щ и х .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ

й  MATLAB

•   addpath — до б а в л е н и

пт у

й zyxwvutsrqponmlkjihg  M ATLAB.

я   в   пя т у х   п ои ск а   MATLAB о  вzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO  р.азд   "Утваскон  путйе"   ав ыг л  5).

е   окн о   в ер с и   в  усатн о в лен н у

д   в   окн ю  о т  п р еыд щу ей

.

х   п ер в а я   с тр о к а   к о м е н ат р и е в :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ

,  н оаяхдщ и ес а  н а п и с а н

д  в  к о м а н дн о

•   whatsnew —  в ы в о

ад н н у

,  в   к о т р ы

д   в   к о м а н дн о , вояхдщ и х

д  и  фну к ц и

й   с и ем т

, н а п р и м ер

я   фа й л ы и   п ои ск

о  пт у

х   си м в о лах

е  к о м а н

й   сп рав о ч н о

•   lo o kfo r—  п о и с

П р о с м а тр и в а ю тс (п о рд б н е

х   и  сп ец и аль н ы

е   к атлог о  в  р.азд

а  н а п и с а н

а   в  пт у

и   п ои ск

  "Утваскон

а  MATLAB  (п о рд б н е   ав ыг л  5). При м е р ы

 путйе"

е  п р

о

:

ќ  addpath c:\user\igor\mywork ќ  addpath c:\user\igor\myworkl c:\user\igor\mywork2 ќ  addpath('с:\user\igor\myworkl' ,  'c:\user\igor\mywork21) ќ  addpath  c:\user\igor\myworkl  c:\user\igor\mywork2  - end —  ОД

инелваб

е  в  коне

ц  аксип

-

;

ќ  addpath  c:\user\igor\myworkl  c:\user\igor\mywork2  - begin  - —  ОД -

б ав л ен и •   c ic  — о ч и с кт

е  в  н а ч л а  с о едр ж и м о г

о  сп и ск а

О   echo —  пу р а в л ен и

м а н дн о

е   о т б р аж ен и е

м  о к н е

о  о к н а м   с рт о

.

к   в ы п о лн яем о г

о   М - фа й л

а   в  к о

-

.

•   echo  on — в ы в о

д   с тр о к

.

•   echo  off  —  п о адв л ен и

е  в ы в о д

•   format — о п р едл н и

"Фаты м р о

. о   к о м а н дн о г

а  дв оы

е  фо р м а т  рьта зуел

•   format  sh o rt  —  фо р м а ед с я и т ч н о й  то ч к и .

а   с рт о к а  в ы в о д  виней"лисч ы

т   с  п л а в ю щ е

. а   ч и се  авыг л й   то ч к о

л  в  к о м а н дн о е  о к н о  (с.м  р.азд  1). zyxwvutsrqponmlkjihgfedcbaZYXW й   с  4- м я  ц и фр а м

и   п о сл

е

р П е ин л о ж

  1.  сО но веы

 ком ыанд

•   form at  lo n g  —  ф о р м а с я ти ч н о й   то ч к и   (дл

 и  фуцнки

965zyxwvutsrqpo

 MATLAB и  Toolbox 

т   с  п л а в а ю щ е

й   то ч к о

я   о ди н а р н о

й  т о ч н о с т

й   с   14- ю   ц и ф р а м и   —  с   7- ю ) .

и   п осл

е   де

•   form at  sh o r t  e —  э к с п о н е н ц и а л ь н ы рами .

й   форм а

т   с   5- ю   з н а ч а щ и м

и   циф

•   form at  lo n g  e —  э к с п о н е н ц и а л ь н ы рам и   (дл я   о д и н а р н о й  т о ч н о с т

й  форм а и   —  с   8- ю ) .

т   с   15- ю   з н а ч а щ и м

и   циф

•   form at  sh o r t  g —  н а и б о л е мат а   и  ф о р м а т а   с  п л а в а ю щ е

е   п о д хо д я щ и й   то ч к о

й   и з   эксп он ен ц и аль н ог й   с  4- м я  ц и ф р а м и

•   form at  lo n g  g —  н а и б о л е мат а   и   форм ат а   с   п лаваю щ е то ч н о с т и   —  с   7- ю ) .

е   п о д хо д я щ и й   то ч к о

й   и з   эксп он ен ц и аль н ог й   с   15- ю   ц и ф р а м

•   form at  hex  —  ш е с т н а д ц а т е р и ч н ы •   form at  +   —  п о л о ж и т е л ь н ы е б р а ж а ю тс я   з н акам е тс я .

й   форм ат и   п лю с

,  м и н у

•   form at  ban k  —  ф о р м а •   form at  r a t  —  ч и с л ц елы х   ч и сел .

,  о т р и ц а т е л ь н ы с   ил

т   с  д в ум

•   form at  lo o se  —  в ы в о •   path —  у п р а в л е н и

к   вы вод

у   все

е   п ут я м й   в   к о м а н дн о

х   п ут е

•   р   =   p a t h  —  з а н е с е н и

д   п ус т ы и   п ои ска е  в   с т р о к о в у

, т а к ж е

а   п ут е й

, д о б а в л е н и

е   п ут е

и   (дл

я   о ди н а р н о

я   част

е   чи сл ь   и гн о р и р у

к   м еж д

х   с тр о

к   м еж д

у   с тр о к а м в   p a t h  б е

х и

.zyxwvutsrqponmlk

и   р е з ул ь т а т а з   а р г ум е н т о

в   п р и в о ди

т

. ю   п ерем ен н у

ю   р   п ут е

,  п р и н я т ы

х   п о   ум о л ч а н и ю

й   в  н ачал

о   и  к о н е

й   п ои ска

. .

ц  с п и с к

а  п уте

й   п ои ска

е   В  КНОе

ц а КПИС

в   и з   п ут е

й   п ои ска

и   н есколь ки

-

у   с тр о к а м

•   p a t h  ( p a t h ,  ' c :\ u se r \ i go r \ m ywo r k ' )  —д о б а в л е н и о   ил

а   о то

м   дв у

е   в  н ачал

е   о дн о г

-

.

•   p a t h  ( ' с :  \ u se r \ igo r \ m ywo r k' ,  p a t h )  —  д о б а в л е н и

•   rmpath —  уд а л е н и

-

й

я   о тн о ш е н и е

а   п ус т ы

.  В ы з о е   окн о

о   фор .

и   н ул е в ы

и  з н аками

х   с тр о

•   p a t h  ( p a t h d ef)  —  у с т а н о в к Возможн о

е   ил ,  м н и м а

и   п робел

е   вы вод

-

о   фор

о   п р е дс та в л я ю тс

•   form at  com pact  —  п о д а в л е н и р е з ул ь т а т а .

-

.

я   де с я ти ч н ы м

а   п ри бли ж ен н

-

х   к а та л о г о

:

о   сп и ска

; .

:zyxwvutsrqpo

ќ  rmpath c:\user\igor\mywork ќ  rmpath c:\user\igor\myworkl c:\user\igor\mywork2 ќ  rmpath(с:\user\igor\myworkl , c:\user\igor\mywork2) •   pa t ht o o l  —  з а п ус то р о м   п ут е й   оп и сан

к   ди а л о го в о г о   окн а   н а в и г а то р а   п ут е й   (работ а   с   н ав и га а  в  рzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB .азд   "Утваскон   путйе"ав ыг л   5).

966 

zyxwvutsrq

р П е ин л о я ж

•   l a s t e rr,  l a s t wa rn zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED —  в о з в р а щ а ю т   с тр о к у   с   п о с л е дн и м   со бщ ен и е м   о б

ош и бк в о дя

е   и л и   п р е д уп р е ж д е н и е м т   к   о ч и с тк е   п о с л е дн е г

П   miint  —  а н а л и з а т о

Lin t  о п и с а н

.  В ы з о в

р   код а   М - фай л а   (работ а   с  г р а ф и ч е с к о й   оболочко й  М а   в  рzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA .азд   "Дитагскон   М - во"йл фа   ав ыг л   5).

•   m iin t  ('m yprog.m ')  —  в ы в о д и н е то ч н о с тя х   в   М - фай л е   и  с п о с о б а • 

й   ан али а   с   м ас и вам

з   н есколь ки

т   и н фо рм ац и х   п овы ш ен и

х   фай ло к   оп и сан

и   яч е

ю   о   з ам еч ен н ы я  е г о   п р о и з в о д и т е л ь н о с т и

' m y p r o g 2 . n i 1 ; 

m i i n t  ({  ' m y p r o g l  . m '  ; 

ны бот ке"ч я авыг л

ы   l a s t e r r  ( ' ' )  и   l a st wa r n  ( ' ' )  п р и я   о б   ош и бк е   и л и   п р е д уп р е ж д е н и я .

о   со бщ ен и

а   з а да ю тс   "М ивсаы

х  и .

З   . m 1  })  — 

'тур го д

в   (и м е н а   в  р.азд

х   ош и бка

я   в   м ас и в   уткрс

ОДН ОВ ремен

-

е   яч е к   и   ивсы ма

,  р а

-

  8).

•   in fo  =   m i i n t  ( ' m yp r o g. m 1 ) —  з а п и с ь   и н форм ац и и   о   к а ж до м   обн ару ж ен н о м   з ам ечан и и   в   м ас и в   с т р ук т у р   с   п олям и :  l i n e ,  column  (дл я   ук а з ан и я   с тр о к и   с   з ам еч ан и е м   и   п ози ц и и   в   с тр о к е )  и   m essage  —  т е к с т   за   "М ивсаы м еч ан и я   (работ а   с   м ас и вам и   с р ук т у р   оп и сан а   в   .аздр уткрс   и  маивсы   ке ч я   " гавы л   8).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML П   pro f i l e   —  у п р а в л е н и оп и сан ы   в  р.азд   "П"ре айл фор

К оман д д ы   дл

е   п рофай леро

м   (о с н о в   15).

  ав ыг л

а   p r o f i l e  on  п р и в о д и я   с та р т а   п рофай лера

ы   работ

ы   с   п рофай леро

м

т   к   з а п ус к у   п рофай лера .  О б щ и й   ви д   ком ан :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ

profile on - detail level - history З н ач ен и я   l e ve l :  mmex  (с б о р   с та ти с ти к и   врем ен н ы х   з а тр а т   н а   вы п олн ен и е М -   и   М Е Х- ф а й л о в ) ,  b u i i t i n  (т о   ж е ,  ч т о   mmex,  д о п о л н и т е л ь н о   н а хо д я т с я врем ен н ы е   з а тр а т ы   н а   вы п олн ен и е   в с тр о е н н ы х   ф ун к ц и й ) ,  o p e r a t o r (а н а л о г и ч н о   b u i i t i n ,  н о   с   уч е то м   врем ен и   н а   а р и ф м е ти ч е с к и е   и   д р уг и е в с тр о е н н ы е   оп ерац и и ) . Опц и ф ун к ц и й

я   - h i s t o r y  с л уж и .

т   дл

я   з ап оми н ан и

я   п о с л е до в а те л ь н о с т

•   p r o f i l e  r e p o r t  —  о с т а н о в к а   п рофай лера H T M L  и   о т о б р а ж е н и е   е г о   в   б р а уз е р е

,  г е н е р а ц и а   п рофай лера х   с  ни

•   p r o f i l e  p l o t  —  о с т а н о в к грам м ы   врем ен н ы х   з а тр а т

а   и   п о с тр о е н и

•   p r o f i l e  resum e  —  в о з о б н о в л е н и

а   п рофай лер . е   сбор

я   о тч е т

а

а   в   форм ат

е

.

•   p r o f i l e  r e p o r t  m yr ep o r t  —  о с т а н о в к в   m yreport.h tm l  и   н е с к о л ь к и х   связ ан н ы о тч е т а   в   б р а уз е р е .

•   p r o f i l e  off  —  п р е к р а щ е н и

и   вы зов

а   и н форм ац и и е   п роц ес

,  г е н е р а ц и х   и   о то б р а ж е н и

м   фай ла

я   о тч е т

е   с то л б ц е в о

й   ди а

. а   сбор

а   и н форм ац и и

а е

.

-

р П е ин л о ж

  1. Ос но веы

 ком ыанд

 и  фуцнки

967zyxwvutsrqpon

 MATLAB и  Toolbox 

•  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA p r o fi le  c l e a r —  ну и ч от ж ен и е   н ак о п лен н о й   п р о фа й л ер о м   и н фо р м ац и . •   p r o file  st a t u s  —  о тбр аж ен и •   prof report —  о с ат н о в к

и  о от б р а ж ен и

е  ср кут а  п р о фа й л ер а

, ген ер ац и

е  ег о  в  б р азу ер

•   type  —  в ы в о

д  с о едр ж и м о г type  filename

•   what —  в ы в о

m, mat, т е х

д   с о ед р ж и м о г )  в  к о м а н дн о

я  о чт е

а   п р о фа й л ер а х  с  н и

о  тек с от в г е  сеан с

и  п р о фа й л ер а

.zyxwvutsrqpon

а  в  фо р м а т

е   HTM L

.

prof repo rt  ( m yrep o rt ) —  о с ат н о в к myreport.html  и  н еск о ль к и х  св яз ан н ы т а  в   б р азу ер .

•   quit —  о к н ч а н и

ы   с  усатн о в к ам

-

,  ген ер ац и х   и  о от б р а ж ен и

м  фай ла

о   фа й л

я   о чт е

а   в е   оч т е

а  в  к о м а н дн о

е  о к н

а   (фай ло

в   с  р а с ш и р ен и ям

-

о

а  M ATLAB. о   е тк щ у е г е  о к н о

•   what  dirname  —в ы в о ш и р ен и ям и  m, mat, т е х

о   к атлог

и

.

д   с о ед р ж и м о г )  в  к о м а н дн о

о   к атлог е  о к н о

а   dirname (фай л о

в  с  р а с

-

.

•   w  =  what  ('dirn am e 1 )  —  з ап и с ь   и н фо р м а ц и и  о   к а т л о г е   dirname  и  ег о с о ед р ж и м о м   в   р кс у т у   w  (р а б о т а   с о   с ртк у а м и   о п и сан а   в .аздр   "Петысор  су"ткры авыг л   8).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML д   пт у О   which —  в ы в о >>  which  fzero

и   к  фну к ц и

, нап р и м е

р

С :\ M AT L AB 7\ t o o lb o x\ m a t la b \ fu n fu n \ fz e r o . m

•   which  funname  - a l l  —  о т б р а ж ен и е  пет у й  к о  все м  фн у к ц и я м  с  и м ен м funname.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ќ  w = which (f  funname ќ) —  занесени ЦИ К Н У Ф И  С  и м ен м  funname.

е  ву в о к о  ртс

ю у н е м  ереп

ю  w пут

f

и  к

•   w  =  which (' funname ,  ' - a l l ' )  —  з ан ес н и е  в   м ас и в   яч е к   w пет у й  к н фу к ц и я м   с   и м ен м   funname  (с.м  р.азд   "М ивсаы   уткрс   и  маивсы ке"ч я авыг л   8).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

е  пе р м е мны

п р а Ув л е н и •   c lear —  алдену и

ин е л

 пх,ыне мер

и е   п ер м ен н ы  вр о б ы

•   c lea r  A  m  R —  адлуен и •   c lea r  global  —  адлеун и

 ине м

х  р а б о ч е  пх"ыне мер авыг л

й   с р ед

е   п ер м ен н ы е  все

ы   (с.м  р.азд   1).

х  A, m  и  R И З  р а б о ч е х  гл о б а л ь н ы

х   п ер м ен н ы х

  "Птро мсор

 и  уа- д й  с р еыд .

.

968 

zyxwvutsr

р П е ин л о я ж

•   c lea r  fun ction s  —  адлеун и •   c lea r  те х   —  адлеун и

е   в се е   с ы ло

х   о тк о м п и л и р о в а н н ы

х   М - н фу к ц и й

к   н а  М Е -Х фай л

.

ы   и  М - нфу к ц и

.

•   c lea r  a l l —  адлеун и е   п ер м н ы х   и   с ы ло к   н а   М Е -Х ф а й л ы   и  М нф у к ц и .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA П   d i s p —  в ы в о (с.м  р.азд   "Пквраео

д   ет к с

а   ил

и   з н а ч ен и  автне"о грум авыг л

 вх ын дхо

•   l e n gt h —  н оахж едн и (с.м  р.азд   "В,дво

е  

лд и н  и  витчанеы

ине  сж о л

•   load  —  с ч и ыт в а н и ине тваслон ав ыг л  2).

е   з н а ч ен и

ы   в е к от р - с рт о к

и    в"окерт авыг л

 "ы де рс

х   с  ди с к  1  и   "Свитанчые

  ав ыг л

•   muniock —  р а з р еш ен и м ен т  М - фай л а  к о м а н до к   р е д а к то р

а   М - фа й л о е   п ер м ен н о   ав ыг л

П   saveas —  сорхан ен и лен н о г о   фо р м а т

й   п ер м н ы  с"ы де р

о

 гавы л

е   гр а фи ч е с к о г

и   в е к от р - с от л б ц   2).  р.азд

а

  "Синахеро

 и

 и   запьис

в   с о   с п ец и а л ь н ы е   з н ач ен и й   А  (с.м

 дх"аын о   в   ад н н ы

й

о   в  да н н ы м   окн ом

-

,  п о з в о

й   п ер м ен н ы х  р.азд

й   мо

-

.   "Ограинзц я

  в- о ы

 2).

D  pack  —  с о з да н и е   в и р а ут л ь н о й   п а м ят и   н а  ди ск ру ю   з а н о с ят я   з н ач ен и я  все х   и м ею щ ис х я   п ер м ен н ы ,х с р еы д .  З н ач ен и я   и с п о л ь з е му ы х   п ер м ен ы pack.tmp.  И сп оль зсету я   п р и  о б р а б о кт е   бо ль ш о г "Эия мкон ти" я пам авыг л   23). ь   з н а ч ен и

ил

х   р а б о та ю щ е г

е  р е да к ти р о в а н и

й ре ч оаб

е   окн

х   р а б о та ю щ е г

е   а д л е ну и я   п ер м н ы й   c lear.

openvar  А   —  р е да к ти р о в а н и а д  тхкветыос  рьтав"озуел

П   save —  з а п и с ине тваслон вы  2).

а   (с.м

е   а лд е н у и я   п ер м н ы й   clear.

а  к о м а н до

•   o p en var—  з ап су л яю щ и м   и н те р а к ти в н о

й   в   к о м а н дн о   7).

й  п ер м н ы

 рйе ч оаб

•   miock  —  п р едо вт р а щ ен и м о ен т   М - фа й л

я   п ер м ен н о

х   н а  ди с  1  и   "Свитанчые о   окн

е   в   фа й л х   с ч и ыт в а ю ст о   о б ъ ем к   (с.м

е  pack.tmp,  в   к о т   и  о ч и с тк а   рабоч е я   и з   фа й л а   ад н н ы х   (с.м  р.азд

 р.азд

  "Синахеро  и  запьис

а   с  указ етл

а

 и  в-со  га- л

 дх"аын

м   h в   фай л

й

е   о п р ед

-

.

•   saveas (h, ' filenam e.  a i  ')  —  фо р м а

т  Adobe  Illustrator.zyxwvutsrqponmlkjihg

ќ  saveas(h,'filename.bmp') ќ  saveas(h,'filename.emf') ќ  saveas(h,'filename.eps') ќ  saveas  (h,  ' filename, fig ' ) —го к с е ч и ф а р ќ  saveas(h,'filename.jpg')

е   НКО

О  MATLAB.

р П е ин л о ж

  1. Ос но веы

 ком ыанд

 и  фуцнки

969 zyxwvutsrqpon

 MATLAB и  Toolbox 

1

•   s a ve a s  ( h ,  ' f i l e n a m e . m   )  —  М - ф а Й

Л   M AT L AB .

1

• 

sa ve a s( h , ' file n a m e . p c x )

• 

sa ve a s( h , ' file n a m e . t if' )

•   s i z e —  о п р едл н и ине же  и  витчанеы П   who —  в ы в о

е   р аз м ер о  в"окерт авыг л д  и м е

н  все

•   whos —  п о члуен и "Птро мс о р  и  уине ал д

в   м ас и в

а   (см .

х   о п р е дл н н ы

х   в  р а б о ч е

е   и н фо р м а ц и

и   о   п ер м ен н ы  вр о б ы

х п,ыне ме р

й   с р ед

е  файла м

•   cd —  суатн о в к

а   е тк щ у е г

е  п ер м ен н ы х

х   рабоч е  ине м

•   workspace  —  в ы з о в   б р азу е р а   рабоч е й   с р ед с р ед ы   я в л се т я   п р и л о ж ен и е м   с   гр а фи ч е с к и з в о л яе т  п р о с м а тр и в а т ь   и  и з м ен ят ь  з н ач ен и

М а и н пл у р о в а и н

 р.азд   "В,дво   - о лс , zyxwvutsrqponmlkjihgfedcbaZY

, н а п р и м е р

  2). й   с р ед

ы   (с.м  р.азд   7).

х п"ыне ме р ав ыг л ы   MATLAB.  Бр азу е м   и н ет р ф й с о м я  п ер м ен н ы х  р а б о ч е

и  и  кат л ога м

о   к а т л о га

.

р   рабоч е ,  к о т р о

е   по й   с р е ыд

й .zyxwvutsrqpo

и

, н а п р и м е р

:

•   cd  c:\ user\ igor\ myworkl •   cd —  в ы в о

д  текщу ег

•   cd  . .  —  п еро х

о   к атлог д   н а  оид

•   copyf i i e  —  к о п и р о в а н и

а   в  к о м а н дн о н  уро в ен

ь   в ер х

е  фа й л а

е  фа й л

.

.

.

•   co pyfile( 'с:\ m ywo rkl\ t est .m

п и рован и

е  о к н о

1



' c : \ m a t l a b \ w o r k \ m y p l o t . m ' )  —  К О

-

а  c:\ myworkl\ test.m  в   c:\ matlab\ work\ myplot.m.zyxwvutsrqponmlkj

ќ  copyfile('с:\myworkl\test.m f,  'с:\matlab\work\myplot.m' ,  'writable') 

з ап и с воз м ож н ост

ь   фа й л

а   c:\ myworkl\ test.m  в   c:\ matlab\ work\ myplot.m  с  п р о в е р к о и  к о п и р о в а н и я .



й

ќ  s = copyfile('с:\myworkl\test.m 1,  'c:\matlab\work\myplot.m')  —

воз вращ ае п р о ит в н о • 

т   еи д н и ц у м   с чл уа е

,  сел

и   к оп и рован и

е   п рош л

[ s ,  m e s ]  =   c o p y f i l e ( ' с : \ m y w o r k l \ t e s t . m ' , ' c : \ m a t l a b \ w o r k \ m y p l o t . m ' )  —д о п о л н и т е л ь н

с о б щ ен и е н ия

о   с уп е ш н о

,  и   н о л

ь  в

.

м   о б   ош и бке

, есл

и   та к о в а

я   воз н и кл

о  з а н о с и

т  В  m es  С ТОрК

а   в   п р о ц ес

е   коп и рова

у  С

-

.

•   d e le t e  —  адлуен и тиксчао ке овт"оъ б ав ыг л

е   фа й л о

в  и  гр афи ч ес к и   9).

•   d e le t e  c:\ m yworkl\ test.m  —  адлеун и

х   о б ъ е к то е   фа й л

в   (с.м

 р.азд

  "Уине ал д

а   c:\ myworkl\ test.m.

 и

970 

zyxwvutsrqpo

р П е ин л о я ж

•   d e i e t e ( ' с :  \ m y wo r k i \ t e s t . m ' ) —  уд а л е н и та к у ю   форм у   вы зов а   d e l e t e  у д о б н о   и с п о л ь з о в а ть хр а н и т с я   в   с тр о к о в о й  п е р е м е н н о й . •   d e l e t e  (h)  —  уд а л е н и •   d i a r y  —  в е д е н и ин е   и  вине тваслон •   d i r  —  в ы в о

е   гр афи ч еск о г

е   дн е в н и к

о   объект

а   сеан с   "ы де рс

  ав ыг л

о   т е к ущ е г

•   d i r  d irn am e  —  в ы в о

а   с  у к а з а т е л е

о   к а та л о г а

д   с о де р ж и м о г

а   c:\ m yworkl\ test.m , ,  к о г д а   и м я   фай л а

.

о   к а та л о г

а   dirn am e.

1

•   DIRMAS  =   d i r  ( 'd irm am e )  —  з а п и с ь   с о де р ж и м о г м ас и в   с т р ук т у р   D IRM AS. К а ж д а я   с т р ук т ур а   име им я   фай л а   и л и   п о дк а та л о г а ,  d a t e  —  д а т а   и з м ен ен и я фла г   i s d i r —  п р и н и м а е т   з н ач ен и е   е ди н и ц а   дл дл я   ф а й л а   (работ а   с   м ас и вам и   с т р ук т у р   оп и сан уткрс   и  маивсы   ке"ч я ав ыг л   8). •   e d i t  —  з а п ус

к   р е да к то р

а   М - фай ло в

, в   к о т о р о

•   e d i t  file n a m e  —  о т к р ы т и т   п ут

,  и м

[ p a t h ,  n am e,  e x t ]  =   f i i e p a r t s ( ' и м

я   фай ла'

е   п олн ог ,  р ез луь ат

fn  =   f u l l f i l e ( ' с : ' ,  •   inmem —  о т о б р а ж а е • 

MMAS  =   i n m e m —  з а н е с е н и

ф ун к ц и й •  име

я   н овы в  ф а й л

о   и м ен

и   фа й л я   в   с рт о к о в у

а   filenam e.m . , и с п о л ь з о

а   и з   и е р а их

-

и   п о кд а

,

ю   п ер м ен н ю у ' m yfu n . m ' )

и  M AT L AB,  з а г р у ж е н н ы в   ячее

.

)

т   з а н о с и ст

е   в   масси

й  ф а й л

я   и   расш и рен и е

' u s e r 1 ,  ' i g o r ' ,  ' w o r k 1 , 

т   ф ун к ц и

а   d irn am e  в е   п оля : name  — , b yt e s  —  р а з м е р , я   п о дк а та л о г а   и   н ол ь   "М ивсаы а   в   .аздр

е   М - фай ло

ь   к   фай лу

•   f u l i f i i e  —  к о н с тр иу р о в а н и та л о г в   и   и м ен и   фа й л а и сп о ль з о в ан и е :

о   к а та л о г т   ч е ты р

м   с о з да е тс

е  в  р е д а к т о р

•   f i i e p a r t s  —  в о з в р а щ а е ван и е :

м   h.

ы   в   M AT L ABzyxwvutsrqponmlkjihgfedcbaZYX   (с.м  р.азд   "Сах-ро   1).

а   работ

  йе ч о аб р д   с о де р ж и м о г

е   фай л

е   в   п а м я ть к   MMAS  и м е

.

н   з а г р уж е н н ы

х   М

-

.

[MMAS,  MXMAS]  =   in m em —  з а н е с е н и н   з а г р уж е н н ы х   М -  и  М Е Х - ф у н к ц и й

•   m a t i a b r o o t  —  и м

я  к а т а л о г а

•   m kdir  —  с о з д а н и

е   п о дк а та л о г а

•   m kdir  (' work2 ')  —  с о з д а н и

,  в   к о т о р ы ,  п р и м е р ы е   п о дк а та л о г

•   m kdir  ( ' wo r k 1 ,   ! w o r k 2 ' ) —  с о з д а н и в ую щ е м   н а  д и с к е  к а т а л о г е   wo rk;

е   в   м ас и в . й  у с т а н о в л е н

ы   яч е

к   MMAS  И  MXMAS

а   M AT L AB.

: а   wo rk2  в  т е к ущ е е   п о дк а та л о г

м   к а та л о г е а   wo rk2  в   с ущ е с т

; -

р П е ин л о ж

  1. Ос но веы

 ком ыанд

 и  фуцнки

f •   [ st a t ,  msg]  =  mkdir ( work2')  —  с о з адн и ие д н и ц е   в   с ч л уа е   с уп е ш н о г о   в ы п о л н ен и к атло г   щ с т уе в , и  нл у ю  п р и  н евоз м ож н ост 1  

• 

е  о б  о ш и б к

е  в  счлуа

О   open —  о кт р ы ит з ав и си т  о т  р а с ш и р ен и я

е   фа й л

а   ил .

•   о р еп ( 'А 1)  —  з ап су н и й  м ас и в а  А .  ВОЗМ НЖ

к   р е д а к то р

а   М - фа й л о О  р е да к ти р о в а н и

т   воз м ож н ост

и   р ас ш и р ен и ям и ы  с  р а с ш и р ен и ям е   и м ен

s  =  pwd —  з а п и с

ь  в  срт о к в у

•   tempdir —  о т б р а ж ен и в р ем н н ы х  фа й л о в

И сп о ль з о в ан и п р и м ен ен и (с.м р иА ф м е и т ч е с к и

а  my.fig.

е   в   н е м  з н а ч е .

в   и   о кт р ы ит

-

е   в   не м е   Simulink.

б   о тк р ы ти

я   фа й л о . Н а п р и м е р и  openmyi.

в  с ,

. ю   s  и м ен

и  к а т л о га

и  текщу ег

о   к а т л о га

,  п р едн а з н а ч ен н о г

ь  в   срт о к в у я  в р ем н н ы

ю   п ер м н у х  фа й л о в

о  дл

. я   р ха н е н и

я

е  к о м а н д д  р а з де л о

ь   в   с рт о к в у

ю   и м ен й  си семт ы

и   етк щ у е г

о   вре

-

:

ы

х   о п ер ац и й ы   о ед тл ь н ы и  п ри в едн

.

, н а п р и м е р

е  сим лов

е  о п ер а ц и

-

ы  Windows.zyxwvutsrqponmlkjihgfedcbaZ

й  си емст

х   и   л о ги ч е с к и ,  п о св ящ ен

,  п р енд а

о  фа й л а

ю   п ер м н у

в   сп рав о ч н о

и  к а т л о га

о   в р ем н н о г

ы  о п ер а ц и о н н о

ю   а р и ф м е ит ч е с к и ю   и х   к   м ас и в ам  7, 2 и  7). е   и  м арт и ч н ы

ю   и м ен .

и  текщу ег

ы  и  спеиацылнь  гавы л

о  о к н

ь   сп ос ю   фа й л - нфу к ц и ю я  фн у к ц и

ю   п ер м н у

е   и м ен

s  =   tempname —  з ап и с м ен н о г о  фа й л а .

Оп е р а т о

й  э л ем н от в

о   к а т л о га

е   и м ен

•   tempname —  о т б р а ж ен и

! h elp —  в ы в о

в   и  о от б р а ж ен и е  з н ач ен и

я

.

s  =   tempdir  —  з ап и с з н ач ен н о г о  дл я  хран ен и

•   !  —  в ы п о л н ен и

и  текщу ег

.zyxwvutsrqponm

б   о тк р ы ти

и   mymod.mdl  в  сред

ь   о п р е дл и т , с о з ад в   п о яхдщ у и  т у   1 требюу т  н али ч и

т   CO-

я   к а т л о га , сп о с

а   М - фа й л о е   м о елд

;

а   m sg  с о д е р ж и

и  со з адн и

е  гр а фи ч ес к о г

н -

я   п о дк а т л о г а

о   п ер м ен н о й

•   open ('mymod.mdi')  —  о кт р ы ит

П   pwd —  о т б р а ж ен и

и  соз адн и й   п о п ы кт

к   р е д а к то р

,  st a t  р а в е ,  сле и   п од

, дв о й к е

f

и   с о ед р ж и м о г

•   open('myfun.m f)  —  з ап с у myfun.m.

ь   и ме

е   п о дк а т л о г а я   нф у к ц и

w o r k 2 )  —  с т р о к

е  н адчеун о

•   open ('my. fig' )  —  о тк р ы ти

П о л ь з о в а те л рд г и у м фа й л

!

[ s t a t ,  m sg]  =   m k d i r  ( ' w o r k ,

о б щ ен и

971 zyxwvutsrqpo

 MATLAB и  Toolbox 

ы  в  та б л

,  в   от м   ч и сл е  и е   р а з де л ы   кн и г и .  Ш

.

972

 1П .  кстеи ч ме ифрА zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG   и  мае ынитчр   а ц п ир е о zyxwvuts

а ц и а лб Т

Н е и н а чз е я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

и ц а ер О п

Ун а р н ы м ас и вов и з   о п е р а н до

+ ,-



П ер м н о ж ен и О ди

*•

к го

п

е   п лю .  М а с и в

с   и   м и н су ы   до л ж н в   м оже т   бы т

е  

Д ел н и Е сл

Л.

ь   ск аляр о

и   об

В о з в едн и м а тр и ц

в   ил т   бы т

ил

е   и   в ы ч и та н и ь   о ди н а к о в ы м

ы   бы т

в   м оже

К ро н ек еро в ск о

/

,  с л о ж ен и

е   ск аляр о н   и з  о п е р а н до

С   =   k r o n ( A , 

и  

и   м а тр и ь   ск аляр о

е   дл я   с к а л я р о х   раз м еров

ц   п о дх я щ и м

те н з о р н о

е  

п р о и з в ед н и

е  

Л

е   ск аляр о в а   о п ер ан д

.  П о э л е м е н тн о а   —  м а тр и ц ы

.  В ы ч и с л ен и

е   с ет п е н

и   к в а др а тн о

е   со п р яж ен н о

е   о п ер ац и у  и  с к ал яр у  .аздр

е   м а тр и ц ы

м  счлау   и н ея а ж р в ы

й   м а тр и а   раз м ер

а

т   ре я   п ер   "Зиач д

-

я   э ле ,  с   =  А .

, Л

В

ы .  Д л

м   р е з ул ь т а

и  и  опе ра т о

и   п р и м ен и м , в  п о сленд е   "Лкгсеиоч

й   м а тр и ц

т   к  о ди н а к о в ы

е  опе ра иц а   (с.м

й

е   м ас и во в   о ди н а к о в ы х   раз м еро в т   к  с  ( i ,  j)  = B ( i ,  j ) / A( i ,  j)

е   в о з в едн и е   м а тр и ц ы   в   с те п е н и ,  я в л я ю щ и е с й   м а тр и ц ы   е тх   ж е   р а з м е р о в ,  н а п р и м е р и   д р уг о A т   к  С  ( i ,  j)  -   A( i ,  j ) B ( i ,  j)

Тран сп он и рован и п р и в о дя

Ло г и ч е с к и м ас и в

.

е   м ас и во в   о ди н а к о в ы х   раз м еров ,  н а п р и Т  К  С ( i ,  j)  =   A( i,  j ) / B ( i ,  j)

е   лев о е   де л н и , с   =   А . \ В  п р и в о ди

Н а ох ж д е н и

Л о г и че с и к

ц

е   м ас и во в   о ди н а к о в ы х   раз м еров ,  н а т   к  С  ( i ,  j)  = A ( i ,  j ) *B ( i ,  j)

е   де л н и , с   =   А . /В  ПОДИ В И Р

П о э л е м е н тн о м е н та м п р и в о ди

i

м а тр и

е   де л н и е   м а тр и ц ы   н а   ск аляр , т о  А/ В   =   A*in v(B)

а   в   с те п е н ь

е   му н о ж е н и , с   =   А . *В  п р и в о ди

П о э л е м е н тн о н ап ри м ер

i

.

В )

е   ск аляр

П о э л е м е н тн о м ер

/

в  и н

ы

П о э л е м е н тн о п ри м ер .

.  О ид

х   раз м еро в

Ле в о е   м а тр и ч н о е   де л н и е .  Е с л и   А  яв л яест я   к в а др а тн о ц ей , т о   А\ В   =   in v  (А ) *в .  Е с л и  А  —  к в а др а тн а я   м а тр и ц п ,  в  —  в е к то р - с то л б е ц   и з   п   э л е м е н то в ,  т о   х   =   А\ В  с о де р ж и ш ен и е   с и с ет м ы   ли н ей н ы х   ру а в н е н и й   А Х   =   в .  Д о п ус к а ю тс о п р едлен н ы е   и   н е до п р е д л е н н ы е   с и с ет м ы   (с.м  р.азд й и еон л  ы р г б е а л  " гав ы л  6)

\

си в

zyxwvutsr

р П е ин л о я ж

я   в е щ е с тв е н н ы х   м а тр и ц   '  и   . ' м zyxwvutsrqponmlkjihgfedcbaZYXWVUTS

ы

ы  к   м ас и в а е   ск аля   с  маи всам

м   о ди н а к о в ы р  р а с ш и р яест

х   р аз м ер о я  д о  р а з м е р о   и  чи"ам лис

  ав ыг л

в   и л и  к в  м ас   7).

р П е ин л о ж

  1. сО но веы

О п е р а то р

 ком ыанд

ы   о нт о ш е н и

 и ц функи

я  п р есдатв лен

. П 2 .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP

ы   в  та б л

 П2.  Оыартпое

и ц Та л б о а т О е пр

р

Н еи н а ч з

Бо л ь ш е

>=

Бо л ь ш


=  b

: а   >  [names, age, dat, code] = textread  %s' ) names = ќSam1 'Nike1 age = 23 24 . dat = 83.2780 102.2200 code = 'p231' 1 kl8N' С п е ц и ф и к а то фа й л а з ан ес н и м ас и в а

р   фо р м ат .  В   э то м   с лчуа е   с лю е у д щ и .

а   м ож е т   п р е д в а р я ть с я   с тр о к о й е   ку а з а н н а я   с тр о к а   н е   с ч и ты в а е тс я х   з а   н е й   да н н ы х   в   э л ем н т ы   п о дх я щ е г

,  о б щ е

й   лд я   п о л е ,  а   п р о и с ох ди о   п о   ит п

й т у

994 

zyxwvutsrq

р П е ин л о я ж

Н ап р и м ер , п сту ь   в  фай л е  table.dat  рхан и ст book part4 pages400 article part2 pages20

я  и н фо р м а ц и я

:zyxwvutsrqponmlkjihg

О бщ и е   ч аст и   п о ле й   p a r t  и  pages,  н е  п о лдеж ащ и е   с ч и ты в а н и ю ,  куаз ы ва ю ст я  п ер д  с о вт ес юу щ и м и   с п е ц и ф и к а от р а м и : >> [kind, s, p] = textread('printed.dat', '%s part%d pages%d') kind = 'book1 'article' s = 4 2

-

P = 400 20 Ф ну к ц и я   t e xt r e a d  п о з в о л яе т   ку а з ы в а т ь   п а р м е тр ы , уп р а в л яю щ и е   ч ент и е м  и з  фа й л а . Н а з в а н и я  п а р м е тр о в   и  и х  з н ач ен и я  з а д ю ст я   п ар м и  в  к о н ц е  сп и ск а  вохнд ы х   а р г м у е н от в : [...]  =   t e x t r e a d ( . . . ,  paraml,  va lu e l,  param2,  value2,  . . . ) В оз м ожн

о   ку а з а н и

е  сю луед щ и

х   п а р м е тр о в

-

:

1

•   'wh it espace   —  в е к то р   и з   си м вол в ,  к о т р ы е   с ч и ат ю ст я   р аз м еч аю щ и ми .  Д о п суит м ы   з н ач ен и я   \ ь   (backspace),  \ f  (form  feed),  \ n  (н о в а с тр о к а ) ,  \ г   (си м в о л   воз врат а   к а р е тк и ) ,  \ t  (таблуяц и я) ,  \ \   (о б р а тн а 1 к оса я   ч е р та ) ,  W '  и л и   V  '  (а п о с рт о ф) , %%  (з н а к  п р о ц е н та ) . П о   муо лч а н и ю  усатн о в л е н   в е к то р   '  [\ ь   \ r  \ n  \ t ] ' ; •   ' d e li m i t e r '  —  с и м в о л ы му о л ч а н и ю   н е  усатн о в л ен ы )

, и сп о ль зюу щ и ес

я   в   к а ч е с вт

я -

е   р а з де л и е т л

я   (п о

;

•   'exp ch ars'  —  с и м в о л ы ч и с ел . П о  ум о л ч а н и

,  п р и м ен яем ы 1 ю   'eEdD ;

•   ' b u fsize '  —  м ак с и м ал ь н а 4095);

я   дл и н

•   ' h e a d e r i i n e s ' —  ч и сл ч ет н и ;

я

о   п р о п с ук а е м ы

е   лд а   с рт о к

я   э к с п о н ен ц и аль н о и   в   б а й ат

х   с рт о

к   о т   н ач л

й   з ап и с

и

х   (п о   му о л ч а н и а   фа й л

•   'com m en tstyie'  —  з а д н и е   си м вол в ,  о п р едляю щ и х   п р о п с ук ч ет н и .  В о з м о ж н ы   з н ач ен и я :  'm at lab'  (и гн о р и рюу ст я   си м вол я   си м вол ы   п о сл е  # ),  ' с '  (и гн о р и рюу ст сл е   %),  ' s h e l l '  (и гн о р и рюу ст си м вол ы   м же д у   / *  и  */ ) , 'с + + ' (и гн о р и рюу ст я   си м вол ы   п осл

ю а   пр и   пр ы   п о-

и

я

и

е  / / ) .

р П е ин л о ж

  1. Ос но веы

Ф иц у н к

и  дл

Р абот

 ком ыанд

 и  фуцнки

я  ратоб

а   с  м ас и в ам

ы  с  м а с ива м

и   яч е

П   c e i l  —  со з адн и

и  яеч

к

zyxwvutsrqponmlkjihgfedcbaZYXW

 р.азд   "М ивсаы ке"ч я  гавы л  8. а  вzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC

к  о п и с ан

е  п соутг

995zyxwvutsrqpo

 MATLAB и  Toolbox 

о   м ас и в

а   чя е

с   =   c e ll  (п )  —  яч ей к и   м ас и в си в ам и . В о з м о ж н о   ат к ж е   с о з ад н и си во в   п рои з воль н о й   р а з м е р н о с ти п р и м ер : >>  A  =  on es(2,  6) ;

к  з а д н н о г

о   р аз м ер а

.

а   с   р аз м ер а   п  н а   п  яв ляю ст я   п с ы ту м и   м ас е   п р ям огу л ь н ы х   м ас и в о в   яч е к   и  м ас :  c e ll  (m,  n ) ,  c e ll  (m,  n,  p,  . . . ) , н а -

>>  С   =   c e l l ( s i z e ( A ) ) С   = zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA [  ] 

[  ] 

[  3 

[  ] 

[  ] 

[  I

[  ] 

• [  ] 

[  ] 

[  ] 

[  ] 

[  ]

•   c eiifu n  —  п р и м ен ен и

е  фн у к ц и

и  к  соедр ж и м о

у   м ас и в

•   а   =   ceiifu n ( fu n ,  с )  —в ы з о в   о нд о о т   к а ж од й   яч ей к и   м ас и в а   с   и  з ап и с п ри ч е м   size  (A)  =   size  (С ) . Вонхд о О   ' i s r e a l '  —  сел и   с о едр ж и м о сел , т о   в   со втес юу щ и в  п р о ит в н о м   с чл уа е ; О

 

юв у щ и

й   и з   н и ж еп р еч и с л ен ы ь   р е з л у ь ат а   в   ч и слов й   а р мг у е н т   fun  м о ж е

е   яч ей к

и   со ти т  А  з ан о с и ст

й   э л ем н

!

 isempty'  —  лсе и   яч ей к й  э лем н т  А  з ан оси т

а   яв с л е т

я   ы пс т у , и  н о л

1

О   ' ndims •   —  ч и сл вю у щ и е   э л ем н т

  м ас и в т  з н ач ен и о   р а з м е р н о с ет ы  А ;

я  дли

ь  —  в  п р оит в н о

я  л о ги ч ес к и я   е ид н и ц а

м   м ас и в о м ,  и   н о л

а   А , со втес юу щ и н   яч е к ; й   яч е к

. х   н фу к ц и й   м ас и т   б ы ть :

т   и з   в е щ е св т н н ы я   е ид н и ц а м   м ас и в о м

я  еид н и ц а

О   ' i si o gi c a l '  —  сле и   яч ей к а  яв ляест о вт е с ю у щ и й   э л ем н т  А  з ан о с и ст н о м   с лч у а е ; О   ' le n gt h   —  э лем н ыт и з   с , п р и н и м а ю

а   яч е к

,  и   н о л , т о   в   со вте м   чс л а у е

1

х   чи ь  — ;

, т о   в  со ь  —  в   п р о ит в е   к а ж од

, в  с   п о м ещ аю ст

й в  А ,

й   яч ей к я   в   с о в т ес

е -

О   'p ro d o fsize   —  з н ач ен и я   э л е м н от в   м ас и в а   А  р а в н ы   к о л и ч е с вт у э л е м н от в   в  яч ей к а х   м ас и в а  с . П ри м е р  и с п о л ь з о в а н и я   ceiifu n :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO >> С  =  {ones(3,  5, 2)  'fsfhsfhќ;... 1 rand (10)  strvcatCalsd ,  'hhh')>

С  = 1

[  3x5x2  double] 

'fsfhsfh

[10x10  double] 

[2x4  char]

996 

zyxwvutsrq

р П е ин л о я ж »zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   А   =   c e l l f u n ( ' p r o d o f s i z e ' ,  С ) А   = 3 0 

7

1 0 0 

8

1 е  А  в о з в р а щ а ю тс я   р аз м ер ы   со •   А =   cellfu n  с   si z e ,  с ,  к )  — в   м ас и в де р ж и м о г о   яч е к   в од л ь   k- о й   р а з м е р н о с ти ,  н а п р и м е р , дл я   оп релдн н о г о  в ы ш е  м ас и в а  яче к  с :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK

>> А   = cellfun('size1,  С ,  2) А  = 5 

7

10 

4

•   А   =   c e l l f u n  ( ' i s c l a s s ' , 

м ас и в о б ъ е к от рован н ог л ясе т

е   А  с о втес юу м   к лас о   вы ш я  та к :

С , 

c l a s s n a m e )  —  л о г и ч е с к и

т   ет м   яч ей к ам а   classname,  Н а п р и м е р е   м ас и в а   с   н а   п р и н а лд е ж н о с т

,  с о едр ж и м о ,  п р о в е р к

е   еди н и ц

е   котры а   яч е ь   к лас

ы   В

х   я в л се т

я

к   и н и ц и али з и у   char  щосу вет

-

>> А   = cellfun('isclass',  С ,  'char') А  = 0 

1



1

н о дВ х

й   м а р е у гн т   classname  може т  такж 1 ' sp a r se ,  ' s t r u c t ' ,  ' c e l l '  и л и   яв льт с г о   п о л ь з о в а те л м .

е  п ри н и м ат я   и м ен

ь  з н ачен и м   к лас

я   'double', ,  о п р едл н н о -

c e i i s t r —  п р е о б р а з о в а н и е   м ас и в а   си м вол в   в   м ас и в   яч е к   (р а б о т а  с •  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA м ас и в ам и  с и м в о л в   о п и сан а  в  р.азд   "М ивсаы  ско"тр  гавы л  8).

с   =   c e i i s t r  (strmas)  —  яч ей к си м вол в   strm as, п р и м ер : ааа >>  strmas  =  ['а'

и   м ас и в

а   с   о б р а з ю у ст

я   и з   с рт о

к   м ас и в

а

;  'bbbbbb';  'cccccc'];

>>  С  =  ceiistr(strmas) 'аа

'

'bbbbbb' 'cccccc'zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

П   c e i i 2 s t ruc t —  п р е о б р а з о в а н и с  м ас и в ам и   с рк т у ке"  гавы л  8).

р   о п и сан

е   м ас и в а   в  р.азд

а   яч е   "М ивсаы

к   в   м ас и  суткр

в   с р кт у

р   (р а б о т   и  маивсы

а  я-е ч

р П е ин л о ж

  1. сО но веы

s t r u c t  (в д о л ь   Н аз ван и же т   бы т П ри ме » С

 ком ыанд

 и  фуцнки

997zyxwvutsrqpon

 M ATLAB и  Toolbox 

=   c e i i 2 s t r u c t  ( с ,  f i e l d s ,  dim) —  с о д е р ж и м о е   яч е к   м ас и в а  с раз м ерн ост и   dim) з а п и с ы в а е т с я   в   п ол я   с т р ук т у р   м ас и в а   st r u c t . я   п оле й   о п р е де л я ю тс я   э л е м е н та м и   м ас и в а   f i e l d s ,  к о т о р ы й   мо ь   ли б о   м ас и во м   си мволов ,  л и б о   м ас и во м   яч е к   и з  с т р о к .

я   c e i l 2 s t r u c t :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

р   и сп ольз ован и 1

=  {'March   12 '10- 30';  'April' 26 '17- 45';  'May' 10 42- 00'};

»  fields = {'Month'  'Day' 'Time'}; >> struct = cell2struct(C, fields, 2) struct = 3x1 struct array with fields: Month Day Time >> struct(l) ans = Month: 'March' Day: 12 Time:  '10- 30' Н еп р ав и ль н о раз ован и е яч е дл и н о

е   ку а з а н и ,  п р и в о ди к   в   м ас и й   с  в од л

в   с рк т у ь   да н н о

е   р а з м е р н о с ти т   к   н е с о в т ес ю у щ е м р   (в  счлау й  р а з м е р н о с ти )

,  в од л е  со в п аедн и

ь   котро й   п р о и с о х ди у   п р ео бр аз о в ан и я   ч и сл а   э л е м н от

т   п р ео б ю   м ас и в а в   в   fi e ld s  с

:

>> struct = cell2struct(С , fields,  1); >> struct(1) ans = Month: 'March' Day:  'April' Time: 'May' В   с ч л уа ид с т

е  н ес о в п аедн и я   с о б щ ен и

я   ч и сл е   о б   ош и бке

а   п о ле :

й   в   fi e ld s  и  р а з м е р

а   с  в до л

ь   dim в ы в о

>> fields = {'Month' 'Day'}; »  struct = cell2struct(С , fields,  2); ??? Error using ==> cell2struct Number of field names must match number of fields in  new structure.

-

998 

zyxwvutsr

р П е ин л о я ж

• zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   c e iidis p —  в ы в о д   с о ед р ж и м о г о   м ас и в а   чяе к   в  к о м а н дн о е  о к н о . •   c e i i d i sp  (С ) —  п о с л еод в аетл ь н ы й   вы во д   с о де р ж и м о г о   к а ж од й   яч ей к и м ас и в а   с :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA >> С  = {'May1  10 ones(2)}; >>  celldisp(C)

May C{2] 10 C {3] 1

1

1

1

•   c e i i d i sp  (С ,  name)  —  п р и   в ы в о д е   и м я   м ас и в а   з а м е н я е ст я   н а   ср т о к у name. •   c e i i pi o t —  о т б р а ж е н и е   с о ед р ж и м о г о   м ас и в а   яч е к   в   гр а фи ч е с к о м   ок н е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  (с.м  р.азд   "Мке"ч яивсаы авыг л   8). И н фо р м а ц и я   о   с о вт е с и и   ц в ет п р и   ку а з а н и и   в то р о г о   д о п о л н и те л ь н о г 1 c e llp lo t ( С ,  • legend) . •   num2ceii —  п р е о б р а з о в а н и

а   ит п

у   с о ед р ж и м о г

о   яч ей к о  

е  ч и с л о в г

о   м ас и в

•   с   =  num2ceii(A)  —  э лем н ыт ед л ь н ы е   яч ей к и  м ас и в а  с , н а п р и м е р

  ч и слов г

в о х дн о г

о  

а  в  м ас и о   м ас и в

в  яч е к а   А  п о м ещ аю ст

и   в ы в о ид с т а р мг у е н а т

я :

. я   в   от -

:

»  А  =  [1 2 3 4; 5 б  7 8] ; >> С  = num2cell(А ) С  = [1] 

[2] 

[3] 

[4]

[5] 

[б ] 

[7] 

[8]

Р аз м ер

ы  о б р а з юу щ его с

я   м ас и в

а  яче

•   с   =  num2ceii  (A,  dim)  —  ч и сл м ещ а ю ст я  в  о едтл ь н ы е  яч ей к и »  С  = num2cell(A/ 2 ) ; >>  ceiidisp(С ) С {1 } 

-

С {2 } 

=

1









4



8

а   м ас и в :

к  с  с о в п а д ю а   А  в до л

т   с  р а з м е р а м ь   р аз м ер н о ст

и  А . и   dim п о

-

р П е ин л о ж

  1. сО но веы

Ф иц у н к

и  дл

Р абот у"ткрсы

 ком ыанд

 и  фуцнки

я  ратоб

а   с о   с р тк у а м   и   "М ивсаы

ы  с о  с т рку а м и   и   м ас и в ам  суткр

999 zyxwvutsrqpon

 MATLAB и  Toolbox 

и и   с р кт у

 и  маивсы

zyxwvutsrqponmlkjihgfedcbaZYXWVUTS

  .аздр  "Петыс о р а   в zyxwvutsrqponmlkjihgfedcbaZYX   8.zyxwvutsrqponmlkjihgfedcbaZYXW

р   о п и сан ке я"ч ав ыг л

П  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA deal  —  к о п и р о в а н и е  онд и х   п ер м ен н ы х   в  дргуи е ,  и л и  з ап и с ь   с о ед р ж и м о г о   о дн о й   п ер м ен н о й   в   н ес к о ль к о .  Д а н н а я   н фу к ц и я   о к а з ы в а е ст я   п о л ез н о й  дл я   о р га н и з а ц и и   од сп у т а   к  п о ля м   м ас и в о в   с ртк у .  Н и ж е   п р и в ед н ы  в а р и а н т ы   вы з ов а   deal  с  п р и м ер а м и .

•   [s. fie ld ]  =   d eai( x)  —  п р и с в о е н и е   з н ач ен и я   х   п оля м 1 ут р   м а с и в а   s,  н а п р и м е р :  [s.name]  =   deal  ( ' B i l l ) .  с рт к у р   s  н е   щсу есвту ,  т о   селуд т   и сп оль з оват ь .name] = deal('Bill'), д г е  n —  Л С И Ч О   уткуртс [S(I:n)  м о м   м ас и в е   s.

  fi e ld  сркту Е сл и   м ас и   о бр ащ ен и е р  Ве а в а  ДЗОС

в

:zyxwvutsrqp -

•   [С {:} ]  =  deal  (s. field )  —  к о п и р о в а н и е  з н ач ен и й   п о ле й   fie ld  крсут ут р   м а с и в а   s  в   м ас и в   яч е к   с .  Е сл и   м ас и в   яч е к   с   н е  сщ у есвту ,  т о е с лу д т   и сп о ль з о в ат ь   о б р ащ ен и е :  [ C( l:n)  .name]   =   deal  ( s.  fie ld ) , дг е   n —  ч и сл о  яче к  в  с о з адв ем о м   м ас и в е  с . •   [а ,  ь ,  с ,  . . . ]  =   deal  ( s. f i e l d ) —  к о п и р о в а н и fie ld  сркту р   м ас и в а   s  в  оедтль н ы е   п ер м ен н ы •   fieldnames   —  п о члуен и

е   н аз в ан и

с   =   fieldnames  (S)  —  м ас и с рк т у р   м ас и в а   s  (р а б о т ке"ч я ав ыг л   8).

в   яч е а   с   м ас и в ам

й  п о ле

е   з н ач ен и е  а , ь ,  с ,   ...

й   с рт к у ы

к   и з   с рт о и   яч е

й   п о ле

й

. к   с   с о ед р ж и к   о п и сан

т   и м ен а   в  р.азд

а   п о ле

й

  "М ивсаы

Н ап р и м ер : >>  S(l).n am e  =   ' B i l l ' ; >>  S ( l) . a ge  =   30; >>  S(2).name  =   'Sm it h '; »  S(2).age  =   32; > >  С   =   f i e l d n a m e s ( S ) С   = 1

 n a m e '

1

  a ge'

•   g e t fie id  —  п о члуен и

е   с о де р ж и м о г

о   о п р е дл н н ы

х   п о ле

f  =   ge t fi e i d ( s,  ' f i e l d ' ) —  в о з в р а щ а е т   с о ед р ж и м о fie ld  сртку ы   s.  Вонхд о й   а р мг у е н т   s  одлж е н   бы т , дл я   сртку м ас и в о м , т .  е .  size  (S)  =   [l  l ] .  Н а п р и м е р н о й  в ы ш е , се улд т  в ы з ы в а т ь   ge t fie id  в  ц и к л е   for: S(1).name  =   ' B i l l ' ; S(1).age  = 3 0 ;

й   с рт к у ы е   п о ле ь   с рт к у о й

. й   с   и м ен е

ы   s,  о п редл н

м ,  а   н е -

1000 

zyxwvuts

р П е ин л о я ж

S ( 2)  .n am e  =   'Sm i t h •  ; S ( 2 ) . a g e  =   3 2 ; fo r  i = l : 2 fa ge( i) = get field ( S( i) , 'a ge') ; en d fa ge

В  к о м а н дн о fage  = 30 

е  о к н

о   в ы в о ид с т

я

32

З ап и с ь   з н ач ен и й   о нд о и м е н н ы х   п о ле й   е су л д т   с о гл а с о в ы в а т ь   с   ит п о м м ас и в а ,  в   к о т р ы й   з а н о с и ст я   р е з л у ь ат .  Н а п р и м е р ,  п о п ы тк а   в ы п о лн е н и я  ц и к л а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA for i = 1:2 f(i) = getfield(S(i),  'name'); end п р и в ед

т   к  о ш и б к е , п о ск ль к и   образ оват ь   и з   н и х   си м в о ль н ы н ес н и и  з н а ч ен и й  п оле й  в  м ас и for  i  =   1:2

у   с рт о к й   м ас и в  яче

и   в  п о ля х   name и м ею в   н е   а сд е т я у .  В ы ох к

т   раз н у д   со ти

ю   лд и н у , т   в   за -

fname{i}  =  ge t fi e l d ( S ( i ) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED ,  'n am e') ; end П   rmf i e ld  —  адлуен и

е   п о ле

й   с р тк у ы

.

е   п ол я   с   и м ен м   fie ld  и з   сркту р s  =   rm fieid ( s,  ' fi e l d ' )  —  адлеун и м ас и в а   s,  н а п р и м е р , дл я   з а п о л н е н н о г о   вы ш е   м ас и в а   s,  п о л е  name  аляд у сет я  п р и  п о м о щ и  о б р а щ е н и я : >> S = rmfield(S, 'name')zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI ь  — 1x2 struct array with fields: age structure array S. В оз м ожн о   а д л уе н и е   ср аз у   н ес к о л ь к и х   п о л ей од л ж е н   бы т ь   м ас и в о м   си м вол в   и л и   чя е а д л уя е м ы х   п о ле й   (р а б о т а   с   м ас и в ам .аздр   "М ивсаы  ско"тр  гавы л  8, а   с  м ас и в ам ке"  гавы л  8).

:  s  =   rmf ie ld  (s,  F ), зесд ь  F к   и з   с рт о к   и   с о ед р ж а т ь   и м ен а и   си м вол в   о п и сан а   в и   яч е к   в  р.азд   "М ивсаы  я-е ч

р П е ин л о ж

  1. Ос но веы

 ком ыанд

 и  фуцнки

1001 zyxwvutsrqpon

 MATLAB  и  Toolbox 

  s e tf i e i dzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  —  п р и св о ен и е  з н ач ен и я  п о л ю  срткуы . П zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

s  =   se t fi e i d ( s,  ' fi e i d ' , v)  —  в   п о л е   с  и м ен м   fie ld  сркту си т я  з н ач ен и е  п ер м ен н о й  v.  Вондх ы м   а р мг у е н о т м   s  до л ж н н о   с рт к у а ,  а   н е   м ас и в ,  т . е .  size(S)  - [ 1 1 ] *  З а п о л н ен и С тр ук ту

р   П И С ДР О Т В З

Я  П р

•   s truc t —  с о з адн и

О бщ и

й  в и

д  о б р а щ ен и

е  сркту

и  ПЩ МО

р   и  м ас и в я  к  st r u c t  в ы гл яид

И  Ц И К Л

а   (СМ

а  сртку

а  б ы т

а

. g e t f  i e l d ) .

. т  сюлуед щ и

м  о б р а з о м

S = struct('fieldl', vail, 'field2', val2,...). ы г о вн д о х ы о  аргумент а  s  стюяледерпо я о  сб о с о п м  указани ...  еЛОП Й  fieldl, field2, ... й  vail, val2,  >> myS =  struct('month1,'May','dat1,10,'time','12- 00') myS = month: 'May' dat: 10 time: '12- 00'

ремзаР ин

ы   s  з а н о ь  и м ен е  м а с и в

:zyxwvutsrqponmlkjih я  значе

-

Е сл и  va il,  vai2,  ... яв ляю ст я  м ас и в ам и  яче к  о ди н а к о в й  дл и н ы , т о  в  р е з л уь а т е   s  едбу т   м ас и в о м  сртку : >> myS = struct('month',  {'May' 'June'}, 'dat', {10 12},... ќtime', {'12- 00' '23- 30'}); >> myS(l) ans = month: 'May' dat: 10 time: '12- 00' >> myS(2) ans = month: 'June' dat: 12 time: '23- 30' кУ а з а н и е  в  к ач есвт е  з н а ч ен и я  va il,  vai2  и  т . д . о нд о й  яч ей к и  п р и в о ди з ап о лн ен и ю  да н н ы м  з н ач ен и е м  п о ле й  все х   сркту р   в ы о х дн о г о   м ас и в а н ап р и м ер : »  mySl = struct('month',  {'May'},  'dat', {10 12}, 'time',... { '12- 00' '23- 30'});

т  к ,

1002 

Приложеня

  mySl  (1) .month »zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

ans = May (2) .month >> mySl  ans = MayzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA •   st r u c t 2 c e i i  —  п р е о б р а з о в а н и т а   с  м ас и в ам и  яче к  о п и с а н

е   м ас и в а   с рк т у р   к   м ас и в у   яч е к   (р аб о а  в  рzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH .азд   "М ивсаы ке" ч я  гавы л  8).

с   =   st r u c t 2 c e i i  (S)—с о д е р ж и м о яч ей к и   м ас и в а   с .  Е сл и   size'( S )  =   [m  n]  и   к аж д я   с р тк у

е   п о ле

й  сркту й   а р мгу е н

в о х нд о а   м ас и в

р   м ас и в т   а   s  с о т и

size (S) =  [р  m n]. >> 3(1,1)  = struct('name',  'Sam1,  'age', 16); >> S(l,2)  = struct('name',  'Nik1,  'age1, 18); >> S(l,3)  = struct('name',  'Dan1,  'age', 17); >> S s = 1x3  struct  array with  fields: name age >>  C=struct2cell(S) C(:,:,1)  = 1

 Sam1

[  16]

Nik 1 [ 18]

Dan' [ 17] >> size(С ) ans = 2 

1

а   s  з ан о си т и ме т   р аз м ер т   и з   р   п о л ей

я  в ы zyxwvuts ,  т о

р П е ин л о ж

  1. сО но веы

 ком ыанд

 и  фуцнки

е  и  гриаеч фсик

о ыв З к у тЧ е ин и  пре обра зов ни

, за пис

1003 zyxwvutsrqp

 MATLAB и  Toolbox 

е  файл

ы

ь е  зыво ку

х  ыанд

х

zyxwvutsrqponmlkjihgfedcbaZYXWVUT

•   iin2muzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  — м ю - к о ид р о в ан и е .

м и   =  iin2mu(y)  —  л о га р и фм и ч ес к о е   к о ди р о в а н и о т  - 1 д о   1, з а п и с а н н о г о  в  в ек от р   у . Э лем н атм лы е  ч и сл а  и з  ди а п а з о н а   [0,  255] . •   mu2iin — о б р а тн о

е  п о  о нт о ш ен и

е   з вкуа

т   (в екот ы   котрог

и   ч и слам

-

и   о т  0 д о т   и н етр в а -

о   п р и н а дл е ж а

о   з в ку о в г а   у  до л ж н у   з кв у

а   с  ч а с от

о  си г

и  1.

, рав

-

а   п р и н а лд е я   д о  - 1 и л

й   с е ук а ю с т

т   с е тр о ф н и ч е с к о м е   с и гн а л

ю   8192 Г ц

.

й   д и с к р е ит з а ц и

.

•   sound (у , fs, b i t s)  — в о с п р о и з в едн и ц и и  f s и  р а з р я дн о с ть ю   b i t s. •   soundsc  — в о сп ро и з в енд и

я  ц е

.

р   с  ц елы м

е   д и с к р е ти з о в а н н о г и   fs.  м Ап л и дут й   а м п л и од у т

р  size (у )  =   [п   2] овтеч а

•   sound (у ) —  в о с п р о и з в едн и н о й  п о  ум о л ч а н и

й

.

•   sound (у ,  fs)  —  в о с п р о и з в едн и н а л а   у  с  ч а с от й   ид с к р е и т з а ц и ж ат ь   [- 1,1].  З н ач ен и я  с  бо ль ш е Р аз м е

а   с   а м п л и од у т а   mu яв ляю ст

ю  к  iin2mu  п р е о б р а з о в а н и е

й   а р мгу е н у   =  mu2iin(mu)  —  вохнд о 255)  п р ео б р аз есут я   в  в ек от р   у , э лем н т л у   [- 32124/ 32768, 32124/ 32768]. •   sound — в о с п р о и з в едн и

е   с и гн а л и   в е к то р

е  з кву

е   с и гн а л

а   с  ч а с то

а  с  п ревда и елть н ы

й   ид с к р е и т з а

-

м   м а с ш ат б и р о в а н и е м

•   sound(y,  fs) ,  sound(y),  sound(y,  b i t s ) —р а б о т а ю а   с и гн а л а   п р е дв а р и е т л ь н о   м а с ш а т б и р е с ту sound,  н о  ам п ли дут в о ид с т я   к  ортез к у   [- 1,1]  та к , ч от б ы   з ву к   б ы л  м а к с и м а л ь н о я  ам п ли дут ы   (т . е . бе з  п о етр и  к а ч есвт а ) ст и  бе з  усечн и

. т   а н а л о ги ч н

о я   и   п ри й   гр о м к о

-

.

•   soundsc (у ,  . . . ,  slim)  —  п р о и гр ы в а н и е  з в ку о в г о   с и гн а л а   с  п ревда р и ет л ь н ы м   м а с ш ат б и р о в а н и е м   к   [- 1,1]  ет х  з н ач ен и й  у , к о т р ы е  п р и н а лд е ж а т   о рт е з к у , з а д н н о м у   в е к от р м   slim  =   [slow  sh igh ]. •   wavread — с ч и ыт в а н и

е  з вку

а  и з  WAV- афй л

•   у   =  wavread (filename)  —  в   м ас и (м асш атби р о в ан н ы е  к   [- 1,1]) ди ск р еит з о в ан н о г с  и м ен м   filename.  В екот р   у   с о в т ес у

-

.

в   у   з а н о с ят

я   а м п л и д ут о   з кв у т   м о н о ф н и ч ес к о м

ы   о ст ч ео а   и з  WAV- йаф л у  з вк у

в а , а

1004 

м а тр и ц о вт е ч а е • 

а   с   мв д у я   с то л б ц а м и т   у  (:,  1), в от р м

—  сетр о ф н и ч ес к о м у у   —  у  (:,  2).

, п ер в о м у

х   с о едр ж и с т я

Н ЦК Ф И У

Ю

  и н фо р м а ц и

[ . . . ] 

п 2  к а ж д о г

у

х  ВНЫД О ЫХ

я  о   ди с к р еит з о в а н н о

м  з вку

Х

е   (см

.

в   каж

-

 so u n d ) .

•   [ . . . ] =   wa vr e a d ( file n a m e ,  n)  —  с ч и т ы в а н и а   filen a m e. до г о   кан ал а   и з  WAV- ф а й л

е   п ервы

=   wa vr e a d (  f i l e n a m e , 

[ n l  n 2 ] )  —с ч и т ы в а н и

а   и з  WAV- ф а й л

а   filen a m e.

о   кан ал

х   п   сэмп ло е  О ПЛМ Э С

В  О Т  n l  Д О

1

•   si z  =   wa vr e a d ( file n a m e ,  ' s i z e )  —  в о з в р а щ а е т   раз ме ван н ог о   з в ук а ,  з а п и с а н н о г о   в   фай л е   file n a m e .  В ы х о д н о л я е тс я   в е к то р о м ,  п е р в ы й   э лем ен т   к о то р о г о   раве н   чи сл в то р о й   —  ч и с л у   кан алов . • 

  к ан ал

[у ,  f s ,  n b i t s ]  =   w a v r e a d ( f i l e n a m e )  — В   д о п о л н и т е л ь н ы

п а р м е тр а

• 

zyxwvuts

р П е ин л о я ж

[у ,  fs,  n b i t s ,  o p t s]  =   wa vr e a d ( .  . . )  —  в о з в р а щ а е си в е   у ,  ч а с т о т у   ди с к р е ти з а ц и и   в   fs,  р а з р я д н о с т o p t s,  п о л я   к о то р о й   с о де р ж а т   и н форм ац и ю  о   ф о р м а т

•   wavwrite   —  з а п и с

ь   з в ук о в ы

х   да н н ы

х   в   форм ат

р   Д И С К и р те з о й   а р г ум е н у   сэмп лов

т   яв

,  а

т   сэмп л ы   в   м ас ь   в   b i t s  и   с т р ук т ур у е   фай ла .zyxwvutsrqponmlkj

е   WAV.

•   wavwrite  (у ,  fs,  n b i t s ,  wa vefile)  —В   WAV- аЙф Л   С  и м е н е м   filen a m e з а п и с ы в а ю тс я   з в ук о в ы е   да н н ы е   и з   м ас и в а   у .  Ч а с т о т а   ди с к р е ти з а ц и и ук а з ы в а е т с я   в   f s  (в   Г ц ) ,  а   р а з р я д н о с т ь   в   b i t s  (д о п у с т и м ы   то л ь к о   зн а ч ен и я   8  и   16).  С т е р е о ф о н и ч е с к и й   з в у к   п р е дс та в л я е тс я   м ас и во м   раз я   а м п л и т уд ы   до л ж н ы   п р и н а дл е ж а т ь   от м ер а   si z e ( y)  =  [n  2 ] .  З н а ч е н и рез к у   [—1,1], о с т а л ь н ы е   з н ач ен и я  ус е к а ю т с я   д о   - 1  и л и   1. •   wavwrit e  (у ,  fs,  wa ve file )  —  з а п и с р а з р я дн о с ть ю   16  б и т о в . •   wavwrit e  (у ,  wa ve file )  —  з а п и с н о с ть ю   16  б и т о в   и  ч а с т о т о й   ди с к р е ти з а ц и

е  файл

р и а Г еч ф с и к •   imf  inf  о  —  п о л у ч е н и

ь   П О   ум о л ч а н и

ь   П О  у м о л ч а н и

ю  И Д О Х СИ О РП

Т  С

ю И  Д О Х СИ О РП Т  С  р а з р я д и   8192  Г ц .zyxwvutsrqponmlkjihgfedcb

ы е   и н форм ац и

i n fo  =   imf i n f  о  ( file n a m e ,  и н форм ац и ю   о   графи ч еск о (работ а   с о   с т р ук т ур а м и   оп и сан

и  о   г р а ф и ч е с к о

м   фай ле

.

fmt)  —  в о з в р а щ а е т   с т р ук т ур у ,  с о д е р ж а щ у ю м   фай л е   с   и м ен е м   filen a m e  и   т и п о м   fmt а  в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML  р.азд   "Петыс о р   у"ткрсы   ав ыг л   8).

П о д е р ж и в а ю тс я   ш и рок о   и с п о л ь з уе м ы е   форм ат ы   фай лов ,  к о т о р ы м   со о т в е т с т в ую т   с л е д ую щ и е   з н ач ен и я   в хо д н о г о   а р г ум е н т а   fmt:  'bm p 1 ,  '  jp g 1 (и л и   ' jp e g' ) ,   ! p c x f ,  ' p n g 1 ,  ' t i f  (и л и   ' t i f f  ')•  С л е д уе т   и м ет ь   в   в и ду ,  ч т о

р П е ин л о ж

  1. сО но веы

 ком ыанд

 и  фуцнки

есл и   ф а й л   в   форм ат е   T I F F  с о д е р ж и т   н есколь к м ац и я   в о з в р а щ а е тс я   в   м ас и в е   с т р ук т ур .  Д о с т у п в то р о г о   и з ображ ен и я   п р о и з в о ди тс я   пр и   п омощ т ур ы   м ас и ва :  in fo  (2)  ( р а б о т а   с   м ас и вам "М ивсаы   уткср"авыг л   8). П ервы фай л

е   де в я т а   и  с о д е р ж а

ь   п оле й   с т р ук т ур т   с л е д ую щ у

•   F ilen am e  —  с т р о к к а та л о г е ,  т о   в   с т р о к

ы   н е   з ави ся ю   и н форм ац и ю

а   с  и м е н е у   з а н о с и тс

•   F ileM odD ate —  с т р о к •   F i i e s i z e  —  р а з м е

а   с о  в р е м е н е

а   и з  т р е

•   F ormat  —  с т р о к

м   фай ла я   п олн о

р   фай л

•   F o r m a t ve r sio n  —  с т р о к

о   и з ображ ен и й ,  т о   и н ф о р ,  к   с в о й с т в а м ,  н а п р и м е р , и   ук а з а н и я   н ом ер а   с т р ук и   с т р ук т у р   оп и сан а   в zyxwvutsrqponmlkjih   .аздр т   о т   форм ат

и   фай л   н а хо д и т с е  имя ;

м   п о с л е дн е г

,  с о д е р ж а щ а и   чи слова

я   форм а я   п ерем ен н а

я   в   п и кселах

;

•   H eigh t  —  в ы с о т

а   и з ображ ен и

я   в   п и кселах

;

О с та л ь н ы браж ен и я Ф орма с л уч а ски

е   п ол . т   фай л е   ф ун к ц и х   да н н ы х

я   с т р ук т ур

а   (б и т/ п и к с е л )

е   гр афи ч еск о

;

; й   ф о р м а та

;

;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR :  'truecolor1,  'grayscale'  Л И

П   яинежарбози ы   in fo  з а в и с я

а   можн о   н е   ук а з ы в а т ь я   imf in fo  п ы т а е т с ,  и с хо д я   и з   с т р ук т ур

•   imread —  ч т е н и

т   фай ла я   с  в е р с и е

а  и з о б р а ж е н и

ќ  ColorType—  И Т 'indexed'.

я   фай ла

м

;

х   си мволов

а   ц вет

о

я   н е   в   т е к ущ е

о   и з м ен ен и

•   wid t h  —  ш и р и н

•   Bit D ep t h  —  г л у б и н

а   графи ч еск о г

:

,  е с л

а   в   б а й та х

а   ил

1005zyxwvutsrqponm

 MATLAB и  Toolbox 

я   о п р е де л и т ы   фай ла й   и н форм ац и

т   о т   форм ат

а   п р е дс та в л е н и

я   изо

И -

:  in fo  =   im fin fo  ( file n a m e ) .  В   э т о м ь   форм а т   хр а н е н и я   гр афи ч е .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON и   и з   фай л

а   в   м ас и

в   ил

и   м ас и

-

в ы   M AT L AB. •   А   =   im read  ( file n a m e ,  fmt)  —  З а п и с ь   В  м а с и в   А  г р а ф и ч е с к о й   и н фор м ац и и   и з   фай л а   с   и м ен е м   filen a m e  ф о р м а т а   fmt  (с м .  ф у н к ц и ю imf in fo ) .  Р а з м е р н о с т ь   м ас и в а   А  з а в и с и т   о т   ти п а   и з ображ ен и я .  Е с л и фай л   с о де р ж и т   и з ображ ен и е   в   отен ка х   серог о   (ф ун к ц и я   in f  in f  о   в о з е  C olorType),  TO А  я в л я е т с я  НрЫем уВД М   м ас вращ ае т   ' g r a y s c a l e '  В  ПЛ О си вом .  Р а з м е р ы   м ас и в а   о п р е д л я ю тс я   ш и ри н о й   и   в ы с о то й   и з ображ е н и я .  Л С Е И   in fo  =   im fin fo ( file n a m e ,  fm t),  TO size( A)  =   [ in fo . H e igh t i n fo , wi d t h ] .  Ц в е т н о е   и з ображ ен и е   (ф ун к ц и я   in f  in fo  в о з в р а щ а е т ' t r u e c o l o r 1  В   Л ПО е   C olorType)  з а н о с и т с я   В   т р е хм е р н ы й   ИС а м В  А , size ( A)  =   [ i n fo . H e i gh t  i n fo . wi d t h  3 ] .  Т р е т ь е   и з м ерен и е   п р е дс та в ляе т   и н фо р м а ц и ю   о   ц вет : A ( i ,  j ,  :)  =   [R  G  в ] .

1006 

р П е ин л о я ж

zyxwvuts

•   [A,  MAP] =   im r e a d ( file n a m e ,  f m t ) —з а п и с ь   в   м ас и в   А  г р а ф и ч е с к о й и н форм ац и и   и з   фай л а   с   и н де к с и р о в а н н ы м   ц в е то м .  М а с и в ы   А   И   MAP я в л я ю тс я   д в ум е р н ы м и ,  п р и ч е м   з н ач ен и я   MAP  м а с ш т а б и р о в а н ы   о т   н ул я д о   е ди н и ц ы . Ф орма та е тс и с хо д

т   гр афи ч еск и я   о п р е де л и т я   и з   с т р ук т ур

х   да н н ы ь   форм а ы   фай ла

•   im wr it e  —  з а п и с

х   можн т   хр а н е н и .

ь   гр афи ч еск и

о   н е   ук а з ы в а т ь я   гр афи ч еск и

х   да н н ы

.  Ф у н к ц и х   да н н ы

х   и з   м а тр и ц

ы   в   фай л

•   im writ e  (A,  file n a m e ,  fmt)  —  З а п и с ь   гр афи ч еск и щ и хс я   в   м а тр и ц е   А ,  В   ф а й л   с   и м ен е м (с м .  ф у н к ц и ю   imf in fо ) .  Е с л и   ти п   м а с и в а   А   ест э лем ен т ы   и м ею т   з н ач ен и я   о т   н ул я   д о   е д и н и ц ы р и те л ь н о е   п реобраз ован и е   к   8- б и то в ы м   ц елы м с и в а   А  к л а с а   u n i t s  п р и в о д и т   к  п о л уч е н и ю   и з ображ ен и ка х   серо го ,  л и б о   ц в е тн о г о ,  в   з а в и с и м о с т и   о (СМ . ф у н к ц и ю   im read). •   im wr it e  (A,  MAP,  file n a m e ,  fmt)  —  з а п и с ч еск и х   да н н ы х ,  с о д е р ж а щ и хс я   в   м а тр и ц а f i l e n a m e  Т И П

а   fm t  (СМ

т о   о н   п р е дв а р и те л ь н клас а   u n i t s  и л MAP д о л ж е н   я в л я ть с Ф орма би рае З ап и с боват з уе т с

т   гр афи ч еск и т   форм ат

. фН уК Ц И

Ю

,  и с хо д

х   да н н ы х   можн я   и з  р а с ш и р е н и

ь   в   гр афи ч еск и е   фай л ь   ус т а н о в к и   до п о л н и те л ь н ы я   О ЗЫ В В  im writ e  в и д

.

х   да н н ы х ,  жСраеОД filen a m e  т и п а   fmt ь   d o u ble  a r r a y,  а   е г о , т о   п р о и с х о д и т   п р е дв а   чи слам .  У к а з а н и е   м ас я   ли б о   в   отен т   раз м ерн ост и   м ас и в а  

ь   и н де к с и р о в а н н ы х   А   И  MAP В   ф а й

  im f  i n f o ) .  ЕСЛ

о   п р е о б р а з о в ы в а е тс я и   u n i t i 6 ,  т о   п р е о б р а з о в а н и я   ц в е то в о й   п а л и тр о й

я   im read  п ы х   и   с ч и та т ь   их ,

И   А   СТе

х   гр афи л   с   и м ен е

м

Ь   d o u b l e  a r r a y ,

:  А   -   u n i t s  (А   -   1) .  Е с л и  А я   н е   п р о и с хо д и т .  М а с и в ,  п о д е р ж и в а е м о й   M AT L AB. о   н е   ук а з ы в а т ь я   фай ла

.  Ф у н к ц и , у к а з а н н о г

я   im wr it e  в ы о   в   filen a m e.

-

ы   ф о р м а то

в   T I F F ,  J P E G   и   P N G   м о ж е т   п о тр е х   п а р а м е тр о в .  В   д а н н о м   с л уч а е   и сп оль а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG

imwrite(...,  paraml, vail, param2,  val2,  . . . ) . 1

Ф орма т   J P E G   п оз воляе т   ук а з а т ь   о ди н   п арам ет р   ' Q u a l i t y ,  о п р е д е л я ю щ и й   к а ч е с тв о   и з ображ ен и я .  З н а ч е н и е м   ' Q u a l i t y'  м о ж е т   бы т ь   чи сл о   о т е ди н и ц ы   д о   с та ,  п р и ч е м   больш и е   з н ач ен и я   с о т в е т с т в ую т   л уч ш е м у   каче с тв у   п р и   с ж а т и и   и з ображ ен и я   (с о т в е т с т в е н н о   ув е л и ч и в а е т с я   раз ме р фай ла) .  З а п и с ь   в   форм ат е   T I F F  уп р а в л я е т с я   тр е м я   п а р а м е тр а м и : ќ  'Compression' —значе ия

1

ќ  ' Description' — к о р т с а  С е и н а  сипо гонд хыв о т н  емугра а  imf info); ќ  'Resolution' —в е к т о

1

: 'none', 'packbits , 'ccitt ; м  лйаф

а  (СМ

.  ЛОП

е  ImageDescription

р  [XResolution YResolution] .

р П е ин л о ж

  1. Ос но веы

и е а п цр О

 ком ыанд

 и  фуцнки

и  с о  самткор  р.азд

.м С

  "Ртао б

Об р а б от к

и

 со  си коатмр

•   debiank  —  алдену и ав ыг л  8).

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE

 " гавы л

а  с т ро

к

 8.

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

е   п р о б ело

в   в   кон ц

•   snew  =. debian k(s)  —  адлеун и в о й   п ер м ен о й   s.

е  срто к

к   п о дс р т о к

k  =   f in d st r  ( si,  s2)  —в ы хо д н о с   котры х   п о д с тр о к а   н а ч и н а е ст s2  яв л ю ст я   с рт о к и   и л и   с рт о к в ы в о х нд о й   а р мг у е н т   м ен ь ш е й  дл и н ы •   lower —  п р е о б р а з о в а н и я л д  ртыоаб  со  си"коатмр вы

е   в   с рт о ч н ы  гавы л

е  срто

к   (с.м

е   (с.м

 р.азд

й   а р мг у е н я   в   с рт о к е е   п ер м ен н ы е .

т   в е к от .  Вондх ы м

е   к б ув

ы   (с.м

  "М ивсаы е   с рт о к

в   в   кон ц

 ско"тр и   ил

е   к а ж од и   яч е

-

й   с рт о к к   о п и сан

  "Севынирс

и а  в

 фукн ци

р   к  с о едр ж и и   а р мг у е н а т м .  П о дс тр о к о  р.азд

и   с тр о к

 я лд т   п оз и ц и

, и   sin я

й   с ч и а т ес

  "Севынирс

 фукн ци

 8).

snew  =   lower (s)  —  п р е о б р а з о в а н и .  Д о п сук аест я   п р и м ен ен и е   н фу к ц и И З  Сор т к  (СМ . фн у к ц и ю   debiank).

П   st r e a t  —  сц еп л н и

в   в   кон ц е   п р о б ело а   с   м ас и в ам

и   в   с рт о к   8).

 р.азд

и   (с.м

е   п р о б ело

•   masnew  =  debiank  (mas)  —  адлеун и м ас и в а   чя е к   и з   с рт о к   mas  (р а б о т .аздр   "М ивсаы ке яч  " гавы л  8). •   f i n d st r  —  п ои с т ыо а б р  со  си"коатмр авыг л

1007zyxwvutsrqpo

 MATLAB  и  Toolbox 

 р.азд

е   си м вол в   с рт о к и   lower  к   м аси в   "Вдво

s  =   s t r c a t ( s i ,  s2,  s3,  . . . ) —г о р и з о н т а л ь н о s3, ...  и   з ап и с ь   р е з л у ь ат а   в   ср т о к у   s.  с ц еп л яем о й   с рт о к е   и г н о р и р ю у ст я .  Е сл м ас и в ам и   си м вол в ,  т о   в ы охнд о й   а р мг у е н кУ а з а н и е   в   к а ч е свт е   в о нх д ы х   а р мг у е н о т ид т   к   о б р а з о в а н и ю   н ов г о   м ас и в а   яч е яч е к  о п и с а н а  в  р.азд   "М ивсаы ке  ч я  " гавы л

и   s  в   срт о ч н ы у   яч е к ,  со тящ и

 и  сине цпл

 ко"трс авыг л е   с ц еп л н и

З ав ер ш аю щ и и   в о х нд ы

е   п р о б ел е   а р мг у е н т т   ат к ж е   м ас и в   м ас и в о в   яч е к  и з к   и з   с рт о к   (р а б о т а  8).

е   к бу

х

  8). е  срто

к   si,  ы   в   к а ж од ы   я в л ю ст в   си м вол в   с рт о к   п ри во   с   м ас и в ам

s2, й я . и

К аж д я   яч ей к а   н ов г о   м ас и в а   с о ед р ж и т   р е з л у ь ат т   с ц еп л ен и я   с рт о к , о в я щд х и х   в   с о вт е с ю у щ и е   яч ей к и   к а ж до г о   и з   м ас и в о .  М ас и в ы од л ж н ы   бы т ь   о ди н а к о в ы х   р аз м ер о в , н а п р и м е р :zyxwvutsrqponmlkjihgfedcbaZYXWVU 1 >> S = streat({'May , 'June'}/ {'12', '23'}) S = f f Mayl2'  June23f

1008 

zyxwvuts

р П е ин л о я ж

Д о п с у ит м о   ку а з а н и е  м ас и в а , с о с т ящ ег о   и з  о нд о 1 >>  S  =  st r c a t ( {' M a y ,  ' J u n e ' },  {'12'}) S = 'M ayl2'  ' J u n e l2'

й  яч ей к и

:

П  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA strcmp —  с р а в н ен и е   с рт о к zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC   (с.м  р.азд   "Севынирс  фукн ци   я л д   т ыо а б р   ос и'коатмрс 'гавы л   8). flag  =   strcmp ( si,  s2)  —  в о з в р а щ а е срт о к   si  и  s2, и  н о л ь  —  в  п р о ит в н о В о н дх ы м и   а р мг у е н а т м е к   и з   с рт о к   (р а б о т ав ыг л  8). В  да н н о м  слчуа ч т о   и  и сохдн ы е

и   м о гу а   с   м ас и в ам е   в ы о х нд о , с о с т ящ и

т   иед н и ц

т   бы т

ь   м ас и в

й   а р мг у е н й  и з  еид н и

{' M a y l l \  

|

ы   (о ди н а к о в ы

'M a yl4\ 

к   о п и сан

я

/

х   р аз м ер о в   "М ивсаы

а   в  р.азд

т   я в л ес т ц  и  н леуй

М а у 1 4'

е   с о в п а е дн и

.

и   яч е

>>  flag  = strcmp({'MaylO', 

у   в   с чл у а

м   с чл уа е

я   м ас и в о , н а п р и м е р

) яче   ке"ч я

-

м  то г о   ж е  р а з м е р а , :zyxwvutsrqponmlkjihg

  'JuneO2'},...

' J u n e O 2 ' })

fla g. = O

Е сл л ясе т с р ав н ен и е

i

l

и   о ид н   и з  вохнд ы я   с тр о к о й  и л :

х   м ас и в о

в   и ме й   п ер м ен н о й )

и  с тр о к в о

>>  flag  = strcmp({'MaylO', 

|

т   р аз м ер

  l

М а у 1 4'

/

, р а в н ы , т о   п р о и сохди

й   еид н и ц

е  (и л т   п о э л е м н нт о

и  яв е

June02 1 },  {'Mayl4'})

flag  = 0 

•   strcmpi —  с р ав н ен и

1

0

е  с тр о к

, п р о п и с н ы

е  и  с рт о ч н ы

е   кб у в

ы   н е   раз ли ч аю т

-

ся . И сп оль з ован и

е  strcm pi  а н а л о ги ч н

О   s tr ju st  —  в ы р а в н и в а н и •   n ews  =   s t r j u s t ( s )  И Л

о   strcmp.

е  э лем н от

в  в  срт о к е

.

И  n ews  =   s t r j u s t ( s , 

п о  п р а в о м у   к раю : >>  news  =  s t r j u s t ( '  news  =

' r i g h t ' )  —в ы р а в н и в а н и

t e xt 

е

')

t e xt •   news  =   st r ju st ( s,  ' l e f t ' )  —в ы р а в н и в а н и >>  news  =  s t r ju s t ( '  news  = t e xt

е  п о  лев о м t e xt  ' , 

у   краю ' le ft ' )

:

р П е ин л о ж

  1. сО но веы

 ком ыанд

 и  фуцнки

•   news  =   s t r j u s t ( s , 

1009 zyxwvutsrqpon

 MATLAB и  Toolbox 

' c e n t e r ' )  —в ы р а в н и в а н и

>> news = strjust(' 

е   п о   ц е н тр у text 

:zyxwvutsrqponmlkjih

', 'center')

news = text • I  s t r m a t c h —  п о и с з а да н н о й   с тр о к о

к   в   м ас и в е   си мволо в   и л и   яч е к   и з   с тр о к   с о в п а де н и й  с   "М ивсаы   ко"трс авыг л   8). й  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA (с.м  р.азд

•   k  =  s t r m a t c h ( s t r ,  MAS)  —  п о и с яч е к   и з   с тр о к   MAS  с т р о к и ,  н а ч и н а ю щ е й с я в л я е тс я   м ас и во м   с  н о м е р а м и   п о д хо д я щ и

к   в   м ас и в е   си мволо в   и л и   м ас и в я   с   s t r .  В ы хо д н о й   а р г ум е н х   с тр о к   в   MAS.

•   k  =   s t r m a t c h ( s t r ,  MAS,  ' e x a c t 1 )  —  в о з в р а щ а е MAS, в   к о т о р ы е   s t r  в х о д и т   к а к   ц ела я   с тр о к а :

т   н ом ер

а   с тр о

е т  к к   и з

>> к  = strmatch('Ma',  {'March',  'April',  'May'})zyxwvutsrqponmlkjihgfedc

к   = 1 3 >> к  = strmatch('Ma',  {'March',  'April',  'May'},  'exact')

к   = [ ] 3  st m c m p  —  с р а в н е н и у кн ц и ф   я л д  ртыоаб .  fla g  воло в ным и с тр о к с о т в е т с т в ую м ер :

е   п ервы   ос   и"коатмрс

х   п  с и м в о л о   ав ыг л

в   дв у   8).

х   с тр о

к   (с.м

=   st r n c m p ( si ,  s2,  n)  —  в о з в р а щ а е т   е ди н и ц у   в   с тр о к а х   s i  и   s2  с о в п а д а ю т ,  и   н о л ь   —  в   п р о т и в н о   а р г ум е н т а м и   м о гу т   бы т ь   м ас и в ы   (о д и н а к о в ы .  В   д а н н о м   с л уч а е   в о з в р а щ а е тс я   м ас и в   и з   н ул е т   с тр о к а м ,  п е р в ы е   п   си мволо в   к о то р ы

 р.азд

  "Севынирс

,  е с л

и   п ервы м   с л уч а е х   раз м еров й   и   е ди н и ц х   с о в п а да ю т

е   п   си м .  В хо д )  я ч е ,  е д и н и ц ,  н а п р и

к ы -

>> flag = strncmp({'March',  'April',  'May'},... {'May', 'May',  'May'}, 2) flag = 1



•   s t rre p  —  з а м е н

е ын

  у кн ц и ф

  ялд

1zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA а   в   с тр о к  ртыоаб

е   о дн о   ос   и"коатмрс

й   п о дс тр о к   ав ыг л

new  =   s t r r e p  ( s t r ,  su bo id ,  su b n e w) —  з а м е н su bo id  н а   п о д с т р о к и   subnew.  В хо д н ы е   а р г ум е н т ( о ди н а к о в о г о   раз м ера )  я ч е к   и з   с тр о к ,  н а п р и м е р

и   н а   д р уг у   8).

ю   (с.м

а   в   с тр о к ы   м о гу :

>> new = strrep({'March',  'April',  'May'},... {'ar', 'pr1,  'ay'}, {'AR', 'PR',  'AY'})

 р.азд

  "Св-риес

е   s t r  п о д с т р о т   бы т ь   м ас и вам

к и

1010 

Приложеня

strnew = 1 'MARch   В оз м ож н м ен а т

1

'MAY'zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK

'APRil  

о   ку а з а н и

е   м ас и в

zyxwvu

а   и з   о нд о

й   яч ей к

и   в   к а ч е с вт

е   в о х дн о г

о   ар уг

-

:

>> strnew  = strrе( р {'March'

,  'April',  'May'},... 1

{'ar\  'pr\  'ay },  {'###'}.) strnew = 'M###ch'  ИЛ

'A###il' 

'M###'

И »  strnew =  strrep({'March',  'April',  'May'},  {'Ma'},  {'##'}) strnew = '##rch' 

ИЛ

'April' 

'##y'

И >>  strnew  = strrep({'March',  'April',  'May'},... {'Ma'},  {'##',  '**',  '&&'}) strnew = '##rch' 

•   st r t o k  —  п о и с

'April' 

к  п ер в о

й  п о дс тр о к и

'&&y'

, оедтл н н о

•   tok  -   st r t o k  ( st r )  —в о з в р а щ а е т е   с рт о к в о п о сд р т о к у   и з  с тр о к о в й   п ер м ен н о й  и л б ел ам и   и л и  таблуяц и ей .  П р о б е л ы   (таблуяц и я р ю у ст я , н а п р и м е р : >> tok = strtok('  ABC DEFG H') tok  = ABC

й   п р о б елам и  срт о к

и   в  с рт о к е

.

й  п ер м ен н о й  tok  п ерву и   st r ,  оедлт н н у ю   п ро )  с п р а в а   и  слев а   и гн о р и

т  в  строково ќ  tok = strtok(str, delim)—ве а щ р в з о увреп ю  подстрок у  и з  строково й он ем  ереп й  л и и  строк ун ю  И Н Д О М  И З В О Л О В   МИС ,  ИЩЯДОХВ М  В   delim: »  tok = strtok('ABC- DEFG H', '- ') tok = ABC •   [tok,  rem]  =   st r t o k  ( . . . )  —  в то р о й   д о п о л н и те л ь н ы ед р ж и т   о с та о к   с рт о к и  п о сл е   tok: 1 >> [tok, rem] = strtok('ABC- DEFG H ,  '- ') tok = ABC

й о н е м е  реп и  str, отделен

й   а р мг у е н

ю -

й  tok -

т   со -

р П е ин л о ж

  1. Ос но веы

 ком ыанд

 и  фуцнки

1011 zyxwvutsrqponm

  MATLAB и  Toolbox 

rem  = - DEFG   H zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

•   strvc at  —  в е р ит к а л ь н о

е  сц еп л н и

е  с рт о к

.

mas  =   st r vc a t  ( st r i ,  st r 2 ,  st r 3 ,  . . . )  —  фо р м и р о в а н и е   дв м у е р н о г о м ас и в а   си м вол в , к аж д я   с тр о к а   котрог о   с о ед р ж и т   s t r l ;  st r 2,  st r 3 ,  ... С тр о к и  mas а в от м аит ч ес к и  до п о л н яю ст я  п р о б ел а м и  д о   н ж у о й  дл и н ы . 1 >>  mas  =  st r vc a t ( ' M a r c h ' ,  ' Ap r il ,  'May') mas  = March April May >>  whos  sprin g Name  Size  Bytes  C lass sp rin g  3x5  3 0  char  array •   upper —  п р е о б р а з о в а н и

вы

е  в  п р о п и с н ы

snew  =  upper (s)  —  п р е о б р а з о в а н и . Д о п сук а ест я   п р и м ен ен и

И З   С ТрО

К   (С М

.  ф у Н К Ц И

рП е о б р а з о в ни

Ю

е  бкув ы

е  с и м в о л в   с рт о к и   s  в  п р о п и с н ы е  бк у и  upper  к   м аси в у   яч е к ,  со тящ и х   d e b l a n k ) .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF е  фну к ц и

я  "сат-рко ислчо

•   char —  п о лчуен и

и л и  с тр о к и

е   си м вол

.

" а   п о   ASCII- к о д

у   и   с о з ад н и

е   м ас и в

а   си м вол

в

.

•   ch  =   char (code)  —  п р е о б р а з о в а н и е  м ас и в а   code, с о едр ж ащ ег о   ц ел ы е ч и сла , в  м ас и в  с и м в о л в . Ц елы е  ч и сл а   о т   32 д о   127  с о вт ес юу т   пе ч атем ы м   си м в о лам :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB »  ch = char(32:127); »  ch(l:70) ans = !"#$%&'()*+,А ч ./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] _ abcde »  ch(71:end) ans = fghijklmnopqrstuvwxyz {  | }~ С и м волы ,  с о вт ес юу щ и ш р и ф та ,  суат н о в л ен н о г Courier 33  З ак

.  130

е   ц ел ы о   в   к о м а н дн о

м   ч и слам м   окн е

,  бо ль ш и .  Н а п р и м е р

м   127,  з а в и с я , дл я   ш р и фт

т  о т а

1012 

zyxwvutsrq

р П е ин л о я ж

»zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   ch  =   c h a r ( 2 2 4 :2 5 6 ) ch  = а б в г е д ж з и й к л м н о п р с ц ф ху т ч ш щ ъ ы ь э ю

В о н хд ы чс л ау си м воль н ог .аздр

я

м   а р мг у е н о т е   нфу к ц и   "М ивсаы

м   м ож е т   бы т ь   м ас и в   яч е я   char  о б р а з еу т   и з   к а ж од й   с рт о к о   м ас и в а   chmas  (р а б о т а   с   м ас и в ам ке яч  " гаве л  8).

к   и з   с рт о и   яч ей к и   яч е

к   mas,  в   эот м и   mas  рсотк у к   о п и сан а  в

•   chinas  =   char ( si,  s2, s3,  . .)  —  фо р м и р о в а н и е   м ас и в а   си м вол chinas  и з   срто к   и л и  с рт о к в ы х   п ер м н ы х   si,  s2,  s3,  ...  К аж д я   ср т о к а   до п о л н я е с т я   п р о б елам и   сп рав а   лд я   п р и в е дн и я   к   о ди н а к о в ы м   раз м ер ам .  П суыт е   с тр о к и ,  куаз н н ы е   в о   в о хн д ы х   а р г м у е н ат х ,  ч уи ыт ва ю ст я   п р и   к о н с тр и у р о в а н и и   м ас и в а   си м вол в   (с.м  р.азд  "М ивсаы ко"трс авыг л   8). П р и м ер

в -

:zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA , 

>>  chmas  = char('А' А

|!

,  'В' ВВ

)

chmas  = А

А

В

В

В о хн д ы е   а р мг у е н т ы   м о гу т  б ы т ь   м ас и в ам >>  chmas1  =  char('AAAA',  'BB'); >>  c h m as2  =   c h a r ( ' С С С '



и  с и м в о л в

:

'D D D D D D ');

>>  ch m as  =   c h a r ( c h m a s 1  , c h m a s2) ch m as  = AAAA BB CCC DDDDDD

•   i n t 2 st r  —  п р е о б р а з о в а н и

е  чи се

chmas  =   i n t 2 st r  (A)  —  о к рглуен и та а   в  м ас и в  с и м в о л в . •   m at 2st r  —  п р е о б р а з о в а н и

л  в  м ас и е   э л е м н от

е  м арт и ц

>>  str  =  mat2str(A)

. в   м а рт и ц

ы  в   срто к у

•   st r  -   m at2str(A)  —  с рт о к в а я   п ер м ен н а н и е   м а рт и ц ы   А  в  то м   в и ед , в   к о т р о с рт о к и  и л и  в  М - фай ле , н а п р и м е р : >> А   = pi*eye(2);

в  с и м в о л в

м   м а рт и ц

ы  А  и  з а п и с

ь   р е з л ьу

-

. я   s t r  с о едр ж и а   з а д е ст

т   п р е сда т в л е я   и з  к о м а н дн о

й

р П е ин л о ж

  1. сО но веы

 ком ыанд

 и  фуцнки

1013 zyxwvutsrqponm

 MATLAB и  Toolbox 

s t r  = zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

[3.14159265358979 0;0 3.14159265358979] П р и   п р ео б р аз о в ан и ц ы   н е   п р о и с о х ди т

и   м а рт и ц

ы   в   ср т о к

•   s t r  =  m at2str  (A,  n)  —  окглрену и •   num2str— п р е о б р а з о в а н и

йт о

 ,ре ипмр • 

c

h

у   о к ргл у е н и е   д о   п  ц и ф

е   м а рт и ц

ы   в   м ас и

i

n

a



•  

в   м а рт и

-

n

u

m

2

s

t

r

(

A



—  э

л

е

м

е

н

т

ы  

с

т

р

а   си мволо в   chmas.  Уд е р ж и в а е т с и   и  п р и  н е о б х о д и м о с т и   и с п о л ь з уе т с и   чи сл а   ( ан ало ги ч н о   форм ат

е  десият ч н о

й  то ч к и

.zyxwvutsrqponm

о

к  

м

а

т

р

и

ц

ы

 

е   п р о и с хо д и

ь   в   с тр о к у

А

 

о

е   ц и фр я   э ксп он ен ц и аль н а у   sh o r t  e).

•   chmas  =   n u m 2st r( A,  form at )  —  ф о р м а т н о form at  ф о р м и р у е т с я   и з  с п е ц и ф и к а т о р о я   з ап и с

в zyxwvutsrqponmlkjihgfedcbaZYX   (с.м  р.азд   "П-с о р

я   ч е ты р

•   chmas  =   n u m 2st r  (A,  n)  —  о к р уг л е н и с я ти ч н о й   то ч к и .

•   s p r i n t f  —  ф о р м а т н а

р  п осл

в   си м вол  8).

- ма  пгамор "о ят ьк ула в ыг л

м ас и в н о й   то ч к м а   з ап и с

я   э л е м н от

.

б

р

а

ы   п осл

з

у

т   ю

т

р

о

р   и сп ольз ован и

и

-

р   п осл

е   п реобраз ован и е

-

е  де

-

,  с т р о к

а

о   sp r i n t f.

.

•   s t r  =  s p r i n t f  ( fo rm at ,  A)  —  к о н с т р у и р о в а н и е   с тр о к и   s t r  и з   в е щ е с т вен н ы х   да н н ы х ,  с о д е р ж а щ и хс я   в   м а тр и ц е   А , н а  о с н о в е   ф о р м а та ,  к о т о р ы й   ук а з а н   в   с тр о к е   form at .  С п е ц и ф и к а т о р ы   форм ат а   ан ало ги ч н те м ,  к о т о р ы е   и с п о л ь з ую т с я   в   f p r i n t f  ( п о д р о б н а я   и н форм ац и я   о  ф о р м а тн о й   з ап и с и   в   фай л   с   п ри м ерам и   и сп ольз ован и я   с о де р ж и тс я   .аздр   "Т еквтыос   "ы йл фа ав ыг л   8). П ри ме

к

я  фор

т   д о  п  ц и ф

в  а н а л о г и ч н

с

е   де с я ти ч

ы в

я   sp r i n t f:

»  А  в  [1.1 3.2; 0.7  - 4.2]; »  str = sprintf('a=%8.Id b=%8.ld\nc=%8.Id d=%8.1d\ A) str = a = l.le+000 b = 7.0e- 001 с  = 3.2e+000 d = - 4.2e+000 • 

[ s t r ,  er r m sg]  =   s p r i n t f  ( fo r m a t ,  A) —  е с л и   п р и   ф о р м а т н о п рои з ош л а   ош и бка ,  т о   в ы охнд о й   а р мг у е н т   errmsg  с о едр ж и ю вс т у щ е е   с о б щ ен и е .

О   sscan f  —  четн и н о м   ф о р м а ет И сп оль з ован и ч т о   с ч и ыт в а н и ев ы  фа"ы йл ав ыг л

е   ад н н ы

х   и з   с рт о к

и   ил

и   с рт о к о в о

й   з ап и с т   с о вте

й   п ер м ен н о

й   в   з адн

и -

. е   sscan f  в о   м н о г м   о сж х е   п р о и з в о ди ст я   и з  с тр о к и  8).

е   с   f scanf,  з а   и ск лю ч ен и е , а  н е  и з  фа й л а   (с.м

 р.азд

м   то г о   "Т к-етос

,

1014 

zyxwvutsr

П р и л о еж я н

•   str2doubie  —  п р е о б р а з о в а н и м ас и в .

е   ч и с ел

,  з ап и с ан н ы

х   в   с тр о к а х

,  в   ч и сло в

й

•   а   =   str2doubie  ( st r )  —  и з  срто к и   st r  и з в лек а ст я  ч и сл о  и  з ан о си т я  в п ер м ен у ю   а . С тр о к а  st r  м ож е т   с о ед р ж а т ь   ц и фр ы , то ч к у ,  з н а к и  п лю с и л и   м и н су ,  си м в о л   е   и л и   i  и   з ап яут ю   л д я   р а з де л н и я   з н ак о в   ыт с я ч , н ап р и м ер :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA »  а  = str2double('1,  485,000.00') а  = 1485000 >> а  = str2double('- 1.2е- 2 ' ) а  = - 0.0120 »  а  = str2double('- 2  +  3*i') а  = - 2.0000  + 3.0000i

Е сл и   с тр о к NaN..

а   н е   м ож е

т   бы т

ь   п р ео бр аз о в ан

•   А   =   str2double  (masstr)  —  со едр ж и м о п р е о б р а з е у ст я   в  э лем н т ы   ч и слов г m asstr  (р а б о т а   с  м ас и в ам и  яче вы  8). П р и м ер

а   в   ч и сло

, т о   в о з в р а щ а е тс

я

е   м ас и в

а  яч е к  И З  срто к   m asstr а   А  ТГО О  ж е  р а з м е р а , ч т о  и а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ  в  р.азд   "М ивсаы  ке"ч я   а- г л

о   м ас и в к  о п и с а н

:

» 

А   =  s t r 2 d o u b l e ( {' - 7 •

 

f

3 * i ' 

' F F F ' 

' 3 . 1 9 ' })

А   = 0  +  3.0000i 

- 7.0000 

•   st r2n u m —  п р е о б р а з о в а н и "Пйтос р , пре имр

е   м ас и в

а   си м вол

а-  пм гаор "т я ьк ула выг л

А   =  s t r 2 n u m ( c h r r i a s )  —  С Т р О К

И   массив

а   С И М В ОЛ

NaN 

в   в   м ас и  8).

3.1900

в   ч и се

В   c h m a s  Д О Л Ж Н

л   (с.м Ы  С ОС Т Я

 р.азд Ь

и з  те х   ж е  с и м в о л в , ч т о   и  в  str2doubie,  н а п р и м е р : 5' ] ; »  chmas = ['1.3  0.4 3 + 2*i';  'I -  3*i 29 0.0  >> А   =  str2num(chmas) A

  =

1.3000 

ќ 

0.4000 

1.0000 -   3.0000i  29/0000 

Е сл с ет л яю

и   с рт о к я   п са т у т   к о л и ч е с вт

и  в   chmas  н е  м о гу т   бы т ь   п р ео бр аз о в ан я   м а тр и ц а   А . П р о б е л ы   в   с рт о к а о  э л ем н от в  в  А , нап р и м е р

3.0000 + 2.0000i 0.0500

ы   в  ч и с л а х   chmas  щсу есвтн :

, т о   в о з в р а щ а ы   и   о п р ед

-

р П е ин л о ж

  1. Ос но веы

 ком ыанд

 и  фуцнки

1015zyxwvutsrqpon

 MATLAB и  Toolbox 

»zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   А   =   s t r 2 n u m ( ' - l  -   2 i ' ) А   = - 1 . 0 0 0 0  -  

2.0000i

> >  А   =   s t r 2 n u m ( ' - l 

-  

2i')

А   = - 1 . 0 0 0 0 

рП е о б р а з о в а н и

е  сист е м

ы  сисчл е ин

•   bin2dec  —  п р е о б р а з о в а н и

ло

, н а п р и м е р » 

2 . 0 0 0 0 1zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP

0  -  

е   с рт о к

я

и   с  дв о и ч н ы

zyxwvutsrqponmlkjihgfedcbaZYXWVU

м   ч и сло

м   в  дес яит ч н о

е   чи с

-

:

l l а   -   bin2dec( 1110001101010 )

а   = 7274

•   dec2bin —  п р е о б р а з о в а н и е  дес яит ч н о г о   ч и сл а  в  срто к у   с  дв о и ч н ы м   п р ед с ат в л е н и е м , н а п р и м е р : >>  st r  =   dec2bin(7274) st r  = zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 1110001101010 В о н дх о

й   а р мг у е н

н е  п р ев о схядщ и

т   м ож е м   252.

т   бы т

ь   то л ь к

о   ц ел ы

е   ед с я и т ч н о г •   dec2hex —  п р е о б р а з о в а н и ри чн ы м  п р есдатв л ен и ем , н а п р и м е р >>  st r  =  dec2hex(7274) st r  =

о   ч и сл

м   н е о рт и ц а ет л ь н ы а   в   ср т о к

м   ч и слом у   с   ш е с н т а цд а е т

, -

:

1С 6 А

В о хн д о н е  п р ев о схядщ и

й   а р мгу е н

т   м ож е м   252.

•   hex2dec  —  п р е о б р а з о в а н и е м  в  дес яит ч н о е  ч и с л о » 

а   =   h e x 2 d e c (  Ч С 6 А

т   бы т

ь   то л ь к

о   ц ел ы

е   с рт о к ,  н а п р и м е р

м   н е о рт и ц а ет л ь н ы

и   с   ш е с н т а цд а е т р и ч н ы

м   ч и слом

,

м   п р е сд а т в л е н и

-

:

'  )

7274

•   hex2num—  п р е о б р а з о в а н и

в ен н о г о  ч и с л а  дв о й н о >> format long

е   ш е с нт а д ц а ет р и ч н о г й  то ч н о с т

и   (в  с ат н да р т

»  а  =  hex2num('411a243774442a28')

о   п р е сд а т в л е н и е   IEEE) в  ч и с л о

я   в ещ ес т :

-

1016 

zyxwv

р П е ин л о я ж

4.283018635412776е+ 00 5

С тр о к а ,  дл и н в а .  Е сл и   в о х дн о к аж д я   с тр о к

а   котро й   а р мг у е н а  и  р ез луь ат

й   м ен ь ш

е   ш е с н т а цд а и т т   я в л се т т  з ап и с ы в аест

а  с  м а т риац м

Ра б от Р або т (с.м ,

е   с  м а тр и ц а м  н,ре аипмр

С о з ад н и

я  в  вещесвт н н ы

о   м н ог  а"ы ргбе л ав ыг л

 лйиеон

ц  и  масиов

•   bikdiag — к о н с тр иу р о в а н и

в

т   к в а рд н т у

ю   еи д н и ч н у т   п р ям огу л ь н у

•   ых

ь  — с о з да н и

е  Мри тац е   м а рт и ц

я  п о л и н о м а

,

ю   м а рт и ц

у   р аз м ер

а  п .

ю   м а рт и ц у   р аз м ер а   m н а  п  с .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM

я   п о лч у а т

ь   бо ле

е   п я и т ед с я т

и   раз ли ч н ы

х

: p i ,  p 2 , . . . )

т   р аз м ер ы   м а тр и ц ы , и  нфу к ц и я  в ы з ы в а ест ,  в о з в р а щ а ю щ и м   м а рт и ц у .  р мАгу ен , н а п р и м е р   f cauch y ? ,  ' o r t h o g 1 .

е  м арт и ц

•   hankel — Сни а Д З О

у   лд

.

, п о з в о л яю щ а . И с п о л ь з о в а н и е

•   hadamard — Сни а Д З О

. ю   м а рт и ц

й   м а тр и ц ы

, p i и  р 2 з а д ю м   а р г м у е н то м м   м а тр и ц ы

 С

в  v.

[ А 1 ,  А 2 ,  . . . ]  =   g a l l e r y ( n a m e , 

к   п рави ло м   в ы о х нд ы я   и м ен

:

О zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO

т   с о п р о в ж ад ю щ у

•   i  =  eye (in,  n) — i соедр ж и е ид н и ц а м и  н а  главн о й   ди а г о н а л и

Ка о нд и я в л се т

й   м а тр и ц ы

й   м а тр и ц ы

)  — i  соедр ж и

О   galle ry — фну к ц и я с та н д а р тн ы х   м а рт и ц

и zyxwvutsr

 О "

О   О

е  с о п р о в ж адю щ е А   =  compan (v) — в о з в р а щ а е з адн н ог о   в е к то р м   к о э ф и ц и е н от

в   кн и г  15).

.

е  в  м  б л о ч н о - ди а го н а л ь н о

М  = О Б

е   е ид н и ч н о

в   и  р а з де л о   6, гаву л

х   м а тр и ц

П   compan — с о з ад н и

я .zyxwvutsrqponmlk

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP

'А   О

•   I =  еу( п

о   гл а

е   б л о ч н о - ид а г о н а л ь н ы

м   =  bikd iag (А ,  в , с ) —з а н е с е н и

и   сп р а

и

о   д о с та о ч н   "Зиач д

е   м а т ри

•   eye  — создан и

я   н л ям у , т о   о б р а б ты в а е тс й   м ас и в

и  и  м а с ива м и   п о с в ящ ен  2, р.азд

 авуг л

,  до п о л н яест м   с рт о к

я   м ас и в о

ы  Адам а р ы  ГЯнаЛек ы   Г и л ь б е р та

, н а п р и м е р

я  с т   name

, Н  =  hadamard(n) .

, Н ап ри м ер

, Н  =  h an kel( n ) .

,  н а п р и м е р

, н  =  h i i b ( n ) .

р П е ин л о ж

  1. сО но веы

 ком ыанд

 и  фуцнки

•   i n vh i i b —  в ы ч и слен и е   м а рт и ц ы м ер , н   =   in vh iib( п ) . •   lin sp a c e  —  ген ер ац и с   п о с т ян н ы м   ш а го вы  б) .

, о б р а тн о

й   к   м а рт и ц

р  v з ан о с и ст

•   v  =   lin sp ace  (а ,  ь ,  п ) — в   в ек от •   logspace —  ген ер ац и с   п о с т ян н ы м   ш а го "Петнаы мре  п"е ын ме р ав ыг л

я  в е к то р а м   в   л о га р и фм и ч е с к о

, з н ач ен и

р  v з ан о с и ст

е  "м а ги ч ес к о г

в  к о т р о г е   (с.м ,

о  и з м ен яю ст

я

 н,ре аипмр

 р.азд

р  v з ан оси т

е  м ас и в о е  а н а л о ги ч н

ы   П аск аля т   р т ге о у л ь н и к

, н а п р и м е р у   П аск аля

в  р а в н о м е р н о   ones.

ц  р а з м е р у   р аз м ер

а   m н а

й  р а з м е р е   м ас и в о

в   бо ль ш е

х   с чл у а й н ы

х   и з   ч и с ел е  а н а л о ги ч н й   м а тр и ц ы

а  п .

а   m н а -

, р   =  pascal  (n). С ркту .

о  р ас п р едл н н ы

,  со тящ и е   ет п л и ц е в о

.

у   и з  еид н и

в  тре х   и з м ер н и я   с о з ад н и

т   м ас и

я   и з   ч и се л  о т й   с рт о к и .zyxwvutsrqponmlkjihgfedc

я  еид н и ц а м и

ю   м арт и ц

. Д о п сук аест

. И с п о л ь з о в а н и

в   лю бо

о   яв л ю ст

т   п р ям огу л ь н у

е   м ас и в о

•   t o e p i i t z  —  с о з адн и в од л ь   к а ж од й   и з  ди а го н а л е й

о   с от л б ц

ю   м арт и ц

•   А   =   ones  (m,  n,  k)  —  А  соедр ж и п   н а  к , со стящ и й  и з  еид н и ц г о   ч и сл а  и з м ер н и й . я   м а рт и ц

а   п , с о с т ящ а а   э л е м н от а   и  ди а го н а л и

:  мсу

т   к в а др н т у

•   А   =   ones  (m,  n)  —  А  соедр ж и п , со стящ юу   и з  еид н и ц .

•   p ascal  —  ген ер ац и р ут а   м а рт и ц ы  со втес у

а   м  р а з м е р

ы  к о т р о г

•   А   -   ones  (n)  —  А  со едр ж и

й  о т   10a д о   10b.

я  п  з н ач ен и .

я   м а рт и ц м   с в о й с вт о м в  л ю б о г , э лем н т

й  о т   10а  д о   10ь .

я  50 з н ач ен и

о   к в а д р та "

е  м ас и в а

П   r a n d n —  со з адн и н о рм аль н о м у   з ак он у

й  о т   а  д о   ь .

 8).

м   =  magic (n)  —  к в а др тн а 1 д о   п 2 , о б л а д е т   ю с ул е д щ и со в п аде т   с   м су о й   э л е м н от

И сп оль з ован и

-

й  о т  а  д о   ь .

я  п  з н ач ен и

я  э лем н от й   м ерт и к

•   v =   iogspace(a,  ь ,  n ) —в   в екот

•   rand —  с о з адн и

,  н а п р и

я   100 з н ач ен и

р  v з ан о си т

•   v  =   logspace (а ,  Ь ) —  в  в ек от

•   ones  —  с о з адн и

е   Г и л ь б е р ат

я  в е к то р а , з н ач ен и я  э лем н от в  к о т р о г о  и з м ен яю ст я м  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA (с.м ,  н,ре аипмр .аздр   "Ринеш  гх ынаичр  з"ач д  га- л

•   v  =   lin sp ace  (a,  b)  —в   в ек от

•   magic —  с о з адн и

1017zyxwvutsrqpo

 MATLAB и  Toolbox 

-

х   ч и с ел

,  р ас п р едл н н ы о   ones.

,  э лем н т

. х   п о

ы   котро

й   равн

ы

.

•   т   =   t o e p i i t z  (с ,  г )  —  с о з адн и ц ы  п р и  п о м о щ и  в ек от р - сот л б ц •   т   =   t o e p i i t z  (г )  —  со з адн и п ом ощ и   в е к от р - с рт о к и  г .

е   н е с и м е рт и ч н о а   с  и  в ек от р - срто к е   с и м е рт и ч н о

й   ет п л и ц е в о и  г . й  теп л и ц ев о

й   м а рт и й   м а рт и ц

ы   пр

и

1018 

zyxwvutsrq

р П е ин л о я ж

•   zeros zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  —  с о з ад н и е   м ас и в о ,  со тящ и х   и з   н л ейу .  И с п о л ь з о в а н и е   ан ало

ги ч н

-

о   ones.

П   Wilkinson —  с о з адн и р ы   с о б вт е н н ы х   з н ач ен и й

Оп е р а иц

е   м а тр и ц

ы   иУ л к и н с о н а ,  к о т р а я   и ме т   бли з к и е   па .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE

и  с  м а с ива м

•   c a t —  сц еп лен и д а ть .  Е сл и  А Й

и

е   м ас и в о В  м а рт и ц ы

,  со втес юу щ и , т о  в о з м о ж н

е   р аз м ер ы   юс луед щ и

•   м   =   c a t ( i ,   А ,   в )  —  сц еп л н и е   АЙ (м ас и в ы  А Й В  р а с п о л ж ен ы   в  с от л б и к ) •   м   =   cat  (2,   А ,   (м ас и в ы  А Й В  р а с п о л ж ен

в )  —  сц еп лн и

•   м   =   c a t p ,  А ,  в ) —о б р а з о в а н и •   diag —  в ы едл н и

е  ди а го н а л

ЛО ВД

П   f l i p i r —  п ер с ат н о в к и з м ен ен н у ю   м а рт и ц у

  п ер в о г

о   и з м ер н и

Ь

  в то р о г

о   и з м ер н и

о   м ас и в а

я я

.

е   ди а г о н а л ь н о

е   ди а г о н а л ь н о ы  в е к то р

й   м а рт и ц

й   м а тр и ц ы ы   А , н а   ди а го н а л

. и   ко

-

а  а . е   ди а г о н а л ь н о т  э лем н т

•   а   =  diag (А )  —  в ы едл н и   "Саине здо  маитцр (с.м  р.азд

й   м а рт и ц ы   в е к то р

е   ди а г о н а л  сгьон пцеиал

а   с от л б ц о

ы   А , н а   п о б о ч н о

й  к -

а  а . и  

м а рт и ц  ав ид

в   м а рт и ц

ы   А   В   в е к от р   а zyxwvutsr  2).zyxwvutsrqponmlkjihgfedc

 " гав ы л

ы   с л ев

а   н ап раво

,  в о з в р а щ а е

т

.

•   flipud —  п е р с ат н о в к

а   с рт о

к   м а рт и ц

ы   с в ре х

у  в н и з

, в о з в р а щ а е

т   и з м ен ен

-

.

•   repmat —  с о з да н и

а  и з  о ди н а к о в ы

е   блоч н о х   блоков

й   м а рт и ц .

•   м   =   repmat  (A,m, n)  —  м а рт и ц п о   г о р и з о н та л и , к аж ыд й   бло

ы   ил а   м  с о с т и к  яв ляест

•   м   =   repmat  (a,  блоч н ог о   м ас и в а

и   м н о г м ер н о г

о   блоч н ог

ы   м а рт и ц

•   А   =   reshape  (х ,  т ,  п )  —  фо р м и р о в а н и м ас и в а   х  дл и н ы  m*n. Э лем н т з у я   с от л б ц ы  А .

-

о  М  = repmat  (А , т ,  п) .

[m  n  p  . . . ] ) —  к о н с тр иу р о в а н и . е  фо р м

о   м ас

т   и з  m блок о в   п о  в е р ти к а л и   и  п я   м а рт и ц е й  А .zyxwvutsrqponmlkjihgfedc

ќ  М  = repmat  (A, [m п ]  ) —а н а л о г и ч н

•   reshape  —  и з м ен ен и

В  

Ь

; е   рт е м х р н о г

•   А   =  diag (а , к )  —  с о з адн и о й   ди а г о н а л и   котро й   с от я

си в

ВЛ О Д

и   и  к о н с рт иу р о в а н и

•   А   =  diag (а )  —  с о з адн и то р о й   с от я т  э лем н т

н у ю   м а рт и ц у

В  

ы   со в п а а   cat:

ы   вы з ов

;

е   АЙ ы   в   срто к)у

ы   до л ж н е  в а р и а н т

ы   ил

е   м н о г м ер н о г

и   м ас и в а

.

е   м а рт и ц ы   х   в ы б и р а ю ст

о

ы   m н а   п  и з   э лем н от я   п о с л е д о в а те л ь н о

в ,  о б р а

-

р П е ин л о ж

  1. Ос но веы

 ком ыанд

 и  фуцнки

1019 zyxwvutsrqp

 MATLAB и  Toolbox 

е  тр емх р н о г о   м ас и в а  m н а •   А  =  reshape (x,  m,  п ,  р ) —ф о р м и р о в а н и п   н а  р  и з  э лем н от в   м ас и в а   х   лд и н ы   m*n*p.  нА а л о ги ч н ы м   образ о м с о з ад ю с т я   м н о г м ер н ы е  м ас и в ы .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM •   rot90  —  п о в о р о

х а ын д

т   м а рт и ц  " гавы л

 к  маитцрам

ы zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH   (с.м  р.азд   "Пине имр  кн цийфу  ткоаибр о  2).

•   в   =  rot90  (А )  — в  о б р аз есут н а  90°.

я   и з  А  пов о р то

•   в   =  rot90(A,  k) —  в   о б р аз есут ср т е л к и  н а  90° к  р а з . П   t r i i  — в ы едл н и

итцр ма

е  н и ж н ег

я   и з   А   п оворот

о  тр егуо л ь н и к

 сгьон пцеиал

а   и з  м арт и ц

 а"вид авыг л

у   L те х  ж е  р а з м е р о в а   А  С  ди а го н а л ь ю

•   L =  t r i i  (А ,  к )  —  в   м арти ц э л е м н ыт , н оаяхдщ и ес я   н иж п о ди а г о н а л е й   та к я  ж е , к а е  в ернх ег

е   м а ет м а ит ч е с к и

е п и а С ы нц л ь н и ям

и   Эйр

 "Саине здо

о  и  А , з а н о с ят

я  эле

я я

о   t r i i ) .zyxwvutsrq

ы  (а н а л о ги ч н

о   о п и сан

ы  в  н а ч л е   кн и г и zyxwvutsrqponmlkjihgfedcbaZYXW  1).

и и   п ер в о г

и  ди ф ер н ц и а л ь н о г

о   и  в то р о г о  урав н ен и я  Э й р

•   w =  a ir y  (2,  z) —ф ун к ц и

и  фну к ц и

о   п о р я дк а

я  фну к ц и я  Э й р

•   w =  a ir y( 3,  z) —п р о и з в о д н а я   м ас и в о м

о   п о р я дк о в я   w" -  zw = О .

и  п ер в о г

•   w =  a i r y d ,  z) —п р о и з в о д н а

и   z яв ляест и  с о   з н ач ен и ям

 р.азд

й

,  ч т о  и  А , з а н о с ят и   и  н а  н е й  (н муер ац и

укн ци "ф авыг л

•   w =  a ir y( z)  —ф ун к ц и

Е сл н ост

,  ч т

и  п о др о б н

 эе тынар ме л

е  фицунк

•   a i ry —  нфу к ц и

в   ч асо в

и е   н фу к ц и

  "Ве ын отрс

м   п р о ти

и

.

а   и з  м арт и ц

е  фицунк  р.азд

й   с рт е л к

ы  (с.м

у   L те х  ж е  р а з м е р о в е   -к о й  поди а го н а л к  и  в  diag).

о   рт е г у о л ь н и к

М а т е м а т и еч с и к Э л е м н ат р н ы (с.м

в   ч асо в

 2).

•   L =  t r i i  (А ) — в   м арти ц м ен т ы  н и ж н ег о  тр егуо л ь н и к

•   t riu — в ы едл н и

м   п р о ит

и  в то р о г я   н фу к ц и

, т о  р ез луь ат и  Э й р

т   w бед у и  о т  со втесюу щ и

,  яв л ю щ и ес

я   р еш е

.

-

и  Э й р

и  п ер в о г

о   п о р я дк а

о   п о р я дк а

.

о   п о р я дк а

.

.

и  Э й р

и  в то р о г т   м ас и в о

м  то х   э л е м н от

й  ж е  р а з м е р

в  z.

1020 

р П е ин л о я ж

,  д о п о л н и т е л ь н ы й •   [w, i e r r ]  =   a i r y  (к , z)  —  в о   в т о р о й с и тс я   и н форм ац и я  о   н а хо ж д е н и и   з н ач ен и я   ф ун к ц и О   i e r r  =   1 —  н е в е р н

о   з а да н

ы   в хо д н ы

О   i e r r  =   2 —  п е р е п о л н е н и е О   i e r r  =   з — -  ч а с т и ч н а

я   п о те р

О   i e r r  =   4 —  п о л н а больш ое ;

я   п о те р

•   be s s e i h  —  ф ун к ц и

ч ере ни

з   ф ун к ц и е  н и ж е )

и   Бес ел

т   б уд е

я   то ч н о с т

и   пр

я   п ервог .  с о т в е т с т в ую щ е

-

;

и   пр

й   п роц ес

и   Г ан кел я   (с м

т   з ан о :

т   in f;

я   то ч н о с т

О   i e r r  =   5 —  в ы ч и с л и т е л ь н ы

,  а р г у м е н и  Э й ри

е   а р г ум е н т ы

, о т в е

zyxwvutsrq

и   вы ч и слен и ях

;

и   вы ч и слен и ях

,  z  с л и ш к о

с   н е  с хо д и т с я

т   б уд е

,  о т в е

о   и   в то р о г

о   р о да

м

т  NaN.zyxwvutsrqp

,  в ы р а ж а ю щ и е с

е   ди ф е р е н ц и а л ь н о

я е   ур а в н е

-

.

•   f  =   b e sse i h ( n u ,  k,  z)  —  ф ун к ц и в то р о г о   (д л я   к   =   2)  р о д а .

я   Г ан кел

я   п ервог

•   [w,  i e r r ]  =   b e sse i h  (nu f  к ,  z)  —а н а л о г и ч н

о   (дл

о   обращ ен и

ќ  f = besseih(nu, 1, z, l ) — т о  ж е  е о м а с

я   к   =   l)  и

ю   К  a i r y.zyxwvutsrqp

, т ч о

besselh(nu, 1,  z)*exp(- i*z). •   f  =   b e sse i h  (nu,  ' 2,  z,  l) —  т о   ж е   с а м о е

,  ч т о

b e sse l h ( n u ,  2,  z ) *e xp ( i *z ) . •   be s s e i j,  b e s s e i y —  ф ун к ц и ц и альн ог

о   ур а в н е н и

и   Бес еля

,  я в л я ю щ и е с я   реш ен и ям и   ди ф е р е н 2 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML я   z / "  +  z /   +  ( z   - v ) y  = 0  д л я   в е щ е с т в е н н ы х   v. 2

•   f  =   b e s s e i j  (nu, z)  —ф у н к ц и

2

я   Бес ел

•   f  =   b e s s e i j  (nu,  z,  l)  —т о   ж е   с а м о е b e s s e i j( n u , 

я   п ервог

.

,  ч т о

z ) *e xp ( - a b s( i m a g( z ) ) ) .

•   f  =   b e sse i y  (nu,  z)  —ф у н к ц и

я   Бес ел

я   в то р о г

•   f  =   b e sse i y  (nu,  z,  l)  —т о   ж е   с а м о е

,  ч т о

b e sse i y( n u , 

о   р о да

о   р о да

.

z ) *e xp ( - a b s( i m a g( z ) ) ) .

Возможн ы   вы зов ы   с о   в то р ы м   до п о л н и те л ь н ы м   в ы хо д н ы ан ало ги ч н о   ф ун к ц и и   a i r y.  Д о п у с т и м ы   ком п лексн ы е z  и   nu —  м а с и в ы   о ди н а к о в ы х   раз м еров ,  т о   р е з у л ь т а то г о   ж е   р а з м е р а   с   с о т в е т с т в ую щ и м и   з н ач ен и ям В   с л уч а е ,  к о г д а   о ди н   и з   в хо д н ы х   а р г ум е н т о в   z  и л р о й   —  м а с и в ,  с к а л я р н ы й   а р г ум е н т   р а с ш и р я е тс я  д о т о м   я в л я е тс я   м ас и в   f.  Т а б л и ц а   з н ач ен и й   дл я   р а з л и ч н ы

м   а р г ум е н т о м   з н ач ен и я  д л я   z.  Е с л т   мас и во т   f  б уд е и   ф ун к ц и и   Бес еля и   nu —  ч и с л о ,  а   в т о   м ас и в а   и   р е з ул ь т а х   nu  и   z  п о л уч а е т

, и м . -

р П е ин л о ж

  1. Ос но веы

ся ,  сле от р - с от л б е ц

и   ои д

 окм ыанд

 и  фуцнки

н   и з   а р мг у е н о т в   z  и л и   п и —  в ек от р - срт о к а ,  а   в то р й   —  век .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

•   be s s e ii,  be s s e ik —  м о ди фи ц и р о в а н н ы

р еш ен и ям

1021 zyxwvutsrqpo

 MATLAB и  Toolbox 

е   н фу к ц и

и   ид ф е р н ц и а л ь н о г

в е щ е св т н ы

и   Бе с л я

,  яв л ю щ и ес

2

о   р уа в н е н и

2

я

2

я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON   z y"  + zy' + ( z   + v )y  =  0  лд я

х   v.

•   f  =   (nu,  z)—м о д и ф и ц и р о в а н н а

я   н фу к ц и

я  Бес л

•   f  =  b e sse ii  (nu,  z,  1)  —т о   ж е  с а м о е

я  п ер в о г

о   р о да

.

, ч т о

be sse ii( n u ,  z) *e xp ( - a bs( r e a l( z) ) ) . •   f  =  besseik  (nu,  z)  —  м о ди фи ц и р о в а н н а р о да .

я   н фу к ц и

•   f  =  besseik  (nu,  z,  l)  —т о   ж е  с а м о е

я   Бе с л

я   в то р о г

о

,  ч т о

besseik( n u ,  z) *e xp ( - a bs( r e a l( z) ) ) . И н ет р ф й

с  фн у кц и

й  b e sse ii, besseik  та к о

•   beta,  betainc,  be t a in —  беат- нфу к ц и я

ри ф

м   б еа т - н ф у к ц и

и  н еп о л н о

й  ж е ,  н еп о л н а

.  И н те гр а л ь н ы

я   б а е т- н ф у к ц и я   б ае т - н ф у к ц и

е   п р е сд а т в л е н и

й  бае-т нфу к ц и

и   Bx(z9  vt>) в ы гл яд

т   ю с лу е д щ и

^V "

•   f  =  be t a ( z,  w)  —в ы ч и с л е н и

е   б еа т - н ф у к ц и

ы   w и   z  м о гу и   о ди н а к о в , в  да н н о

е   о б р ащ ен и е

е   н а р ту л ь н о г е   э ф е к ит в н о г

ь   в е щ е свт н н ы м й   р а з м е р н о с ти м   с ч л уа е  о н  р а с ш и р яест е   н фу к ц и

м   э л и п ит ч е с к о г

yv

Jo

й   б еа т - н ф у к ц и

и   Як об о   и н ет г р а л

,  х   од лж е

о   л о га р и фм о   а л г о р и тм а

т   бы т

•   e i i i p j —  э л и п ит ч ес к и

ад е м ы

е   н еп о л н о

м   бо ле

:zyxwvutsrqponmlkj

.

•   f  =  bet a( x,  z,  w)  —  в ы ч и слен и п р и н а лд е ж а т ь   о рт е з к у   [0,1]. •   f  =  be t a in ( z,  w)  —  в ы ч и слен и н фу к ц и и   с   и сп о ль з о в ан и е lo g( bet a ( z,  w)) .

я   и   л о га и   # ( z ,  w) м   образ ом

4  

о  

р м гА у е н т и л и   м ас и в ам бы т ь   с к аляр о м

, к а к  у  b e sse lj,  bessely.

.  Оид

и   и   к о м п л ек с н ы м н   и з   а р гм у е н о т я  д о  р а з м е р о

а   о т   б ае т ,  че м и   ч и слам в   м ож е в   м ас и в а

и   sn(u),  cn(u),  dn(u),  п о р ж а

o- v/ l- msin 2 ф

н

и т . -

1022 

zyxwvutsrq

П р и л о еж я н

е   в ы ч и с л ен и •  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA [sn,  en,  dn]  =  e i i i p j  (u,  m )—о д н о в р е м е н н о л и п ит ч е с к и х   н фу к ц и й  Я к о б и  дл я  m и з  о рт ез к а   [0,1]. Р аз м ер

ы  вохнд ы

х   а р мг у е н о т

т  н а  р ез луь ат

в   в л и яю

т  та к   ж е

•   [sn,  en,  dn]  =  e i i i p j  (u,  m,  t o i)  —  о дн о в р ем н н о все х  э л и п ит ч ес к и х   н фу к ц и й  Я к о б и   лд я   m и з  о тр е з к то ч н о с ть н ост

ь  дл

ю   (п о   му о л ч а н и я   с о к р ащ ен и

•   e i i i p k e —  п о л н ы Е ( т)

  р о да

о   и ме ы   п ер в о г

е  о п р едляю ст

я   ю с лу е д щ и

м   образ ом

ь   от ч

-

о   {К т)

  и   в то р о г

о

: 2

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  J  ,   (Е т) =  J   < Jl- msin < pd(p. о   ^ l- m si n 2 ( p  о

о   и н те г р а л

•   [к ,  е ]  =   e lli p k e  (m) —  о дн о в р ем н н о и н ет г р а л о в   п ер в о г о   и  в то р о г о   п о р я дк о

й   то ч н о с ть ь   лд

ю   (п о   му о л ч а н и я  с о к р ащ ен и

я  в р ем н

•   erf,  erf  с ,  erf  ex,  erf  in v  —  в ы ч и слен и г о  и н те гр а л а   в е р о я нт о с ет й  и  о б р а тн о — t  dt\   yJn'Q •   у   =   erf  (x)  —в ы ч и с л е н и •   у   =  erfc( x)  —в ы ч и с л е н и •   у   =  erfcx(x)  —в ы ч и с л е н и те г р а л а   в е р о я нт о с ет й •   х   =   erf  (у )  —  в ы ч и с л ен и ортез к у   [- 1,1].

о   и ме

е  до п о л н и те л ь н о г

и  о ш и б о к и  о ш и б о к

х

е   э л и п ит ч е

а   [0,1]  с

т   см ы с

л   м уе н ь

-

, до п о л н и те л ь н о :zyxwvutsrqponmlkjihgfedcb

2 V erfcxx  =  e  erfcx. . о   и н те г р а л

е   м а с ш ат б и р о в а н н о г

-

.

erfcx =  l- e r fx \   и  о ш и б о к

о   по

е   э л и п ит ч е с к и а   [0,1].

е   в ы ч и с л ен и в  дл я   m и з   о тр е з к

ю   eps).  Ча с т и  в ы ч и с л ен и й е  фн у к ц и й  к  фн у к ц и

е  фн у к ц и

а   п ер в о г

е   в ы ч и с л ен и в  дл я  m и з  о тр е з к

•   [к ,  е ]  =   e llip k e  (m,  t o i)  —  о дн о в р ем н н о ск и х   и н ет г р а л о в   п ер в о г о   и  в то р о г о   п о р я дк о ь  то ч н о с т

й

л   му ен ь ш и т

ф

•   к   =   e lli p k e  (m) —  в ы ч и слен и е   э л и п ит ч е с к о г а   [0,1]. р я дк а  дл я  m и з  о тр е з к

з адн н о ш ит

е

7i/2zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR

,   

, к а к  в   beta.

е   в ы ч и с л ен и а   [0,1]  с  з а д н н о

т   см ы с

е   и н ет г р а л

л / 2 

х  эл -

.

е   э л и п ит ч е с к и

, к о т р ы

(К т) =

ю   eps).  Ча с т и  в ы ч и с л ен и й

я  в р ем н

е   в се

а   в е р о я тн о с те й о   од п о л н и е т л ь н о г

. о  и н

.

-

е   нфу к ц и

и   ош и бок

,  у   од л ж е

н   п р и н а дл е ж а т

ь

р П е ин л о ж

  1. Ос но веы

 ком ыанд

 и  фуцнки

1023 zyxwvutsrqpon

 MATLAB и  Toolbox 

П zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   expintzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  — и н етгр а л ь н а я   п о к а з а те л ь н а я  фну к ц и я :

Ei  =   e xp in t ( x) . •   fac to rial  — ф а к то р и а л

.

р   =  fa c t o r i a l  (n) —  н оахж едн и в е т   п о лч у а е с т я   то л ь к о   лд ж ен н ы й .

е   ф а к то р и а л я  п , м ен ь ш и х

,  че

•   gamma,  gammainc, gammaln  — гам - н уфкц и Г ^ ( а ) и  л о га р и ф

о   ч и сл я  о сатль н ы

я   Г  ( а ) , неполн а

м   г а м а - нф у к ц и

а   п , то ч н ы х   —  п р и б л и

й  от

я -  гам н КЦИу ф

Я

.

 =  ] otdt; 

Г(а)

а   ц ело г м  22, дл

Г Д а ^

 

1

а

У

о zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE   \ )о zyxwvutsrqponmlkjihgfedcbaZYX у  = gamma (a),  у  = gammainc (x,  a), у =   gammaln (a).

•   legendre  —  п р и с о еид н ен н ы

п о л ну о р м и р о в а н н ы

е   н фу к ц и

и   Ле ж а н др

е   п р и с о е ид н е н н ы

ед л я м ы

е   ф о р м л уа

гд е   Р п  (х)   — п о л и н о м

е   н фу к ц и

а   п ер в о г и   Ле ж а н др

о   род

а   Р™  (х)   и

а   S™(JC ),   о п р е

-

и

ы   Ле ж а н др а

.

•   р   =  legen dre  (n,  х ) —  в ы ч и слен и е   п р и с о е ид н е н н ы х   н фу к ц и й   еЛ ж а н я  н а  вохнд ы е др а   п е р в о г о   род а  дл я  все х  m =  0,  1,  . . . ,  п . О гр а н и ч ен и е   ч и сло ,  м ен ь ш е е   256, х   п р и н алд еж и т   о рт е з к у а р г м у е н ыт :  m —  ц ело [- 1,1].  Е сл и   х  —  с к а л я р , т о  р  яв ляест я   в е к то р о м ,  дл и н а   котрог о  н а ие д н и ц р  в о з в р а щ а ест н фу к ц и л ен н ы

у   боль ш

е   п . В  счлуае я   м а тр и ц а и   Ле ж а н др а   п ер в о г е  дл я  к а ж од г о   э л ем н т

,  к о гд

,  сот л б ц

а   х  —  в е к то р , в  в ы охнд о м   а р мг у е н т ы   котро й   с о ед р ж а т   п р и с о е ид н е н н ы о   род а   лд я  все х   m =  о ,  1,  . . . ,  п , в ы ч и с а  в е к то р а  х .

•   р   =  legendre(n,  x,  'sen ') —в ы ч и с л е н и е   п онл у о р м и р о в ан ы идн е н ы х   н уф кц и й   е Лж а н р д а   п ер в о г о   род а   лд я  вес И н ет р ф й с  а н а л о ги ч е н   legen dre  (n,  х ) .

е е -

х   п р и со е х   m =  о ,  1,  ...,  п .

1024 

р П е ин л о я ж

zyxwvutsrq

 —  н аохж едн и е   еп с т н е й  дв о й к и . П   pow2 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA •   х   =  pow2 (у )  —  в  в ек от р в  сетп н ь , з а п и с а н н у

е   х  в о з в р а щ а ест ю  в  со втесюу щ е

•   х   -   pow2(f,  е )  —  э лем н ыт x( i)  =   f( i ) *2 A e ( i ) . •   rat,  rats  —  п р и б л и ж ен и ч и се л  (р а ц и о н а л ь н о

я   р е з л у ь ат м   э л ем н т   в е к то р

а   х   в ы ч и с л я ю ст

е   в е щ е св т н н ы й  др о б ь ю )

т   в о з в едн и е  у .

х   ч и се

я   ч и сл

а  2

я   п о   фо р м л у

л   о нт о ш е н и е

м   в уд

е

х   ц ле ы

х

.

•   [п ,  d]  =   r a t ( x,  t o i)  —в о з в р а щ а е т   вд а   ц ел ы х   ч и сл а   п  и  d та к и х ,  ч т о n/ d  п р и б л и з и ет л ь н о   равн о   х   (с  то ч н о с ьт ю   t o i)  в   юслуед щ е м   см ы сле : abs  (n/ d  -   х )  =   p  И Л

И  n  > =   p ,  TO  U  И  V

,  а   с   и   s  —  н е   б о л е е   р   с тр о к ь   d i a g  (С ) . / d ia g  (S).

.  О б о б щ е н н ы

е

•   s  =   gsvd(A,  в ) —в о з в р а щ а е т   в е к то р   обобщ ен ы х   с и н г ул я р н ы х   з н аче ний ,  о п р е д е л я е м ы й   к а к   d ia g( C ' *C )  ./ c.iagzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM   (S'+S)  ) .zyxwvutsrqponmlkjihgfedcbaZYXWV •   schur —  р а з л о ж е н и

• 

е   Ш ур а

.

[и ,  т ]  =   sc h u r  (X)  —  д л я   к в а д р а т н о й   м а тр и ц и   ун и т а р н а я   м а тр и ц а   и  т а к и е , ч т о   х   =   и * т * и ' и и

•   т   =   sc h u r  ( X) —в о з в р а щ а е •   svd  —  с и н г у л я р н о • 

т   то л ь к

е   раз лож ен и

о   м а тр и ц

я   Ш ур а

е   с и н г ул я р н ы

.

х   ч и сел

.

[и ,  D ,  v]  =   svd  (А )  —  н а хо ж д е н и е   м а тр и ц ы   D  С  н е о т р и ц а т е л ь н ы м и ди а го н а л ь н ы м и   э л е м е н та м и , р а с п о л о ж е н н ы м и   в   п о р я дк е   уб ы в а н и я ,  и ун и т а р н ы х   м а тр и ц   и  и  v  т а к и х ,  ч т о   А   ==  U * D * V.  Е С Л И   size ( A)  =   [m  n ] , T O size( D )  =   [m  n ] , si z e ( U )  =   [m  m ] , size ( V)  =   [n.  n ] .

•  С ТЮ

е   d в о з в р а щ а ю т с

я   с и н г ул я р н ы

[U,  D,  V]  -   svd  (А ,  0)  —е С Л Я  т о л ь к о   п  п е р в ы х   с то л б ц о

е  леыинй

Р е ш ни р а з л ое ж н и

•   c h o i  —  р а з л о ж е н и (с и м м е т р и ч н ы х

х  ура вне ий

ц

о   п о л о ж и те л ь н

р ]  =   c h o i  (А )  —  в т о р о й   т   и з беж ат ь   со бщ ен и я й   А , в о з в р а щ а я  в  р ю   м а тр и ц у ю   т р е уг о л ь н у е   п о л о ж и те л ь н о   о п р е де л е н н о н   R  =   c h o i( A) .

я   c h o i  п р и м е н и м   итцр"ма   ав ыг л

ы  А .

о   о п р е де л е н н ы

х   э р м и то в ы

х

.

•   R  =   c h o i  (A)  —  в о з в р а щ а е т   в е р хн ю ч т о   R 1 *R  =   А . Е с л и   в хо д н о й   а р г ум е н де л е н н о й   м а тр и ц е й , т о   в ы в о д и т с •   [R,  п оз воляе о п р е де л е н н о в е р хн ю В   с л уч а ан ало ги ч е

а   м а тр и ц

, е  м а т ри

е   Хо л е ц к о г )  м а т р и ц

е   чи сл

И   s i z e  (A)  =   [m  п ]  И  т   >  п , Т О Я Л СИ Ч Ы В в   и  и   s i z e  (D)  =   [n  n ] .zyxwvutsrqponmlkjihgfedcbaZYX

е  и  обр а ещ ни

Ф ун к ц и

у   т   раз лож ен и

е   и  н а хо ж д е н и

•   d  =   svd  ( A ) —в   в е к т о р

и за рц я

ы   х   н а хо д я т с я   м а тр и ц а  т ? * и   =   eye  ( si z e  ( и ) ) .

а   к   раз реж ен н ы   15).

ю   т р е уг о л ь н у т   н е   я в л я е тс я   со бщ ен и

ю   м а тр и ц я   п о л о ж и те л ь н е  о б   ош и бке

у   R  т а к у ю о   оп ре

, -

.

до п о л н и те л ь н ы й   в ы хо д н о й   а р г ум е н т е   н е п о л о ж и те л ь н о   о б   ош и бк е   в   с л уч а   ц ело е   п о л о ж и те л ь н о е   чи сло ,  а   в   R  —   т а к ую ,  ч т о   R ' * R =   A ( i : p - i ,  l : p - l ) . й   м а тр и ц ы   р   =   о   и   р е з ул ь т а т м   м а тр и ц а

м   (с.м

 р.азд

  "Фак-то

1030 

zyxwvuts

р П е ин л о я ж

  "Оинеащр б  маитцр  " гав ы л  6). DzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   invzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   —  о б р а щ е н и е  м арт и ц ы  (см . р.азд в   =   inv  (А )  —  в о з в р а щ а е В  счлау е   п лох й   о бс ул о в л е н н о с т З а дн и п о и ск й еон

е  в  к а ч есвт у   о б р а тн о "ы аргбе л

т   м а рт и ц у

,  о б р ант у и   А  в ы адест

е   в о х дн о г о   а р мг у е н т й   к   н е й   ат к ж е   в   си м воль н о  гав ы л  17).

•   lu  —  LU - р а з л о ж ен и

е  к в а др тн о

а   си м воль н о

•   [L,  и ,  Р ]  =   lu(A)—д о п о л н и т е л ь н в о к   р  та к юу , ч т о   Р * А  =   L*U .

Ф ну к ц и  маитцр

й   а р мгу е н

ь   п р о ц ес о

П   lsqn o n n eg—  н аохж едн и а л ге б р а и ч е с к и х   р уа в н е н и от д м   н аи м ен ь ш и х   к в а д р то ав ыг л  16).

м   м а рт и ц а

 р.азд

р  > ох

• 

 р.азд

я   н ев яз к

-

 "Фак-то ы   л и н ей н ы

й   м а рт и ц е й

х )  ме

-

 кавтр"о д

ы  н ев яз к

и

я   в   к а ч е с вт с   в ы ч и с л ен и

е   на -

й   пу р а в л яет е   option s  нфу к ц и е   16).

М   а р г ум е н т

й

е   r e sn o r m

и  norm(c*x  -   d)^2.

[X,  r e s n o r m ,  r e s i d u a l ]  =   l s q n o n n e g ( . . . )  —  В   НОД ЫХВ

r e sid u a l  в о з в р а щ а ест

а   [0,1])

а   п р и   н оа ха  п р о и з в о з   м ен ь ш е   муод

я   с и е мт

о   и с п о л ь з ес т у

[X,  r e sn o r m ]  =   l s q n o n n e g ( . . . )  —  В   НО Д ЫХВ

т   н орм

у   п е р сатн о -

м   (с.м

о   р еш ен и о   с   к в а д р а тн о   "М дтео   и ь ншх е а и м

•   х   =   lsqnonneg  (с ,  d,  xo,  option s)  —п р о ц е с с я   п р и   п ом ощ и   з адн и я   п а р м е тр о в   в   с р тк у optim set  (с.м  р.азд   "Пытер амр  оизацпт"м ав ыг л я   к в а др

у   и  и й   п ер -

т   в е к от р   х   с   н е о тр и ц а те л ь н ы м т  norm (c*x  -   d ) .

•   х   =  lsqnonneg  (с ,  d,  xo)  —  в ек от ч аль н ог о  п р и б л и ж ен и я .

в о з в р а щ а е ст

т   м а рт и ц

а   гл а в н о г

а   к   р аз р еж н н ы  15).

•   х   =   lsqnonneg  (с ,  d)  —  в о з в р а щ а е к о м п о н е н та м и , к о т р ы е  м и н и м и з и рюу

• 

ю   м арт и ц

о   э л ем н т .  П е р с та н о в к о   э л ем н т а   в   t r e sh  р а а  в  сот л б ц е .

о   э л ем н т

е   п о л ж и те л ь н о г й   (н е   о б яз а ет л ь н в   (с.м

т  к  ли-

й   тр е г у о л ь н о

х   м а рт и ц

ь   ди а г о н а л ь н о г

 " гав ы л

ы   п р и в о ди   "Зиач д

 р.азд

т   t r e sh  (и з   о рт ез к

м   вы бор я  р а з р еж н н ы

я   lu  п р и м ен и м

и за рц я

ю   р т е г уо л ь н у а   к   н и жн е о   воз вращ ае

•   [L,  и ]  =   iu(A,  t resh )  —  вохнд о т   пу р а в л я т и   LU - р а з л о ж ен и , есл и   млоуд о   п о ди а г о н а л ь н о г

е  А .

.

т   в е рн х ю ь   с в е нд

т   бы т

й   м а рт и ц .

й   м а рт и ц е   (с.м

й   фо р м

й   м а тр и ц ы

•   [L,  и ]  =   lu(A)  —  в о з в р а щ а е м а рт и ц у   L, к о т р а я   м ож е с та н о в к а м и .

п о з в о л яе ж ен д и ди ст я л я  л ю б о г

ю   к   к в а д р а тн о я   п р е уд ж ед н и е

М   а р г ум е н т

е

а  с* х   -   d.zyxwvutsrqponmlkjihgfedcbaZYXWV

ќ  [X, resnorm, residual, exitflag] = lsqnonneg(...)—зинеча н иц а  в ы ох дн о г о   а р гм у е н т а   e xit f lag  св и едлть св у т   о б   с пу е ш н о

е   иде м  н а -

р П е ин л о ж

  1. сО новеы

о жхенд и п с и ут м о

 ком ыанд

и   р еш ен и я е   ч и рл

 и  фцнуки

, а  н о л о  и тер а ц и й

 MATLAB и  Toolbox 

1031 zyxwvutsrqpo

ь   о з н ач ет ,  ч т о   п р ев ы ш ен о   м ак си м аль н о   до .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG

ќ  [X, resnorm, residual, exitflag, output] = lsqnonneg(...) — с р тк у а  output  соедр ж и т   и н фо р м а ц и ю  о  п роц ес е  в ы ч и с л ен и й .

•   [X,  resnorm,  residu al,  exit flag,  output,  lambda]  =  lsqn on n eg(...)  — воз вращ ае т   вд о й с в т е н н ы й   в е к то р   lambda,  lambda (i)    0.zyxwvutsrqponmlkjihgfedcbaZY П zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   peg  —  п р еод бсул о в л ен н ы й   и  о б ы ч н ы й   м ео т д   с о п р яж ен н ы х   г р а д и е н то в •   х   =  peg (А ,  Ь ) —р е ш е н и е   с и емт ы   л и н ей н ы х   а л ге б р а и ч е с к и н и й   *А Х= Ь   м еотд м   с о п р яж ен н ы х   г р а д и е н то в .  Зесд ь   А   —  с и м ерти ч н а я   п о л ж и ет л ь н о   о п р е дл н н а я   м а тр и ц а .  Н а ч л ь н ы м   п р и б л и ж ен и е я в л се т я   н л е ву о й   в е к то р .  С охид м о с т ь   с ч и а т ес я   д о с ит г н от у й п р о ц ес е   и ет р а ц и й   norm(b  -   A*b)/NORM(b)    n , TO  В О З В р а щ а Ю Т С

е  п  с т о л б ц о

Я

в  Q.

[Q ,  R,  Е ]  =   Q R ( A,  0)  — Т

щ ас е т

т   м а тр и ц

О  Ж е

а   п е р с ат н о в

, ЧТ

О  И   [ Q ,  R ]  =   QR ( А ,  0 ) , Н О В О З В р а

к   Е  такая

е  функци

-

, ч т

о  Q*R  =  А  ( :,  Е ) .zyxwvutsrqponmlkjihgf

ц

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO

й  о т  иртам

 р.азд   "Вине лисч ы кастеихч  м   кн цийфу  от  эвтнео ме л  маитцр .м С вы  2.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

 " га- л

  expm —  м а тр и ч н а я   э к с п о н е н ат , и с п о л ь з о в а н и е : F  =   expm(A). П zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

•   funm — в ы ч и с лен и

е   п рои з воль н о

й   н фу к ц и

и  о т  м а тр и ц ы

•   F  =  funm(A,  'funname')  —  в ы ч и слен и яв л ен н о й  В - ИЦКнЙЛ а  у ф И  funname. Е сл ад ес т то ч н о м а тр и

и   и со х н д а я   м а рт и ц я   п р еуд ж едн и .  Д л я  э р м и от в ы ц  р ез луь ат ,  к а

а   и ме е   о  то м х   (си м ерти ч н ы х к  п р а в и л о

[ F ,  e r r e s t ]  =   fun m (A,  

• 

ед р ж и

т   грбу

ю  оц ен к

•   logm —  м а рт и ч н ы

т   бли з к и , ч т

е   н фу к ц и

и   о т   м а рт и ц

е   с о б вт е н н ы о  р ез луь ат

, п о члуаестя

ы   А ,  о б ъ

е   з н ач ен и я т   бы т ь   н а й ед о   о п р е дл н н ы о   то ч н ы й

т   м ож е )  п о л ж и те л ь н   д о с та о ч н

f

 f un n am e f  ) —В Ы ХО Д Н О

у   р е з л у ь ат

й   л о га р и фм

.

Й   а р г ум е н

, т о  в ы н  н е

т   e r r e s t  CO-

. .

• 

т   e r r e s t  С о д е р ж и

[L,  e s t e r r ]  =   lo gm  (A)  —  НОД ЫХВ

•   sqrtm — к в а др тн ы

-

.

ы   А .  ЕС Л И   А  и м е т   о рт и т   едбу т   к о м п лек с н ы м о   то ч н о , т о   в ы адест

у   р е з л у ь ат

х

•   L  =  logm (А )  — в ы ч и слен и е   л о га р и фм а   м а рт и ц ц а ет л ь н ы е   с о б вт е н н ы е   з н ач ен и я ,  т о   р ез луь ат Е сл и   р е з л у ь ат т   н е  м о ж е т   бы т ь   н а й ед н   д о с та о ч н п р еуд ж едн и е   (см . фну к ц и ю   funm). б у ю   о ц ен к

-

Й   а р г ум е н

. я

т   гру

-

. й   к о р ен

•   х   =  sqrtm (А )  — в о з в р а щ а е л я ес т я  в ы р о ж ден н о й   м а рт и ц е й

ь  и з  м а тр и ц ы

.

т   м а рт и ц

у   х  та к юу , т о  в ы адест

,  ч т я   п р е уд ж ед н и е

о  х* х   =  А .  ЕСЛ И  А  яв .zyxwvutsrqponmlkji

ќ  [X, resnorm] = sqrtm(A)  —возвращ е т   В  reznorm  уньлетисонтО ТСОНШерГ Ь  norm (А  -  ^ Х 2 , ' f г о  ' ) /norm (A,  'fro').

ю  О П -

р П е ин л о ж

  1. сО но веы

оП и с

 ком ыанд

к  корне й

1033 zyxwvutsrqpo

 MATLAB и  Toolbox 

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

•   f so l ve  —  р е ш е н и Ле в а рован ин й "

 и  фуцнки

е   н ели н ей н ы

я   част ь   ур а в н е н и а   в   ф а й л - ф ун к ц и   ав ыг л   16).

х   ур а в н е н и

й   и   с и с те

м   ви д

а   f( x)  =   о .

я   и л и   с и с те м ы   f  (х )  =   о  д о л ж н а   бы т ь   з ап рограм м и и   funnamezyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE   (с.м  .аздр   "Ринеш   х ий еын л   а в у -р ен

•   х   =   fso lve  (funname,  xO)  —  в о з в р а щ а е ч е с тв е   н ачальн ог о   п ри бли ж ен и я .

т   реш ен и е

,  и с п о л ь з у

я   х О   в   ка

•   х   =   fso lve  (funname,  xO,  o p t i o n s)  —  п р о ц е с с   реш ен и п а р а м е тр а м и ,  з а д а в а е м ы м и   в   с т р ук т ур е   o p t i o n s. •   х   =   f so l ve  (f unname,  xO,  o p t i o n s ,  p i ,  p 2,  ли н ей н ы х   ур а в н е н и й   и   с и с те м   п р и   фи кси рован н ы м е тр о в   p i ,  р 2 ,  ...,  о т   к о т о р ы х   з ави си т   лева я   част ...). Р 2 ,  П ри м ен ен и м е тр о в

ны

х   н фу к ц и

ци

  то   в "отер памр й   п освящ е

и щх • 

,  м о ж е

[х ,  вы чи слен н о

е   fso i ve  д л я   и с л е д о в а н и т   бы т ь   о рган и з о в ан

й  та к

,  к а к   о п и с а н

н  р.азд

  ав ыг л   "Ве ын ж о л

о   пр

я   ф ун к ц и й и   п омощ

о  в  р.азд

я   уп р а в л я е т с

,  з а в и с я щ и и   влож ен н ы

х   о т   п ара х   и   ан он и м

 фукн ций,

fva l]  =   fso i ve  (f unname,  xO,  е   о т   п ри бли ж ен н ог о   реш ен и я

-

  - за в яи с

ю   влож ен н ы   ав ыг л

я

. . . )  —  р е ш е н и е   не х   з н ачен и я х   п ара ь   с и с те м ы   f  (x,  p i ,

  "Иваоине д лс

  6.  П р о г р а м м и р о в а н и   кн ци "фу

х   ф ун к

-

  5.

. . . )  —  в о з в р а щ а е .

т   з н ач ен и

е   f,

•   [х ,  fva l ,  e x i t f l a g ]  =   f so lve  (f unname,  xO,  . . . )  —  з н а ч е н и е   ЫВ Г О ХОДН О  а р г у м е н т а   e x i t f l a g  с о д е р ж и т   и н форм ац и ю   о   з аверш ен и и   вы ч и слен и й .  Е с л и   e x i t f l a g  >  о , т о   п р о ц е с с   сош елс я   и   реш ен и е   н а й де н о е с л и   e x i t f l a g  >  f = inline('х.^ 2 +  у . 2- 9'); >> ezpiot(f)

В   э от

м   сч л ау

[х - 2тг

, 2тг] .

•   e z p i o t  (x,  у )  —  в ы в о

»  Дл

и   з а да н н ы

•   e z p i o t  (f, 

ОН

Й   ф ун к ц и

= 0  ф ун к ц и

и   з а да н н о

х   ф ун к ц и

й   п о   ум о л ч а н и е   графи к

и   н а   о тр е з к

[ t m in ,  t m a x].

и

а   явн о

й   y  = f{x) 

и   не

-

е   [min,  m ax]. е   графи к

а   н еяв

-

е   [xmin,  xmax]  x  [xmin,  ymax].

[ t m in , t m a x] )  —  п о с т р о е н и и   x(t), 

й   ф ун к ц и

ю   ЈЕ   [0,  2 я ] .

[xmin,  xmax,  ymin,  ymax])  —  п о с т р о е н и

й   ф ун к ц и

е   [- 271, 2х]с х

t *c o s( t ) ' )

и   / ( х ,  у)   В  к в а д р а т

•   e z p i o t  (x,  у,   з а да н н о

!

я   в   к в а др т

а   п а р а м е тр и ч е с к

[min,  max])  —п о с т р о е н и

й   f(x,y) 

•   e z p i o t  (f, 

к   срт о и ст

д   графи к

e z p i o t ( ' t * s i n ( t ) ' ,  я   п а р а м е тр и ч е с к

явн о

ю   гр а фи

е   п о   му о л ч а н и

y(t) 

дл

е   графи к я   з н ач ен и

й   п а р а м е тр

а   п а р а м е тр и ч е с к а   и з   о тр е з к

и а

1042 

zyxwvutsrq

р П е ин л о я ж

•   ezpio t  (hA,  . .  .)  —  в ы в о •   h  =  ezp io t  ( . . . )  —  з ап и с ли н и и   м о гу т   бы т ь   и з м ен ен ву  9). •   e z p o i a r —  п о с рт о ен и ск и м  п о дб о р о м   ш аг

д  гр а фи к ь  в   h указ етл ы   в   ад л ь н е й ш е

е   кри во а   п о  армгуен т

•   ezpoiar  (fi)  —  п о срт ен и срт о к а   с   и е м со у л д ан о н и м н а я   н фу к ц и я е т  и сп о ль з о в ан и

а  н а  ос и  с  указ етл я   н а  л и н и ю  г р а ф и к а м   п р и   п ом ощ

й   в   п о л яр н ы у   и  в ы в о д е   кри во

й   н фу к ц и е й . З адн и

х   к о р ди н а т м   з а го л о в к

) — Т О  же ќ  ezpolar(f,  [а , Ь ] 

е  двму ер н о г

.  С в о й свт а и   set zyxwvutsrqponmlkjihg   (с.м  га- л

я   0е [ О

,  2я ] ,  дг е   fi  —

о   з ак р аш ен н о г

о   м н о г уо л ь н и к а

.zyxwvutsrq

.

  о ди н а к о в й  дл и н ы   с о ед р ж а   с ч л уа е   н е з а м к н от у г о   м н о г уо л ь н и я   с  п ер в о й . Ц в е т   о п р е дл я ст а   с :  ' г ' ,  ' д 1 ,  ' Ь 1 ,  ' с 1 ,  'га в  в  фо р м а т е   [г   д   ь ] , н а п р и м е р

f i l l ( [ - 3 

0  1 2 

0  - 5 ] , 

[ 2 3 2 1 9 

- 1 ] , 

'с' )

» 

f i l l ( [ - 3 

0  1 2 

0  - 5 J , 

[ 2 3 2 1 9 

- 1 ] , 

[ 0 . 4  0 . 2 

П лавн о е   и з м ен ен и е  ц в ет а   з али в к и   в   п р е дл а рт е б у т   ку а з а н и я   в е к то р а   з н ач ен и й ,  со втес юу щ и е   з н а ч ен и т . е .  size  (с )  =   size  (х) .  кУ а з а н н ы с я  (см . фну к ц и ю  caxis), а  з ает м   п р о и с о х ид ц в ет а  в н рту и   м н о г уо л ь н о й   о б л а с ти , н а п р и м е р

х   е щк т у е я   сн ач л т   б и л и н ей н а

в   (х   и л в  к о т р о г ы   м а рт и ц

т   к о р ди

-

1

я   з н ач е ,  'у 1 ,  'w1, :

0.1])

й   п а л и рт х   ц в ет а   м а с ш ат б и р ю у т я  и н етр п о л яц и

ы   ц в ет у   в ер ш и н

а , я

:

fi l l ( x,  Y,  с )  —  п о с рт о ен и е   ср аз у   н ес к о л ь к и ч и сл о   м н о г уо л ь н и к о в   равн о   с от л б ц а м   м а рт и г а е ст я ,  ч т о   м а рт и ц ы   о ди н а к о в ы х   р аз м ер о в ) .  Т р е ти ад ю щ и й   ц ве т   з а л и в к и ,  м ож е т   бы т ь   в е к то р о м ,  дл и н да е т   с  ч и сло м   с от л б ц о в   в   м а рт и ц а х   х   и  у .  кУ а з а н и ч т о   size  (С )  =   size( X) ,  п р и в о ди т   к   п лав н о й   з али в к г уо л ь н и к а . х   а р мг у е н о т о  э лем н от е  к   f i l l  э к в и в а л ен нт а   м а тр и ц а , сот л б ц

о

о   ezpiot.

» 

, ч и сл

я   ли б я   р бе у т

,  Т Ч О  И  ezpoiar  (f i) , Н О  Л Д Я  0Е zyxwvutsrqponml  [a, b].

•   f i l l  (x,  у ,  с )  —  в ек от р ы   х   и  у н ат ы   в ер ш и н   м н о г уо л ь н и к а .  В к а  п о сленд я я  в ер ш и н а   с о еи д н я с е т н и е м   тр е ь г о   в о х дн о г о   а р мг у е н т f х  э лем н от k'  и л и  в ек от р м   и з  тре

О нд и м   и з   в о хн д ы р ы м  —  в е к то р Т ак о е   о б р ащ ен и в е к то р а   ку а з а н в е к то р о м .

.

ь   н а   н е , inline- н уф кц и й  фн у кц и и  и л и  указ етл й  п р и  оп релдн и и  фн у к ц и

ќ  ezpoiar(hA, ...),h = ezpoiar(...) —а н а л о г и ч н П   f i l l  —  п о с рт о ен и

.

х   с   а в от м а ит ч е а  г р а ф и к а

й   г  =  ф ( 9 )  лд

, указ елт е  ан о н и м н о х  о п ерац и

я  п оэ лем н т ы

м  Ь А

и   у )  м о ж е о   равн о   обы ч н ом у

т   бы т о  чи сл ы   о ди н а к о в

х   м н о г уо л ь н и к о в , ц   х   и   Y  (п р епд о ла й   а р мг у е н т   с ,  з а а   котрог о   со в п а е   м а тр и ц ы   с , та к о й е   к а ж до г о   м н ог ь   м а тр и ц а ,  а   в от у   с рт о к   м а тр и ц ы . ,  в   к о т р о м   в м ес т о ы   и  с о в п а д ю т  с

р П е ин л о ж

  1. Ос но веы

Ф ну к ц и п ом ощ и  ц в еот м

 ком ыанд

 и  фуцнки

я   f i l l  од п сук ае и  указ н и я  со втесюу щ и , н а п р и м е р :

1043 zyxwvutsrqpon

 MATLAB и  Toolbox 

т   п о с рт о е н и х   рт о е

е   м н о г оу л ь н ы к   а р мг у е н о т

х   о б ъ е к от в   с  к о р ди н а т м

в   пр

и и

f i l l ( x l ,  y l ,  ' у ' ,  х 2 ,  у 2 ,  ' д ' ) В Ы О НД Х Й   а р мг у е н т ле й  н а  вс е  п о с рт о ен н ы h  =   f i l l  ( . . . )

С в о й с вт ад л ь н е й ш е

а   к а ж од г м   пр

,  в о з в р а щ а ем ы е  м н о г уо л ь н ы

й   f i l l ,  явлсет е   о б ъ ек т

я   в е к от р м   к у а з ет а  Patch.

ы  ти п

-

о   и з   гр а фи ч е с к и х   о б ъ е к от в   м о гу т   бы т ь   и з м ен ен ы  в и  п о м щ и  set zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED   (с.м  гаву л  9).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO

П  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA fpiot  —  п о срт ен и е   н фу к ц и и  о нд о й   п ер м ен о й   с  а в от м аит ч ес к и м   п од   "Ф- айл кн ци фу   с  оинм д  вм ын дхо  агрубор м   ш аг а   п о  армгуен т у   (с.м  р.азд мтно ме  " гавы л  5 и  р.азд   "Бе ло он б пр д о  о  / plot" гавы л  б) .

П   h i s t  —  ги с то гр а м мы гатмор  вх ынкерто

а   м а рт и ч н ы  дх"аын авыг л

•   h i st  (у )  —  о т б р а ж ен и у ,  лд я   п о срт ен и н о й   дл и н ы .

х   ил

и   в е к от р н ы   3).

е   г и с то г р а м

х   ад н н ы ы   да н н ы х

я   г и с то г р а м

,  з а п и с а н н ы

ы   и с п о л ь з се т у

•   n  =  h i st  (у )  —  в ы охнд о й   а р мгу е н ч и сл о   э л е м н от в   и з   у ,  п о п ав ш и то г р а м а   н е   о т б р а ж е тс я .

я   е сд я т

 р.азд

  "Ги-с

х   в   в е к то р ь   и н ет р в а л о

т   в   в е к от р ,  а   в   в ек от р .

•   h i st  (у ,  т )  —  о т б р а ж ен и то р е   у ,  лд я   п о срт ен и н о й   дл и н ы .

ы   и с п о л ь з ес т у

е   г и с то г р а м

е   п   ч и сл о   э л е м н от в е   xout  —  гр а н и ц

ы   да н н ы х

я   г и с то г р а м е   г и с от г р а м

,  з а п и с а н н ы я   m и н етр в а л о

ы   да н н ы х

я  ги с то гр а м я   з н а ч ен и ям

ы   и с п о л ь з ю у ст и  э лем н от

в  в е к то р

е в   рав

т   п   я в л се т я   в е к от р м   и   с о ед р ж и х   в   к а ж ыд й   и з  десят и   и н те р в а л о в

•   [n,  xout]  -   h i s t ( .  . . )  —  в о з в р а щ а е п о п ав ш и х   в   к а ж ыд й   и з   и н ет р в а л о в те р в а л о в .  Г и с то гр а м а   н е   о т б р а ж е тс я

•   h i st  (у ,  х )  —  о т б р а ж ен и то р е   у , дл я   п о срт о ен и котры х   о п р е дл я ю ст

х   (с.м

т

.  Г и с

,

ы   ин х   в   в ек в   рав

-

,  з а п и с а н н ы я   и н ет р в а л ы а  х .

-

х   в   в ке , ц ен рт ы

•   h i st  (hA,  . . . )  —  в ы в о д   г и с то г р а м ы   н а   о с и   с   к у а з етл м   hA  в м ест о е кщт у и х .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA semilogx, semilogy  —  построени ќ  loglog,  и   п о л у га р и фм и ч е с к о м   м а с ш ат б х .аздр   "Грик аф  в ксеихч ми  лгиофар П   pie   —  о т б р а ж ен и мы агмр  вх ынкерто

е   ад н н ы  дх"аын авыг л

х   в   в и ед

е о к и ф  арг .  И с п о л ь з юу ст  маатхшбс

 " гавы л   к р г уо в   3).

й   ди а г р а м

в   о к с Ве ч и м ф и р а   гол я   та к   ж е  3).

м , к а к   p lo t  (с.м

ы   (с.м

 р.азд

  "Ди-

1044 

zyxwvutsrq

р П е ин л о я ж

•   p i e ( x)  —  п л о щ а д п роп орц и он альн п олн а я   к р уг о в а

ь   с е к то р а   к р уг о в о а   x( i ) / su m ( x) .  Е с л я   ди а гр а м м а .

•   p i e ( x,  p a r t s ) —н е н у л е в ы е   ком п он ен т м ен т ы   ДОЛЖН Ы   бы т ь  О В О К аНИ Д О с о т в е т с т в ую т   с е к то р а м ,  н е м н о г •   p i e ( .  . . ,  l a b e l s)  —  п р и   п о с т р о е н и ю тс я   н а дп и с и   р я до м   с   к а ж ды до л ж н ы   с о де р ж а т ь   с тр о к и   с  т е к с т о •   p ie( h A,  . . .)  —  в ы в о вм ест о   т е к ущ и х .

С в о й с тв да л ь н е й ш е

а   к а ж до г м   пр

и   к р уг о в о м   с е к то р о м м   н а дп и с е й

й   ди а гр а м м .  Я ч е й к .

й   ди а гр а м м т   в е к то

о   x( i) , я   не -

ы  в е к т о р а   p a r t s  (в хо дн ы е   а р гу Ы   le n gt h  ( p a r t s)  =   le n gt h  (x)) м   и з   к р уг а   ди а гр а м м ы .

Й  Н ДЛИ о   в ы д в и н ут ы

д   к р уг о в о

•   h  =   p i e  ( . . . )  —  в о з в р а щ а е объект ы   p a t c h  и  t e xt ,  о б р а з у ю щ и

й   ди а гр а м м ы ,  о т в е ч а ю щ е г и   sum(x)  >  х   =   - p i : p i / 3 0 : p i ; О   > >  у   =   s i n ( x ) ; О   » 

В то р ы с то л б ц о н есколь к » 

plot(x, y)

м   а р г ум е н т о в   к о то р о о   графи к о в х   = 

м   p l o t  м о ж е т   бы т ь   м а тр и ц а ,  ч и с л й   с о в п а да е т   с  д л и н о й   в е к то р а   х .  П р и   э т о . П р и м е р :

- 10:0.1:10;

> >  у   =   [ s i n ( x ) ;  c o s ( x ) ;  » 

p l o t ( х , 

у )

з 1п (х).

л

2 ; 

cos(x)./ 42];

о   с тр о м   в ы в о ди тс

к   ил

и я

р П е ин л о ж

  1. сО но веы

 ком ыанд

Д о п о л н и те л ь н ы ит п   м а р к е р о в В оз м ож н п ар

й   с рт о к в ы о   п о с рт о е н и

ы   в е к от р

е   н ес к о л ь к и й   а р мг у е н т

а   з н ач ен и y l , 

х , 

. .  . ) .  С   к аж од (с.м  р.азд   "Иине зм

у 2 , 

х , 

й   п аро

уЗ

х   гр а фи к о а   и   в е к то р



. . . )  И Л

й   м ож е

т   бы т

 стйвсо

 линй

е   св о й ст е   с в о й с вт   "Стйвсоа

ь   ку а з

•   h  =  p lo t  ( . . . )  —  в о з в р а щ а е ван н ы е  о б ъ ек т ы   Lineseries. С в о й с вт ад л ь н е й ш е

а   к а ж до г м   пр

у 2 , 

я : хЗ



уЗ

,

т zyxwvutsrqpo

а   ли н и   9), п р и м ер

и   на ы   в

й   о п и сан : 5 , 

' M a r ke r E d ge -

м   hA в м ест

р   к у а з етл

й   н а   с о з ад н н ы в   м о гу

х   о б ъ е к от

. . . ) —

,  с о едр ж ащ и м

' M a r k e r S i z e ' ,  'у' )

 гаву л

х 2 , 

, и

й   а р гм у е н

в   н а   о с и   с   к у а з е тл

о   и з   гр а фи ч е с к и и  п о м щ и  set  (с.м

,  куа з ы в а й   фн у к ц и

' P r o p N a m e ' ,  ' P r o p V a l e 1 , 

а   п ар м и

т   в е к от

х   о с ях

н   с рт о к в ы

е   (св о й свт

д   гр а фи к о

y l , 

ь   ли н и

 3).

о   гр а фи к

> >  p l o t ( x ,  у ,  ' M a r k e r ' ,  ' о ' ,  C o l o r ' ,  ' g ' ,  ' M a r k e r F a c e C o l o r ' , 

•   p lo t  (hA,  . . . )  —  в ы в о кщ у и х .

в   н а   онд и а   з н ач ен и

 " гавы л

в   ли н и и   к а ж од г а   и   ег о   з н а ч е н и  линй  и  птйес"хвонр авыг л

т   и   ис т л

И  p l o t ( x l , 

p l o t ( x ,  у ,  ' P r o p N a m e 1 ,  ' P r o p V a l e 1 , 

ку а з а н и з в ан и .аздр

1045zyxwvutsrqp

 MATLAB и  Toolbox 

й   а р мгу е н т   з аде т   ц ве : p lo t  (х ,  у ,  ' r : o f ) .

, н а п р и м е р

p l o t ( x , 

• 

 и  фуцнки

т   бы т

о   ет е   ри со

ь   и з м ен ен

ы  в

 9).

•   h  =  p lo t  ( ! v6 ! ,  . . .)  —  в о з в р а щ а е т   в е к от р   к у а з етл й   н а   с о з да н н ы е баз о в ы е   о б ъ ек т ы   Line  лд я   со в м есит м о ст и   с   п р е ыд щ у и м и   в ер с и ям и M ATLAB  (б а з о в ы е   и   ри сован ы е   о б ъ ек т ы   о п и сан ы   в  р.азд  "Гр-еич аф к сие  ок"етыъ б ав ыг л   9).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE •   polar —  п о срт о ен и

е  гр а фи к

а  в  п о л яр н ы

х   к о р ди н а т х

•   p o lar  ( t h et a,  rho)  —  о т б р а ж ен и rho  о т   со втесюу щ и х   з н ач ен и в  р а ди а н а х .  Н а  гр а фи к  н ан о с и ст  

!

е   з ав и си м о ст й  э лем н от я  секта

х  в  в и д

•   stem(x)  —  о т б р а ж ен и м ер о в . •   stem(x,  у )  —  в ы в о в е к от р е  х , п р и м ер : » 

и   и   м ар к ер о м   (см . фну к ц и й  ди а гр а м ы

и   э л е м н от й   м ас и в

в   о п р е дл я ю  p lo t ) .

> >  s t e m ( x , 

о  срто

в   в е к то р а   у   с   абсц и с ам и

а   х   о т   ег о   н о , ук а з а н ы м

cos(х)] ;

у )

к   м ас и в

а  у  до л ж н

о  р а в н яьт с

я  дли н

-

.

х   =   ( 0 : 0 . 1 : 1 0 )  '  ;

> >  у   =   [ s i n ( x ) 

Чи с л

д   з н ач ен и

а   ли н и

е  ч ер н к о в

е   з ав и си м о ст

а х

.

!

я  да н н ы

и   э л е м н от в   в е к то р а   t h e t a ,  з а д н н ы

в   в е к то р

•   p i o i a r ( t h e t a ,  rh o, r : o )  —  св о й свт ю ст я  до п о л н и етл ь н ы м   с рт о к в ы м   а р мг у е н от •   stem —  в и з аул и з а ц и

.

е  в е к то р

а  х .

и  в

-

1046 

•   stem(x,  у ,   м ар к ер а .

f

r *—' )  —в ы в о

•   stem (hA,  . . . )  —  в ы в о

д   с  указ н и е

м   ц в ет

д   н а  ос и  с  указ етл

•   h  =   st em ( . .  .)  —  в о з в р а щ а е т   в е к от в ан н ы е  о б ъ ек т ы   Stemseries  (и х  ч и сл

а   и  сит л

Ба з о в ы ав ыг л

е  и  ктонрыу

И сп оль з ован и о б ъ е к от

р   к у а з е тл о  р а в н о  к о ли ч есвт

е  гир ак ф

е   н и з к о ру в н е в о в   о б ъ я с н я е ст

а

й   н а   с о з да н н ы у   с от л б ц о у   с то л б ц о

е   ри со в   в  у) .

й   н а   с о з ад н н ы в   в  у) . Д л

е я

я   с от л б ц е в а

х  да н н ы х

•   Ь аг щк у и х

С в о й с вт ш е м  п р

: Ь аг

я   р т ем х р н а я   ди а г р а м З  (rand (3, 4))-

д   ди а г р а м

ы   н а   ос и   с  указ етл

, п р и м ер

З  (hA,  . . .)  —  в ы в о .

•   h  =  Ь аг го н а л ь н ы

З  ( . . . )  —  в о з в р а щ а е е   о б ъ е к ыт . а   п о л и го н а л ь н ы и  п о м о щ х  да н н ы х

т   в е к от

и  set  {с.м

ь  —  го р и з о н та л ь н а

и

й   гр а фи к и   лд я   з а д н и я   свой ст в   гр а фи ч е с к и х   3 и  9.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ

я  в  гав х л

З  —  в е р ти к а л ь н а

в е к от р н ы

в е к от р н ы

й  и  ти п

е   и   ри сован н ы е   о б ъ ек т ы   о п и сан ы   в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP  р.азд   "Грксеи ч аф к"ет ыъ бо  9.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Тр е мх е р н ы

•   з Ь га

я  л и н и

м   hA.

•   h  =   stem(   ! v6 ' ,  . . .)  —  в о з в р а щ а е т   в е к от р   к у а з ет л баз о в ы е   о б ъ ек т ы   ли н и и  (и х  ч и сл о  р а в н о  к о ли ч есвт с о в м е с ит м о с т и   с  п р еыд щу и м и  в ер с и ям и .

•   гЬ а

zyxwvutsrqp

р П е ин л о я ж

я   с от л б ц е в а , п р и м е р

т   бы т

ь   и з м ен ен

е   п о ли

-

ы   в   ад л ь н е й

-

 9).

я   р т ем х р н а я   ди а г р а м : bar3h  (rand (3,  4) ) .

й   гр а фи   3).

•   comet3(x,  у ,  z)  —  о т б р а ж е н и вд и ж е н и я   к о м ет ы  п о  к р и в о й

о   ет -

й   н а   с о з да н н ы

bar3h(hA,  . . .  ) И п   =  b a r 3 h ( . . . )  —а н а л о г и ч н •   comet3 —  а н и м и р о в а н н ы еваоынр  гик "афр авыг л

х  и

м   hA в м ест

р   к у а з етл в   м о гу

х   о б ъ е к от  гаву л

а   м а рт и ч н ы

о  Ь а гЗ

к   рт ем х р н о

й   ли н и е   ан и м и рован н ог

, п р о хядщ е

й   ч ер

з  то ч к

а   м а рт и ч н ы

х  и

. и   {с.м

 р.азд

 "Аи- нм

о   гр а фи к и   с  к о р ди н а т м

а   в   в и ед

й   а р мг у е н ю   и с п о л ь з ес ту

т   з аде

и

( x( i) ,  y ( i ) ,   z ( i) ) . •   comet3(x,  у ,  z,  p)  —  до п о л н и етл ь н ы й   ч е вт р ы л ди н у   в хо с т а   к о м ет ы   p*ien gt h ( Z ) ,  п о   му о л ч а н и

т я

р   =  0 . 1 .

•   comet3 (hA,  . . . )  —  в ы в о ле м  hA в м ес т о   е тк щ у и х .

д   ан и м и рован н ог

о  гр а фи к

а   н а   о с и   с   к у а з ет

-

р П е ин л о ж

  1. Ос но веы

 окм ыанд

 и  фуцнки

1047zyxwvutsrqpon

 MATLAB и  Toolbox 

con tour —  п о срт о ен и е   ли н и й   р уо в н я   н фу к ц и и   в ду х   п ер м ен н ы П  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA (с.м  р.азд   "Ке тынуор ик гафр  " гавы л  3). •   con tour (х ,  Y,  z)  —  о т б р а ж ен и к е ,  о п р едля м о й   м а рт и ц а м руо в н я   о т б р а ж ю тс я   пр нф у к ц и .

е   нф у к ц и и   х   и   Y,  з а п и с а н и   а в от м а ит ч е с к

, з н ач ен и

я  к о т р о

х

й   н а   т ес у   z.  Ли н и и х   з н ач ен и я х

ы   в   м а рт и ц и   п о дб и р а е м ы

•   contour (Z) —  в   к ач есвт е   о бласт и   п о с рт о е н и я   в ы б и р а е ст г уо л ь н и к : х   =   1:п ,  у   =   1:гп , гд е   [n  m]  =   size( Z ) .

я   п р ям о

•   con t ou r( z,  N)  H co n t o u r( x,  у ,  z,  N) —о т о б р а ж а ю т с н я ,  со втес юу щ и е   N  постян н ы м  з н ач ен и я м   и с е м л у до ч и сл о  л и н и й  уро в н я   м ож е т   бы т ь   боль ш е  N. • 

c o n t o u r  ( Z ,  v e c )  И   c o n t o u r  (X, 

Y, 

-

я   ли н и и   р уо в й   фн у к ц и

Z ,  v e c )  —  ИЛ Н И

И   ур О В Н

,

Я   С Т рО Я С

Я

п р и   з н а ч ен и ях ,  явлю щ ис х я   э л ем н а мт и   в е к от р а   vec.  Чи сл о   ли н и й р уо в н я  р а в н о   len gth  (vec). Д л я   о тбр аж ен и я  то л ь к о   о нд о й  ли н и и  уров н я ,  н а   к о т р о й   н уф к ц и я   п р и н и м ае т   з а дн н о е   з н а ч ен и е   v,  е у дсл т   ис п о ль з о в ат ь  ВЫОВЫ З : contour (Z,  [v  v] ) ИЛ И  contour (X,  Y,  Z,  [v  v] ) . •   [c,  h]  =   contour (.  . . )  —  в ы охнд ы м и   а р мг у е н а т м и   я в л ю ст я   м а рт и ц а   с   и н фо р м а ц и е й   о   ли н и я х   р уо в н я   (см . фну к ц и ю  con tourc)  и   куаз е т л ь   н а   п о с рт о е н н ы е   ли н и и   (р и с о в ан н ы й   о б ъ ек т   Contourgroup)   "Рев аоиынс  окетыъ б  (Plot  Objects) "гавы л   9). (с.м  р.азд •   [с ,  h]  =   contour ( f v6 ' . . . )  —  в ы охнд ы м м а тр и ц а   с   и н фо р м а ц и е й   о   ли н и я х   р уо в н в е к от р   к у а з ет л й   н а   п о с рт о е н н ы е   ли н и Д л я  со в м есит м о ст и   с  п р еыд щу и м и   в ер с и ям И н фо р м а ц и я до

м   с  к аж од п ом ощ

,  с о едр ж ащ аяс й   ли н и е и   c la bel  (с.м

и   а р мг у е н а т м и   яв л ю ст я я   (см . фн у к ц и ю  con tourc)  и и   (п о л и го н а л ь н ы е   о б ъ е к ыт ) . и   M ATLAB.

я   в   м а рт и ц я   с о в т ес ю у щ е

й   руо в н  р.азд

е   с ,  п о з в о л яе

т   расп ол ж и т

ь   ря е   н фу к ц и и  п р и   3).zyxwvutsrqponmlkjihgf

е   з н ач ен и

  "Ке тныуор

и к "гафр авыг л

f

f

ќ  contour(X,  Y,.Z,  'k: ),[C, h] = contour(X,  Y,  Z,  ' k : ) — ц в е

си т л с тр о к о в о г

ь   в се

х   ли н и о   в о х дн о г

•   con tourc —  п очлуен и м ен ы х .

й   руо в н о   а р мг у е н т

я   з а д ю ст а   (см

е   и н фо р м а ц и

я   пр . фну к ц и

и  о  ли н и я

и   п ом ощ

и   д о п о л н и те л ь н о г ю  p lo t ) .

х   р уо в н

•   с   =   con tourc (х ,  Y,  z)  —  м а тр и ц а   с   я в л ес т . . . ) ,  ч и сл о   блок в   со в п аде т   с   ч и сло м   ли н и и ме т  сюлуед щ и й   фо р м а т   (н а  п р и м ер е  ci) :

ќ  Cl  =  [levell xl х 2 х З   ...; pairsl yl у 2 уЗ

З н а ч ен и ч и сл

е   нфу к ц и о   п а р   то ч е к

и   н а   да н н о ,  о п и с ы в аю щ и

й   ли н и

и   р уо в н х   ли н и

о

я   н фу к ц и я   блоч н о й   ру о в н я

и  дву

х   п ер

-

й   с   =   (ci  C2 ,  к ажыд й   бло к

]

я   с о едр ж и с т я ю   ру о в н я

т  И

,  к а к   м н о г уо л ь н и

  в   le ve ls,  a к

1048 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   .  р П е ин л о я ж

(о б ъ е к Т О ЧК

т   p a t c h ) —  в   p a i r s i .  В е р ш и н а м И   ( x l , 

С п особ

и   м н о г о уг о л ь н и к

zyxwvutsr

а   я в л я ю тс

я

y l ) ,  ( х 2 ,  у 2 )  И  Т .  Д .

ы   з а да н и

я   в хо д н ы

х   а р г ум е н т о

в   c o n t o u r c  с о в п а д а ю

т   с  con tour.

•   c o n t o u r f —  з а л и т ы й   ц в е та м и   к о н т ур н ы й   графи к ,  и с п о л ь з о в а н и е   ан ало ги ч н о   ф ун к ц и и   c o n t o u rzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   (с.м  р.азд   ''Ке тныуор   ик "гафр ав ыг л   3). П   c yl i n d e r  —  о т о б р а ж е н и в е р хн о с т и   ц и л и н др а

е   ц и л и н др

а   и   ген ер ац и

я   то ч е к

•   c y l i n d e r —  п о с т р о е н и н ог о   р а д и ус а   и   в ы с о ты

е   част

и   ц и л и н др и ч е с к о

•   c yl i n d e r  ( r)  —  п о   у м о л ч а н и р уж н о с т и .

ю   и с п о л ь з уе т с

•   c y l i n d e r  (П А ,  . . . )  —  в ы в о о   т е к ущ и х ук а з а т е л е м   П А  в м е с т

д   ц и л и н др и ч е с к о .

[х ,  Y,  z]  =   c yl i n d e r  ( . . . )  —  в ы х о д н ы м м а тр и ц ы ,  о п р е д е л я ю щ и е   п о в е р хн о с т ь ж а е тс я ,  е е   м о ж н о   п о л уч и т ь   пр и   п омощ и su r f( X,  Y,  Z ) , su r fl ( X,  Y,  Z ).

•   e z c o n t o u r  —  о т о б р а ж е н и то м а ти ч е с к и м   п о дб о р о г о   графи к а   с о де р ж и

х   н а   по

-

й   п о в е р хн о с т

и   е ди н и ч

-

.

•   c y l i n d e r  ( г ,  п )  —  п о с т р о е н и е   част и   ц и л и н др и ч е с к о е ди н и ч н о й   в ы с о ты .  В х о д н о й   а р г ум е н т   г   я в л я е тс р а д и ус о в   п о в е р хн о с т и   в   з ави си мост и   о т   в ы с о ты дл я   п о с т р о е н и я   о к р уж н о с т и   о тр е з к а м и   п рям ы х ( [ 0. 1  0. 3  0.5  1.3  1.8  1.6  0 . 1 ] ,  100).

• 

,  л е ж а щ и

.

е   ли н и м   с е тк т   вы раж ен и е

и   дл

й   п о в е р хн о с т и я   в е к то р о м   з н ачен и й ,  a n —  ч и с л о   то ч е к ,  п р и м е р :  c yl i n d e r

я   дв а дц а т

ь   то ч е

к   в до л

й   п о в е р хн о с т

.  С а м

и   а р г ум е н т а м а   п о в е р хн о с т ,  н а п р и м е р

й   ур о в н я   ф ун к ц и я   и х   н а хо ж д е н и я , з а д а ю щ е е   и с л е д уе м у

и   дв у .  З а г о л о в о

ь   ок

и   н а   ос

и  с

и   я в л я ю тс я ь   н е   о то б р а :  m esh ( x,  Y,  Z ) , х   п ерем ен н ы

х   с   ав к   п о л уч а е м о

ю   ф ун к ц и ю

П р и м ер

й   о б с уж д а е т с   6.  О б р а щ е н и   с  инм д о

  м ын в д х о

я   в   .аздр е   к   ф ун к ц и   "гмтнео гарум ав ы л

  "Ве ы ативрсме и   п о   ук а з а т е л

  и   е ын и м а он ю   оп и сан   5.)

.

  о   в   .аздр

-

•   e z c o n t o u r  (fun)  —  п о с т р о е н и е   ли н и   ур о в н я   ф ун к ц и и   fun,  г д е   fun  с тр о к а   с   и с л е д уе м о й   ф ун к ц и е й , ук а з а т е л ь   н а  не ,  in lin e- ф ун к ц и я   ли б ан он и мн а я   ф ун к ц и я .  З а д а н и е   ан он и мн о й   ф ун к ц и и   и л и   ук а з а т е л т р е б уе т   п ри м ен ен и я   п о э л е м е н тн ы х   оп ерац и й   п р и   о п р е де л е н и ф ун к ц и и .  П о   у м о л ч а н и ю   с ч и та е тс я ,  ч т о   о б л а с т ь   о п р е де л е н и я   —  к в а д ,  2тс ] .  ( И с п о л ь з о в а н и е  in lin e- ф ун к ц и й   и   ан он и мн ы р а т   [- 2я ,  27х] х[ - 2я ф ун к ц и ав ыг л кн ци фу

-

— о я и х

укн ци "ф   "Ф- айл

:zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

A >> fun = inline ( 'x'^cos (у ) +y 2*sin(x) ' ) ;

>> ezcontour(fun)

р П е ин л о ж

  1. Ос но веы

 ком ыанд

 и  фуцнки

•   ezcon tour(fun ,  [xi  x2  yi  y2])  —  о б л а с ьт П Р Я М О ГУ О Л Ь Н И

К   [ x l , 

•   ezcon tour (hA,  . . . )  —  в ы в о

е   ли н и

д  ли н и

•   h  =  ezcon tour ( . . . )  —  з ап и с л и го н а л ь н ы е   о б ъ е к ты . а   п о л и го н а л ь н ы и  п о м щ

ю   о п р е дл н и

я   с ч и ат е с

я

x 2 ] X [ y l ,  у 2  ] .

•   e z c o n t o u r ( . . . ,  п )  —  п о срт о ен и кс ет и  с  п  уз лам и   п о  к аж одм у   н ап р ав лен и ю

С в о й с вт ш е м  п р

1049 zyxwvutsrqpon

 MATLAB и  Toolbox 

й   руо в н .

й  уро в н

ь  в   в ек от

я   с   и сп о ль з о в ан и е

я   н а  ос и  с  указ етл р   h указ етл

м м   ПА

й   н а   с о з да н н ы

. е  п о

х   о б ъ е к от в   м о гу т   бы т ь   и з м ен ен ы   в   ад л ь н е й и  set zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   (с.м  гаву л  9).

•   ezcon tourf  —  п о члуен и в ду х  п ер м ен н ы х . И с п о л ь з о в а н и

е   з а л и ыт

х   ц в ео т е  а н а л о ги ч н

м   к о н р утн ы

х   гр а фи к о о   ezcon tour.

в   нф у к ц и

х   пе •   ezm esh—  п о срт о ен и е   к арк асн о й   м о е лд и   п о в е рн х о с т и   н фу к ц и и   в ду р ем н н ы х .  И с п о л ь з о в а н и е   а н а л о ги ч н о   ezcon tour;  к р о м е   то г ,  и м сет воз м ож н ост ь   п о с рт о е н и я   п о в е р н х о с ит ,  з а д н н о й   п а р м е рт и ч е с к и ,  и   о т браж т ь   н фу к ц и ю  н а  к ргоу в й   о бласт и   о п р е дл н и я . В ы з о в   ezmesh  с  в ы о нх д ы м   а р мг у е н от м   п р и в о ди т   к   з ап и с и   в   н ег о   к у а з ет л я   н а   с о з ад н н у п о в е рн х о с т ь   (с.м  р.азд   "Гркесоич аф  пинетасвл дер укн ций"ф авыг л   17). П ри м е р   о т б р аж ен и о п р едл н и я .  П ер м ен н ы р а т   [- 1, 1]х[ - 1, 1] : > >  z  =   » 

inline('х

e z m e s h ( z , 

П ри м е

-

А

я   н фу к ц и

н а   к р г уо в ,  в п и с ан н о м

й   о бласт у   в   к в ад

я ю и -

2- у^2') ;

[ - 5 . 3 

р   п о р с т ен и

и   z(x,  у)   = х   - у   е  х   и  у   п р и н а дл еж а т   к рг у

и

5 . 3 ] , 

'circ1)

я  п арм иет ч ск

и   з а нд о

й   п н о в ре х с т

и   x(s,  t)  = scost,

y(s,  t) = ssint,  z(s,t)  = s/ 2:zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF »zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   x = inline('s*cos(t)'); >> у  = inline('s*sin(t)'); >>  z = inline('s/2'); >> ezmesh(x,  y, z)

П о   му о л ч а н и ю   з н ач ен и я  п а р м е тр о в   t  и   s  п р и н а дл еж а з адн и я   рд г и у х   и н ет р в а л о в   е с лу д т   ку а з а т ь   и х   в   ч е вт р о г ум е н т е —  в е к то р е   [ t i  t2  si  s2]: > >  e z m e s h ( x , 

и ли

, есл

у , 

и  п а р м е тр

> >  e z m e s h ( x , 

z , 

[ - 0 . 9 * p i  0 . 9 * p i  - 0 . 7 * p i 

ы   п р и н а лд е ж а у , 

z ,  - [ - 0 . 6 * p i 

т   о нд о м 0 . 9*p i] )

у   и н ет р в а л у

т   [- 2тг , 2л ] .  Д л я м   в о х нд о м   ар -

0 . 8 *p i] )

,  т о

1050 

р П е ин л о я ж

zyxwvutsrqpo

ezmeshc —  п о с рт о ен и е   к арк асн о й   м о елд и   п о в е рн х о с т и   нф у к ц и и  дву П  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA р ем н н ы х   и   ли н и й   руо в н я   н а   п ло ск о ст и   ух .  И с п о л ь з о в а н и е   а н а л о ги ч н ezmesh  (с.м  р.азд   "Гркесоич аф  пинетасвл дер укн цийф  " гавы л  17). П   ezp io t 3  —  о т б р а ж е н и п р о с рт а н с вт е   (с.м

е   п а р м е рт и ч е с к   "Гркесоич аф

 р.азд

и   з адн н о

й   ли н и укн ций"ф авыг л

 пинетасвл дер

х   пе о

и   в   р т ме х р н о

м   17).

•   ezp io t 3( x,  у ,  z)  —  п о срт о ен и е   п а р м е рт и ч е с к и   з адн н о й   кри во x{t),  у( t),   z(t)  лд я   t  и з  о рт ез к а   [0, 2я ] , гд е   х , у ,  z —  срт о к и   с  и сле емуд ы м и   фн у к ц и я м и , указ етл и   н а   н и х ,  inline- нфу к ц и и   ли б о   ан о н и м н ы е   фн у к ц и .  З а д н и е   ан о н и м н ы х   н фу к ц и й   и л и   к у а з а ет л й   ртеб у и сп о ль з о в ан и я   п о э л ем н т ы х  о п ер а ц и й  п р и  о п р едл н и и  фну к ц и й . • 

e z p l o t 3 ( x , 

z) ,  н о  д л

у , 

z , 

я  з н а ч е н и

й  г р а ф и к , н а п р и м е р 100], 'an im at e')

•   ezp lo t 3( h A,  . . . ) , h  =   e z p l o t 3 ( . . . )  —  а н а л о г и ч н е   к арк асн о

. И с п о л ь з о в а н и  фукн ций"

  ав ыг л

П   ezsurf с  —  п о с рт о ен и р ем н н ы х   и   ли н и ezmesh.

П   f ш п р о с рт а н с вт

й   м о елд

 р.азд

:

о   e zc o n t o u r .

и   п о в е рн х о с т и   ух .  И с п о л ь з о в а н и

я   н а   п лоск ост

е  з а к р а ш е н н о г е   (с.м

т

й   м о е дл и   п о в е рн х о с т и   н фу к ц и и   в ду х   пе   "Гркесоич аф  п- де р е  ан ало ги ч н о   ezmesh  (с.м  р.азд  17).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF

е   к арк асн о й   р уо в н

з   —  р и с о в а н и

-

С а мо е ,  Т Ч О   И   e z p l o t 3  ( x,  у , е  zyxwvutsrqponmlkjihgfedcbaZYXWV а   [tm in ,  t m ax].

а   и з  о т р е з к

•   e z p i o t 3  ( . . . . ,  ' a n im a t e ' )  —  а н и м и р о в а н н ы >>  e z p l o t 3 ( ' s i n ( t ) ' , ' c o s ( t ) ' , ' t ! , [ 0 

р ем н ы х инетасвл

-

[ t m i n ,  t m a x ]  )  — Т О   Ж

й   п а р а м е тр

•   ezsurf  —  п о с рт о е н и

й

о   ц в ео т   "Гркесоич аф

и   н фу к ц и

и  дву

м   м н о г уо л ь н и к  пинетасвл дер

е   а н а л о ги ч н

х   пе о

а   в   рт е м х р н о

м

у кн ций"ф авыг л

  17).

т   з ак р аш ен н ы й   ц в ео т м   м н о г уо л ь н и к . •   fi i i 3 ( x,  у ,  z,  с )  —  ри есу В ре ш и н ы  м н оглуь н и к а   (х  ( i ) ,  y( i ) ,   z (i))  серождат я  в  тре х   п ревы х Ы ВХОДН Х   а р г ум е н т а х ,  П ри ч е м   le n gt h ( х )  =   le n gt h ( у )  =   l e n gt h ( z ) . М н о г уо л ь н и к   од л ж е н   и м ет ь   з а м к н ут ю   гр а н и ц у ,  п о э бтм у   п р и  н еоб о х ид м о с т и   п о с л ен д я я  то ч к а   с о ие д н я с е т я   с  п ер в о й . Чевт р ыт й   в о х нд о й а р мг у е н т   о п р е дл я т   ц в е т  и  сп о с б  з а л и в к и . З али в к а   м н о г уо л ь н и к н о г о   и з   с о к р ащ ен и и л и   в е к то р а   и з  тре

й   лд х   э л е м н от

а   о нд и я   ц в еат

м   ц в ео т м   п р о и с о х ди т   п р и   ку а з а н и и   од :  f r ' ,  'g 1 ,   ? ь ! ,  ' с 1 ,  ' т ' ,  'у 1 ,  'w!,  ' k' , в  в  фо р м а т е   [г   д   Ь ] , н а п р и м е р :

» 

f i l l 3 ( [ l 

2  - 3  1 ] , 

[0  1 1 

0 ] , 

[ - 1  7  0  - 1 ] , 

» 

f i l l 3 ( [ l 

2  - 3  1 ] , 

[ 0  1 1 

0 ] , 

[ - 1  7  0  - 1 ] ,   [ 0 . 8 

П лавн о рт е б у

е   и з м ен ен и т   ку а з а н и

е  ц в ет я   в е к то р

а   з али в к а   з н ач ен и й

и   в   п р е дл а х ,  со втесюу щ и

  е щк т у е

'г' ) 0 . 9 

й   п а л и тр х   ц в ет

0.3])

ы   ц в ет у   в ер ш и н

а ,

р П е ин л о ж

  1. Ос но веы

 окм ыанд

 и  фуцнки

1051 zyxwvutsrqpon

 MATLAB  и  Toolbox 

т . е .  size  (с )  =   size  (а ) . Ук а з а н н ы е   з н ач ен и я   сн ач л а   м а с ш ат б и р ю у т с я  (см . фну к ц и ю  caxis),  а  з ает м   п р о и с о х ид т   б и л и н ей н а я  и н етр п о л яц и ц в ет а  в н рту и   м н о г уо л ь н о й   о б л а с ти , н а п р и м е р : »  f i l l 3 ( [ l  2  - 3  1] ,  [ O i l  0] ,  [- 1  7  0  - 1] ,  . . . [0.8  0.9  0.3  0.7])

я

•   fi i i 3 ( x,  Y,  z,  с )  —п о с т р о е н и е   ср аз у   н ес к о л ь к и х   м н о г уо л ь н и к о в , ч и сл о   м н о г уо л ь н и к о в   равн о   с от л б ц а м   м а рт и ц   х ,  Y  и   z  (п р епд о й   а р гм у е н т   с , л а г е тс я ,  ч т о   size(X)  =  size(Y)  =   size( Z ) ) .  Чевт р ыт з адю щ и й   ц ве т   з а л и в к и ,  м ож е т   бы т ь   в е к то р о м ,  лди н а   кот рог о   со в п аде т   с   ч и сло м   с от л б ц о в   в   м а рт и ц а х   х ,  Y И  Z. Ук а з а н и е   м а тр и ц ы  с , та к о й   ч т о   size  (С )  =   size  (х) ,  п р и в о ди т   к   п лав н о й   з али в к е   к а ж до г о м н о г уо л ь н и к а .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 'PropName1,  'PropVale',  ы   ' PropNairie ',?  PropVale ' П О З В О Л Я Ю

ќ  fill3(X,  Y,  Z,  С ,  1  PropVale ' ,  . . . ) —  п а р

в с ев о з м о ж н ы patch , н а п р и м е р

е   с в о й с вт

а   м н о г уо л ь н и к

f

PropName', Т  зтад

а   к а к   п о л и го н а л ь н о г

о   о б ъ ек т

ь

а

:

»  fill3([l  2 - 3 1], [0 1 1  0 ] , [- 1  7 0 - 1 ] , 'у 1,  ... 'EdgeColor1,  ( g \  'LineWidth1,  4)

Ф ну к ц и п ом щ ат м

я   f i i i 3  од п сук ае и   куа з н и я   с о в т ес ю у щ и и   и  ц в еот м , н а п р и м е р

f i l l 3 ( x l / 

y l , 

а   к а ж до г м   пр

и  п о м о щ

е   м н о г оу л ь н ы х   ч ев т р о

х   о б ъ е к от в   с  к о р ди н а

к   а р мг у е н о т

в   пр

и -

:

z l , 

В ы о хнд о й   а р мг у е н т ле й  н а  вс е  п о с рт о ен н ы h  =   f i l l 3 ( . . . ) С в о й с вт ад л ь н е й ш е

т   п о с рт о е н и

' у ' , 

х 2 ,  у 2 , 

,  в о з в р а щ а е м ы е  м н о г уо л ь н ы

z 2 , 

'g')

й   fi l i 3 ,  яв л сет е   о б ъ ек т

ы   ти п

я  в е к то р м   к у а з ет а  patch .

-

о   и з   гр а фи ч е с к и х   о б ъ е к от в   м о гу т   бы т ь   и з м ен ен ы  в и  se t zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB   (с.м  гаву л   9).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

hidden—  адлеун и е   и л и   о т б р аж ен и е   ч а сет й   к арк асн ы х   п о в е р н х о с ет й , П  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   "Те ын р хемр   и к га ф р   укн ций"ф   а- г л ск ры т х   о т   н а б л ю да е т л я   (с.рм .азд вы  3).

•   hidden  on —  адлеун и

е   н ев и д м ы

х   ч а с етй

•   hidden  off  —  о т б р а ж е н и

е   н ев и д м ы х

•   hidden  —  п ер к лю ч ен и

е   м же д

П   mesh—  п о с рт о ен и

в ух д

 х ыне мепр

е   к арк асн о  " гавы л

 2 и  р.азд

•   mesh(x,  Y,  z)  —  п о срт о ен и од м   з ул е  к а р к а с н о й  скет

  ч а с етй у   р еж и м а

й   п о в е рн х о с т   "Те ын р хемр е   к арк асн о и   п ло ск о ст

. . и   on и   off. и   (с.м  гик афр

 р.азд

й   п о в е р н х о с ит и  х у   (скет а  з адест

  "Грик аф

  у кн ц и й ф

 фукн ций

 " гавы л ,  в ы с о т я   м а тр и ц а м

 3). а   в   к аж и   х  и

1052 

zyxwvutsrqpo

р П е ин л о я ж

Y), со едр ж и ст и   z до л ж н е лд а х   е ктщ у е Точк а   (с.м  р.азд Р а з м е кт ч л уш и п о ль з о в ан и е П о в е р нх о с т м н ог з н ач н о .аздр ав ыг л

ы   бы т обз ор   "Пторв

я   в   с о в т ес ю у щ е ь   о ди н а к о в ы й   п а л и рт а   с уа т н а в л и в а е с т

м   э л ем н т ы   в   з ав и си м о ст я    гик а,фр

 иине зм

а   о се й   п о   му о л ч а н и й   в и д   гр а фи к а .  И з м ен ен и м   axis. ь   м ож е й   нф у к ц и   "Пине отср  3.

е   м а рт и ц ы   z.  М а тр и ц ы   х , Y .  Ц в е т  л и н и й  и з м ен ясет я  в  п ре и   о т   вы сот ы   от ч е к   п о в е р н х о с ит . п р и   п ом ощ и   н фу к ц и и   viewzyxwvutsrqp  тк чио  оа"рзо б ав ыг л   3).

х   р аз м ер о в

ю   в ы б и р а е ст

я   та к е   р а з м е кт

т   с о вт е с вт о а т

,  ч то б и   о се

ь   н е   то л ь к .  С о вт ес юу щ и

  к с е и т ч р па м р

ы   о б ес п еч и т й   п р о и з в о д и ст о   о дн о з н а ч н о й

е   п р и м ер   тйесхвонпр

  х а ын з д

ь   н аи я   с   ис ,  н о   и ы   в   и   инй"л

ы   п р и в е дн

•   mesh (х ,  у ,  z)  —  п ер в ы е  дв а   вонхд ы х   а р мг у е н т а   м о гу т   бы т ь   в е к от р а м и .  В   да н н о м   сч л ау е   зу лам и   к арк асн о й   п о в е рн х о с т и   я в л ю ст я   от ч к (х  ( j) ,  у  ( i ) ,  z ( i , j ) ) ,  п ри ч е м   лд и н ы   в е к то р в   до л ж н ы   с о вт е с о в ат ь   р аз м ер а м   м а тр и ц ы : size  (Z)  =   [len gth  (у )  len gth  (х ) ] . •   mesh (Z) —  в  к ач есвт е  в е к то р в   х  и  у  (см . п р еыд щу и й   вари ан в ы б и р а ю тс я   х   =   [1:п ], у   =   [1:т] ,Г Д е   [т ,  п ]  •=  size( Z ) . •   m e sh ( . . . ,  с )  —  лд м а рт и ц а   с  (см . фну к ц и

я   о п р е дл н и ю   surf).

я   ц в ет

а   п о в е рн х о с т

и -

т   вы з ова

)

и   и с п о л ь з ес т у

я

•   mesh (....,  'PropN ame',  PropValue,  ' PropName' ,  PropValue)  —  OTOб р аж ен и е   п о в е р н х о с ит , св о й свт а   котро й   п ри н и м аю т  з а д н н ы е  з н ач е н и я , н а п р и м е р : »  [X,  Y]  =  m esh grid ( - 3*p i:p i/ 5:3*p i,  - 5 :0 . 5 :4 ) ; »  Z = zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   sin( X). *( Y  +   5) . *( 4  -   Y); >>  mesh(X,  Y,  Z,  ' L in e St yle ' ,  'n o n e 1 ,  'M arker 1 ,  ' . ' ) •   h  =  m esh ( . . . )  —  в о з в р а щ а е (о б ъ ек т   surface).  С в о й с тв п р и  п о м о щ и  set  (с.м  гаву л П   meshc  —  п о с рт о ен и п лоск ост и  ху .  И с п о л ь з о в а н и и к га ф р  фукн ций"авыг л

е  к а р к а с н о

П   meshz —  п о с рт о ен и п о в е р н х о с ит

е  к а р к а с н о

•   piot3  —  п о с рт о е н и

ине отрс

кс пеитчр амр

т   к у а з ет л ь   н а   п о с рт о е н н у ю   п о в е рнх о с т ь а   п о в е рн х о с т и   в   ад л ь н е й ш е м   и з м е н я ю ст я   9).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH й  п о в ернх о ст е   а н а л о ги ч н

и   в м ес т е   с  л и н и ям о   mesh  (с.м  р.азд

и  уро в н   "Те ын р хемр

я  н а

и  уро в н

я  н а

  3). й  п о в ернх о ст е  а н а л о ги ч н

. И с п о л ь з о в а н и е   ли н и

и   в м ес т о  mesh.

й   в   р т ем х р н о х аын зд

е   с  л и н и ям

м   п р о с тр а н с тв  птйсехвонр

е   (с.м  и  линй"авыг л

•   p io t 3  (x,  у ,  z)  —  о т б р а ж е н и е   ли н и , п р о хядщ е й   ч ер о р ди н а т м и   ( x( i) ,  y( i ) ,  z ( i ) ) ,  гд е   х ,  у   и   z  яв л ю ст

 р.азд   3).

з   то ч к я   в е к то р а м

  "П-о и   с  к о

и

р П е ин л о ж

  1. Ос но веы

 окм ыанд

о ди н а к о в й   дл и н ы ц и ю  p lo t )  з а д е

т   ц ве

p l o t ( х , 

у , 

z , 

 и  фуцнки

.  Д о п о л н и те л ь н ы т  и  сит л

1053 zyxwvutsrqpon

 MATLAB и  Toolbox 

й   с рт о к в ы , а  так ж

ь  л и н и

е  ти

й   а р мг у е н п  м а р к е р о в

т   (см , н а п р и м е р

. фн у к

:

' г   : о   '  ) .

•   p io t 3  (х ,  Y,  z)  —  о т б р а ж ен и е   ли н и й , п р о хядщ и х   ч ер з   то ч к и   с  к о о р ди н а т м и   (X(i,  : ) ,  Y(i,  : ) ,  z ( i ,  : ) ) , гд е   ч и сл о   ли н и й   со в п ад е т   с  ч и сло м   с от л б ц о в   м а тр и ц .  М а тр и ц ы   х ,  Y и   z  до л ж н ы   бы т ь   о ид н а ковы х   р аз м ер о в .  В о з м о ж е н   вы з о в   p lo t  с  ч евт ры м   д о п о л н и те л ь н ы м а р г м у е н от м ,  о п р едляю щ и м   ц ве т   и  сит л ь   ср аз у   в се х   л и н и й  и  ти п   м ар к ер о в .  Д л я   суатн о в к и   св о й ст в   ли н и й   п о   о ед т л ь н о с т и   е су л д т   и сп о ль з о в ат ь   о б р ащ ен и е : p io t 3  (xi,  yi,  zl,  si ,  x2,  y2,  z2,  s2,  . .  . ) , гд е в о х нд ы е   а р мг у е н т ы   xi,  yi,  zl,  x2,  y2,  z2  и  т . д . м о гу т   бы т ь   ли б о   в е к от рам и , л и б о   м а тр и ц а м и   о ди н а к о в ы х   р аз м ер о в ,  а   с рт о к в ы е   а р мг у е н т ы si,  s2  и  т . д . з а д ю т   си т л ь  л и н и й .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM ќ  plot3(х , у , z, fPropNamef, 'PropVale', fPropName', 'PropVale',  ...)  —

ку а з а н и з в ан и

е   св о й ст

в   ли н и и   к а ж до г а  и  ег о  з н а ч ен и

е  с в о й свт

•   h  =  p io t 3  ( . . . )  —  в ы охнд о вс е  с о з адн н ы е  л и н и и  (р и с о в а н н ы С в о й с вт н ей ш е

а   к а ж од г м  п р и  п о м о щ

е  (см

о   гр а фи к . фну к ц и

й   а р мгу е н

а   п ар м и ,  с о едр ж а щ и м ю  p lo t ) . т   в е к от

е  о б ъ ек т

и   на -

р  h со едр ж и ы   Lineseries).

т   к у а з ет л

и  н а

т   бы т ь   и з м ен ен ы   в   ад л ь о   и з   гр а фи ч е с к и х   о б ъ е к от в   м о гу и  set zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   (с.м  гаву л  9).

•   sl i c e  —  в и з аул и з а ц и н и я  з н а ч ен и й  н а  р а з л и ч н ы

я   н фу к ц и

и  тре

х   п ер м ен н ы х  и л

х   п л о с к о с ят

х   пр

и  п о м о щ

и   п о в е р н х о с ят х

и   о тбраж е

-

.

я   н фу к ц и и  до л ж н ы   бы т ь •   sl i c e  (х ,  Y,  z,  v,  sx,  sy,  sz)  —  з н ач ен и в ы ч и с л ен ы   в   от ч к а х   р т ем х р н о й   с ек т и , о п р едля м о й   м а тр и ц а м и   х , Y и   z  о ди н а к о в ы х   р аз м ер о в ,  и  з а п и с а н ы  в   рт емх р н ы й   м ас и в   v.  В екот р ы   sx,  sy  и  sz  з а д ю т   п л о с к о с ит , к о т р ы е  о б р а з юу т   с р ез ы   м р те х н о г о п р о с т а н вс т а .  Е сли , н ап ри м е р   sx(i)  =  - 2.5,  т о   н а   п лоск т и   х   =   - 2.5 е д бу т   о т б р а ж а ть с я   з а л и ыт й   ц в ое т м   к о н р ут н ы й   гр а фи к   и с е мл у д о й нф у к ц и .  Ц в е т   в   к а ж од й   от ч к е   о п р е дл я с т я   п р и   п ом щ и   л и н ей н о й и н ет р п о л я ц и

.  И с л еод в а н и

е   п о в е дн и

и   (х 2  + y2)z  в   о б ъ ем

я   н фу к ц и

jc e[- l,  l] ,  ye  [- 2,  2],  z e [ - l ,  l]  н а   ср ез ах ,  о б р аз еум ы х   п л о с к о с ят м х  =  ± 0.4,  у  = 0,  z = 0, ± 0.8 , п р о и з в о ди ст я   п р и   п ом ощ и   ю с лу е д щ и м ан д : »  [X,  Y,  Z]  =  m e sh gr id ( - l:0. 1:l,  - 2:0. 2:2,  - 1:0 . 1:1) ; » 

V  =   ( Х . ^ 2  +   Y . ^ 2 ) . * Z ;

» 

s l i c e ( X / 

О бъе в е р н х о с ят м и

м   м ож н

Y,  Z ,  V, 

о   с р ез ат .  М а тр и ц ы

[ - 0 . 4 

ь   н е   то л ь к ,  з а д ю щ и

0 . 4 ] , 

о   п л о с к о с ят м и е   п о в е р н х о с ьт

[ 0 ] , 

[ - 0 . 8 



е и х   ко

-

0.8])

,  н о   и   р а з л и ч н ы м ,  куа з ы в а ю ст

и   по я   в м ес т

о

1054 

zyxwvutsr

р П е ин л о я ж

в е к то р о р е де л е н н о коман д

в   в о   в хо д н ы й   вы ш е

х   а р г ум е н т а ,  н а   с ф е р

е   п р о и з в о ди тс

х   s l i c e .  О т о б р а ж е н и я   пр

е   ф ун к ц и и и   с л е д ую щ и

и   п омощ

,  о п

х

:

>>  [XI,  YI ,  Z I ]  =   sp h e r e ; » 

s l i c e ( X /   Y,  Z,  V,  XI,  YI,  Z I)

П ервы ч ен и ям yi , 

е   т р и   в хо д н ы и   v,  м о г у z i ) .  П р е д п о л а г а е т с

Z  =   l : p ,  г д

е   а р г ум е н т а ь   о п ущ е н ы

т   бы т

,  з а д а ю щ и е   к о о р ди н а т ы   то ч е к   с о   зн а :  s l i c e  (v,  sx,  sy,  sz ) ,  s l i c e  (v,  xi , я   п о   ум о л ч а н и ю ,  ч т о   х   =   i : n ,  Y  =   i:m ,

е   [n  m  p ]  =   s i z e  (V) .

•   s l i c e  (.  . . ,  m ethod)  —  с п о с о н е м   до п о л н и те л ь н о м   в хо д н о ' l i n e a r '  (П О  у м о л ч а н и ю )  Л И

б   и н те р п о л я ц и м   а р г ум е н т И   'cubic'.

•   s l i c e  (hA,  . . .)  —  г р а ф и ч е с к и л е м   пА .

й   вы во

•   h  =   s l i c e  ( . . . )  —  в   в ы х о д н о те л е й   н а   с о з да н н у ю   п о в е р хн о с т ь

м   а р г ум е н т .

и   о п р е де л я е тс е   и   може

д   п р о и з в о ди тс

я   в   п о след 1 :  ' n e a r e s t ,

т   б ы ть я   н а   ос

е   в о з в р а щ а е тс

и   с   ук а з а т е

я   в е к то

-

р   ук а з а

-

т   бы т ь   и з м ен ен ы   в   да л ь н е й ш е м   пр и а   к а ж до й   п о в е р хн о с т и   м о гу и   s e t zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   (с.м   авуг л   9).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF

С в о й с тв п омощ

•   s phe re —  о т о б р а ж е н и

ст и   с фе р ы

е   сфер

ы   и   ген ер ац и

я   то ч е к

,  л е ж а щ и

х   н а   п о в е р хн о

-

.

•   sp h e r e  —  п о с т р о е н и

е  в   г р а ф и ч е с к о

м   окн

е  е д и н и ч н о

й   сферы

.

•   [х ,  Y,  z]  *  s p h e r e —  г е н е р а ц и я   м а тр и ц   х ,  Y  и   z,  с о т в е т с т в у ю щ и х е ди н и ч н о й   сфер е ,  п р и ч е м   size ( X)  =   size ( Y)  =   si z e ( Z )  =   [21  21] . С ам а   п о в е р хн о с т ь   н е   о то б р а ж а е тс я ,  е е   м о ж н о   п о л уч и т ь   пр и   п омощ и , н ап ри м ер :  mesh (X,  Y,  Z ) , su r f( X,  Y,  Z ), su r f  1(X,  Y,  Z ). •  на

[x,  Y,  z]  =   sp h e r e  (n)  —  в ы х о д н ы п   +   l,  п о в е р х н о с т ь   н е   о то б р а ж а е тс я

•   sp h er e  (n)  —  п о с т р о е н и п оль з ован и е м   п   +   1 т о ч е •   stem 3  - — о т о б р а ж е н и

е   в   гр афи ч еск о к   п о  к а ж д о м

е   т р е хм е р н ы

•   st em 3( z)  —  п о с т р о е н и н и е   z ( i ,  j)  п р е д с т а в л я е т с кост и   z  =   о  и  о к а н ч и в а ю щ е г о с •   stem 3  (x,  у ,  z)  —  о т р е з к с т и   z  =   о  с  к о о р д и н а т а м О   » 

t  -  

О   » 

х   =   s i n ( t )  ;

е   м а тр и ц .

х   да н н ы

ы   и м ею

м   окн у   и з  н а п р а в л е н и

е   е ди н и ч н о

х   в  ви д

е   ч ерен ково

т   раз м ер

й  о с е

ы   п   +  l

й   сфер й   к о р ди н а т

0 : p i / 1 0 : 2 *p i ;

я   в   то ч к а :

.

й   ди а гр а м м ы

е   з ави си м ост и   z ( i ,  j)  о т   i  и   j .  К а ж д о я   в   ви д е   о тр е з к а ,  н а ч и н а ю щ е г о с я   к р уг л ы м   м аркером . и   вы сот ы   z ( i)  н а ч и н а ю т с и   ( x ( i ) ,  у  ( i ) ) , п р и м е р

ы   с   ис

.

е   з н аче я   н а   п лос х   п лоско

-

р П е ин л о ж

  1. сО но веы О   » 

 ком ыанд

 и  фуцнки

1055zyxwvutsrqpo

 MATLAB и  Toolbox 

у   =   c o s  ( t ) ;

О   >>  z  =   e x p ( - x -   у ) ; О   >>  s t e m 3 ( x ,  у ,  z)

•   stem 3  ( . . . , '  f i l l e d ' )  —  о т р е з к м аркерам и .  У к а з а н и е   ч е тв е р то г т а   п оз воляе т   о п р е де л и т ь   ц ве т   и ц и ю   p l o t ) , н а п р и м е р : stem 3  (х ,  •   h  =   stem 3  ( . . . )  —  в ы х о д н о е тс я   у к а з а т е л е м   н а  ли н и и керо в   можн о   з а те м   и з м ен и т

и   о к а н ч и в а ю тс я   сп лош н ы м о   до п о л н и те л ь н о г о   в хо д н о г   с ти л ь   ли н и и   и   ти п   м а р к е р у ,  z,   f r * f ) .

й   в е к то р   h  с о д е р ж и т   ук а з а т е л и , h (2)  —  н а   м а р к е р ы .  С в о й с т в ь   пр и   п омощ и   se t ,  н а п р и м е р

>>  h  =   s t e m 3 ( x ,  у ,  z, 

и   к р уг л ы м о   а р г ум е н а   (с м .  ф ун к

а   ли н и :

и -

,  h ( l)  я в л я й   и   м ар

-

' r *' )

>>  s e t ( h ( l ) ,  ' C o l o r ' , 

' g' )

» 

' b ' ) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH

s e t ( h ( 2 ) ,  ' C o l o r ' , 

•   wa t e rfa l l  —  п о с т р о е н и

н ап равлен и й

е   каркасн о

й   п о в е р хн о с т

и   ли н и ям

и   п о   о дн о м

у  и з

.

•   w a t e r f a l l  ( X, Y, Z )  —  о т о б р а ж а е т с н о   mesh), н о   б е з   л и н и й , с о т в е т с т в ую щ и Ли н и и ,  о б р а з у ю щ и е   п о в е р хн о с т ь •   w a t e r f a l l  (Z)  —  а н а л о г и ч н

я   каркасн а

я   п о в е р хн о с т х   с то л б ц а

,  н а п р а в л е н

ы   в до л

о   mesh  с  о д н и

м   в хо д н ы

Д л я   п о с тр о е н и я   каркасн о й   п о в е р хн о с т и ю т   с то л б ц а м   м а тр и ц ,  с л е ду т   и сп ольз оват waterfall(X, Y, Z),waterfall(Z) . •   p e a ks  —  ф у н к ц и я ч еск и х   в о з м о ж н о с те м а с ш та б и р о в а н н о м

, п р е д н а з н а ч е н н а я  д л й   M AT L AB.  Г е н е р и р у е м ы у   д в ум е р н о м у   р а с п р е де л е н и

•   z  =   p eaks  —  г е н е р а ц и

я   м а тр и ц

ь   (а н а л о г и ч ц   х ,  Y с е т к и и  х .

м   а р г ум е н т о м

,  л и н и

.

.

и   к о то р о й   с о тв е тс тв у ь   тр а н с п о н и р о в а н и е

я   де м о н с тр а ц и е   з н ач ен и ю   Г а ус а

ы   з н ач ен и

м   м а тр и ь   ос

и   и   и з уч е н и я   с о т в е т с т в ую .

-

:zyxwvutsr я   графи

т

й   z,  s i z e  (z)  =   [49  4 9] .

•   z  =   p eaks  .(n)  —г е н е р а ц и

я   м а тр и ц

ы   з н ач ен и

й   z,  s i z e  (Z)  =   [n  n ] .

•   z  =   p eaks  ( v) —г е н е р а ц и

я   м а тр и ц

ы   з н ач ен и

й   z,  s i z e  (Z)  =   l e n gt h ( v) .

•   z  =   p eaks  (x,  Y)  —  г е н е р а ц и я   м а тр и ц сы ваем о й   м а тр и ц а м и   х   и   Y.  Д л я   п о л уч е н и п ольз оват ь   m esh grid . Вы зо в   p eaks  б е з   в ы х о д н ы х   а р г ум е н т о н о й   ОИ Т Л а з Й   ц в е то м   Т С ОН Х р е В ОП p e a k s( v) , p e a k s( X,  Y). Ук а з а н и з ап и с

е   в   к а ч е с тв и   к о о р ди н а

т   уз л о

е   в ы хо д н ы в   с е тк

х   а р г ум е н т о и   в   м а тр и ц

ы   з н ач ен и я   м а тр и

в   п р и в о ди И   ИЦ Н К у ф

й   в   уз л а ц   с е тк

х   с е тк и и   уд о б н

,  о п и о   ис

-

т   к   о то б р а ж е н и ю   каркас И   p e a ks:  p e a ks,  p eaks  ( n ) ,

в   м а тр и ц   х ,  Y  и   z  п р и в о д и ы   х   и  Y и  з н а ч е н и й  p eaks  в   z.

т  к

1056 

zyxwvutsrq

р П е ин л о я ж

П  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA surfzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   —  п о с рт о ен и е  з а л и от й   ц в ое т м   к арк асн о й  м о едл и . В охнд ы е   а мр гу е н т ы   с   к о р ди н а т м и   зу ло в   к арк асн о й   кс ет и   и   з н ач ен и ям и   вы сот ы   и   м ат ри ц а , о п р едл яю щ а я   ц ве т  п о в ернх о с ит , з адю ст я   в  та к о м   ж е  п о р ядк е , ка к и   в  mesh  (см . в ы ш е) , н а п р и м е р : surf  (X.,  Y,  z,  с )  (с.м  р.азд  "Те ын р хемр и к га ф р  фукн ций  " гавы л  3). пУ р а в л ен и е   сп ос бо м   з али в к и   ц в ео т м   яч е к   к арк асн о й  п о в ернх о с т и з в о ид с т я   п р и   п ом щ и   к ом ан д ы   shading,  з а д в ем о й   п осл е П а р м е тр ы   facetd  (п о   му о л ч ан и ю )  и л и   fla t  з а д ю т   п о с т ян н ы яч ей к и ,   a  shading  о бесп еч и в ае т   б и л и н ей н у ю   и н ет р п о л я ц и ю з н а ч ен и ям и   в   ч ые т р е х   з ула х   яч ей к и .  Ц в ет а   зу ло в   яч е к   з н а ч ен и ям и   э л е м н от в   м а тр и ц ы   с   та к о г о   ж е   р аз м ер а ,  к а к м а рт и ц ы  х , Y и  z.  П р о ц ес с  з а л и в к и   ц в ео т м   яч ей к и  п р о щ е  в сег п р и м ер е  п о в е р нх о с ти , со стящ е й  и з  о нд о й  яч ей к и : »  [X,  Y]  =  m esh grid( [- l  1]) X = - 1  1 - 1  1

и   п ро а   surf. й   ц ве т   ц в ет а   жм д е у о п р е дл я ю с т я   и   о с ат л ь н ы е о   п о н ят ь  н а

  вы з ов

Y = zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

- 1  - 1 1  1 »  Z = X + Y;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA »  С  =  [ 0 0;  0 1  ] ; >>  colormap(jet) »  surf(X,  Y,  Z, С ) >> shading  interp

Н л еув ы

е   э л ем н т

т у   зу ло

в   с ке т

ы   м а рт и ц

ы   с   с о вт е с ю у

и   с   к о р ди н а т м

т   с и н ем

у   (в  п а л и тр

и   (- 1, - 1 ) ,  (- 1, 1),  (1, - 1 ) ,  а   э лем н

ри ц В н рт у м ж ед

ы   с ,  р а в н ы й   е ид н и ц е ,  овтеч а т   к расн о м у   ц в ет у и   яч ей к и   ц в е т   в ы б и р а е ст я   п р и   п ом щ и   б и л и н ей н о у   ч еыт р ь м я   в ер ш и н ам и .  Е сл и   э л ем н т ы   м а рт и ц ы [0,1], т о   п р о и сох ди т   и х   л и н ей н о е  п р е о б р а з о в а н и е  к  ортез к ц и я   caxis  п о з в о л яе т   с у ат н а в л и в а т ь   с о вт е с и е   м ж ед н и е м   нф у к ц и и   л д я   да н н ы х   о с ей ,   a  colorm ap—  в ы б и р а т о ц в е от ы е   п а л и тр ы .  О б р а щ ен и е   к   surf  бе з   ч евт р от г щ е го с я   м а рт и ц е й   с   ц в еат м и   зу л о в ,  п р и в о ди т   к   вы бор ри ц ы   z, т .  е . surf  (х ,  Y,  z)  э к в и в а л ен нт о  surf  (х ,  Y, 

•   surface   —  н и з к о ру в н е в а

"Оинвещс

кевт,оъ б

е   je t )  ц ве

я   н фу к ц и  окет ъ б

я  дл  Light  (иинкчтос

я   с о з ад н и

-

  в   в ер ш и н е   (1,1). й  и н етр п о л яц и и   с   н е   п р и н а дл е ж а т у   [0,1]. Ф ну к у   ц в ео т м   и  з н ач е ь   п рои з воль н ы е   а р г м у е н ат ,  яв л ю у   в   к а ч е с вт е   с   м ат Z ,   Z ).

я  п о в ернх о сет  свтеа)

т   м ат

-

  "гавы л

й   (с.м   9).

 р.азд

р П е ин л о ж

  1. Ос но веы

 ком ыанд

s u r f a c e ( ' P r o p N a m e ' , 

 и  фуцнки

1057zyxwvutsrqpon

  MATLAB и  Toolbox 

' P r o p Va l u e ' , 

1

' P r o p N a m e , 

' P r o p Va l u e ' ,  . . . ) —

общ и й   ви д   вы з ов а   surface,  п о з в о л яю щ и й   п о с рт о и т ь   п о в ернх о с т ь   с   за да н н ы м и   с в о й с вт а м и .  Н и ж е   п ер ч и с л ен ы   н аи бо ле е   ч аст о   и с п о л ь з е му ы е с в о й с вт а   и   и х   воз м ожн ы е   з н ач ен и я   с   н е о б х ид м ы м и   к о м е н та р и я м и . С елуд т   и м ет ь   в  в и уд ,  ч т о   п о в ернх о сьт , о то б р а ж а е м а я   н фу к ц и е й   surface, в ы в о ди с т я   н а   е к щт у и е   ос и   гр а фи ч е с к о г о   окн а .  Е сл и   е щк т у и х   о се й   (и л и окн а ) н ет , т о   с о з адю ст я   оси , со едр ж ащ и е  гр а фи к  п о в ернх о с ит . О дн а к о  п о му о л ч а н и ю   ос и  яв ляю ст я  двму ер н ы м и , т . е . н а б л ю даетл ь   с м о тр и т   н а  н и х я   0°.  В ы с о к руо в н ен ев ы е с   то ч к и ,  и м ею щ е й   аз и м у т   90°  и   гоу л   ск ло н ен и гр а фи ч е с к и е   нф у к ц и , н а п р о ти в , в ы в о дя т   гр а фи к , в и д м ы й   с  то ч к и   об з ора ,  аз и м у т   котро й   рав е н   - 37.5°, а   гоу л   ск ло н ен и я   30°.  Д л я   п о лчуен и я п ри вы чн ог о   в и д а   гр а фи к а   п о в е рн х о с т и   п р и   п ом ощ и   surface,  слеодв а те л ь н о ,  ртебсу я   с у ат н о в и т ь   от ч к у   обз ора ,  и сп о ль з у я   н фу к ц и ю   view: view (- 37.5,  30) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA   (с.м  р.азд   "Птовр   ик а,гфр   ин е и з м   к чи т о   а"рзо б ав ыг л  3). З а дн и е  ви залуи з и ермуы х   а дн ы х  п ро и з в оид ст я  усатн овк й   св о й ст в  XData, YData  и   ZData. З н ач ен и ям и  дан н ы х   св о й ст в   яв л ю ст я   м а рт и ц ы   х ,  Y и   z с к о р ди н а т м и   зу ло в   к арк асн о й   к с ет и   и  з н ач ен и ям и  в ы с о т ы   в   с о в т ес юв у щ е й   то ч к е   п о в е рн х о с т и   (см . фн у кц и ю  mesh). Ц в е т   к а ж од г о   з у л а   к с ет и .  П о с л еод з а д ест я   м а рт и ц е й   в   с в о й св т е   CData  (см . фн у к ц и ю  surf  в ы ш е) в а ет л ь н о с т ь   к ом ан д , п р и в едн н а я  н и ж е , о то б р а ж е т   п о в е рнх о с т ь   в  о нд о м гр а фи ч е с к о м   окн е  п р и   п о м щ и   surf,  а  в  дргоу м   —  с  и с п о л ь з о в а н и е м  эк в и в а л е н тн о г о   (з а   и склю ч ен и е м   вы вод а   ли н и й   ск ети )  о б р а щ ен и я   к surface.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA >> [X, Y] = meshgrid(- 3:0.5:3); >> Z = sin(X).*cos(Y).*exp(abs(X.*Y/10)); »  surf(X, Y, Z) >> figure >> surface('XData1, X, 'YData1, Y, 'ZData', Z, 'CData', Z); »  view(- 37.5, 30) З н ач ен и е   с в о й с вт х ,  Y и   z.  В   да н н о м а рт и ц ы   к   ортез к щку е й   п а л и тр с о б   о п р е дл н и с в о й с вт а   п о в е рн х о с т ' sc a le d ' ,  ч т о н овк а   с в о й св т ц и и  з н ач ен и й C ( i ,  j)  Н Ж ЛОД

а   CData м ож е т   бы т ь   м а рт и ц е й   с  та к о г о  ж м   п р и м ер е   с   =   z.  Ли н е й н о е   п р ео бр аз о в ан и у   [0,1]  суатн а в л и в а е т   с о вт е с и е   м ж ед ы   и   з н а ч ен и ям и   м а рт и ц ы  с   (и н едк с и р о в ан н ы я   с о вт е с и я   э л е м н от в   с   ц в ет у   з ав и си и   CDataMapping.  П о   му о л ч а н и ю   з н ач ен и   к а к   р а з   и   о б ес п еч и в ае т   л и н ей н о е   п р ео бр аз о в ан и е у   CDataMapping з н ач ен и я   ' d i r e c t '  п р и в о ди т  с  к а к  н о м ер о в   ц в еот в   е кщ т у е й   п а л и тр ы , п о э т м Ы  П р и н а д л е ж а т

ь   О тр е з к

е  р а з м е р а

, к а к й у   ц в еат м и   ет й   ц в е)т . С п о т   о т   з н ач ен и я е   равн о .  астУ   к   и н ет р п р е ат у   э л ем н т ы е   з н ач ен и

у   [ 1 ,  l e n g t h  ( c o l o r m a p )  ] .

1058 

Ц ве юм у до л ж н

т   к а ж до г о   зул а   к а р к а с н о й  скет ,  н е   п р и в яз ы в а яс ь   к   ц в е от а  б ы т ь   н е  м а тр и ц а , а  трмех р н ы

гд

zyxwvutsr

р П е ин л о я ж

е  

[m  n ]  =   s i z e ( X ) ,  а   С ( : , 

ч и слам л ен о г

и   о т   н л у я   д о   е ид н и ц ы о  и  си н ег о  ц в ет а  дл

и   п о в е рн х о с т й   п а л и рт е й   м ас и : , 

1 ) ,  С ( : , 

,  о п р едляю щ и м я   к а ж од г

о   зул

а   к арк асн о

и   м ож н .  З н ач ен и е в  р а з м е р

о   з адват ь   н ап р я м   с в о й с вт а   CData а   size  (С ) =  [m n  3],

: ,  2 ) ,  С ( : , 

и   п роп орц и й  секти

: , 

3) 

ЮЯ В Л ТС

и   к расн ог

Я

, з е -

.

С п ос б   и з м ен ен и я   ц в ет а   ли н и й   к арк асн о й   п о в е рнх о с т и   о п р е дл я с т я з н а ч ен и е м   с в о й с вт а   EdgeCoior.  З а н а ч ен и е   ' f l a t '  п р и в о ди т   к  п о с т ян н о м у   ц в те у   гр а н и ц ы   в   п р е дл а х   к а ж од й   яч ей к и ,  ' i n t e r p '  —  о бесп еч и в ает п лав н о е   и з м ен ен и е   о т   в ер ш и н ы   к   в ер ш и н е   (и сп о ль з сету я   л и н ей н а я   ин ет р п о л я ц и я ) .  Ф и к с и р о в а н н ы й   ц в е т   з а д е ст я   онд и м   и з   со к р ащ ен и й :  ' с 1 , ' т 1 ,  ' у ' ,  ' к 1  (п о   му о л ч а н и ю ) ,  ' г 1 ,  ' g f ,  ' b 1 ,  'w1,  и л и   в е к то р м   и з   рт е х э л е м н от в   в   R G B. З н ач ен и е   'п о п е '  п р и в о ди т   к  то м у ,  ч т о   ли н и и  к а р к а с н о й  п о в ернх о с т и   н е   о т б р а ж а ю тс я . С п ос б   з али в к и   яч е к   с уат н а в л и в а е ст я П о с т ян н о е  з н ач ен и е  F aceCoior, р а в н о и л и  в ек от р у   и з  тре х   э л ем н от в , п р и в о ди то м .  З а л и в к а   яч ей к и   н е   п р о и з в о д и ст я з н ач ен и е   'п о п е ' .  И з м ен ен и е  ц в ет а   в   п р е дл а и л и   ' i n t e r p '  (см . фну к ц и ю  surf).  З н ач ен и п о ль з о в ат ь   м а рт и ц у   с  р а з м е р а , о тл и ч н о г де м о н с р т и р е у т   о т б р аж ен и е   ет к с р ут и р о в а н н о ср ут а   с о д е р ж и ст я   в   гр а фи ч е с к о м   фа й л 300 п и к с ел о в , ц ве т  к а ж од г о   п и к с ел а  п р есдатв ляест

  п р и   п ом щ и   с в о й с вт а   F aceCoior. е  онд о м у   и з  с о к р ащ ен и й  дл я   ц в ет а т   к  з а л и в к е  все х   яче к   о нд и м  ц ве ,  сел и   св о й свт о   F aceCoior  и м е т х   яч ей к и   з ав и си т   о т   ' fla t ' е   texturemap  п о з в о л яе т   ис о   о т  х , Y и  z. С люеуд щ и й   п ри м е р й   п о в е р н х о с ит ,  сам а   ек т е   texture.bmp  р а з м е р а   300  н а я   24 б и та м и .zyxwvutsrqponmlk

>> С  = imread('texture.bmp'); >> whos С Name 

Size 

С  

Bytes  Class

300x300x3 

270000  uint8  array

Grand  total  is 270000  elements  using  270000  bytes

М ас и в   с   я в л ес т RG B.  П ер д   и сп о ль з о в ан и е е уд т  п р е о б р а з о в а т

я   рт е м х р н ы м ь   к  ти п

,  рт еь е   и з м ер н и м   м ас и в а   ц в ет а   в   к а ч е с вт у   double  и  м а с ш та б и р о в а т

» 

С   =  d o u b l e ( С ) ;

» 

С ( : , 

:  ,  1)  =   С ( :  ,  :  , 

D / 255;

» 

С ( : , 

: , 

2)  =   С ( : , 

: , 

2)/ 255;

» 

С ( : , 

: , 

3)  -   С ( : , 

: , 

3)/ 255;

е   с о вт е с у

т   ц в ет у  в ы   е г о   е лс -

е   е т к рс у ь   э л е м н ыт

:

Т еп р ь   р т ем х р н ы й   м ас и в   в е щ е св т н ы х   ч и се л   м ож н о   и сп оль з оват ь   лд я з адн и я  ц в ет а   п о в е р н х о с ит . »  surface('XData', X, 'YData', Y, 'ZData', Z, 'CData', C, ... 1 FaceCoior', 'texturemap', 'CDataMapping', 'direct'); »  view(- 37.5, 30)

ин е ж о и л р П

  1. евынос О И он сд х а

L

^

 кы адн мо

я  трекуст

M

-

^

И

Г  

 и  фукн ци

 MATLAB и  Toolbox 

а   и  трекиуст ован а

мш . т п

ш   -  м   - - 1П 1 Ш Г- -

я  п онверх ст

ь  п ри невд

1059zyxwvuts

ы  н а  р и с

. П 2 .zyxwvutsrqponmlk

Т   in-

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA \ 'ik   I  .И Г   Ж\ ш   A   - 3  —1

w n i 

 

J B

к

r/ jf 0> W

p I 

||

,   и  / ц | и' _

дй

Ш

"  L  *

2

•  -  {

4

,  *^

\\

2 0

0

-2

^  i»  T  1

4

-4 -4

1

Рис

С ит л п ом ощ б ы ть то л щ и н

. ГТ2

.  Т ек рсут

а   и  тек срути р о в ан н а

я   п о в е рн х о с ь т

ь   и   то л щ и н а   ли н и й   к арк асн о й   п о в е рн х о с т и   свой ст в   L in est yle  и   Linewidth.  З н ач ен и е :  ' - ' ,  ' : ' ,  ' —'  и л и   ' - ' ,  a  Linewidth  —в е щ е с тв е н н о е  л и н и й  в  п ну кат х   (1 п ну к т   ==  1/72  дю й м а )

и   с у ат н а в л и в а ю ст

о   ат к ж е   о с в ещ ат и   в з а и м о ед й с в т и а  п о в ернх о с ит

ь   п о в е рн х о с т е   п о в е рн х о с т , о вт еч а ю щ и

ь   и   пу р а в л я т и   с о   с в еот м е  з а  о св ещ ен и е

и т е

.

Ти п ,  р а з м е р   и   сп ос б   з ак раск и   гр а н и ц   и   в н рт у е н н о с т щ а ем ы х   в   з ула х   к арк асн о й   с ек т и ,  о п р едляю Markersize,MarkerEdgeColor, MarkerFaceColor. М ожн л яю щ и м с в о й с вт

я   пр м   L in e st yle '  м о ж е е   ч и сло , р а в н о

и   м ар к ер о в т   с в о й с вт ь   с в о й с вт а м и .  Н и ж

,  п о м е а   Marker, zyxwvutsrq ,  о п ред е   п ер ч и с л ен

ы

.

•   Am bien t st ren gt h —  и н етн си в н о ст ь   н ен ап р ав лен н о г о   о к ржу а ю щ е г с в еа т ,  к о т р ы й   о с в ещ а е т   в с ю   п о в е р н х о с ьт .  З н ач ен и е м   м ож е т   бы т ь   ве щ е свт н н о е   ч и сл о   о т   н л у я   д о   е ид н и ц ы ,  п о   му о л ч а н и ю   и с п о л ь з ес т у 0.3.  Ц в е т   о п р е дл я с т я   з н а ч ен и е м   с в о й свт а   AmbientLigthCoior  осе (о б ъ ек т а   axes). •   BackF aceLighting  —  о п р едл н и е   сп ос б а   ч а се т й   п о в е рн х о с т и   в  з ав и си м ост и   о т   н ап р ав лен и я   н о рм ал и   к   п о в е рн х о с т и   и   р ас п о л ж ен и я   на б л ю д а ет л я .  З н ач ен и е  r e ve r se i i t  (усатн о в л ен н о е   п р  ум о л ч а н и ю )  со т в ес т у т   о с в ещ ен и ю   в н р т уе н н и х   п о в е р н х о с ет й ,  н о р м а л ь   к   котры н ап р ав лен а   о т   н а б л ю д а те л я ,  ат к   ж е   к а к   и   в н еш н и х .  В н ртеун н и е   по в е рн х о с т и   н е  о с в ещ а ю стя ,  еСЛ И ТВ С  СВОЙ О  BackF aceLighting  И ем т  ЗНа ч ен и е   u n li t .  О св ещ ен и е   гр а н и ц ы   з а м к н ыт у х   о б ъ е к от в   б уи р а е ст я   пр п ом щ и   lit . 35  З ак

.  130

о я й м и

1060 

zyxwvutsrq

р П е ин л о я ж

•  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA D iffu se st r e n gt h —  и н етн си в н о ст ь   р ас еи в аем о г о   п о в е р н х о с ьт ю   в ес ат ,  и з лчу а ем о г о   и с от ч н и к о м .  З н ач ен и е   с в о й с вт а   D iffusestren gth м ож е т   п ри н и м ат ь   в е щ е свт н н ы е   з н ач ен и я   о т   н л у я   д о   е ид н и ц ы ,  п о му о л ч а н и ю   и с п о л ь з ес т у я   0.6. •   EdgeLighting  И   F aceLigh t in g—  СО О СП б   о с в ещ ен и я   гр а н и ц   И  яче к арк асн о й   п о в е рн х о с т и   с в еот м ,  ищ уд и м   о т   и с от ч н и к а .  С в е т   н е  о к аз ы в ае т   в л и ян и я  н а  гр а н и ц ы   и л и   яч ей к и  к а р к а с н о й   п о в е р н х о с ти ,  лсе и  со о в т ес ю у щ е е   с в о й с вт о   с уа т н о в л е н о   в   ' п о п е ' .  С а м ы м   п р о с ыт м   сп о соб м   я в л ес т я   р ав н о м ер н о е   о с в ещ ен и е   гр а н и ц   яч е к   и   сам и х   яч е к е   сло ж н ы м Р ав н о м ер н о е   о с в ещ ен и е   з а д ес т я   з н а ч ен и е м   ' f l a t ' .  Бо л е н о  да ю щ и м   ч л уш и й   э ф ек т , яв лясет я   сп о с б   Г ру о ,  к о т р ы й   и сп о ль з у с ет я   п р и   в ы б о р е   'gouraud 1 .  И н етн с и в н о с т ь   с в ет а   в ы ч и с л яет я   в   зу ла к арк асн о й   с ек т и , з ает м   и н е т р п о л и р е с ут я   в од л ь   гр а н и ц  к аж од й   яч ей к и И н ет н с и в н о с т ь   с в ет а   в   то ч к а х   яч ей к и   о п р е дл я с т я   п р и   п ом ощ и   ин те р п о л я ц и и   в до л ь   о тр е з к а   п р ям о й ,  со еид н яю щ ег о   р ебр а .  С а м о е   е ст свт е н н о е   о с в ещ ен и е   п о в е рн х о с т и   о б е с п е ч и в а ес т я   вы боро м   з н а ч ен и 1 'phon g ,  с о вт ес юу щ ег о   сп о с б у   Ф о н га .  С п о с б   Ф он г а   со ти т и н ет р п о л я ц и и   н о рм ал и   сн ач л а   в од л ь   гр а н и ц   яч ей к и , а   з ает м   в н рт у яч ей к и .  З н а я   н о р м а л ь   в   к а ж од й   то ч к е   п о в е рн х о с т и   (в   к аж од м   п и к се ле) , м о ж н о   о п р е д л и ьт ,  к а к   о н а   о св ещ ен а   в н еш н и м   и с от ч н и к о м   с в ае т М е то д   Ф он г а   рт е б у т   д о с та о ч н о   боль ш ог о   о б ъ ем а   в ы ч и с л ен и й   с р ав н ен и ю   с  дргиу м и   м е о т ад м и . Ли с и т н с рт о е н и то ч н и к о

г   Ш   с о ед р ж и я   п а р м е рт и ч е с к м   с в е ат ,  к р о м г   П 1 . Прим е

Л ист ин

т   п ри м е

р   и сп о ль з о в ан и

и   з адн н о е  н ен а п р а в л ен н о г

р  ис пол зь ва ни

. , х . я  в и . п о

и   surface  лд я   п о ,  о св ещ ен н о й   о нд и м   ис .zyxwvutsrqponmlkjihgfedcbaZYXWVU

я   н фу к ц и й   п о в е р н х о с ит о   с в ае т

я  фицнук

к -

и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO  s u r f a c e  ; zyxwvu

ќ 

;

ц =  (- 2*pi:0.02*pi:2*pi)'; v = - 2*pi:0.02*pi:2*pi; X = 0.3*u*cos  : X: = 1 +  



;

,  и з   к о т р ы

(cXj,  уjС ,

п адю ци

  CZk)i  j = \   2 

т   к о н с уы q  > Д

-р   к = \   2 

е

  Р

и   н а   с ке т

е   (сх п

  cyr  czk ) t!f;-

я  и н те р п о л я ц и я

е  и н а р г

  =

ч zyxwvutsrqponmlkjihgfedcbaZYXW * 20 ы   н а   бо ле

  ^

л я

,2,..., Р - ,к = \ ,2

=1

 

и

  =

  9   ^  ? УЗ Л

  п о чл у е н и  

л

к- \

,  з адн   г

т   п  = 41  з еу

 =

20 

т   с   (xh  yj,  z^)/ , jt  к = \ ,  2,..., n •   Д

л и н ей н а

% Зи н а д

х   и ос я х д

я   с о ед р ж и

7- 1 

20 Точки

котра

я   з н ач ен и   q

п

о

  му о л ч а н и

е   р е дк о

й   к с ет

Ы   К ОТОрО

Й   Н е   С ОВ

е -

й   в е к от р - н фу к ю   и с п о л ь з ес т у

я

.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG

ц  от с а л б

xL = 1; xR = 3; yL = - 1; yR = 1;

и  ои н е л д е р п

я   -роткев ицкнуф

и

р П е ин л о ж

  1. Ос но веы

 окм ыанд

 и  фуцнки

 MATLAB и  Toolbox 

1063 zyxwvutsrq

zL = 0; zR = 2; % Ги ц а р е н

я  мц и р т а

, си щ а ж р е д о

х  кт а н и д р о

ы  уо л з

в  мо к л е

й  ск т е

и

[X, Y, Z] = meshgrid(xL:0.05:xR, yL:0.05:yR, zL:0.05:zR); % Ви н е л с и ч ы

е  кн е о п м о

т  в- р о т к е и ц к н у ф

и  н а  эо т

й  ск т е

е

A

U = X./sqrtfX.^ + Y. 2  + Z.^2); V = Y./sqrt(X./42 + Y.A2  + Z. A 2); W = Z./sqrtfX."^  + Y.A2  + Z.^2); % Ги ц а р е н

я  мц и р т а

[Сх , Су

, си щ а ж р е д о

х  кт а н и д р о

ы  уо л з

в  ро к д е

й  ск т е

и

, Cz] = meshgrid(xL:(xR -  xL)/3:xR, yL:(yR -  yL)/3:yR,...

zL:(zR -  zL)/7:zR); % Си н а д з о

е  гг о к с е ч и ф а р

о  он к

а

figure % Пи н е о р т с о

е  вг о н р о т к е

о  пл о

% м гон аворибатшса

о  кс у н о

% пы н ь л а н о г и л о

й  ок е ъ б

я  с  уе и н е ч и л е в

м  ак с е ч и т а м о т в

а  в  4 рз а

а  и  зс и п а

т  в  пу н е м р е

е  зг о н е л

% и  си т ы р к

о  цт е в

е  ре б

я  н а  пы н е ч у л о

й

ю  hC

hC -  conepiot (X, Y, Z, U, V, W, Сх % Зи н а д

и

ь  ул е т а з к

а  дл

, Су

я  ге н а р

р   (в стеянлопы

, Cz, 4)

й  пг о н ь л а н о г и л о

я  дл

о  от к е ъ б

я  кг о д ж а

о  ка с у н о

а

)

set(hC,'FaceColor','g'zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA , 'EdgeColor',ќnoneќ) % Ук в о н а т с

а  по л е д р

% ии н е м з

я  ды н а

в  ой е с

, тн ч о

о  с ищюувтс евто

х  га ц и н а р

м

х

axis tight % Зи н а д

е  тк ч о

и  ор о з б

а

view(31,28) % Ди н е л в а б о

е  ик и н ч о т с

а  ст е в

а

lightzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA % Н а н е с е н и

е   п о дп и с е

й   к   ося

м

xla be K 'x1) yla beK 'y1) zlabel('zf) Ф ун к ц и

я   c o n e p i o t  д о п у с к а е

т   д р уг и

е  вари ан т

ы   вы зова

.

•   c o n e p i o t  (и ,  v,  w,  с х ,  С у ,  Cz)  —  п о   у м о л ч а н и ю   п р и н и м а е тс я [х ,  Y,  z]  =   m e s h gr i d ( i : n ,  i:m ,  l  : p ) ,  г д е   m, n  и   р   я в л я ю т с рам и   м ас и в а   и   (т .  е .  [m,  n ,  p]  -   si z e ( U ) ) . •   c o n e p i o t  ( . . . ,  (СМ .  Н И Ж е  фН уК Ц И

' q u i ve r ' )  —  Ю   q u i ve r 3 ) .

вм ест

о   к о н ус о

в   р и с ую т с

я   раз м е я  

с тр е л к

,  ч т о и

1064 

zyxwvutsr

р П е ин л о я ж

•   c o n e p l o t  (.  .  . ,  ' n e a r e s t '  )  ИЛ

н ей н о бли ж ай ш и х ын

й   и н ет р п о л я ц и

и   п р и м е н я е ст м   и л и   к б иу ч е с к а   х"аын д й   с и с те м

м   с о я ед   и   х ын ре гмо мн i n t e r p 3  в   с п р а в о ч н о

И  c o n e p l o t  ( . .  . , 

' c u b i c ' )  —  в м е с т

о   ИЛ

-

,  с о вт ес вт ен н о ,  и н етр п о л яц и и  п о я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM   (с.м   .аздр   "Иция лпотнре - ре в ум д   ав ыг л   6,  а   т а к ж е   оп и сан и е   ф ун к ц и и е   M AT L AB) .

•   c o n e p lo t  (х ,  Y,  z,  и ,  v,  w,  ' n o i n t e r p 1 )  —  т о   ж е   с а м о е c o n e p lo t  (х ,  Y,  z,  и ,  v,  w,  С х ,  С у ,  C z), н о   в   к а ч е с т в е   м ас и во С у   и   Cz  с о т в е т с т в е н н о   п р и н и м а ю тс я   м ас и в ы   х ,  Y И  Z (и н т е р п о л я ц и н е   т р е б уе т с я ) .

,  ч т о   и в   Сх , я

•   c o n e p lo t  (П А з а те л е м   пА .

и   с   ку а

,  . . . )  —  о с ущ е с т в л я е

т   гр афи ч еск и

й   вы во

д   н а   ос

-

•   h e  =   c o n e p lo t  ( . . . )  —  в о з в р а щ а е т   ук а з а т е л ь   н а   с о з да н н ы й   п о ли го н альн ы й   объект .  Э т о т   ук а з а т е л ь   и с п о л ь з уе т с я   дл я   и з м е н е н и я   свой ст в п о ли го н аль н о г о   о б ъ е к та .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH •   fe a t he r  —  о т о б р а ж е н и

н а   о дн о

й   п рям о

й   (с.м

 р.азд

е   в е к то р о   "Визацуял

в   и с хо д я щ и м   х в ы нк е р т о

и   и з   р а в н о о тс то я щ и   йе"лпо авыг л

fe a t h e r  (hA,  . . . )  И  h   =   fe a t h e r  ( . . . )  —  а н а л о г и ч н •   quive r  —  в и з у а л и з а ц и

и за ц я л

  х в ы нк е р т о

я   д в ум е р н о г   йе"лпо авыг л

 

х   то ч е 3).

к

о   com pass.

о   в е к то р о н о г о   п ол я   (с.м  р.азд   "Визуа3).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON

ќ  quiver (hA,  . . . )  — н ч и г о л а н •   h  =   q u ive r  ( . . . )  —  в о з в р а щ а е Q uivergroup,  с в о й с т в а   к о то р о г se t  (с.м   авуг л   9).

 

о  compass. т   ук а з а т е л о   м о гу

т   бы т

ь   н а   ри сован н ы ь   и з м ен ен

ы   пр

й   объек и   п омощ

т и

•   h  =   q u i ve r  ( f v 6 ! ,  . . . )  —  в о з в р а щ а е т   в е к то р   ук а з а т е л е й   н а   с о з да н н ы е   баз овы е   объект ы   Line   д л я   с о в м е с т и м о с т и   с   п р е д ы д ущ и м и   верси я м и   M ATLAB   (б а з о в ы е   и   ри сован н ы е   объект ы   оп и сан ы   в   .аздр   "Граксеи ч фи   к"етыъ б о   ав ыг л   9).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH П   quive r3   —  в и з у а л и з а ц и лен н о й   н а   н е к о то р о йе"л   ав ыг л   3).

я   в е к т о р - ф ун к ц и й   п о в е р хн о с т

и   (с.м

•   q u i ve r 3 ( x,  Y,  z,  и ,  v,  w)  —п о с т р о е н и

и   о т   тр е  р.азд   "Визацуял

х   п ерем ен н ы х

е   в е к т о р - ф ун к ц и

,  о п р е д   х в ы нк е р т о

  -п о

и   [и,   v,  w] ,

г д е   и= и( х ,   у,   z ) ,  v = v(x,  у,   z ) ,  w  = w(x,  у,   z).  М а т р и ц ы   х ,  Y и   z  о п и сы ваю т   п о в е р хн о с т ь ,  а   и , v  и   w с о д е р ж а т   ком п он ен т ы   в е к т о р - ф ун к ц и в   с о т в е т с т в ую щ и х   то ч к а х   п р о с тр а н с тв а .  Т р е б у е т с я ,  ч т о б size ( X)  =   size ( Y)  =   siz e ( Z )  =   size ( U )  =   size ( V)  =   size( W) .

и ы

р П е ин л о ж

  1. Ос но веы

 ком ыанд

 и  фуцнки

1065zyxwvutsrqpon

  MATLAB и  Toolbox 

П р о и с о х ди т   а в от м а ит ч е с к о е   м а с ш ат б и р о в а н и с атв л я ю щ и х   в е к от р - нфу к ц и ю   в   к а ж од й   от ч к лч у ш е г о   в и д а  гр а ф и к а . П р и м е р  и с п о л ь з о в а н и я >> [X, Y, Z] = sphere; »  [U, V, W] = surfnorm(X, Y, Z); >> mesh(X, Y, Z) >> hold on >> quiver3(X, Y, Z, U, V, W) •   quiver3(x,  Y,  z,  u,  v,  w,  s)  —п о с л рован и я   лди н   с рт е л о к   и х  дл и н а   в у е л и ч и в а се т п р е д о вт р а щ а е т   п р е дв а р и е т л ь н о е   м а с ш та б и р о в а н и е о п р е дл я с т я   с о вт ес ю у щ и м и   э л е м н атм

е   лд и н ы   с рт е л о к ,  п ред е   лд я   о б е с п е ч н и я   н аи :zyxwvutsrqponmlkjihgfedcbaZYX

е   а в от м а ит ч е с к о г

о   м а с ш ат б и я   в   s  р а з

и   м а рт и

.  З н ач ен и е  s  =  о ,  и   дл и н а   с рт е л о к ц  х , Y и  z.

•   q u i v e r 3 ( Z ,  U,  V,  W) , q u i v e r 3  (Z ,  U,  V,  W,  s)  —П о с т р о е н и

н фу к ц и

и  н а  п о в ернх о сит

, о п р едля м о

й   м а рт и ц е

  ! g*- . f )  —  до п о л н и етл ь н ы •   q u i ve r 3 ( . . . , з в о л яе т   ку а з т ь   си т л ь   и   ц ве т   л и н и ц и ю  p lo t ) .

,  а   атк ж

-

е  BeKTOp-

й   z. й   п о с л ен д и е   ит

й   а р мг у е н п   м ар к ер

т   п оа   (см

. фн у к

-

•   h  =  quiver3 ( . . . )  —  в ы охнд о й   в е к от р   h соедр ж и т   к у а з а ет л и ,  h (l)  яв л ясе т я   к у а з е тл м   н а   ли н и ,  h(2)  —  н а   м а р к ер ы .  С в о й с вт а   ли н и й и   м ар к ер о в   м ож н о   з ае т м   и з м ен и т ь   п р и   п ом щ и   set zyxwvutsrqponmlkjihgfedcbaZYXW   (с.м  гаву л  9), н а п р и м ер : >> h = quiver3(X, Y, Z, U, V, W) >> set(h(l), 'Color1, 'r') »  set(h(2), 'Color1, 'k')zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG

иВ з а у л и з а ц

я  фицунк

н а  не мпря олгнуь G   deiaunay  —  рт и а н глуяц и

и й  обл а ст я   Д елан е

и .

t r i  =  deiaunay  (x,  у )  —  п о с рт о ен и е   тр е г у о л ь н и к о в ,  к о р ди н а т ы ш и н  к о т р ы х   з а д ю ст я   в  в ек от р а х   х   и  у .  В ы ондх ы м   а р мг у е н о т м   я в л се т м а рт и ц а   t r i  с   рт ем я   с то л б ц а м и ,  к аж д я   с рт о к а   м а рт и ц ы   с о в т ес у н ек о т р о м у   р т ег оу л ь н и к у .  С тр о к а   с о ед р ж и т   и н е кд с ы   i,  j  и   к  та к и е в ер ш и н ам и  тр егуо л ь н и к а   яв л ю ст я   от ч к и   с  к о р ди н а т м и   ( x( i) ,  (x(j)/   y(j))>  (x(k),  у  ( к ) ) .  М н о ж есвт о   тр е г у о л ь н и к о в   в ы б и р а е ст ки м   о б р а з о м ,  чт о   в н рту и   о к ж р у н о си т ,  о п и сан о й   вокру г   лю бог о го у л ь н и к а , н е  леж и т  н и  онд о й  и з  з адн ы х  точ ек , к р о м е  в ерш и н .

  в ер

я т

,  ч т о yd ) ) , я   ат   р ет -

1066 

zyxwvutsr

р П е ин л о я ж

П р и м ер

:

» 

х   =   [0  1 0 - 1 0 ]  ;

» 

у   =   [ - 1 0 

1 0 

0];

>>  t r i  =   d e i a u n a y ( x , 

у )

t r i  = 4 



1











5zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA





5

"'

Ф ун к ц и я   d e ia u n a y  о с н о в а н а   н а   п ро грам м ж е   сам ы х   п а р а м е тр о в   а л г о р и тм (с м .  http:/ / www.qhull.org/ ). Ф ун к ц и к и   пр уг о л ь н а

а  

е   Qhull  и  д о п у с к а е т р и а н г ул я ц и и

я   d e ia u n a y  и с п о л ь з уе т с я ,  н а п р и м е р , д л и   в и з уа л и з а ц и и   ф ун к ц и й ,  о б л а с т ь   о п р е де л е н и я   (СМ . ф ун к ц и и  t r i m e sh  И  t r i s u r f  Н)Ие Ж

•   trime s h  —  п о с т р о е н и

(н е   о б я з а т е л ь н т р е уг о л ь н и к о в (с м . в ы ш е )

е  к а р к а с н о о   п р я м о уг о л ь н о й .  С е т к а   г е н е р и р уе т с

й  п о в е р хн о с т )  о б л а с т и я   пр

я   з а да н и



я   т р е уг о л ь н о я   к о то р ы

т   з а да н и е   те х ч т о   и  zyxwvutsrqponm Qhull й   с ет х   н е   п рям о

-

.

и   ф ун к ц и .  О б л а с т и   п омощ

и  н а   п рои з вольн о й ь   з а да е тс я   с е тк о й   и з и   ф ун к ц и и   d e ia u n a y

.

•   t r i m e sh  ( t r i ,  x,  у ,  z ) —п о с т р о е н и н а   т р е уг о л ь н о й   с е тк е   с   к о о р ди н а та м у ,  и   з н а ч е н и я м и   ф ун к ц и и   в   в е к то р м ац и ю   о   т р и а н г ул я ц и и . П о в е р хн о с т (P atch)  (с в о й с т в   "Окет ъ б .аздр

ь   графи к

е   каркасн о и   уз л о в е   z.  М а т р и ц

а   ф ун к ц и

а   п о ли го н аль н ы   Patch,  цвето

и   я в л я е тс х   о б ъ е к то

З а да н и е   свой ст и л и   н е п о с р е дс тв е н н

в   п о в е р хн о с т о   в о   в хо д н ы

и   п о в е р хн о с т и х   в   в е к то р а х   х  и а   t r i  с о д е р ж и т   и н фор

я   п о ли го н аль н ы в   и  р а б о т   кевт"оъ б ав ыг л

 ине л м р о ф о

•   t r i m e s h ( t r i ,  x,  у ,  z,  с )  —у к а з а н и в   м а тр и ц е  с .

й   м о де л

,  з а д а н н ы

е   ц вет

и   п р о и з в о ди тс х   а р г ум е н т а х

а   с  н им

м   о б ъ е к то и   оп и сан   9).

а   п оли гон аль н ог

м ы   в zyxwvutsr

о   объект

а

я   пр и   п омощ и   ф ун к ц и и   se t :zyxwvutsrqponmlkjihgfedcbaZYXW

1 1 ќ  trimesh (...,  'PropName',  'PropValue',  'PropName ,  'PropValue , . . .) .

•   h  =   t r i m e sh  ( . . . )  —  в о з в р а щ а е н ы й   объект . П ри м ен ен и р и в а е тс

я   в  гаве л

е   se t  д л я   и з м е н е н и   9.

т   ук а з а т е л я   свой ст

ь   н а   с о з да н н ы в   гр афи ч еск и

й   п о ли го н аль х   о б ъ е к то

в   рас м ат

-

-

р П е ин л о ж

  1. Ос но веы

Л и с ти н о б л а с ти п ом щ ш а го

 окм ыанд

г   П З   с о е др ж и .  В екотр и   п а р м е рт и ч е с к м   и з м ен ен и

 и  фуцнки

1067zyxwvutsrqpon

 MATLAB и  Toolbox 

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

 Л и с т и н г  ПЗ . Пост рое ни е  фицнку и  н а  не прмя огул нь й  обл а с т и   | zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA % З а д а н и

е   в е к то р

а   с о   з н ач ен и ям

и   п а р а м е тр

I

а

t  =   0 : p i / 3 : 2 *p i ;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA % Ги ц а р е н

я  ви н ш е н

х  уо л з

в  от с а л б

и   (ви ш р е

н  ш акиньлогуитсе

)

х   =  s in(t); у  = cos(t); % Ги ц а р е н

я  ду в

х  се о л

в  ви н е р т у н

х  уо л з

в

х  =  [х  2/3*sin(t)]; у  =  [у  2/3*cos(t)]; х  = [х  l/3*sin(t)]; у  -   [у  l/3*cos(t)]; % Зи н а д

е  д гоньлетинлоп

о  ул з

( х length(х

) + 1 )  = 0;

( у length(у

) + 1) = 0;

% Пи н е о р т с о

е  ск т е

а  в  цр т н е

е  нл а ч

а  ка н и д р о

т

и

tri = delaunay(x, у) ; % Ви н е л с и ч ы

е  зи н е ч а н л

z = - х. 2 -  у.

А

й  фи ц к н у

и  в  уа л з

х  ск т е

а  фи ц к н у

и  н а  то н ь л о г у е р

и  и  зс и п а

ь  зи н е ч а н

й  в  во т к е

р  z

2;

subplot(1, 2, 1) % Ои н е ж а р б о т

е  гк и ф а р

й  ск т е

е  и  пс и п д о

ь  ое с

й

Hsurf = trimesh(tri/  x, у , z); set(Hsurf,  'EdgeColorќ,  ќk', 'LineWidthќ, 2) xlabel('x'); ylabel('у') ; % Во в ы

д  ск т е

и  в  т о  ж е  го к с е ч и ф а р

е  он к

о  н а  ди г у р

е  ос

и  и  пс и п д о

ь  ое с

й

subplot(1,zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  2, 2) % Уи н а з к

е  в  кв т с е ч а

% пи н е о р т с о

ю  ск т е

е  чг о т р е в т е

о  ат н е м у г р

а  ны в е л у

и

Hmesh = trimesh(tri, x, у , zeros(size(x))); set(Hmesh,  ќEdgeColor',  'k', 'LineWidthќ, 2) xlabel('x');

х  зи н е ч а н

й  пи д о в и р

т  к

Приложеня

1068

zyxwvuts

ylabel('у') ; % Ои н е л д е р п

е  ды н р е м у в

х  ое с

й

view(2)zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Рис

. П З

. Ги ф ар

к  фнцик у

П   t r i su r f  —  п о срт о ен и е   к арк асн о п рои з воль н о й   (н е   о б яз а етл ь н а н а л о ги ч н о   trim esh  (см . в ы ш е)

и  н а ьн тло г уер

е  гиорка ф

о р Ом ф л е н и •   c la bel  —  п о м ещ ен и

й  к т ес

е  и  ск т е

а

й  з а к р а ш ен н о й   п о в ернх о с т и   н фу к ц и и  н а о   п р я м о гу л ь н о й )  о б л а с ти .  И с п о л ь з о в а н и е .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ

в е  п опд и се

й  к  ли н и я

м  уро в н

я   н а  к о н рутн ы

х   гр а фи к а х

.

•   c la bel  (с ,  h)  —  вохнд ы м и   а р мг у е н ат м и   я в л ю ст я :  м а тр и ц а   с   с   ин фо р м а ц и е й   о  ли н и я х   р уо в н я   и  в ек от р   к у а з е тл й   h н а   сам и   ли н и , яв л яю щ и ес я   м н о г уо л ь н и к а м и   (гр афи ч еск и м и   о б ъ е к ат м и   ти п а   patch). Дан н ы е   а р мг у е н т ы   и н и ц и а л и з и р ю у ст я   п р и   с о вт ес ю у щ е м   о бращ е н и и   к   con tour,  con tourf  и л и   contour3zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON   (с.м  р.азд   "Ке тныуор  гик "афр ав ыг л  3). •   c label  (С , h ,v)  —  м ар к и рюу ст в е к от р е   v. c label  (с ,  h,  'm an ual')  —  п ерох руо в н я .  Щ ел ч о к   мы ш ь ю   п о   ли н и

я   то л ь к

о   ли н и д   в   р еж и и   р уо в н

и   ру о в н я

м   р чу н о я   п р и в о ди

,  ку а з а н н ы й   р а з м е кт т   к   п о яв л ен и

е  в и   ли н и

й ю  н а

р П е ин л о ж

  1. сО но веы

н е й   п о дп и с вае т   реж и

 ком ыанд

 и  фуцнки

и   с о   з н ач ен и е м   р а з м е тк и

1069 zyxwvutsrqpo

 MATLAB и  Toolbox 

м   ф ун к ц и и

.  Н а ж а т и

е   н а   < E n t er >  о с т а н а в л и

-

.

•   c l a b e l ( C ) ,  c l a b e M C ,  v)  ИЛ И  c l a b e l  (С ,  ' m a n u a l ' )  —  п р а к т и ч е с к ж е   р е з ул ь т а ,  ч т о   и   п р и   ук а з а н и и   п , н о   л и н и я   ур о в н я   о тм е ч а е тс р о м   (з н а к о м  п л ю с ) , р я д о м   с  к о т о р ы м   п о м е щ а е тс я   з н ач ен и е  ф ун к ц и и •   hmark  =   c l a b e l  ( . . . )  з а те л я м и   н а   с о з да н н ы в хо д н о г о   а р г ум е н т а  н с т в о   u se r D a t a  к а ж д о г ц и и   н а  ли н и и   ур о в н я .

—  в ы х о д н о е   объект е   з а да в а л с о   те к с то в о г

и  ТО

Т

я   м арке

.

й   а р г ум е н т   я в л я е тс я   в е к то р о м   с   ук а ы   ти п а   t e x t  (и   l i n e s ,  е с л и   в   к а ч е с т в я   ук а з а т е л ь   h  н а   л и н и и   ур о в н я ) .  С в о й о   объект а   с о де р ж и т   з н ач ен и е   ф ун к

е -

•   c l a b e l  ( . . . ,  ' PropName ' ,  ' P ropValue  ' ,  . . . ) —  п а р ы Ы  ВХОДН Х   ар гу м е н то в   п оз воляю т   з а да т ь   лю бо е   с в о й с тв о   те к с то в ы х   о б ъ е к то в ,  т .  е . п о дп и с е й   к   ли н и я м   ур о в н я .  Д о п о л н и т е л ь н о е   с в о й с тв о   ' L a b e i sp a c i n g' п р е дн а з н а ч е н о   дл я   о п р е де л е н и я   р а с то я н и я   в   п ун к т а х   м еж д у   п о дп и сям и , п о   у м о л ч а н и ю   и с п о л ь з уе т с я   144  п ун к т а   (1  п ун к т   =   1/72  д ю й м а ) .zyxwvutsrqpon •   da t e t i c k  —  р а з м е т к

а   оси

, п о   к о т о р о

й   о тк л а ды в а е тс

я   врем я

.

d a t e t i c k ( t i c k a x i s , d a t e f o r m )  —  п е р в ы й   НО Д Х В Й   а р г ум е н т   t ic kaxis п р е дн а з н а ч е н   дл я   ук а з а н и я   ос и   и   м о ж е т   п ри н и мат ь   з н ач ен и я   ' х 1 ,  ' у '  и л и f z f .  В т о р о й   а р г ум е н т   о п р е де л я е т   форм а т   р а з м е тк и ,  н а п р и м е р :  'dd- mmmУУ У   H H :M M :S S ! ,  'H H :M M :ssf  (в с е   в о з м о ж н ы е   з н ач ен и я   d a t e fo r m  п р и в е д е н ы   в   сп равочн о й   с и с те м е   M AT L AB) .  Д л я   к о р е к т н о й   р а з м е тк и   ос и   вре м ен и   да н н ы е ,  о т к л а д ы в а е м ы е   п о   н ей ,  д о л ж н ы   с о тв е тс тв о в а т ь   сери й н о И  daten um   И  now). м у   врем ен и   (СМ . фИЦНК у •   g rid  —  о т о б р а ж е н и

ине"Ол м р о ф

е   ил

и   с к р ы ти  

  икв "о гафр ав ыг л

•   gr i d  on —  о т о б р а ж е н и •   gr i d  off  —  с к р ы т и •   g r i d —  е с л п р и с ут с т в ую т

е   ли н и

е   с е тк е   с е тк

и   н а  т е к ущ и и   н а  т е к ущ и

и   ли н и и   с е тк ,  т о   с к р ы в а ю т с я

й   к о о р ди н а тн о

й   с е тк

и zyxwvutsrqponmlkjihgfed   (с.м   .аздр

3). х   о сях х   о сях

и   о т с ут с т в ую т

. .

,  т о   о н

и   о то б р а ж а ю тс я

,  а   е с л

и

.

П олн о е   уп р а в л е н и е   с е тк о й   о с ущ е с т в л я е т с я   пр и   п омощ и   свой ст в   XG rid, YG rid  Z G r id ,  XM in o r G r id ,  YM in o r G r id  И   Z M in o r G r id  к о о р д и н а т н ы х   еС О Й (с.м  р.азд   "Стйвсоа   йе"с о ав ыг л   9).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI П   g t e x t  —  р е ж и де л а х   гр афи ч еск о г

м   и н те р а к ти в н о г о   окн а

о   раз м ещ ен и

я   те к с то в ы

х   п о дп и с е

й   в   п ре

-

.

•   gt e xt  ('  s t r i n g ' )  —  п о с л е   вы п олн ен и п о   област и   т е к ущ е г о   гр афи ч еск о г ст а   в   в ы б р а н н у ю   п ози ц и ю .  В   с л уч а да е тс я   н ово е  окн о .

о   окн е   о т с ут с т в и

я   да н н о а   п р и в о ди

й   коман д я   гр афи ч еск и

ы   щ елч о т   к   п ом ещ ен и

к   мы ш ю   те к х   око н   соз

и -

1070 

zyxwvutsrq

р П е ин л о я ж

•   gt e xt  ({•  s t r i n g i ' ,  ' s t r i n g2  ' ,  . . .})  —  у к а з а н и г о   а р г ум е н т а   в е к то р - с тр о к и   яч е к   и з   те к с то в ы ди т ь   м н о г о с тр о ч н ы й   те к с т .

е   в   к а ч е с тв к   п оз воляе

е   в хо д н о

х   с тр о

•   gt e xt  ({•  s t r i n g i ' ;  г о   а р г ум е н т а   в е к то р - с то л б ц м е с ти т ь   те к с т   з а   н есколь к

е   в   к а ч е с тв к   п оз воляе

е   в хо д н о

х   с тр о

' s t r i n g 2 ' ;  а   яч е о   щ елч ко

. . . })  —  у к а з а н и к   и з   те к с то в ы в   мы ш ью .

т   во

-

т   раз

-

•   gt e xt  ( . . . ,  ' PropName ' ,  P ropValue,  . . . ) —  п а р ы Ы  ОДН Х В Х   а р г ум е н то в   о п р е де л я ю т   с в о й с тв а   до б а в л я е м о г о   те к с та ,  к а к   о б ъ е к т а   text (с в о й с т в а   те к с то в ы х   о б ъ е к то в   оп и сан ы   в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR   .аздр   "Ввд оы   ткйвеос   и -н аци "м р фо   ав ыг л   9). П   h o l d —  у п р а в л е н и "Вдв оы   ь к и х л с е но cla,  elf  и  reset  ан

е   в ы в о до   и к в о га ф р

м   н есколь ки   ан   ин д о   к о ан   и  ойе"с

  тйвсоа

•   h o ld  on —  к а ж д ы окн о .

й   н овы

й   гр афи

•   h o ld  off  —  к а ж д ы ско м   окн е ,  п е р е п и с ы в а

й   н овы

•   h o ld  —  п е р е к л ю ч е н и до м   н о в о г о   графи к

е   м еж д а   с  п о т е р е

П   le ge n d  —  п о м е щ е н и кв"о   ав ыг л   3).

  ис о   ав ыг л к   до б а в л я е тс

й   графи

к   о то б р а ж а е тс е   окн а

я   с о де р ж и м о

е   леген д

х   графи к о в   в   о дн "  авыг л   3  и   "Вине я л   9).

у   реж и м ам й   п р е д ы д ущ и х

о   окн

о   {с.м

  .аздр   hold,

  а дн к м о

я   в   т е к ущ е

е   гр афи ч еск о

я   в   т е к ущ е

е

м   гр афи ч е

-

. и   до б а в л е н и

я   Т рафи к

а   и   вы во

-

.

ы   н а   гр афи

к   {с.м

 р.азд

  ине"Ол м р о ф

•   l e g e n d ( s t r i n g i /   s t r i n g 2 ,  s t r i n g 3 ,  . . . ) —  в х о д н ы е   а р г ум е н т С Т ЛЯЮ Я  с т р о к а м и   и л и   с тр о к о в ы м и   п ерем ен н ы м и ,  с о д е р ж а щ и м н ен и я   дл я   г р а ф и ч е с к и х   о б ъ е к то в , р а с п о л о ж е н н ы х   н а  т е к ущ и

  и - га ф р ы   ВЯ и   п ояс х   о сях .

•   le ge n d ( h ,  s t r i n g i ,  s t r i n g 2 ,  s t r i n g 3 ,  . . . )  —  п е р в ы й О  ОДН Х В Й   ар г ум е н т   я в л я е тс я   в е к то р о м   ук а з а т е л е й   н а   гр афи ч еск и е   о б ъ е к ты , . и н форм ац и я   о   к о то р ы х   до л ж н а   с о де р ж а ть с я   в   л е г е н де .  О б ъ е к т у   с   ук а з а те л е м   h ( l )  с о т в е т с т в уе т   s t r i n g i ,  h (2)  —s t r i n g 2 H T .  Д . Т екс т   леген д ы   може т   з а да в а ть с п ерем ен н ы х ,  Н О   И  В   м а с и в (работ а   с   м ас и вам и   с тр о вы   9). •   legen d  (Н а х

,  . . . )  —  р а з м е щ е н и

•   legen d  off  —  уд а л е н и •   le ge n d  (Н а х р ы е   Н ах .

е   леген д

,  ' o f f )  —  уд а л е н и

е   С рт о к   оп и сан

я   н е  т о л ь к о   в   с тр о к а х   и л и   с тр о к о в ы х к   :  legen d  (M)  Л И И   le ge n d  (h,  М )   "М ивсаы   к о"трс   а- г л а   в   .аздр

е  л е г е н д ы   с  т е к ущ и е   леген д

ы   н а   ос х   осей ы   с   осей

и   с  ук а з а т е л е

м   н ах

.

. ,  у к а з а т е л

ь   н а   к о то

-

р П е ин л о ж

  1. сО но веы

 ком ыанд

 и  фуцнки

1071 zyxwvutsrqpo

 MATLAB и  Toolbox 

•   H ieg  =   legen d  —  в о з в р а щ а е т   ук а з а т е л леген д ы   н е т , т о   H ieg  =   [  ] .

ь   н а   л еген д

у   т е к ущ и

х   осей

,  е с л

и

•   legen d  ( . . . ,  ' L o c a t i o n '  ,  l o c a t i o n )  —  з а д а н и е   п олож ен и я   леген д ы  В в е к то р е   l o c a t i o n  =   [х   у   wid t h  h e i g h t ] ,  г д е   х   И   у —  к о о р д и н а т ы н и ж н ег о   левог о   уг л а   в   с и с те м е   к о о р ди н а т   гр афи ч еск о г о   окн а ,  a  wid t h и   h e i gh t  —  ш и р и н а   и   вы сот а   л е г е н ды .  Е д и н и ц ы   и з м ерен и я   о п р е де л я ю ст я   в   н о рм али з о в ан н ы х   еи д н и ц а х zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ   (с.м  р.азд   "Ринещ азм  ок,н о  ойес  и ткеас"ав ыг л   9). П арам ет с то в ы ин е л

р   l o c a t i o n  м о ж е х   з н ач ен и й , н а п р и м е р   ик а"гфр авыг л   3).

П рои з вольн о ван и я   графи к о

е   п олож ен и в   (с.м

т   п ри н и мат ь   о дн о   и з   п р е до п р е де л е н н ы :  ' N o r t h ' ,  ' S o u t h 1  и   д р .  (с.рм .азд е   леген д   4).

  ав уг л

ы   о п р е де л я е тс

х   те к

-

  "О- м р о ф

я   в   реж и м

е   р е да к ти р о

-

П ро грам м н о е   и з м ен ен и е  п о л о ж е н и я   и  с в о й с т в   о б ъ е к то в   л еген д ы   п рои з в о ди тс я   пр и   п омощ и   обращ ен и я   [hLeg,  hO,  hP ,  t x t ]  -   legen d  ( . . . ) , к о то р о е   воз вращ ает :  ук а з а т е л ь   н а   ос и   леген д ы   (hLeg),  ук а з а т е л и   н а гр афи ч еск и е   и   те к с то в ы е   объект ы   леген д ы   (ho), ук а з а т е л и   н а   объект ы графи к а   (hp), м а с и в   яч е к   и з  т е к с т о в ы х   с тр о к   леген д ы   ( t xt ) .  С в о й с т в а да н н ы х   о б ъ е к то в   м о гу т   бы т ь   и з м ен ен ы   пр и   п омощ и   ф ун к ц и и   se t (с.м   авуг л   9).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA •   s u bpl o t —  р а з б и е н и

о п р е дл н и к м с ео и ч га ф р

е  текщ у ег  ок"ен ав ыг л

П   t i t l e  —  д о б а в л е н и к а"   ав ыг л   3).

е   гр афи ч еск о г о   п о дг р а ф и к   3). е   з аго ло в к

а   н а   гр афи

•   t i t l e  ( st r )  —  т е к с т ,  с о д е р ж а щ и й с с тр о к о в о й   п ерем ен н ой )  п о м е щ а е т с Т екс т   може т   бы т ь   п р е дс та в л е С п и со коман с в о й с тв а м

к   все д   Т еХ

х   си мволов ,  с о д е р ж и т с и   объект

а   ти п

о   окн а   н а   н есколь к а   (с.м  р.азд   "Ньк о лсе к   (с.м

я   в о   в хо д н о я   в   гр афи ч еск о н   в   форм ат е   Т еХ

,  к о т о р ы я   в   сп равочн о а   text  (с м

е   м о гу . с в о й с т в

о   п о дгр а ф и к о  гикв о афр

 р.азд

  ине"Ол м р о ф м   а р г ум е н т м   окн

в  и  в  ом он д   и - га ф р

е   (с т р о к е   в ерх

е   ил у   осей

и .

.

т   бы т ь   з а да н ы   пр и   п омощ й   с и с те м е   M AT L AB  в   р а з д е л о   s t r i n g) .

и е  с о

•   t i t i e ( s t r ,  'P ro pN am e',  P ropValue,  . . . )  —  п о м е щ а е м ы й   з аго ло в о к (о б ъ е к т   text)  и м е т   с в о й с тв а ,  о п р е д е л я е м ы е   п арам и   в хо д н ы х   а р гу м е н то в .  Н а п р и м е р , д л я   и с п о л ь з о в а н и я   и н те р п р е та то р а   L a T eX  с л е ду т   "Ввдоы ус т а н о в и т ь   с в о й с тв о   i n t e r p r e t e r  в   з н а ч е н и е   ' l a t e x '  (с.м  р.азд к ас те и х ч м   ул м р фо   в  фоате м р   LaTeX"гавы л   9):zyxwvutsrqponmlkjihgfedc »  h = title('$$f(x) = \int\limits_CTx t sin t dt$$', 1  Interpreter', 'latex')

1072 

zyxwvutsrq

р П е ин л о я ж

•  zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA h  =   t i t l e  ( . . . ) —  в о з в р а щ а е т   к у а з ет л ь   н а   с о з да в е м ы й   з а го л в о (тек сот в ы й   о б ъ ек )т ,  св о й свт а   котрог о   м о гу т   бы т ь   и з м ен ен ы   пр м ощ и  фну к ц и и  set  (с.м  р.азд   "Вдв оы  ткйвесо аци и"мро фн авыг л О   xiabel, yiabe l  и  zlabe l  —  п о д и с

к а"  гавы л

и  к   ося

м   (с.м

 р.азд

к и  п о  9).zyxwvutsrqp

  ине"Ол м р о ф

 ги- афр

 3).

•   xi a b e i ( st r )  —  етк с ,  соедр ж ащ и й с и л и   с тр о к о в о й   п ер м ен н о й ) (дл я  о с атл ь н ы х   осе й  а н а л о ги ч н о ) •   x l a b e l ( s t r , 

я   в о   в о х нд о я   в   к а ч е с вт

, и сп о ль з есту

е   (срто к е и   к   ос и  х

.

P ropN am e,  P r o p Va l u e , 

ос и   (о б ъ ек т   text)  и м е м ен от в  (с.м  р.азд   "Ввд оы

м   а р гм у е н т е   п од и с

т   с в о й с вт а

. . . )  —  п о м е щ а е м а

,  о п р едля м ы  ткйвесо

е   п ар м

я   П И СД О

и   в о нх д ы  9).

аци и"мро фн авыг л

Ь  К

х   а р уг

-

т   к у а з ет л ь   н а   с о з ад в е м у ю   п од и с ь  к •   h  =  xiabel  ( . . . )  —  в о з в р а щ а е ос и   (о б ъ ек т   text), дл я   и з м ен ен и я  ег о   св о й ст в   е с лу д т   в о с п о л ь з о в а ть с я н фу к ц и е й   set  (с.м  гаву л   9).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG

п р а У в л е ни

е  воид

Н ес к о ль к о   р а з де л о MATLAB  лд я   и з м ен ен и ин е   к чи т о   а р зо б вы  4). Н иж н овк едбу м ож е п о в е рн х о с т

е   п р и в е дн и  тр еб ум о г т   н а з ы в а ьт с т   со тя

м  гриак ф в   кн и г "  авыг л

и   п о с в ящ ен я  в и д а   гр а фи к о  3  и  р.азд

, ка м е р

а

ы   о п и сан и в   (с.м  р.азд   "Орзо б  гикво афр

ю   сп ос бов   "Пторв

,  п р елдаг ем ы  гик а,фр   и   тйсе"хвонпр

ы   осн овн ы е   н фу к ц и и   M ATLAB,  п р едн а з н а ч ен н ы е о   в и д а   осе й  гр а фи ч ес к о г о   окн а . О б ъ ек от м   в  да н н о я   с о ед р ж и м о е   осе й   (то , н а   ч т о   н а п р а в л е н а   к ам ер а) ь   и з   н ес к о л ь к и х   гр а фи ч е с к и х   о б ъ е к от в   M ATLAB,  к и   (Surface)  и  м н о г уо л ь н и к а   (Patch).

П   camdoiiy  —  и з м ен ен и

е  п о л ж ен и

я  к ам ер

•   camdoiiy  (dx, dy, dz)  —  п ер м щ ен и с и ем т е   к о р ди н а т   к ам ер ы .  П ер м ещ ен и с те я   з н а ч е н и е м   dx, в в ер х   и л и  вн и н иц ы   и з м ер н и я   до л ж н ы   с о вт е с вт о а т м ер ,  camdoiiy  (1,  - 1 ,  0)  п р и в о ди в енр х и й   г уо л .

ы  и  о б ъ ек ат

х  и-е зм   а- г л   лд я   а с т у м   р а з ед л , к о т р о   п р и м ер у

 f i x t a r g e t '  —  Ь КЛОТ

О   камеры

е ,

.

е  к ам ер

ы   и  о б ъ ек т а   н а  dx, dy  и  dz в е  в п р а в о   и л и  в л ев о   о п р е дл я з  —  dy, в од л ь   ос и  к а м ер ы  —  dz.  Еид ь   ви д м о й   о б л а с ти ,  н а п р и т   к   п ер м ещ ен и ю   о б ъ ек т а   в   л ев ы й

•   camdoiiy  (dx,  dy,  dz,  targetmode)  —  до п о л н и те л ь н ы й   ч ев т р ы в о х нд о й   а р мг у е н т   targetmode  п о з в о л яе т   з адт ь   р а з де л ь н о е   п ер м щ ен и е   к ам ер ы   и   о б ъ е к ат .  З н ач ен и е   'm ovetarget'  (и сп о ль з ему о му о л ч а н и ю )  с о вт ес у т   п ер м ещ ен и ю   и   к ам ер ы ,  и   о б ъ е к та 1

е

.

й е  п о ,  а

р П е ин л о ж

  1. Ос но веы

 ком ыанд

 и  фуцнки

1073 zyxwvutsrqpo

  MATLAB и  Toolbox 

•   c a m d o l l y  ( d x, d y,  d z ,  t a r g e t m o d e , c o o r d s y s )  —  Ы Т ПЯ

Й   до п о л н и тел ь н ы

й

а р м гу е н т   coordsys  п р енд аз н ач е н   лд я   к у а з н и я   с и емт ы   к о р ди н а т  и еи д н и ц   и з м ер н и я   п ер м ещ ен и й , з адв ем ы х   dx,  dy  и   dz.  П о   муо лч а 1 н и ю   и с п о л ь з ес т у я   з н ач ен и е   'cam era ,  к о т р о е   о б ес п еч и в а е т   п е р вд и ж ен и е   в   с и ем т е   к о р ди н а т   к ам ер ы   (см . фн у к ц и ю  camdolly  (dx,  dy, dz)  в ы ш е) .  Д л я   и з м ен ен и я   п о л ж ен и я   к а м ер ы   н а   п ло ск о ст и   э к ран а е су л д т   и сп о ль з о в ат ь   ' p i xe l s' ,  п ри ч е м   п ер в ы е   дв а   в о н х д ы х   а р м гу е н т а   dx  и   dy  з а д ю т   с м ещ ен и е   в   п и к с ел а х ,  a  dz  и гн о р и реустя .  Ча с т о од у б н о   о п р е дл я т ь   в ел и ч и н ы   п ер м щ ен и й  в   си емт е   к о р ди н а т   о с ей , т   в   к а ч е с вт е   п я от г о   в о х дн о г о   а р мг у е н т а   ку а з а т ь лд я   ч е г о   е су л д 'data'.

•   camdolly  (н ах ,  . . .)  —  п ер м щ ен и е   к ам ер ы   и  о б ъ ек т а   о щс у е св т л я с я  н а  ося х  с  указ етл м   н ах .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB П   cam iookat —  н а п р а в л ен и о б ъ е к ыт .  П р и м ен яест к о  гр афи ч ес к и х   о б ъ е к от ки х  и з  н и х .

е   к ам ер я  в  то м   счлуае в   и  требсту

ы   н а   нжу ы й   гр а фи ч е с к и ,  к о гд а   н а  ося х  р а с п о л ж ен я   к у рп н и т ь   в и д   о дн о г

й   о б ъ ек о   ил

т   ил

и

о   н ес к о л ь и  н еск о ль

-

camiookat  (h)  —  н а п р а в л ен и е  к ам ер ы   н а  гр афи ч еск и й   о б ъ ек т ,  куаз етл м н а   котры й   я в л се т я   h  (в   счлау е   н ес к о л ь к и х   о б ъ е к от в   и с п о л ь з ес т у я   в ек то р   к у а з ет л й ) .  П о с л едо в аетл ь н о с т ь   к ом ан д , п р и в едн н а я   н и же , обесп ч и в ае т   п о с рт о е н и е   в уд х   к арк асн ы х   с фе р и ч е с к и х   п о в е рн х о с е т й   н а   о нд и х ося х  и  п о с л еод в аетл ь н о е   н ап р ав л ен и е  к а м ер ы  с н ач л а   н а  п ерву ю   с фе р у , а з еа т м   н а   в то р ю у :zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA >> [X, Y, Z] = sphere; >> XI = X -  1; >> Yl = Y -  1; >> Zl = Z -  1; »  Х 2  = X  + 1; >> Y2  = Y+1; >>  Z2  = Z + 1; >>  HI  = mesh(Xl,  Yl, Zl); >> hold on »  H2 = mesh(X2,  Y2, Z2); >>  camiookat(HI) >> camiookat(H2)

•   camorbit  —  п о в о р о

т  к а м ер

ы  в о к р у

•   camorbit  ( dt h et a,  dphi)  —  п о в р о осе й   н а   гоу л   d t h et a  п о   го р и з о н та л .  Ли сит н к у а з ы в а ю ст я   в   гр асуд)х

г   о б ъ е к та

.

т   к ам ер ы   вокру г   о б ъ ек т а   ещк т у и и   и   dphi  п о   в ер ит к а л и   (з н ач ен и г   П 4  соедр ж и т   п ри м е р   и сп оль з ова

х я -

1074 

zyxwvutsrqp

р П е ин л о я ж

ни в се

я   camorbit  в о   в ло ж ен н ы х   ц и к ла х   с   ц ел ь ю   о с м о тр а   п о в е рн х о с т и  с о х   с то р о н .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

figure surf(peaks(40)) for i = 1:4 pause(1) for j = 1:36 camorbit(10, 0) pause(0.01) end camorbit(0, 90) end В оз м ожн о   ку а з а н и о б ъ е к ат .

е   раз ли ч н ы

•   c a m o r b i t  ( d t h e t a , 

в о хнд ы ни п оворот п о п р о и с о х ди то ч к и но [х кру з н а ч ен и л и ц ел н

х   сп ос бо

d p h i , 

в   п оворот

c o o r d s y s , 

а   к ам ер

ы   вокру

d i r e c t i o n )  —  д о п о л н и т е л ь н ы

е   а р мг у е н т

ы   coordsys  и   d ir e c t io n  п р едн а з н а ч ен ы   лд я   с и е мт ы   к о р ди н а т   и   н ап р ав лен и я , в о к р у г   котрог о   п р о и с о х ди 1 .  В о з м о ж н ы   дв а   з н а ч е н и я  дл я   coordsys:  ' d a t a   (и сп о ль з есту 1 1   му о л ч а н и ю )  и   'cam era .  Е сл и   ку а з а н о   ' d a t a ,  т о   п о в о р о т т   вокру г   ли н и , ищ уд е й   в од л ь   вы бран н ог о   н ап р ав лен и ,  н а   к о т р у ю   н а ц ел н а   к ам ер а .  Н а п р а в л е н и е   з а д е ст я   м   а р гм у е н т е   d ir e c t io n  и   м ож е т   бы т ь   в е к от р м   и з   рт е х   к о р д и н а   у   z]  и л и   с и м в о лам и   ' х ' ,  'у '  и л и   ' z '  лд я   ку а з а н и я   п оворот г   о п р едл н н о й   к о р д и н а тн о й   оси .  В ы б о р   в   к а ч е с вт е   я   'cam era'  п р и в о ди т   к  п о в р о т у   н а  уго л   d t h et a  п о   го р и з о н та   и   dphi  п о   в ер ит к а л и   о нт о с и ет л ь н о   от ч к и   о б ъ е к та ,  н а   к о т р у а  к а м е р а .

•   camorbit  (Н ха ,  . . . )  —  п о в о р о п о л ж ен н ы м  в  п редла х   о се •   с а тр а п —  п о в о р о camorbit.

т   о б ъ ек т

•   campos —  суат н о в к м ер ы   о п р е дл я с т о р ди н а т .

а   ил я   в е к от р

•   с   =   campos —  в ы охдн о м ер ы  в  де к а р то в о й   с и емт

т   к ам ер й  с  указ етл

а   вокру и  о п р едл н и м   и з  тре й   а р мгу е н е  к о р ди н а

г

ы   п р и м е н я ест м   Нх а

г   к ам ер ы

я  к  о б ъ е к та м

.  П о л ж е н и й   с и е мт

р   с   с о ед р ж и т  текщ у и

т я   к ам ер

ы я  о т

в о   ов дх

т

а   во coordsys ю   на , р а с

е   а н а л о ги ч н

я  к а м е р ы в   в  де к а р то в о

т   в е к от

-

-

.

.  И с п о л ь з о в а н и

е   п о л ж ен и х   э л е м н от

е

я   к уа з

т   к о р ди н а т х   о с ей

.

о е  к а е  к о ы   ка -

р П е ин л о ж

 1.  сО но веы

 ком ыанд

 и  фуцнки

1075 zyxwvutsrqp

 MATLAB и  Toolbox 

•   campos ( [х   у   z] )  —zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH   з а д ни е   по л ж е н и я   е к а мр ы   в   ед к а т р о в й   с и те м е к о ид р н а т   осей .

•   cpmode  =   campos  ( 'm o d e')  —  вхы о нд й   е м у н га р т   яе сл т в я   с т ор к о в й 1 и   о т   з на пе р м н о й   и   ом ж е т  бт ы ь   ' a u t o   ли и   ' m a n u a l'  в   з а вис ом с т еин ч я   с во й с т в а   осе й   cam eraP o sit io n M o d ezyxwvutsrqponmlkjihgfedcbaZYXWVUTSR   (с.м  р.азд   "Упине аврл   -е к ам й"о р   ав ыг л   4). zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA •   campos(mode)  —  ус та но вк н о й   е ум а г н р т   ом ж е т  паинмтр •   campos (н а х те л м  Нх а . •   camproj  —  ус та но вк и к о а рф г в   н а   э а нк р

а   в с о тй С

а   осе ь   з е на ч и

,  . . . )  —  аупрвле ни а   ли

й   C am eraP osition M ode.  В х о д f я   ' a u t o '  ли и   ' m a n u a l .

е   по л ж е ни е

и   о пе р д л е н и

м   е ка м р

е   ти п

ы   н а   ося

а   о пр е к ц и

и   осе

т   p r o j  с о ед жр и ы   в д а   в аи р н т и   О Т  зеначи я В Т С СВОЙ

й   е ум а г н р .  В о з ом ж н

•   cam proj  ( p r o je c t i o n )  —  з а д ни е   тип а   о пр е к ц и 1 а р Эк н  ( ' o r t h o gr a p h i c   ИЛ И  ' p e r s p e c t i ve ' ) .

и   е т р х е м ны р

•   cam proj  (Н ах , . . .)  —  ус та но вк ку а з т е л м   ан х  н а   э акнр .

е  тип

р ы   и  о б еъ к т

т   е ар к м а  о пи с а н

hold on cylinder for i = 1:60 pause(0.01) camroii(6) end

а   ли

ы   в о ук р о  в  р.азд

•   c a m r o ii  ( d t h e t a )  —  по в о р а чс о в й   с е к тр л .  П ирем

sphere

х  с  указ

й   ет р х е м ны р

-

х

.

•   p r o j  =   cam proj  —  вхы о нд ет р х е м ны р х   осе й   н а   э а кнр ИЛ И   ' p e r s p e c t i v e ' ,   В  З авис ом т осе й   к о ид рн а т .

• I  c amroii  —  по в о р

-

г   е е  о с

  "Уе и н арвпл

и   ( в з а и н ом

 к" й ое р а м т   е ка мр

р   с о ед ж р и т с

и   о пе р д л е н и

ы   н а   о уг я  в  лис т нг

т   ти

и 1

:  ' o r t h o gr a p h i c а   P r o je c t i o n

х   осе

а   о пр е к ц и

е  ра с по ло ж е ни

 гав ы л

п   опр е к ц и

й  н а

и   осе

й  с

е   е акм

-

  4).

л   dt he t a  (в   аругсд а х )  п о е  П 5 . zyxwvutsrqponmlkjihgfe

1076 

е  п о в о р о т

П р и м ен ен и П ОМ ОЩ

а  к ам ер

И  о бр ащ ен и

ы  к  ося

м  с  указ етл

м   н а х   п р о и з в о д и ст

е   кам еры

•   с   =   c a m t a r ge t  —  в о з в р а щ а е ру ю   н ап рав лен а   кам ера о сей .

т   в е к то ,  в   д е к а р т о в о

р   с   к о о р ди н а та м й   с и с те м

c t m o d e  =   c a m t a r g e t  ( ' m o d e  ' )  —  В Ы ОХ Д Н О

во й   п ерем ен н о й   и   с о де р ж и C ameraTargetM ode.

и   то ч к и

т   з н ач ен и

•   c a m t a r ge t  (Н ах л е м   Н ах .

а   ИЛ

И   п о л уч е н и

•   v  =   с а т и р   —  в ы х о д н о то в о й   с и с те м е   к о о р ди н а ав ыг л   4).

й   а р г ум е н т   т е к ущ и

т   v  я в л я е тс х   о с е й   (с.м

•   с а ти р   ([х   у   z])  —  в хо д н о й   а р г ум е н в о й   с и с те м е   к о о р ди н а т   т е к ущ и х   осей ния ,  в а ж н о   о п р е де л я е м о е   и м   н ап равлен и е п ри н и мае т   з н ач ен и е   [х   у   z ] . • 

u p m o d e  =   c a m u p  ( ' m o d e  '  )  — 

п ерем ен н о й   и   с о де р ж и CameraU pVectorM ode. •   camup (mode)  —  у с т а н а в л и в а е кам еры ,  т . е .  с в о й с т в ( ' a u t o 1  И Л

•   camup(Н а х кам ер ы   осе

,  н а   к о т о р у ю т   т е к ущ и х   о сей ,   (с.рм .азд е   [х   у   z]zyxwvutsrqponmlkjihg

т   Я В Ле Т С

В Ы ОХ Д Н О

т   з а да е .  Д л и н

и   ' m a n u a l   с в о й с тв

ы   н а   ося

х   с   ук а з а т е

я   в е к то р

а   кам еры

.

я   в е к то р о  р.азд

м   кам ер

, И

-

ы   в   де к а р   й"о ре к ам

  "Уине апврл

т   в е к то а   в е к то р .  С в о й с т в

е   ' a u t o '  и л

а

я   кам еры е  mode  ( ' a u t o '  Л И

е   кам ер

Й   ар гум ен

т   з н ач ен и

Я   CTpOKO1

м   п оз и ц и он и рован и т   з н ач ен и

е   н ап равлен и

х

е   то ч к и

е   ' a u t o '  и л

,  . . .)  —  п о з и ц и о н и р о в а н и

,  н а   к о т о т   т е к ущ и

е   к о о р ди н а

Й   ар гум ен

•   c a m t a r ge t  (mode)  —  у с т а н а в л и в а е т   реж и Т . е . В Т С ОЙ В С О  CameraTargetM ode  П р и н и м а е ' m a n u a l' ) .

р   —  у с т а н о в к

и

.

•   c a m t a r ge t  ([х   у   z])  —  у с т а н а в л и в а е т   п олож ен и н ап равлен а   кам ер а   в   де к а р то в о й   с и с те м е   к о о р ди н а т . е .  с в о й с т в о   C am eraTarget  п р и н и м а е т   з н ач ен и "Уине апврл   й"о ре к ам ав ыг л   4).

•   с а ти

я  п р

я   c a m r o l l  ( H a x,  d t h e t a )  .

•   c a m t a r ge t  —  п о з и ц и о н и р о в а н и

• 

zyxwvutsrq

р П е ин л о я ж

-

р   кам ер ы   в   де к а р то а   н е   име т   з н аче о   C am erau pvect or

т   Я В еЛ Т С

Я   С ТрОК ОВ О

и   ' m a n u a l' 

т   реж и м   вы бор а   н ап равлен и о   CameraU pVectorMode  п р и н и м а е

Й

с в о й с тв

а

я   в е к то р

а е  mode

я   в е к то р

а

т   з н ач ен и

И   'm anual').

,  . . . )  —  у с т а н о в к й   с  ук а з а т е л е м   н ах

а   ил .

и   п о л уч е н и

е   н ап равлен и

р П е ин л о ж

  1. сО но веы

 ком ыанд

 и  фуцнки

1077 zyxwvutsrqpo

 MATLAB и  Toolbox 

  camvazyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  —  у с т а н о в к а   и  п о л уч е н и е   уг л а   обз ор а   объект а   кам ерой . П zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

•   с   =   camva  —  в ы х о д н о й   а р г ум е н объект а   кам еро й   н а  т е к ущ и вы  4). •   camva  (а ) —-  в х о д н о й   а р г ум е н ек т а   к а м е р о й   н а  т е к ущ и х   о сях з н ач ен и е  с . • 

т   с  я в л я е т с я   уг л о м   обз ор а   (в   г р а д у с а х ) х zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON   (с.м  р.азд   "Уине апврл   й"о ре к ам   а- г л

х   ося

т   а   з а да е .  С в о й с т в

т   уг о л   обз ор а   (в   г р а д ус а х о   CameraviewAngie  п р и н и м а е

c v a m o d e  =   c a m va  ( ' m o d e ' )  —  В Ы ОХ Д Н О

Й   ар гум ен

•   camva  (mode)  —  ус т а н а в л и в а е CameraViewAngleMode  п р и н и м а е •   camva  ( ax, . . .)  —  у с т а н о в к н а   ося х   с  ук а з а т е л е м   н ах •   camzoom —  и з м е н е н и

е  уг л

т   Я В е ТЛ С

е   ( ' a u t o 1  и л

п ерем ен н о й   и   с о де р ж и т   з н ач ен и CameraViewAngleMode. т   реж и

м   вы бор т  з н а ч е н и

а   и  п о л уч е н и

Я   С ТР ОК ОВО

и   ' m a n u a l 1 )  с в о й с т в

а   уг л а   обз ора е  mode ( ' a u t o '  Л И е   уг л

а   обз ор

а   объект

)  о б ъ

т

Й

а zyxwvuts

,  т . е .  с в о й с т в о И  ' m a n u a l' ) . а   кам еро

й

. а   обз ор

а   объект

а   кам ерой

.

•   camzoom (р ) —  з н а ч е н и е   в хо д н о г о   а р г ум е н т а   р , б о л ь ш е е   е ди н и ц ы , при в о ди т   к   ув е л и ч е н и ю   уг л а   обз ора ,  е с л и   р   м е н ь ш е   е ди н и ц ы ,  н о   б о л ь ш е л   обз ор а   ум е н ь ш а е т с я .  В Т СЙ О В С О   CameraViewAngleMode н ул я ,  Т О   уг о п ри н и м ае т   з н ач ен и е   ' m a n u a l' ,  а  з н а ч е н и е   CameraviewAngie  и з м е н и я е т с я   с о т в е т с т в ую щ и м   образ ом .  П р и м е р   п ри м ен ен и я   camzoom  п р и в е д е н в   л и с ти н г е  П 6 . zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA | zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  Л ис т ин г  П6 . Изм е н и е  улг а  обзор а  оетбък а

sp h e r e for i = 10:- 1:3 pause(0.05) camzoom  (1/10) end for i =  3:10 pause(0.05) camzoom (10) end

1078 

р П е ин л о я ж

И з ем н и з а те л

м   На

е   л гу С Тх И ВОД  З ОИ Р П

а   обзор

а   к аемо р

й   о бе ъ кта Я  пр

П   das pe c t —  из ем н и

е   ли

, ра с по л о ж е н о г

и   ПОМОЩ

и   по е л уч н и

•   d  =   d a sp e c t   —  во з аврщ е осей .

т   ве к т о

о   н а   о с я х   с  уак я  zyxwvutsrqponmlkjihgfedcbaZYXWVU camzoom(H ax,  p) .

И  о б арще ни е   а м с шт а б

zyxwvutsr

а   осей

.

р   d, о епр д лящию

й   а м с шт а

б   те и щ к у

•   d a sp e c t   ( [ х   у   ищ х   о с е й ,  ва ж н

z] )  —  ус та но вк а   с о т н о ше н и я   ма с ш т а б о а   п ор цр и я   э ле м нт о в   в е к т о ар ,  на ипрем d a sp e c t  ( [ 1  2  1])   И  d a sp e c t  ( [10  20  10])   пирво яд т   К   о ид н а к о в ы е р з у л ть а м .  С во йс тв о   D a t a Asp e c t R a t io   пирн ам е т   ни е   [х   у   z ] ,   a  D a t a Asp ec t R a t io M o d e—  ' m a n u a l' .  П р и   о т о б ар ж е ни е ын ра ьл х   е г о е м ит рч с к и х   о беъ кто в   л д я   с о х а рне и я   с о т н о ше н и е м и ч т ср к х   а р з ем о р в   с ле у д т  ус танилв ь   [ 1 ,  1,  1 ] ,  наиепмр

х в   е т ук

: м

з е на ч

и я   его

:

>>  sp h e r e .  »  d a sp e c t  ( [1  1  1]) •   darmode  =   d a sp e c t  ( 'm o de')  —НО  ОД ВЫХ в о й   п е р ем н о й   и   с о ед ж р и т   з н ае ч и DataAspectRatioMode.

Й   е ум а г н р е   ( ' a u t o '   ил

т   ерж и •   d a sp e c t  (mode)  —  су танвли е В СВОЙСТ О   D ataAspectR atioM ode  ипнраме ' m a n u a l' ) .

•   d a sp e c t  (Н а х ,  . . . )  —  из ем н и з а те л м  Нх а . •   pbas pe c t  —  ус та но вк

а   ли

•   v  =  p b a sp e c t   —  в   ве кто осей .

м   вб ы о р т   з н ае ч и

е   ил

и   о еп р д л е н и

а   а м с шт а б

и   по ел уч н и

а zyxwvuts

а   осей ,  т . е . е  mode  ( ' a u t o ' ИЛ И

е   ам с шт а б

е   с о т н о ше н и

р   v  з аипсвеы т

т   я е л вс т я ОКО   СТр и   ' m a n u a l' )   с во йс тв

я   л ди я   с о т н о ше н и

а   осе

й   с   ак у

н   осей

.

е   л ди

н   т е ки щ у

-

х

а   с о т н о ше н и я   дл и н   т е к ущи х •   p b a sp e c t   ( [ х   у   z] )  —  ус та но вк осей ,  ва ж н а   п ор цр и я   э ле м нт о в   ве к то ар ,  на пирем :  p b a sp e c t  ( [ l  l 1])   и   p b a sp e c t  ( [ i o  10  10])   ипрво яд т   к   о ид н а к о в ы м   е р з у лть а та м .  С в о й с т в о   P io t Bo xAsp e c t R a t io   пирн ам е т   з н а еч н и е   [х   у   z ] ,  a

PlotBoxAspectRatioMode —  'manual'. ќ  pbarmode = pbaspect ( 'mode'  ) —  ОНДХЫВ

с я   с тр о к о в о С ВОЙ С ТВ

й   п ер м ен н о

й  и  со едр ж и

Й  ан е м у г р

т   з н ач ен и

т  pbarmode Ят е Я Л В

е  ( ' a u t o '  и л

и   'm an ual')

а   P lo t Bo xAsp e c t R a t io M o d e .

т   ерж и м   вб ы о р •   p b a sp e c t  (mode)  —  су танвли е осей ,  Т . е В . СВОЙСТ О   P lotBoxAspectR atioM ode  ипнраме ( ' a u t o '  ИЛ И  ' m a n u a l' ) .

а   с о т н о ше н и т   З е ан чи

я   л ид н е  mode

-

р П е ин л о ж

  1. сО но веы

 ком ыанд

•   p b a sp e c t ( a x,  о с е й   с  ук а з а т е л е •   vie w  —  ус т а н о в к

 и  фуцнки

. . . )  —  и з м е н е н и е   и л и   п о л уч е н и е   с о тн о ш е н и я   дл и н м   н а х .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED а   ил

и   о п р е де л е н и

е   то ч к

и   обз ора

.

•   vie w( a z ,  e l)  Л И И  view ( [az,  e l ] )  —з а д а н и пр и   п омощ и   а з и м ут а   и   уг л а   склон ен и я (с.м  р.азд   "Пт о рв   ик а,гфр   ин е и з м   к чи т о •   view( 2)  —  з а д а н и с м о тр и т   н а   о с и   с в е р ху •   view( 3)  —  и з м е н е н и раем ы м и   п о   ум о л ч а н и ю • 

е   д в ум е р н ы , в д о л е   ви д

ь   ос

я  К Ч О Т И  о б з о р х   в   г р а д ус а   3).

е   т е к ущ и

е   т е к ущ е

х   з н ач ен и

а   пр

м   склон ен и я

й   а з и м ут

и   п омощ и   м а тр и ц ю   viewm tx).

й   м а тр и ц

ь

ы   п реобраз ован и

,  в ы б и

а   и   уг л

-

а   скло

-

ы   п реобраз о

я  

-

з н ач ен и

й

. е   м а тр и ц

ы   п реобраз ован и я

.

•   т   =   viewmtx  ( az,  e l)  —  в о з в р а щ а е т   м а тр и ц ти р о в а н и я   дл я   о то б р а ж е н и я   т р е хм е р н ы (э к р а н е   м о н и то р а )  в   с о т в е т с т в и и   с   то ч к о м   склон ен и я   (с м . ф ун к ц и а з и м ут о м   и   уг л о н а   т е к ущ и х   ося х   н е   и з м е н я е тс я .  Д л я   п о л уч е н и ния ,  с о т в е т с т в ую щ е й   т е к ущ е м у   п олож ен и и сп ольз оват ь   обращ ен и е   т   =   view.

у   о р то г о н а л ь н о г о   п роек х   о б ъ е к то в   н а   п лоскост й   обз ора ,  о п р е д е л я е м о ю   view).  С а м а   то ч к а   обз ор я   м а тр и ц ы   п р о е к ти р о в а ю   то ч к и   обз ора ,  с л е ду

•   т   -   viewmtx  ( az,  e l ,  p h i)  —  в о з в р а щ а е обесп еч и ваю щ у ю   п е р с п е к ти в н о е   и з ображ ен и е м ен т   p h i  о п р е д е л я е т   вели ч и н у   п е р с п е к ти в ы в е т с т в уе т   о р то г о н а л ь н о й   п роекц и и .

т   м а тр и ц

М а тр и ц рам л я ю тс де р ж и

а х zyxwvutsrqpo

х   о с е й   с   AZ  =   о ,  EL  =   90  ( н а б л ю д а т е л и   z).

•   view(T)  —  у с т а н о в к а   то ч к и   обз ор ван и я   Т , s i z e  (Т )  =   [4  4]  (СМ . ф ун к ц и •   т   =   vi e w —  п о л уч е н и а з и м ут а   и  уг л а   склон ен и я

е   П о ло ж ен и ,  в ы р а ж е н н ы   а"рзо б ав ыг л

а   о с е й   с   а з и м ут о м   и   уг л о :  AZ  =   - 37.5, E L  =   30.

[az,  e l ]  =   view  —  п о л уч е н и н ен и я .

•   viewm tx  —  в ы ч и с л е н и

1079 zyxwvutsrqpo

 MATLAB и  Toolbox 

а   т   п р е о б р а з уе ,  п е р в ы е   дв е   к о м п о н е н т я   и скомы м и   п роекц и ям т   п ри ме р   и з ображ ен и

т   в е к то р

ы   дл и н ы   к о то р ы х и   н а   п лоскост я   к уб а   с  р а з л и ч н о

.  Т р е т и ,  з н а ч е н и

ы   ч е ты р ,  п о д е л е н н ы

у   п р о е к ти р о в а н и я й   в хо д н о й   а р гу е   phi  =   о   с о т

и й а т

, -

е   [х   у   z  l]  f  к   в е к т о е   н а   ч е т в е р т ую ,  я в ь   экран а .  Л и с т и н г   П 7  с о й   п е р с п е к ти в о й .

р П е ин л о я ж 1080zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

Лиснт

г  П7 . Имизне

е  персивптк

ы  иине жозбар

zyxwvutsrq

я zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR

f i gu r e % З а д а н и

е   к о о р ди н а

т   в ер ш и 0

0

0

1

1

а

1

у  =  [0 

0 1 1 0 0 0 1 1

z =  [0 

1

н   к уб

х   =   [0 

0

0zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML 1 1 0 0]; 0  0  0

1

1

1

1];

1  0

0

1

1

0];

0 0 0 0 1 1 1 1 1

% Цо к с е ч и л к и

е  ии н е м з

е  зи н е ч а н

я  пв и т к е п с р е

ы

for phi = 0:10:90 % Пи н е ч у л о

е  мцирта

ы  пи н а в о р и т к е о р

я

Т  = viewmtx(- 37.5, 30, phi) ; % Ни н е д ж о х а

е  пи ц к е о р

v = Т*[х

й

; у ; z; ones(size(x))];

xl = v(l, :)./v(4,  : ) ; yl = v(2, :)./v(4,  : ) ; % Во в ы

д  рт а ь л у з е

plot(xl, yl) pause(1) end

а  н а  ды н р е м у в

е  ос

и

е и н лр ж о П

е  2

ис па О н К   кн и г к о м а н ды В   к о р н ев о м е р   гл а в ы о п и сан п р о гр а м

е  кмо тап-к искд е   п ри ло ж е ,  п р и в едн н ы м   к атлог .  К аж д о   с о вт е с и м   да н н о

а

н   к о м п а к - т ид с к

,  к о т р ы е   в   етк с .  Ди с е   н ао х я д с т я   п ап к я   п ап к а   с о едр ж и т   Ме   м ж ед у   и м ен а м й   гл а в ы .

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ

й   с о е др ж и т   л и с ит н г и   п р о гр а м м  и к   о р га н и з о в а н   ю с ул ед щ и м   образ ом . и   с   и м ен а м и   Work_XX,  гд е   XX  —  н о фа й л ы   и   фа й л   readme.txt,  в   к о т р о м и   М - фа й л о в   и   н о м ер ам и   л и с ти н г о в

П ап к и   с   н о м ер ам и   Wo rkJO ,  Work_ ll,  Work_12,  Work_13  и  Work_22  овте ч аю т  те м   гл а в м ,  к о т р ы е   п о с в ящ ен ы   с о з ад н и ю   п р и л о ж ен и й   с  гр а фи ч ес к и м и н е тр ф й с о м   п о л ь з о в а ет л я .  И з чуа я   э т и   гл а в ы ,  в ы   етдбу е   п р о гр а м и р о в а т ь п о н фд у к ц и и   о б р а б о тк и   с о б ы ит й   и   м о ди ф и ц и р о в а т ь   и х .  М н о ги е   фа й л ы   со де р ж а т   п о нф д у к ц и ,  п р енд аз н ач ен н ы е   л д я   в с ат к и   в   о сн о в н у ю   н фу к ц и ю о б р а б о тк и   с о б ы ит й .  П о э т м у   и м ен а  М - фай ло в   с  п онфду к ц и ям и   н а з ы в а ю ст я listing_x.m, гд е   х —  н о м е р   л и с ит н г а   в   е тк с .  Э т о   ж е  з а м еч а н и е   к а с ет я   од н о г о   фа й л а   listing_17.m  в  п ап к е  Work_16  с  н а б о р м   п о н фду к ц и й  дл я   п р и л о ж ен и я  с  гр афи ч ес к и м   и н ет р ф й с о м . В   к а ж ыд й   к атло щ и й   и з   с еб я   М - ф а й л от ч к и   з р ен и я  а в то р о в   в и д е   л и с ти н г о в н о в р ем н н о   с  чент и е с я   п о с л е од в а е т л ь н о з о в ат ь   ран е е   с о з ад н н ы р а з б и то м   н а  яч ей к и Д р гуа р е д а к то р к о п и ро в ан и

я   воз м ож н ост м   (м о ж н и  и с п о л н яем о г

н   фа й л   summaryXX.m,  п р есдатв ляю г   Work_XX  п ом ещ е ,  р а з б и ты й   н а   яч ей к и ,  к о т р ы й   с о ед р ж и т   осн овн ы е  с в   к о м ан д ы   и  фн у к ц и и  и з  тек с т а   к н и ги , н е   о ф р м л ен н ы е .  И с п о л ь з у я   р е д а к то р   М - фа й л о в ,  и х   м о ж н о   и с п о л н ят ь   од м   к н и ги , н е  н а б и р а я   в   к о м а н дн о й   с рт о к е .  Р ек о м ен туд е   в ы п о л н ен и е   яч е к , т . к .  к о м а н д ы   яч ей к и   м о гу т   и сп о ль е   п ер м ен н ы е   с р ед ы   (о р га н и з а ц и я   работ ы   в   М - фа й л е , , о п и с ан а zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA  в  р.азд   и н Ре а з б  М - а йл фа  на  яйек чи"  гавы л  5). ь   со ти о   и з м ен и т

т   в   о кт р ы ит ь   р ас ш и р ен и о   код а  в  к о м ан нд у

Дл я   и сп о ль з о в ан и я   п р и л аг ем ы е щк т у и й   к атло г   M ATLAB,  л и б л а т ь   е г о   е щк т у и м   (усатн о в к а   е к тщ у е г путйе"авыг л   5, к о т р а я   ц ел и к о р у   М - фа й л о в ) .  П о с л е   э от г о  в с рт о к и   и л и   р е д а к то р а   М - фа й л о м о ст и   о т  с о едр ж и м о г о   М - фа й л а )

х   М - фа й л о о   ск о п и ро в ат

и   фа й л о е   лд

в   summaryXX.m  етк со в ы м я   пу р о щ ен и я   вы з ов а   н а   txt)  и ю   ср т о к у   M ATLAB.

в   е су л д

т   ли б ь   ц ел и к о а   о п и сан

о   к атлог м   п о с в ящ ен а  р а б о т е   с  М - фай лам ы   м о ж ет е   з а п с уи т ь   М - фа й в   и л и   в ы з в ат ь   к а к   фа й л - н фу к ц и .

о   ск оп и роват м   п о дк а т л о а   в  р.азд

ь   и х  в г   и   е дс -

 ''Утваскон и   и  р еда к от л   и з   к о м а н дн о ю   (в  з ав и си

й -

Сп и с о

к  литерату

ы

1.  н Афруи е в   И .  Е .  С ам очуи етл 2002. —  736  с . 2.  Д ь як о н о н ия 3.  М эьтю ад н и е )

: Р ку о в дс вт

ь   M atLab  5.3/ б..х

—  С П б .

в  В .  П .  M atlab  6/ 6.1/ 6.5+ Simulink  4/ 5.  О сн о в о   п о л ь з о в а ет л я . —  М . : С о л н - П р ес з  Д . , Ф и н . —  С П б .

4.  Че н   К . , Д ж и б л и н и ях . —  М . : М и р 5.  Чер н ы Д и а л о г- М И Ф И

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML

к   К . Чи слен ы : В и ль ям е

е  м оеытд .  И с п о л ь з о в ан и , 2001. —  720 с .

:  БВХ - П етр б уг ы   п р о гр а м и р о в а , 2002. —  768 с .

я   и н ж ен ер н ы

-

е  MATLAB  (3- е  и з -

н   П . , И р в и н г  A.  MATLAB  в   м ает и ч ес к и , 2001. —  346 с .

х   И .  В .  Simulink:  сред а   с о з ад н и , 2004. —  496 с .

,

х   и с л ое д в а х   п ри лож ен и й .

— М . :

6.  Kwon  Y.W.  The Finite Element Method using MATLAB.  —  Boca  Raton a. o.: CRC  Press,  1997. —519  p.

и нг К

и  иатесдвзль

а  "Б-ХВ е Пт груб в  проаедж

" :

www.bhv.ru М а г зи От е д

н  "Наво

я  кинаг" : zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE   .б П С , Ии кс во лйм за й  п.р , д . 29,  елт . (812) 251- 41- 10 :  e- mail:  [email protected]

я  т е хниеч сак х   п о с т а во к

л  оытвпо

 «В  подлинке» Серия

д а мА е н к о   .А ,  учокК (+CD- ROM) н др е А

в  А . Л о ги че с ко

е  про г ам м и ро вани

е  и  Visual Prolog 

в   А .  и  др . Microsoft Windows XP.  Home  Edition  и  Professional.  е  верс и и

ус Р и к н др е А

в   А .  и  др

н др е А

. Microsoft Windows 2000 Professional.  усР ак

я   в ер с и

640 с . я  

в   А .  и  др . Microsoft Windows 2000 Server  и  Professional.  е   вер с и и

ус Р и к

я   в ер с и в   А .  и  др . Microsoft Windows 2000 Server.  суР ак в   А .  и  др . Microsoft Windows XP.  оквуРсд т о   дм а и н о с р т а н  P.  Macromedia ColdFusion 

н др е А н др е А яа х А

992 с .

752 с . 1056 с .

я   а  

960 с . 848 с . 672 с .

о р уБ к а л

в   М . CorelDRAW  11 

720 с .

о р у кБ а л о р уБ к а л

в   М . CorelDRAW  12  в   М . Создани е   в и де о л к п

720 с . 1216 с .

В и ш н е в с ик ус Р а к м о ф аГ

й  А. ,  оКк р е в а  О. , Чмек рае я   в ер с и я н   В . и  др . Delphi 7 

е н о к лД ж е н о к лД ж

в   .В , Колес ни ок в   .В , Колес ни ок

в   в   A.  Microsoft Windows Server  2003. 

1120 с . 1216 с .

в  Ю . Microsoft Excel  2002  в   Ю . Microsoft Excel  2003 

1072 с . 1024 с .

р оД н

в  В . Macromedia Dreamweaver  MX 

736 с .

р оД н

в  В . Macromedia Dreamweaver  MX  2004 

736 с .

р оД н

в  В . Macromedia Flash MX  2004 

800 с .

уб о Д в ц е

в  A.  Microsoft .NET  (+CD- ROM) 

З а ке и ян ро К ь

р  К .  омК ерюнтыпь е   с ие т в  Д . Mathcad  12 

оК к р е в о К л е с н и еч к ео р т К М о д ь нл к а М ма е р оМ с т а М еив х

. М одернизца

704 с . я   и  по и с

к  неис прваносе т

в   A.  Microsoft Windows Server  2003  о   .О ,  Ш и ш и г н  И . Аныпрта е   с р едв т а  PC, 5- е   и зд в  Д. , Косарте в  А .  Н Р Р   5  д   М . ASP.NET  в   Е .  Microsoft SQL  Server  2000 

й  

а  О.,Чмек ра

в  А .  и  др

. HTML  4.0 

а   В . Microsoft Access  2003 (+CD- ROM) 



1088 с . 576 с . 1184 с 1152 с 1120 с 992 с 1280 с

. . . . .

672 с . 1072 с .

о рН т

н  Р. ,  М юел

э у ал П

л  Т . Web- ди зйан е рП с о

р  Дж

н  Р. ,  оуР

. Windows 98 ,  2- е  и зд

з   К .  Microsoft Word 97 в  по длин к

-ц и т П и т М л о у

с   .Н ,  иК р

е

к  Ч .  XML

о П ел щ у

к   Н . AutoCAD  2004

о П ел щ у

к   Н . AutoCAD  2004. Рзарб окт

а   е н п и р ло ж

оП н м а р е н к

о  С .  FreeHand  7 в  по длин к

оП н м а р е н к

о  С . Adobe  Illustrator CS

оП н м а р е н к

592 с 1072 с 1120 с 736 с 976 с 624 с 320 с

.

й  и  ациаптд

я

е

768 с 928 с .

о  С . Adobe  Photoshop  CS

с уе Р

в   С . WAP:  неохтл ги

он х а т С

в   A.  Linux

и н ев т С

е   Р .  рПо ткл

. . . . . . .

я   и  пени р олж

я

432 с . 912 с .

ы  TCP/ IP. Пиртечакс о

е  рокув дс т

о

672 с .

и  P. Python  (+CD- ROM)

768 с .

ай Т

ц  А .  М. , Тйа

704 с .

ай Т

ц  А .  М. , Тйа

ай Т

ц   А .  М.

Су з

р Т а с ок в с ик ар Ф о н

в  В

ар Ф о н

в  В

на Х

т  Ш . Этк фе ф

рияСе

ц   A.  A. Adobe  InDesign

784 с . 1200 с . , Тйа ц  A.  A. CorelDRAW  Graphics  Suite  11: вс е  про г ам м ы  петка а 544 с . й  A.  BIOS . Turbo  Pascal 1056 с . . Сисемт а  про гам м и ро вани я  Delphi 912 с . ы   в  CorelDRAW  (+CD- ROM) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM 704 с . ц  A.  A. Adobe  PageMaker 7.0

 «М а с т е р»

Microsoft. Visual Basic  6.0 Microsoft. Ресру

ы  Microsoft Windows NT  Server 4.0. Кни г

Microsoft Со здани

е   intranet. Оиноц ьла ф

Microsoft. Эротленка

я   ок м м е р ц и я

й Аз е к

е   о р к у в дс т

а  1  (+CD- ROM) о  Microsoft

. В2В- про гма м иро внаи

е   (+CD- ROM)

е  С . Dynamic  HTML  (+CD- ROM)

н де рА с

н   .В , Норт

ниА

н   Б . Защ и т

с А б ра

н  П . Рзарб окт

а   е пн и р л о ж

а   о к м е ю р п т ьн о

и  С . Корп ивтаны

я  н а  бза

ь  в  Windows

н  С . Фаск и м и нльа

я  с взя

Бе р з и

н  С . Фаск - м о де м ы

: выбор

оБ р

н  Г . Рсет

и  коилетвкно

и

е  реш ени

Бе р з и

б а с оГ р ба Г

й  в  Access 97  (+CD- ROM)

й  ио рм нф аци

е  Linux  (+CD- ROM)

, полюдкечни

р  Windows 98 (+дисаетк

в   Ю .  Internet 2000 р   П . Novell GroupWise  5.5: с и семт й   б ор а т ы

р е ан Г

в   A.  Excel, VBA,  Internet в  э ко н м и к

р е ан Г

в   A. Visual Basic  .NET:  раз б окт

, во хы

д   в  Ирен т

)

т

а  э рлетокн

й  пточ е  и  фи нас

а  пенир ло ж

ы

992 с . 752 с . 672 с . 368 с . 496 с . 656 с . 384 с . 496 с . 304 с . 256 с . 496 с . 448 с . 480 с

816 с 624 с й zyxwvutsrqponmlkjihgfedcbaZYXWVU х

ра и Г гу

с  С . Sound Forge. Мны ьлазук

о ре д Г

в  О . Про гам м и ро вани

м о фа Г

н   .В , Хом о не к

у б Д а ок

е  з в ук о  А .  бота Р

в  М . Веб - м саеритн а  А .  и  др

ун ае Д а р ок Ж

в  С . Тнеохл ги и   ие р - н т п р о г м а м и р о в н а в  С . Shareware:  еспроифналь м в  С . СП А

Р  н а  бза

Зи м

а  В . и  др

. Безопса н т

б  О . и  др

оК к р е в

а  О . Рсет

. Рзарбкот

р  Windows 2000 

оК к р е в

а  О . Рсет

р  Windows XP 

о ц с е К ль т в  A.  GTK+. Рзарб окт (+CD- ROM)

в  М . И  др

. Ком м униацк о н ы

о  И . Виед

о  «по- омд ша мен » у е   з да о  А .  буПциалк

2- е  и зд

.

ид О н ц о

в   И . Пес ро фи н лаь

ас Р и к о б ин Р

ы   Motorola 

й  м емта ик

560 с .

, теори

и  и  м еанхи к . (+дисаетк

я   и  

а  пенир ло ж

1040 с . е  

560 с .

е   п р о г ам м и р о в ан и е

. Сисем т ны

р  Н . Ныво е   н е о х т л ги и  и  об ордувнаи н   Ю . Fruity  Loops  Studio: м назьулык й   о к м ею п т ь

о  С . Adobe  InDesign: ди з ай н  Д . Microsoft Office 2000: разр б окт

680 с . й  похд



й  похд е   IP- е ст я   а б р фи к

р  дл

ы  ацаипдт

320 с .

й   . Сисемт ны

я   р а и г тс

д   й   а   н а  PC 

а  

а  перни йло ж

624 с . 512 с . 512 с . 368 с . 496 с .

и  AutoCAD  н  и  верскт

320 с . .  528 с .



х   в  Иретн

е   п р о г ам м и р о в ан и е

н   Ю . Мны ьлазук

336 с . 352 с .

, с редсват

з  дына

368 с .

352 с . х  н а  Java 

о  

я   ба

в   И . Пес ро фи н лаь

с  при м ерам и

в  

ц   в  Microsoft Office 2000 

в  Ф . Microsoft Office 2000: рзарб окт

к   Н . Visual LISP и  с рект

432 с .

)  ы  фирм

о  прос т

ч   вы с ш е

е  Web- нрсиат

р  В. , Ое илф н   .Р ,  иле тП (+CD- ROM) и ле т П н  .Р ,  иле тП



416 с .

х   в  прим ера

в   Ю . Visual C++  и  MFC, 2- е  и зд

оН в и к

о П н м ар е н к

р  дныа

е  о с но вы

ид О н ц о

о П ле щ у

х   Delphi (+дисаетк

. Мемта исч к

е ли О ф и ел т П

320 с .

х   е й с о и р нф т

е  кронелт

в  М. , Хом о не к в  Д . Создани

1168 с .

х  Delphi (+CD- ROM) 

.  тЭ

в  A.  Maple 6. Реш ени

М и ро н

480 с . 320 с .

й  

х  ги ечсрафк

а  суртк

в  С . Про г ам м и ро вани е

М е щ е р о як

е  

560 с .

е  и  о б ра окт

в  А. ,  иохТм иро

304 с .

640 с .

а   в  паротек

урК и л е н к



я   (+CD- ROM)  х   е н ох т л г и

й  в  Delphi (+дисаетк

а   в  праотек

уп р К и я н о

М е ш ок

а  и  пенировд ж

а   п ер но с и м ы

й  А .  оСзднаи

р М о ст а

544 с .

а   - ер ин т ени п р ол ж

в  М . OpenGL  и к раф Г

624 с .

я  

х   ыв е с т

у б К е н с ик

384 с . . 

е  (+дисаетк

я   р аз б о к т к  э т о  дс етал

р Ка с н о



х   в  Delphi, 2- е   и зд

е  и  э лреток ни

ь  гын оьлба

в  М . DirectX. и к рафГ

384 с .

и  CSS 

е д у о Кж

Л ав р о

и  дына

е  AutoCAD -   ак

р Кас н о

ы  

а  в  Windows (+дисаетк

. MS Excel в  э рлетокнхи

е уЗ

и  и  этк фе ф

а   с  б азм

г  с редсвмат

у б Ди н

п р о г ам

е   ок м п о з и ц

576 с .

а  

544 с . . Ко м п ак

т  ди с

к

. с  Д . Окдал т

а   е н и п р ло ж

й  (+CD- ROM) 

512 с .

о м Р ве ы нч а р л е ма к

а   .Э , Яцю к   О . Ком ерюнтыпь а   (+CD- ROM)

с уе Р

в  Д . Тенхо л ги

е  тенох л ги

и   б е с п р о в дн о г

нц е в з а я Р р етк С

а   .Н , Рзнцяае ы   б от ар ы

н ц з е ав я Р р ет к С

ы   б о т ар

н ц з е ав я Р р етк С

и  в  ди зай не

о  до супта

. Эитвкна фе ф

. Спрваончик

я  



432 с . 352 с .

в   Д . 1С:рипеПдтя

. Ком п леск на

в  Д . 1С:реПпид тя

. Бергалтухс ик

а   .Н , Рзянаце ы   б от ар ы

в  Д . 1С:рипеПдтя

. Зраптл

а   и  кадры



304 с .

н ц з е ав я Р р ет к С

а   .Н , Рзняаце ы   б о т ар ы

в  Д . 1С:рПепди тя

. Торг вл

я   и  с лкад



368 с .

цн ев з а я Р

а   .Н , Рзнцяае

в   Д . 1С:рипеПдтя

Со к л е н

о   П . Про г ам м и ро вани е

ыС с о й и к н

а  М . Borland Kylix: разрб окт

и о хТ м и р о (^ди с аект

в   Ю . Open GL.  рПо гма м и ро внаи )

и о хТ м и р о

в   Ю . SQL  Server 7.0: разрб окт

а   .Н ,  зянацеР

. Срект а  пенир ло ж

320 с .

й  гир каф

, 2- е  и зд



й  

й   р ди а о с н ц т о  сани о держ

в  А .  рСедсвт

а   в и н о з л аь у г

Ш а п о ш н и ок

в  И . Иернт- прогма м ировнаие

я  сойат

704 с . в  

528 с .

я  н а  Java (+CD- ROM) 

о  приотеквна

400 с .

ы   Microsoft .NET  к  Web- м сеарт

я   и  п риатк

448 с .

400 с . 336 с . , 2- е  и зд

в  И . Справончи



й  н а  Java 2 

е   е с кт о в г

м е Ч к ра е

в  И . Web- с ерви

304 с . 370 с .

и  (+дисаетк х   е н п и р ло ж

а   и  оо рм ф лени

т  Г . Теори

544 с .

400 с .

в  A. Windows 2000 Active  Directory 

Ш а п о ш н и ок

352 с . 432 с .

й  (+CD- ROM) 

а  пенир ло ж

е   рс а п е нл д ы

н   Р . Разрб окт

Ш а п о ш н и ок



я   IBM PC 

е  тремх ерно

р  н а  любсиеольтк

н  И . Со здани

Ш и н акр е



ы  про г ам м и ро вани я и  дл

м е Ч к ра е

цю Я

624 с .

ы  BIOS 

в   Г . Ком юпеьт

б аи л у Х

Ш и дл

й  уетч

 SVGA- ик грфа

й  А .  реСкт

еб Чи ы к



ы

р Т а с ок в с ик п я еи ч Т

я  киогунрфац и я



224 с .

.  XML 

304 с .

а  C++ 

416 с .

в  О . SOFTIMAGE| XSI: о т  м оедилр вна

я  д о  ани м аци

и  (+CD- ROM) 

432 с .

к   О . Ком еюрптныь е  тенох л ги и  в  ди зай не . Л о г итп ы , уп ако в а , белтку ы   464 с . (+CD- ROM) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

рияСе

 «М а с т е р

 М иа е»д

в   М . В . Macromedia Flash MX  2004: с б о р к

о р у кБ а л е л-а Д о Р с М ве д М ев д М ев д ие л т П ви е д

а   .Р ,  ел-а Д оРс

в   Е. ,  русТ о в в   Е. ,  русТ о в (+CD- ROM) в  Е. ,  рТус о в

а  видеолкп

а   A.  Adobe  Photoshop дл а   В . Cubase  SX  лд я   м озуныатк а   В . Steinberg Nuendo 2. Сретк а   В . Ронс тьлае

ь   н о г ь л ва у и р т

н   .Р ,  иел тП н   Ю . Adobe Audition. Обракот о   (+CD- ROM)

в   я   н и о ку х д ж

720 с . в  

в  (+CD- ROM)  ы   н о г ь лв а и у р т о   з в ук о  з в ук

а  (+CD- ROM) 

а  з в ук

а  дл

я   р о ц ив ф г

592 с . а  

640 с . 432 с . 496 с .

о  

400 с .

и ел т П

н   .Р ,  иел тП

ие л т П

н   .Р ,  иел тП (+CD- ROM) оП г р е л

о   С .  иПске

ео л Ц

е   м уз ы к

 «М а с т е р

 прога м »

ы   р о вц и ф

е   е й с ир фн т

В ер ш и н п р о и т е к в на и

н  М. , Инова я   и  разр б окт

в   М . Создани а   (+CD- ROM)

р е ан Г

в   A.  Microsoft Excel 2002: разрб окт

ар в х е Д л и д з

е   .П , М арок

в  Е .  рПо гам м и ро вани

е   .П ,  М раок

в  Е .  зарРб окт

и  К . Тенхи к

а   з ащ и т

а Кс п е р с к пм а т я

и  К . Тенхи к

а   о пи т м и з ац

и  п р о г ам м

544 с .

и  

в  в  с ред

1088 с .

е  Delphi. Рокву сд т

о  

й  

а   Web- сжул

.  зарРб окт

а   и  о иптм и зац

ы   о к м п- т а к д и с о к

320 с . 768 с .



б  с редсвмат

784 с .

и  Delphi 

в  о т  копиро внаи

672 с .

я  (+CD- ROM) 

. Эитвкно фе ф

е   и с п з о ль в н а и

464 с . е  

464 с .

и

М гд а а  Ю . Ас ем б лер (+CD- ROM) рМ о т с а в  А .  и  др

. MS Office XP:  раз б окт

а   С . и  др

я  Windows- енипр олж а  пенир лож

й  

544 с .

й  

. Microsoft ADO.NET: разр б окт

944 с .

а  пес роифныьла

х  

768 с .

в н  С ,  естСи

к  О . Пно ьелра х  вын ьлеисытч

е  про гам м и ро вани х   с и ет

й  В . Про гам м и ро вани в  В . Ас ем б ле

е  дл

е  усротй р  дл

я  Windows, 2- е   и зд

400 с .

в  SCSI и  IDE 

592 с .



656 с .

е   н а  Visual C++  .NET 

в  В . Про г ам м и ро вани

в  прим ера

в   .А ,  рБсу енц в   В . Мод те ы  и  алгормит ы   о к м юе п р т ь н о х   н а  Visual C++, 2- е   и зд .  (+CD- ROM) в   В . Про гам м и ро вани

е   н а  С++/ С

т  A. Visual Studio. NET:  раз б окт

ч  В. , Краонху Palm и  Pocket  PC

я  

м

иП р о г

о Пс и л т

496 с .

704 с .

е   в  Delphi 7 (+дисаетк

аКс п е р с к

о л ав и ф а Р

й  

а  пенир лож

)

о П мн а р е

я  

а   -е р и н т е н и п р о л ж

е   о км п о не т

а р в х Де л и д з (+дисаетк

о Пк я л

а   п р о г ам м и р о в ан и

а   Е . Java 2, Enterprise  Edition. Тенхо л ги и

в   Е. ,  олнва Г

иП р о г

320 с . zyxwvutsrqpo

е   н а  Java 

В е с ол р аз б о и ч тк

Н е с ви к ж

496 с .

у  

.  Пиртак

й  А .  C++  и  Pascal  в  Kylix 3. Рзарб кот

288 с . и  

о  к  сно мл ж

ы   ПК

592 с .

н  

й   иг р к а ф

: о т  про с тг

в   В . Иер-нт прогма м ировна

еН м н ю г и м но г п р о цес о р ны

е   и  ди з ай

. Принц п и  н а  ПК

656 с .

я   Cubase  и  Sonar 

Д

и до л у Б

М э р о хт л п р о те к

ы  дл

е   м о е д ил р в н а

в   П . Пын ьелостдва (+CD- ROM) Бо р в с ик и   Б УС

а   (+CD- ROM) 

е   и г п ан л

л   и  вотрек

р   С . Создани

рияСе

ы   м с е ра в т

н   Ю . ес рПоинфы ьла

в   В . AutoCAD:  рметх ерно

По н м а р е н к

г у рА о

н   Ю . Cubase  SX  2. Срект

в   С .  рПо гма м иро внаи

800 с . й  ги рк аф

и  

560 с .

#   в  Visual Studio  .NET  2003 

352 с .

а   е н п и р ло ж

й  ба е  дл

я   рам к наы

з  днаы

х   х  ко м пюеьтр о

544 с . в  

352 с .

еу н С к о

в   Н . Про г ам м и ро вани е

р аы и г т С б аи л у Х р б ак Ч о т п ро т е к ол а е к Ч (+диасетк

  н а  C++  в  Linux 

368 с .

н  A.  XML:  раз б окт а  Web- енипр олж й   (+CD- ROM)  н  И . Рзарб окт а  Web- сжул б  с редсвмат и  Java  и   А .  и  др . Microsoft .NET  Framework:  раз б окт а  пес роифныльа

х  

592 с . 400 с . 896 с .

в в   А .  заБ )

ы  днаых

:  о т  приотеквна

я  д о  разрб окт

и  пенри ло ж

й  

384 с .

Ш ор т  С .  азрРб окт а   XML  Web- с ерви о в   с р е д в ма т и   Microsoft .NET  480 с . (+CD- ROM) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA

 «М а с т е р

рияСе

 ре ший» н

г па о А н в   С .  и  др . Срсвед т а   д и с ан ц т и о н г и н с р му т ра е ин т й   (+CD- ROM) й ы дш а Г е в   И . Реш ени е   ын ч у а х  и  иенры нж C++  (+CD- ROM) и лс е Е в   Д . Апнраот- прогма м ны е   с р ед в т (+CD- ROM) а Кс п е р с к ео к К т

и  К .  ПК

:  реш ени

е   п р о б ле

о мд у Р т е ев С

т   В . AutoCAD:  кн о п к

 «М а с т е р

рияСе

Л у ка ц и оП п е Ф д о р чу и Фл м о н

н  Дж

з   ны ах д я   р к и по т г р аф

й  А .  ени бОнражу

336 с .

и  Excel, VBA  и  

512 с .

в  

368 с .

х   о к м юе п р т ь о

х   м о д ет

в   Е .  PC:  насротй к

и  и  язы

и  

480 с . 736 с 496 с 464 с 512 с

, оиптм изца

496 с .

я  и  р аз го н

, 3- е   и зд

х   с р ед т

а  с  при м ен и

к   м а рк о м а н

672 с .

е  MATLAB и  fuzzyTECH  р  о теч о в   Crystal  Reports  я   (+CD- ROM)  е   в  с исемт е  К-С МАОП З О  

е  аны тпра

я   э ко н м и к

в  

е   и  упрвалени е   в  с ред .  оенрта Г

е   м о е д ил р в н а



. . . .

в  PC 

542 с .

м  Mathcad и  Excel 

464 с .

д  

320 с .

 с ис т е м »

й   К .  омК еюрптныь . Адм и н срит о вани

а  В . и  др . Безопса но т а  О .  се тР в   .И , Беял

ч  с редсвмат



560 с .

в   Е .  оФр с и р о вани

в   О .  Мемта исч к

, тенхо л ги я

а  крам наы

е  чис елны

е   м о е д ил р в н а в  Д . Анлаи

в   .В , Родум ет

м л а С но

Зи м оК к р е в о Кн е

х   з да

н   В . Microsoft Project в  дело пр изво дс т

Л е о н ок в  А .  океНчт М ло а к в   С ,  веМта М са л е н и о к в   М . Пиретчсак оПе м т и к н  А . Тновеьрлдт (+CD- ROM) о д м у Р те в   .В ,  одму Р ет

ал и с ч Г к а с иГ к

.  М оетдиак

м  

в  Ю .  Matlab 6.x:  про г ам м и ро вани

у п К е р ш е йт

о  обечнуия

е   с и ем т

ы  в  тони елф и   е   Novell  Netware  6/6.5  (+CD- ROM) 

ь   ы н ь о лб га х   ыв е с т х   е н тх о л г и й р   Microsoft Windows Server  2003  в   А .  о рмИнф цаио н а я   б е з о п са н о т ь   п р е ид т я е   ка т

,  2- е   и зд



в  A. Windows ScriptHost дл я  Windows 2000/ XP (+дисаетк к  А. ,  оТр н  A.  FreeBSD:  ус анто вк ,  нас рто йак , ис поз львнаи в  А .  рПоктл ы   ер н т И а  

400 с . 1056 с .

, 2- е   и зд

.  я  



368 с . 640 с . 752 с . 608 с .

)  е  

640 с . 640 с . 528 с .