"Вычисления, визуализация и программирование в среде MATLAB 5.x" - читать интересную книгу автора (Мартынов Н. Н., Иванов А. П.)= 5j V(*')2 + (y'f + (z'fdt = 5j Vcos2 t + 4 sin2 t + 9dt.
─ы т√ўшёыхэш яюф√эЄхуЁры№эющ ЇєэъЎшш ёючфрфшь ёыхфє■∙шщ ЄхъёЄ: function z = MyFunc321( t ) z = sqrt( cos(t) .╦2 + 4*sin(t) .A2 +. 9 ); ъюЄюЁ√щ чряш°хь т Їрщы MyFunc321 .m, яюёых ўхую т√ч√трхь ЇєэъЎш■ quad: ╠ = 5 * quad( 'MyFunc321', 0, 2 ); ╠ = 34.2903 ─тющэ√х шэЄхуЁры√ ётюф Єё ъ т√ўшёыхэш■ яютЄюЁэ√ї юяЁхфхыхээ√ї шэЄхуЁрыют, юфшэ шч ъюЄюЁ√ї ты хЄё тэєЄЁхээшь, р фЁєующ тэх°эшь. ┬эєЄЁхээшщ шэЄхуЁры ты хЄё яюф√эЄхуЁры№эющ ЇєэъЎшхщ фы тэх°эхую шэЄхуЁрыр. ╠юцэю MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 143 с√ыю с√ эряшёрЄ№ эхъюЄюЁє■ Ўхяюўъє т√ўшёыхэшщ (яЁюуЁрььє), т ъюЄюЁющ ьэюуюъЁрЄэ√х т√ўшёыхэш яюф√эЄхуЁры№эющ ЇєэъЎшш ётюфшышё№ с√ ъ ьэюуюъЁрЄэ√ь т√чютрь ЇєэъЎшш quad. ╬фэръю эхЄ эхюсїюфшьюёЄш фхырЄ№ ¤Єю ёрьюёЄю Єхы№эю, Єръ ъръ т ёшёЄхьх MATLAB фы ¤Єюую шьххЄё ёяхЎшры№эр ЇєэъЎш dblquad. ┬ Ёхчєы№ЄрЄх т ёыєўрх эхюсїюфшьюёЄш т√ўшёыхэш фтющэюую шэЄхуЁрыр, Єръюую, ъръ, эряЁшьхЁ, шэЄхуЁры 1 2 JJ (ї sin (є) + є sin (x) )dxdy, ю 1 фюёЄрЄюўэю юЇюЁьшЄ№ яюф√эЄхуЁры№эє■ ЇєэъЎш■ т ёыхфє■∙хь тшфх: function z = Fof2Var( x, є ) z = x.*sin(y) + y.*sin(x); (чряшёрт ¤ЄюЄ ЄхъёЄ т Їрщы Fof 2Var .m) ш т√чтрЄ№ ЇєэъЎш■ dblquad: J = dblquad( 'Fof2Var', 0, 1, 1, 2 ); J = 1.1678 т Ёхчєы№ЄрЄх ўхую ш яюыєўшь шёъюьюх чэрўхэшх фтющэюую шэЄхуЁрыр (¤Єю ўшёЄю єўхсэ√щ яЁшьхЁ, Єръ ъръ фрээ√щ шэЄхуЁры рэрышЄшўхёъшьш яЁхюсЁрчютрэш ьш ётюфшЄё ъ яЁюшчтхфхэш■ юфэюъЁрЄэ√ї юяЁхфхыхээ√ї шэЄхуЁрыют). ╨х°хэшх ёшёЄхь юс√ъэютхээ√ї фшЇЇхЁхэЎшры№э√ї єЁртэхэшщ ┬ яЁхф√фє∙хь яюфЁрчфхых ь√ яючэръюьшышё№ эр яЁшьхЁх чрфрўш ю т√ўшёыхэшш юяЁхфхыхээ√ї шэЄхуЁрыют ё ЇєэъЎш ьш ёшёЄхь√ MATLAB, ъюЄюЁ√х ьюцэю с√ыю с√ эрчтрЄ№ шэЄхыыхъЄєры№э√ьш Ёх°рЄхы ьш ъюэъЁхЄэющ ьрЄхьрЄшўхёъющ яЁюсыхь√. ╥рь Єръшьш лЁх°рЄхы ьш╗ с√ыш рфряЄштэ√х ЇєэъЎшш quad ш quad8 (р Єръцх dblquad), ъюЄюЁ√х ёрьюёЄю Єхы№эю тхыш яЁюЎхёё т√ўшёыхэшщ, эр їюфє юяЁхфхы эєцэ√х ЁрчьхЁ√ °руют шэЄхуЁшЁютрэш . ─ы Ёх°хэш ёшёЄхь юс√ъэютхээ√ї фшЇЇхЁхэЎшры№э√ї єЁртэхэшщ т ёшёЄхьх MATLAB Єръцх шьх■Єё эхюсїюфшь√х лЁх°рЄхыш╗. ▌Єю ЇєэъЎшш ode23, ode45, odell3, odel5s, ode23s,ode23t ш ode23tb. ╘єэъЎшш ё ёєЇЇшъёюь s яЁхфэрчэрўхэ√ фы Ёх°хэш Єръ эрч√трхь√ї ёшёЄхь цхёЄъшї фшЇЇхЁхэЎшры№э√ї єЁртэхэшщ. ╚ї ь√ ЁрёёьюЄЁшь ўєЄ№ яючцх, р фы тёхї юёЄры№э√ї ёшёЄхь фшЇЇхЁхэЎшры№э√ї єЁртэхэшщ эршсюыхх єяюЄЁхсшЄхы№эющ ты хЄё ЇєэъЎш ode45, Ёхрышчє■∙р рыуюЁшЄь ╨єэух- ╩єЄЄр 4- 5-ую яюЁ фър (Ёрчэ√х яюЁ фъш ЄюўэюёЄш шёяюы№чє■Єё фы ъюэЄЁюы °рур шэЄхуЁшЁютрэш ). 144 ├ыртр 4. ╨х°хэшх Єшяют√ї чрфрў рыухсЁ√ ш рэрышчр ╧Ёхцфх ўхь яЁшьхэшЄ№ эр яЁръЄшъх ЇєэъЎш■ ode45, юяш°хь хх рЁуєьхэЄ√, ёт чрээ√х ёю ёЄЁєъЄєЁющ ёшёЄхь√ юс√ъэютхээ√ї фшЇЇхЁхэЎшры№э√ї єЁртэхэшщ. ╧юёыхфэ шьххЄ тшф yl' = Fl( ї, yl, є2, ..., єя ); є2' = F2( ї, yl, y2, ..., єя ); єя' = Fn( ї, yl, y2, ..., єя); i у \ ы, 1 I , ╫Єюс√ яЁшьхэшЄ№ лЁх°рЄхы№╗ ode45, эєцэю юЇюЁьшЄ№ т тшфх ёюсёЄтхээющ ЇєэъЎшш яЁртє■ ўрёЄ№ ёшёЄхь√ єЁртэхэшщ F ( ї, Y ). ╧єёЄ№, ъ яЁшьхЁє, ЄЁхсєхЄё Ёх°шЄ№ ёыхфє■∙є■ ёшёЄхьє єЁртэхэшщ: yl' = є2 + ╩ * ї * ї; є2' = -yl; ё эрўры№э√ьш єёыютш ьш yl (0) = 0, є2 (0) = 1. ╟фхё№ ╩-ъю¤ЇЇшЎшхэЄ эхышэхщэюёЄш чрфрўш. ╧Ёш ╩ = 0 чрфрўр ёЄрэютшЄё ўшёЄю ышэхщэющ ш юяшё√трхЄ урЁьюэшўхёъшх ъюыхсрэш . ┼ёыш яюёЄхяхээю єтхышўштрЄ№ чэрўхэшх ъю¤ЇЇшЎшхэЄр ╩ ш эрїюфшЄ№ ёююЄтхЄёЄтє■∙шх Ёх°хэш , Єю ьюцэю сєфхЄ эруы фэю эрсы■фрЄ№ яюёЄхяхээюх яЁю тыхэшх эхышэхщэюую їрЁръЄхЁр ъюыхсрэшщ. ─ы фрээюую яЁшьхЁр эхшчтхёЄэр тхъЄюЁ-ЇєэъЎш Y ёюёЄюшЄ шч фтєї ¤ыхьхэЄют: ╙ = [ yl, є2 ] ╥ръ ъръ ЇєэъЎшш yl ш є2 т√ўшёы ■Єё тю ьэюушї Єюўърї т яЁюЎхёёх эрїюцфхэш Ёх°хэш , Єю Ёхры№эю yl ш є2 ты ■Єё тхъЄюЁ-ёЄюысЎрьш. ┬хъЄюЁ F яЁрт√ї ўрёЄхщ ёшёЄхь√ єЁртэхэшщ фы ╩ = 0.01 т√ўшёы хь ё яюью∙№■ ёюсёЄтхээющ ЇєэъЎшш MyDifEql: function F = MyDifEql( x, є) F = [ 0.01 * x * x + y(2); -y(l) ] ; ЄхъёЄ ъюЄюЁющ чряшё√трхь т Їрщы MyDifEql .ур. ▌Єр ЇєэъЎш т√ч√трхЄё ърцф√щ Ёрч, ъюуфр ЄЁхсєхЄё т√ўшёышЄ№ яЁрт√х ўрёЄш єЁртэхэшщ т ъюэъЁхЄэющ Єюўъх ї, Єръ ўЄю чфхё№ ї ты хЄё ёъры Ёюь, р тхъЄюЁ є ёюёЄюшЄ тёхую шч фтєї ¤ыхьхэЄют. ─Ёєур ЇєэъЎш - MyDifEqO: function F = MyDifEqO( x, є ) F = [ y(2); -y(l) ]; MATLAB 5.x. ┬√ўшёыхэш , тшчєрышчрЎш , яЁюуЁрььшЁютрэшх 145 юяшё√трхЄ яЁрт√х ўрёЄш фшЇЇхЁхэЎшры№э√ї єЁртэхэшщ яЁш эєыхтюь чэрўхэшш ъю¤ЇЇшЎшхэЄр ╩, Єю хёЄ№ юэр ёююЄтхЄёЄтєхЄ ўшёЄю ышэхщэюьє ёыєўр■. ╥хяхЁ№ ьюцэю т√ч√трЄ№ ЇєэъЎш■ ode45: [ X, Y ] = ode45( 'MyDifEqO',[0,20], [0,1] ); эрїюф ∙є■ Ёх°хэшх эр°хщ ёшёЄхь√ фшЇЇхЁхэЎшры№э√ї єЁртэхэшщ ё эрўры№э√ьш єёыютш ьш [0,1] эр юЄЁхчъх [0,20]. ╧юёъюы№ъє чфхё№ шёяюы№чютрэр ЇєэъЎш MyDifEqO фы яЁрт√ї ўрёЄхщ єЁртэхэшщ, Єю ь√ эр°ыш Ёх°хэшх фы ышэхщэюую ёыєўр урЁьюэшўхёъшї ъюыхсрэшщ. ▌Єю Ёх°хэшх (ъръ yl = Y(:,l), Єръ ш є2 = ╙ (:, 2)) ё яюью∙№■ ъюьрэф plot( X, Y(:,l) ) hold on plot( X, Y(:,2) ) юЄюсЁрцрхЄё эр ёыхфє■∙хь уЁрЇшъх (ёь. Ёшё. 4.6). ~i Figure No 1 ┬┬┼╟ Window Х Help |
|
|