Практикалық оқыту. сегіз MATLAB жүйесінің графикалық құралдарымен жұмыс істеу
сөнген тербелістер
Жүйеде диссипативті процестер болған жағдайда тербеліс амплитудасытөмендейді. Физикалық тұрғыдан бұл әртүрлі факторларға байланысты - механикалық жүйелер үшін үйкелістің болуы, электромагниттік тербелістер үшін белсенді кедергіге жылудың бөлінуі, толқындық процестер үшін ортадағы дисперсия. Дегенмен, математика деңгейінде бұл процестердің көпшілігі келесі дифференциалдық теңдеуге әкеледі:
Бағдарлама кодының шамалы өзгеруі бұл теңдеуді шешуге мүмкіндік береді.
% x(t) функциясымен және айнымалылармен символдық операцияларға жүйені көрсетіңіз % Omega0, Xmax
Көріп отырғаныңыздай, компьютермен алынған шешім, жеңілдету операторын қолданғаннан кейін де, физика курсынан белгілі шешімге аз ұқсастыққа ие.
𝑋 =𝑋0 ⋅ 𝑒−𝛽⋅𝑡 ⋅ 𝑠𝑖𝑛(𝜔 ⋅ 𝑡 +𝜙0).
Мысал компьютерлік алгебра жүйелері үшін жеткілікті типтік жағдайды көрсетеді: компьютермен алынған аналитикалық шешімдер адамға әрқашан түсінікті бола бермейді. Соған қарамастан, алынған өрнектер әрі қарай аналитикалық түрлендірулер үшін де, есептеу үшін де қолайлы.
Нәтиже өрнекті пайдаланып тікелей бағалау мүмкін емес, өйткені нәтиже символдық өрнек (өрнек «sym» типті, «жол» түрімен шатастырмау керек). Есептеу алдында оны matlabFunction() операторы арқылы орындалатын функцияға түрлендіру керек. Бұл жағдайда аргумент символдық өрнек болып табылады, функция көрсеткіші (function_handle) қайтарылады. Алынған көрсеткіш келесі есептеулерде функция атауы ретінде пайдаланылады. Бағдарлама кодының соңғы бөлігін өзгертейік:
% Дифференциалдық теңдеудің шешімі % және функция көрсеткішін жасау Өңделген тербеліс = matlabFunction(дешеу(теңдеу,шарт)) Нәтижесінде біз аламыз:
DampedOscillation = мәнмен функция_тұтқасы: @(Бета,Омега0,Xmax,t)…..
Жүйелік хабарда DampedOscillation функцияға көрсеткіш ретінде пайдаланылады, ол есептеу үшін DampedOscillation(Beta,Omega0,Xmax,t) төрт аргументін беру қажет. Эллипс белгісінің орнына листинг айқын функция өрнегін береді (оны алдыңғы тізімде көруге болады). Алынған өрнекті, мысалы, графиктерді салу үшін қолдануға болады (график 3.1-суретте көрсетілген).
% Жиілік, амплитуданың сандық мәндерінің спецификациясы % әлсіреу және уақыт диапазоны Омега0=10;Xmax=5; бета=1; t=1:0,01:10; % сызу figure() ұстап тұрыңыз; тор қосулы; сюжет(t,Өңгірленген тербеліс(Бета,Омега0,Xmax,t),'LineWidth',3); xlabel('t'); ylabel('X'); легенда («Өшірілген тербеліс»);
Салынған график сөнген тербелістер үшін классикалық болып табылады. Көріп отырғанымыздай, жүйе ұсынған шешімді жазудың күрделілігіне қарамастан, ол тербелмелі жүйені жеткілікті түрде сипаттайды.
Символдық математиканы пайдаланып шешу кезінде барлық теңдеулердің аналитикалық шешімі бола бермейтінін есте ұстаған жөн. Бұл жағдайда Matlab ескерту береді:
Ескерту: анық шешім табылмады.
ans = [бос таңба] Бұл жағдайда сандық шешімнің мүмкіндігі сақталады (2-бөлімді қараңыз).