"Вычисления, визуализация и программирование в среде MATLAB 5.x" - читать интересную книгу автора (Мартынов Н. Н., Иванов А. П.)

╥шя Єюўъш ╥юўър ╧ы■ё ╟тхчфюўър ╩Ёєцюъ ╩ЁхёЄшъ
54 ├ыртр 2. ┬шчєрышчрЎш  Ёхчєы№ЄрЄют т√ўшёыхэшщ
╠юцэю єърч√трЄ№ эх тёх ЄЁш ьрЁъхЁр. ╥юуфр шёяюы№чє■Єё  ьрЁъхЁ√, єёЄрэютыхээ√х яю єьюыўрэш■. ╧юЁ фюъ, т ъюЄюЁюь єърч√тр■Єё  ьрЁъхЁ√, эх  ты хЄё  ёє∙хёЄтхээ√ь, Єю хёЄ№ *у+Ч' ш '-+├1 яЁштюф Є ъ юфшэръютюьє Ёхчєы№ЄрЄє.
┼ёыш т ёЄЁюъх ёЄшы  яюёЄртшЄ№ ьрЁъхЁ Єшяр Єюўъш, эю эх яЁюёЄртшЄ№ ьрЁъхЁ эр Єшя ышэшш, Єю Єюуфр юЄюсЁрцр■Єё  Єюы№ъю т√ўшёы хь√х Єюўъш, р эхяЁхЁ√тэющ ышэшхщ юэш эх ёюхфшэ ■Єё .
═ршсюыхх ью∙э√ь ёяюёюсюь юЇюЁьыхэш  уЁрЇшъют ЇєэъЎшщ (ш т√яюыэхэш  фЁєушї уЁрЇшўхёъшї ЁрсюЄ)  ты хЄё  фхёъЁшяЄюЁэ√щ ьхЄюф, юЄэюё ∙шщё  ъ Єръ эрч√трхьющ эшчъюєЁютэхтющ уЁрЇшъх ёшёЄхь√ MATLAB. ─хёъЁшяЄюЁэр  уЁрЇшър шьххЄ фхыю ё срчют√ьш уЁрЇшўхёъшьш юс·хъЄрьш, ърцф√щ шч ъюЄюЁ√ї ьюцхЄ с√Є№ шэфштшфєры№эю эрёЄЁюхэ яюёЁхфёЄтюь чрфрэш  тёхї хую ётющёЄт. ─хЄры№эюх чэръюьёЄтю ёю ётющёЄтрьш уЁрЇшўхёъшї юс·хъЄют ёшёЄхь√ MATLAB эхтючьюцэю юёє∙хёЄтшЄ№ ьшэшьры№э√ьш єёшыш ьш, Єръ ъръ ъюышўхёЄтю ётющёЄт юЄфхы№э√ї уЁрЇшўхёъшї юс·хъЄют фюїюфшЄ фю ёЄр. ╬фэръю тю ьэюушї ёыєўр ї яЁшьхэхэшх фхёъЁшяЄюЁэющ уЁрЇшъш эх т√ч√трхЄ эшъръшї чрЄЁєфэхэшщ. ╧Ёштхфхь ёхщўрё шыы■ёЄЁшЁє■∙шх яЁшьхЁ√.
┬√°х ь√ юЇюЁьы ыш уЁрЇшъ ЇєэъЎшш sin ё яюью∙№■ эхяЁхЁ√тэющ ъЁрёэющ ышэшш ш ўхЁэ√ї ъЁєцъют. ╥хяхЁ№ яюяЁюсєхь юуЁрэшўшЄ№ё  ыш°№ эхяЁхЁ√тэющ ышэшхщ, эю юўхэ№ ЄюыёЄющ. ╩ръ ¤Єю ьюцэю ёфхырЄ№? ┬юЄ яЁюёЄюх Ёх°хэшх эр срчх фхёъЁшяЄюЁэющ уЁрЇшъш:
ї = 0 : 0.1 : 3; є = sin ( ї );
hPlot = plot( ї, є );
set( hPlot, 'LineWidth', 7 );
╘єэъЎш  plot ўхЁхч юяюЁэ√х (т√ўшёыхээ√х) Єюўъш ё ъююЁфшэрЄрьш ї, є яЁютюфшЄ юЄЁхчъш яЁ ь√ї ышэшщ. ╧Ё ь√х ышэшш т ёшёЄхьх MATLAB яЁхфёЄрты ■Є ёюсющ уЁрЇшўхёъшх юс·хъЄ√ Єшяр line. ▌Єш юс·хъЄ√ шьх■Є юуЁюьэюх ўшёыю ётющёЄт ш їрЁръЄхЁшёЄшъ, ъюЄюЁ√х ьюцэю ьхэ Є№. ─юёЄєя ъ ¤Єшь юс·хъЄрь юёє∙хёЄты хЄё  яю шї юяшёрЄхы ь {фхёъЁшяЄюЁрь; яю-рэуышщёъш - handles).
╬яшёрЄхы№ уЁрЇшўхёъюую юс·хъЄр Єшяр line, шёяюы№чютрээюую фы  яюёЄЁюхэш  эр°хую уЁрЇшър, тючтЁр∙рхЄё  ЇєэъЎшхщ plot. ╠√ хую чряюьшэрхь т яхЁхьхээющ hPlot. ╟рЄхь ¤ЄюЄ юяшёрЄхы№ яЁхфырурхЄё  ЇєэъЎшш set фы  юяючэрэш  ъюэъЁхЄэюую уЁрЇшўхёъюую юс·хъЄр. ╚ьхээю фы  Єръюую юяючэрээюую юс·хъЄр ЇєэъЎш  set шчьхэ хЄ їрЁръЄхЁшёЄшъш, єърчрээ√х т фЁєушї хх рЁуєьхэЄрї. ┬ эр°хь яЁшьхЁх ь√ єърчрыш ётющёЄтю 'LineWidth' (Єюы∙шэр ышэшш) ш хую эютюх чэрўхэшх 7 (яю єьюыўрэш■ - 0.5). ┬ Ёхчєы№ЄрЄх яюыєўрхЄё  ёыхфє■∙р  ърЁЄшэр (ёь. Ёшё. 2.8).
╥хъє∙хх чэрўхэшх ы■сюую ярЁрьхЄЁр (рЄЁшсєЄр, їрЁръЄхЁшёЄшъш) уЁрЇшўхёъюую юс·хъЄр ьюцэю єчэрЄ№ ё яюью∙№■ ЇєэъЎшш get. ═ряЁшьхЁ, хёыш яюёых яюыєўхэш  яюърчрээюую эр Ёшёєэъх уЁрЇшър ттхёЄш ш шёяюыэшЄ№ ъюьрэфє
width = get( hPlot, 'LineWidth1 ) Єю фы  яхЁхьхээющ width сєфхЄ яюыєўхэю чэрўхэшх 7.

MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх
55
~i Figure No.
╨шёєэюъ 2.8
╫Єюс√ ючэръюьшЄ№ё  ёю ёяшёъюь тёхї ётющёЄт уЁрЇшўхёъюую юс·хъЄр, эєцэю т√чтрЄ№ ЇєэъЎш■ get, єърчрт хщ юяшёрЄхы№ юс·хъЄр т тшфх хфшэёЄтхээюую ярЁрьхЄЁр. ═ряЁшьхЁ, фы  юяшёрЄхы  hPlot юс·хъЄр Єшяр line эрїюфшь тхё№ ёяшёюъ хую ётющёЄт:
get( hPlot ) Color =[0 0 1] EraseMode = normal LineStyle = -LineWidth = [7] Marker = none MarkerSize = [6] MarkerEdgeColor = auto MarkerFaceColor = none XData = [(1 by 31) double array] YData = [(1 by 31) double array] i ZData = [] ButtonDownFcn = Children = [] Clipping = on CreateFcn = DeleteFcn = BusyAction = queue HandleVisibility = on HitTest = on Interruptible = on Parent = [2.00049]
56 ├ыртр 2. ┬шчєрышчрЎш  Ёхчєы№ЄрЄют т√ўшёыхэшщ
Selected = off SelectionHighlight = on Tag =
Type = line UIContextMenu = [] UserData = [] Visible = on
╤Ёхфш тёхї ¤Єшї ьэюуюўшёыхээ√ї ётющёЄт тёЄЁхўр■Єё  шэЄєшЄштэю яюэ Єэ√х. ┬ ўрёЄэюёЄш, ь√ тшфшь чэрўхэшх Єюы∙шэ√ ышэшш (LineWidth), Ёртэюх 7; ётющёЄтю Color юЄтхўрхЄ чр ЎтхЄ ышэшш: юэ Ёртхэ [001] (RGB-ъюфшЁютър, Єю хёЄ№ ╩Ёрёэ√щ ╟хыхэ√щ ╤шэшщ), ўЄю ёююЄтхЄёЄтєхЄ ёшэхьє ЎтхЄє. ─ы  єёях°эюую яЁшьхэхэш  шэ√ї ётющёЄт ЄЁхсєхЄё  шї яюфЁюсэюх ш ъЁюяюЄыштюх шчєўхэшх, схч ъюЄюЁюую, юфэръю, тяюыэх ьюцэю юсющЄшё№, Єръ ъръ эршсюыхх трцэ√ь ётющёЄтрь ёшёЄхьр MATLAB яЁшётрштрхЄ яю єьюыўрэш■ тяюыэх т ёЁхфэхь яЁшхьыхь√х чэрўхэш . ╬эш єърч√тр■Єё  т ёяшёъх ётющёЄт ёяЁртр юЄ чэрър Ёртэю. ═хъюЄюЁ√х ётющёЄтр эх чрфхщёЄтютрэ√ ш  ты ■Єё  ЁхчхЁтюь, ъюЄюЁ√щ яЁшьхэ ■Є т ёяхЎшры№э√ї ёыєўр ї.
╥хяхЁ№ юЄ юЇюЁьыхэш  эхяюёЁхфёЄтхээю ышэшщ яхЁхщфхь ъ юЇюЁьыхэш■ юёхщ ъююЁфшэрЄ, ъ эрфяшё ь эр юё ї ш Є. ф. ╤шёЄхьр MATLAB єёЄрэртыштрхЄ яЁхфхы√ эр уюЁшчюэЄры№эющ юёш Ёртэ√ьш Єхь чэрўхэш ь, ўЄю єърчрэ√ яюы№чютрЄхыхь фы  эхчртшёшьющ яхЁхьхээющ. ─ы  чртшёшьющ яхЁхьхээющ яю тхЁЄшъры№эющ юёш MATLAB ёрьюёЄю Єхы№эю т√ўшёы хЄ фшрярчюэ шчьхэхэш  чэрўхэшщ ЇєэъЎшш. ┬ Ёхчєы№ЄрЄх уЁрЇшъ ЇєэъЎшш юърч√трхЄё  ъръ с√ тяшёрээ√ь т яЁ ьюєуюы№эшъ.
┼ёыш ь√ їюЄшь юЄърчрЄ№ё  юЄ ¤Єющ юёюсхээюёЄш ьрё°ЄрсшЁютрэш  яЁш яюёЄЁюхэшш уЁрЇшъют т ёшёЄхьх MATLAB, Єю ь√ фюыцэ√  тэ√ь юсЁрчюь эрт чрЄ№ ётюш яЁхфхы√ шчьхэхэш  яхЁхьхээ√ї яю юё ь ъююЁфшэрЄ. ▌Єю фхырхЄё  ё яюью∙№■ ЇєэъЎшш
axis ( [ xmin, xmax, ymin, ymax ] )
яЁшўхь ъюьрэфє эр т√яюыэхэшх ¤Єющ ЇєэъЎшш ьюцэю ттюфшЄ№ ё ъыртшрЄєЁ√ ёъюы№ъю єуюфэю Ёрч єцх яюёых яюёЄЁюхэш  уЁрЇшър ЇєэъЎшш, ўЄюс√, уы ф  эр яюыєўр■∙шхё  тшчєры№э√х шчюсЁрцхэш , фюсшЄ№ё  эршыєў°хую тюёяЁш Єш . ╥ръюх ьрё°ЄрсшЁютрэшх яючтюы хЄ яюыєўшЄ№ яюфЁюсэ√х шчюсЁрцхэш  Єхї ўрёЄхщ уЁрЇшър, ъюЄюЁ√х т√ч√тр■Є эршсюы№°шщ шэЄхЁхё т ъюэъЁхЄэюь шёёыхфютрэшш. ═ряЁшьхЁ, фы  Ёрэхх яюыєўхээюую уЁрЇшър ЇєэъЎшш sin ьюцэю ёєчшЄ№ яЁхфхы√ яю юё ь ъююЁфшэрЄ
axis( [ 1.5, 2.5, 0.5, 2 ] )
ўЄюс√ яюыєў°х Ёрчуы фхЄ№ тхЁ°шэє ёшэєёюшф√ (ёь. Ёшё. 2.9).
╫р∙х тёхую ¤ЄюЄ яЁшхь єтхышўхэш  ьрё°Єрср шчюсЁрцхэш  яЁшьхэ ■Є яЁш уЁрЇшўхёъюь Ёх°хэшш єЁртэхэшщ ё Єхь, ўЄюс√ яюыєўшЄ№ сюыхх т√ёюъє■ ЄюўэюёЄ№ яЁшсышцхэш  ъ ъюЁэ■.
MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх
57
* Figure No. 1
. ?ile ж: Edit.' Window '' fclelp - ^ '.,* 2
╨шёєэюъ 2.9
╥хяхЁ№ шчьхэшь ъюышўхёЄтю ўшёыют√ї ьхЄюъ эр юё ї. ╚ї ьюцхЄ яюърчрЄ№ё  эхфюёЄрЄюўэю (эр уюЁшчюэЄры№эющ юёш яюёыхфэхую Ёшёєэър шї тёхую ЄЁш - фы  чэрўхэшщ 1. 5, 2 ш 2 .5).
╚чьхэшЄ№ юЄьхЄъш эр юё ї ъююЁфшэрЄ ьюцэю ё яюью∙№■ ЇєэъЎшш set, юсЁрсрЄ√тр■∙хщ уЁрЇшўхёъшщ юс·хъЄ axes. ▌Єю юс·хъЄ, ъюЄюЁ√щ ёюфхЁцшЄ юёш ъююЁфшэрЄ ш схы√щ яЁ ьюєуюы№эшъ, тэєЄЁш ъюЄюЁюую яЁютюфшЄё  уЁрЇшъ ЇєэъЎшш. ─ы  яюыєўхэш  юяшёрЄхы  Єръюую юс·хъЄр яЁшьхэ ■Є ЇєэъЎш■ фёр. ▌Єє ЇєэъЎш■ т√ч√тр■Є схч ярЁрьхЄЁют. ┬ шЄюух ЇЁруьхэЄ ъюфр
hAxes = gca;
set( hAxes, 'xtick', [ 1.5, 1.75, 2.0, 2.25, 2.5 ] )
т√яюыэ ■∙шщё  яюёых яюёЄЁюхэш  уЁрЇшър, єёЄрэртыштрхЄ эют√х ьхЄъш (т ъюышўхёЄтх я Єш °Єєъ) эр уюЁшчюэЄры№эющ юёш ъююЁфшэрЄ.
─ы  яЁюёЄртыхэш  Ёрчышўэ√ї эрфяшёхщ эр яюыєўхээюь Ёшёєэъх яЁшьхэ ■Є ЇєэъЎшш xlabel, ylabel, title ш text. ╘єэъЎш  xlabel яЁхфэрчэрўхэр фы  яЁюёЄртыхэш  эрчтрэш  уюЁшчюэЄры№эющ юёш, ЇєэъЎш  ylabel - Єю цх фы  тхЁЄшъры№эющ юёш (яЁшўхь ¤Єш эрфяшёш юЁшхэЄшЁютрэ√ тфюы№ юёхщ ъююЁфшэрЄ).
┼ёыш ЄЁхсєхЄё  ЁрчьхёЄшЄ№ эрфяшё№ т яЁюшчтюы№эюь ьхёЄх Ёшёєэър, яЁшьхэ хь ЇєэъЎш■ text:
text( ї, є, 'some text')
╬с∙шщ чруюыютюъ фы  уЁрЇшър яЁюёЄрты хЄё  ЇєэъЎшхщ title. ╩Ёюьх Єюую, шёяюы№чє  ъюьрэфє
grid on
ьюцэю эрэхёЄш шчьхЁшЄхы№эє■ ёхЄъє эр тё■ юсырёЄ№ яюёЄЁюхэш  уЁрЇшър. ╧Ёшьхэ   тёх ¤Єш ёЁхфёЄтр:
title( 'Function sin(x) graph' );
58
├ыртр 2. ┬шчєрышчрЎш  Ёхчєы№ЄрЄют т√ўшёыхэшщ