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

Improper function reference, a ',' or ')' is expected.
ючэрўр■∙хх, ўЄю эх їтрЄрхЄ ышсю чря Єющ, ышсю чръЁ√тр■∙хщ ъЁєуыющ ёъюсъш (яюёыхфэхх  ты хЄё  фхщёЄтшЄхы№эющ ю°шсъющ).
┼ёыш цх Єрър  ю°шсюўэр  ёшЄєрЎш  тючэшъэхЄ т Єхых ╠-ЇєэъЎшш, Єю т ъюьрэфэюх юъэю ёшёЄхь√ MATLAB сєфхЄ т√фрэю ыш°№ ёююс∙хэшх ю Єюь, т ъръющ шьхээю ёЄЁюъх ╠-ЇєэъЎшш тючэшъыр ю°шсюўэр  ёшЄєрЎш , эю эшъръющ фшруэюёЄшъш ёююс∙хэю эх сєфхЄ. ╫Єюс√ тёх-Єръш яюыєўшЄ№ ¤Єє ёЄЁюъютє■ фшруэюёЄшўх-
MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 189
ёъє■ шэЇюЁьрЎш■ т Єхых ╠-ЇєэъЎшш, эєцэю т√ч√трЄ№ ЇєэъЎш■ eval ё фтєь  рЁуєьхэЄрьш, єърчрт ёЄЁюъют√ь чэрўхэшхь тЄюЁюую рЁуєьхэЄр шь  фЁєующ (эрьш цх ЁрчЁрсюЄрээющ) ╠-ЇєэъЎшш, яЁхфэрчэрўхээющ фы  юсЁрсюЄъш ю°шсюъ. ┬ яюёыхфэхщ ЇєэъЎшш (Єю хёЄ№ т ЇєэъЎшш юсЁрсюЄъш ю°шсюъ) эєцэю т√ч√трЄ№ ЇєэъЎш■ lasterr, ъюЄюЁр  ш тючтЁрЄшЄ ¤Єє фшруэюёЄшўхёъє■ шэЇюЁьрЎш■.
┬юЄ ёююЄтхЄёЄтє■∙шщ яЁшьхЁ ╠-ЇєэъЎшш, уфх яЁхфєёьюЄЁхэ т√чют ёюсёЄтхээющ ЇєэъЎшш MyErrorCatch фы  юсЁрсюЄъш ю°шсюъ, ьюує∙шї тючэшъэєЄ№ т яЁюЎхёёх т√яюыэхэш  ЇєэъЎшш eval:
function є = ErrorTest
s = input('Enter string:', 's' );
є = eval( s, 'MyErrorCatch' );
┼ёыш ё ъыртшрЄєЁ√ сєфхЄ ттхфхэю ЁрёёьюЄЁхээюх т√°х ю°шсюўэюх т√Ёрцхэшх ё т√ўшёыхэшхь ёшэєёр, Єю єяЁртыхэшх сєфхЄ яхЁхфрэю т ЇєэъЎш■
MyErrorCatch:
function z = MyErrorCatch err = lasterr; %error processing:... z = 2;
т ъюЄюЁющ ёЄЁюър err яюыєўшЄ т ърўхёЄтх чэрўхэш  ёшьтюы№эюх т√Ёрцхэшх 'Improper function reference, a ╗,╗ or л)╗ is expected'. ╧ЁюрэрышчшЁютрт фрыхх ёюфхЁцшьюх яхЁхьхээющ err, ьюцэю ЁрёяючэрЄ№ їрЁръЄхЁ ю°шсюўэющ ёшЄєрЎшш ш яЁхфяЁшэ Є№ эхъюЄюЁ√х шёяЁрты ■∙шх фхщёЄтш . ╟фхё№ цх, фы  ъЁрЄъюёЄш шчыюцхэш , ь√ яЁюёЄю тючтЁр∙рхь фтющъє. ┬ Ёхчєы№ЄрЄх ¤Єр хфшэшЎр ёЄрэютшЄё  ш тючтЁр∙рхь√ь чэрўхэшхь ЇєэъЎшш ErrorTest, т ъюЄюЁющ, ёюсёЄтхээю, ш тючэшъыр ю°шсюўэр  ёшЄєрЎш . ╥ръшь юсЁрчюь, ЇєэъЎш  ErrorTest тёхуфр тючтЁр∙рхЄ ъръюх-ышсю чэрўхэшх: ъюуфр т√Ёрцхэшх фы  т√ўшёыхэш  ёшэєёр ттюфшЄё  ё ъыртшрЄєЁ√ схч ю°шсюъ, яЁюшёїюфшЄ т√ўшёыхэшх ¤Єющ ЇєэъЎшш ш тючтЁр∙рхьюх чэрўхэшх яю ьюфєы■ ьхэ№°х хфшэшЎ√, р т ёыєўрх ъръшї-ышсю ю°шсюъ ттюфр тючтЁр∙рхЄё  фтющър.
╧ю ёЁртэхэш■ ё ЇєэъЎшхщ eval, ъюЄюЁр  їюЁю°ю яюфїюфшЄ фы  т√ўшёыхэш  ёыюцэ√ї т√Ёрцхэшщ, ЇєэъЎш  feval сюыхх єфюсэр фы  т√ўшёыхэш  юфшэюўэющ ЇєэъЎшш, ъюЄюЁющ яЁш ¤Єюь ьюцэю яхЁхфрЄ№ фюяюыэшЄхы№э√х ярЁрьхЄЁ√:
feval ( str, xl, x2,...,xN )
╟фхё№ ёЄЁюър str чрфрхЄ шь  ЇєэъЎшш, яюфыхцр∙хщ т√ўшёыхэш■ яЁш чэрўхэш ї рЁуєьхэЄют xl, ї2, ..., xN. ┬юЄ яЁюёЄющ шыы■ёЄЁшЁє■∙шщ яЁшьхЁ шёяюы№чютрэш  ЇєэъЎшш feval:
FunName = { 'cos', 'sin', 'tan' }; m = input('Enter function index: '); x = feval( FunName{m}, 0.5 );
190
├ыртр 6. ╧ЁюуЁрььшЁютрэшх ЇєэъЎшщ эр ╠- ч√ъх
┼ёыш ё ъыртшрЄєЁ√ сєфхЄ ттхфхэю Ўхыюх ўшёыю 2, Єю ё яюью∙№■ ЇєэъЎшш feval сєфхЄ т√ўшёыхэю чэрўхэшх sin (0.5), Ёртэюх 0.4794.
I'
╦юъры№э√х, уыюсры№э√х ш ёЄрЄшўхёъшх яхЁхьхээ√х
╠-ЇєэъЎшш Ёрёяюырур■Є ёюсёЄтхээ√ь яЁюёЄЁрэёЄтюь яхЁхьхээ√ї, шчюышЁютрээ√ь юЄ Ёрсюўхую яЁюёЄЁрэёЄтр ёшёЄхь√ MATLAB. ╧ю¤Єюьє ёютярфхэшх шьхэ яхЁхьхээ√ї шч Ёрсюўхую яЁюёЄЁрэёЄтр ш шьхэ тэєЄЁхээшї яхЁхьхээ√ї ╠-ЇєэъЎшщ эх яЁштюфшЄ эш ъ ъръшь ъюыышчш ь.
╧хЁхьхээ√х, ъюЄюЁ√х шёяюы№чє■Єё  т Єхых ╠-ЇєэъЎшш ш эх ёютярфр■Є ё шьхэрьш ЇюЁьры№э√ї ярЁрьхЄЁют ¤Єющ ЇєэъЎшш, эрч√тр■Єё  ыюъры№э√ьш. ╚ї юсырёЄ№ фхщёЄтш  яюыэюёЄ№■ юуЁрэшўхэр Ёрьърьш Єхыр фрээющ ╠-ЇєэъЎшш. ╧ю-фЁєуюьє уютюЁ , юэш тшфшь√ ыш°№ т яЁхфхырї ╠-ЇєэъЎшш. ╚ч Ёрсюўхую яЁюёЄЁрэёЄтр ёшёЄхь√ MATLAB ш шч фЁєушї ╠-ЇєэъЎшщ юэш эх тшфэ√ ш эх фюёЄшцшь√. └эрыюушўэю ыюъры№э√х тэєЄЁш эхъюЄюЁющ ЇєэъЎшш яхЁхьхээ√х эх тшфэ√ шч фЁєующ ╠-ЇєэъЎшш ш шч Ёрсюўхую яЁюёЄЁрэёЄтр.
╬ёэютэ√ь ърэрыюь яхЁхфрўш шэЇюЁьрЎшш шч ъюьрэфэюую юъэр ёшёЄхь√ MATLAB т ╠-ЇєэъЎш■ ш шч юфэющ ЇєэъЎшш т фЁєує■  ты хЄё  ьхїрэшчь ярЁрьхЄЁют ЇєэъЎшш. ─Ёєушь ьхїрэшчьюь яхЁхфрўш шэЇюЁьрЎшш т ЇєэъЎш■  ты ■Єё  уыюсры№э√х яхЁхьхээ√х.
╫Єюс√ Ёрсюўр  юсырёЄ№ ёшёЄхь√ MATLAB ш эхёъюы№ъю ╠-ЇєэъЎшщ ьюуыш ёютьхёЄэю шёяюы№чютрЄ№ эхъюЄюЁє■ яхЁхьхээє■ ё чрфрээ√ь шьхэхь, хх тё■фє эєцэю юс· тшЄ№ ъръ уыюсры№эє■ ё яюью∙№■ ъы■ўхтюую ёыютр global.
═р Ёшё. 6.7 яюърчрэ яЁшьхЁ, ъюуфр яхЁхьхээр  b юс· ты хЄё  т ъюьрэфэюь юъэх ъръ уыюсры№эр .
Х} MATLAB Command Window
File Edit ж jvindow help
D & & Ї, з┘ J n Х> i m tg I*;?
╗ a=l;
╗ global b
╗b=2;
╗ whos
Name Size Bytes Class
*. . . ' u
a (lxlv>,i;b 8 double array b . 1x1 '^.I*."- ╨шёєэюъ 6.7
MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх
191
╩юьрэфр whos яюърч√трхЄ шэЇюЁьрЎш■ фы  тёхї яхЁхьхээ√ї Ёрсюўхщ юсырёЄш ёшёЄхь√ MATLAB, р уыюсры№э√х яхЁхьхээ√х юЄьхўрхЄ яЁш ¤Єюь ъы■ўхт√ь ёыютюь global. ╩юьрэфр
whos global
т√фрхЄ ёяЁртюўэє■ шэЇюЁьрЎш■ Єюы№ъю яю уыюсры№э√ь яхЁхьхээ√ь.
├ыюсры№э√х яхЁхьхээ√х (т юЄышўшх юЄ фЁєушї яхЁхьхээ√ї) ртЄюьрЄшўхёъш шэшЎшрышчшЁє■Єё  яєёЄ√ьш ьрёёштрьш:
global ё
╥ръшь юсЁрчюь, уыюсры№э√х яхЁхьхээ√х тёхуфр шьх■Є їюЄ№ ъръшх-Єю чэрўхэш . ├ыюсры№э√х яхЁхьхээ√х,  тэю шэшЎшрышчшЁютрээ√х т ъюьрэфэюь юъэх ёшёЄхь√ MATLAB, ьюцэю ёьхыю шёяюы№чютрЄ№ т Єхых ╠-ЇєэъЎшш, эх яЁюшчтюф  т яюёыхфэхщ эшъръшї эрўры№э√ї яЁшётрштрэшщ ¤Єющ яхЁхьхээющ.
═р Ёшё. 6.8 яюърчрэ яЁшьхЁ, ъюуфр яхЁхьхээр  glVarS юс· ты хЄё  уыюсры№эющ т ЄхъёЄх ЇєэъЎшш FuncWithGlobVar ш т ъюьрэфэюь юъэх ёшёЄхь√ MATLAB.
MATLAB Editor/Debugger- [FuncWithGlobVar.m - E:\.
:?ile;жжж Editi: View\Qebyg └ Ioolsj;^indow,;> Help '∙!^^╪