1. matlab жұмыстық кеңістігі matlab жүйесіндегі стандартты математикалық функциялар



Дата09.04.2020
өлшемі32,01 Kb.
#62011
Байланысты:
3 тапсырма
14 неделя реферат
1. MATLAB жұмыстық кеңістігі

2. MATLAB жүйесіндегі стандартты математикалық функциялар

3. MATLAB ортасындағы жүйелік айнымалылар

MatLab пакетінің бағдарламалық құрылымы

Әдетте, MatLab-дағы кез-келген бағдарлама функция болып табылады және кілт сөзінен басталып, оның атауынан кейін бос орын болады. Мысалы

lab1 функциясы


  a \u003d 5;
  b - 2;
  c \u003d a * b;

Бұл бағдарлама Lab1 деп аталатын функцияға енеді және a және b екі айнымалы мәндерінің көбейтіндісін есептейді. Бағдарламаны m-файлға сақтаған кезде, функцияның атына сәйкес келетін файл атауын, яғни, атауын көрсету ұсынылады. бұл жағдайда, Lab1.

Айта кету керек, көптеген қосымша функцияларды бір m-файлда көрсетуге болады. Ол үшін негізгі бағдарламаның тізімінің соңында басқа кілт сөз функциясын жазып, оның атын қойыңыз, мысалы,

lab1 функциясы


  a \u003d 5;
  b - 2;
  c \u003d a * b;
  out_c (c); % функциясы қоңырау шалу_c ()

out_c (arg_c)% функциясы анықтама out_c ()


  disp (arg_c);

Out_c () функциясы анықталғанға дейін оны негізгі бағдарламада шақыруға болатынын ескеріңіз. Бұл MatLab тілінің ерекшелігі, бағдарламалаушыға функциялардың реттілігі туралы алаңдамауға мүмкіндік береді. Жоғарыда келтірілген мысалда, out_c () функциясында arg_c деп аталатын бір енгізу параметрі бар, ол экранда (MatLab командалық терезесінде) кірістірілген disp () функциясын қолдана отырып көрсетіледі. Нәтижесінде жоғарыда аталған бағдарлама орындалған кезде c айнымалы мәні MatLab командалық терезесінде пайда болады.

Қосымша функцияларды бөлек m-файлдарда жасауға болады. Мысалы, егер функцияны бір m-файлда сипаттау және оны басқасында шақыру қажеттілігі туындаса, онда оны келесідей орындауға болады.

1-ші файл (Lab1.m)

Lab1 функциясы орындалған кезде MatLab жүйесі квадрат функциясын square.m файлынан шақырады. Бұл автоматты түрде орындалады MatLab тілінің кіріктірілген функциялары да анықталған және атаулары, әдетте, аталатын функциялардың атауларына сәйкес келетін файлдардан шақырылады. Сондай-ақ, квадрат () функциясы a және b екі аргументті қабылдап қана қоймай, сонымен қатар, айнымалы мәнін пайдаланып, олардың көбейтіндісін қайтаратындығын ескеріңіз. Ұсынылған синтаксисті есептеу нәтижелерін негізгі бағдарламаға қайтару қажет болған кезде пайдалану керек. Осы оқулықтың төртінші тарауында әртүрлі алгоритмдерді қолдануға шақыратын функциялар құрылымы толығырақ сипатталған.

MatLab-та қарапайым айнымалылар және негізгі мәліметтер типтері

Бағдарламаны құру әдетте айнымалыларды және мәліметтерді ұсыну тәсілдерін анықтаудан басталады. Сондықтан, бағдарлама мәліметтерін сипаттауды дұрыс ұйымдастыру үшін, сіз MatLab-қа айнымалы мәндерді қалай қою керектігін және қандай түрлендіргіштердің болуы мүмкін екенін білуіңіз керек.

Қарапайым және кең таралған мәліметтер түрі - бұл сан. MatLab-та нөмір бірнеше ерекше атқа ие айнымалы түрінде сақталады, мысалы,

а атауымен айнымалы мәнді орнатады және оған 5 мәнін береді. Әдетте, айнымалы нақты болады (қос типті), яғни. бөлшек мәндерді алуы мүмкін, мысалы,

айнымалы мәнін -7,8 дейін орнатады. Сіз тиісті кілт сөзді қолдана отырып, тағайындалған санның түрін көрсете отырып, айнымалының түрін өзгерте аласыз, мысалы,

5 санын 16 биттік бүтін сан ретінде тағайындайды. Осындай әрекеттің нәтижесінде a айнымалы түрі int16 сәйкес болады.

MatLab-та қол жетімді деректер түрлері кестеде келтірілген. 1.1.

1.1-кесте. MatLab-та мәліметтердің негізгі түрлері

Әдепкі бойынша қос тип қолданылады, ол нақты санды көрсетудің дәлдігі жоғары, сондықтан әмбебап тип болып табылады. Алайда, егер компьютердің жадын сақтау қажет болса, онда қалаған түрді өзіңіз белгілей аласыз.

Айнымалыларды қою кезінде білу керек соңғы нәрсе - олардың аттарын анықтау ережесі. MatLab-та айнымалы атауларды тек латын әріптерімен, сандармен және '_' таңбасымен көрсетуге болады. Сонымен қатар, аттағы бірінші таңба латын әліпбиінің әрпіне сәйкес келуі керек. Сондай-ақ, атауларды атап өту керек

арг \u003d 1;


  Арг \u003d 2;
  ARG \u003d 3;

бұл үш түрлі ат, яғни. сәйкесінше 1, 2 және 3 мәндері бар үш әртүрлі айнымалылар. Бұл мысалда MatLab айнымалы атауларда регистр ескерілетіні көрсетілген.

Бағдарламалау кезінде мағынасы өзгермелі атауларды көрсеткен дұрыс, олардың көмегімен олар қандай деректер ұсынатынын түсінуге болады. Бұл үлкен бағдарламаларды құру кезінде шатасуға жол бермейді.

3.3. М-функциялардың орындалуы. Дәлелдер тізімі. Дәлелдер түрлері. Мәліметтер типтері

M-функциясын MATLAB жүйесінің командалық жолынан немесе басқа M-файлдардан шақыруға болады, барлық қажетті атрибуттарды - жақшаларға енгізу дәлелдерін, квадрат жақшаға шығару дәлелдерін көрсетуді ұмытпаңыз.

Атау тапсырмасы.   Жаңа атау пайда болған кезде MATLAB жүйесі тексереді:

Жаңа атау өзгермелі ма?

Бұл атау субфункцияның атауы ма, яғни сол M-файлда орналасқан және аталатын функция.

Бұл жеке каталогта орналасқан жеке функцияның атауы ма? Бұл каталог тек бір деңгей жоғары орналасқан М-файлдарға қол жетімді.

Бұл MATLAB жүйесінің кіру жолындағы функцияның атауы ма? Бұл жағдайда жүйе алдымен кіру жолында пайда болған М-файлды қолданады.

Қайталанатын атаулар болған жағдайда MATLAB жүйесі жоғарыда аталған 4 деңгейлі иерархияға сәйкес бірінші атауды қолданады. Айта кету керек, MATLAB 5-те функцияны объектіге бағытталған бағдарламалау ережелеріне сәйкес қайта анықтауға болады.

Функцияны шақыру. M-функциясын шақырған кезде MATLAB жүйесі функцияны псевдо-кодқа аударады және оны жадқа жүктейді. Бұл қайта талдаудан аулақ болады. Псевдо-код нақты команданы қолданғанға дейін немесе сессия аяқталғанша жадта қалады.

Таза команданың келесі өзгертулеріне рұқсат етіледі:

Бұл команда M-file орташа.m файлын талдайды және алынған жалған кодты o'rtacha.p деп аталатын файлда сақтайды. Бұл жаңа жұмыс сеансы кезінде қайта талдануға жол бермейді. Талдау өте жылдам болғандықтан, pcode командасын қолдану оның орындалу жылдамдығына әсер етпейді.


   Р-кодты қолдану екі жағдайда дұрыс:

пайдаланушының графикалық интерфейсін құруға байланысты қолданбаларда графикалық объектілерді визуализациялау үшін қажетті көптеген M-файлдарды талдау қажет болғанда; бұл жағдайда Р-кодты қолдану айтарлықтай жеделдетуді қамтамасыз етеді;

пайдаланушы М-файлында орындалған алгоритмдерді жасырғысы келгенде.

Аргументті өткізу ережелері. Бағдарламалаушының көзқарасы бойынша, MATLAB жүйесі өзінің мәні бойынша дәлел келтіреді. Шын мәнінде, бұл функция жұмыс істеген кезде өзгеретін дәлелдер ғана мәні бойынша беріледі. Егер функция аргументтің мәнін өзгертпей, оны тек есептеулер үшін қолданатын болса, онда аргумент сілтеме арқылы беріледі, бұл жадты пайдалануды оңтайландыруға мүмкіндік береді.

Жұмыс кеңістігінің мүмкіндіктері.   M-функцияның әрқайсысына MATLAB жүйесінің жұмыс аймағымен қиылыспайтын қосымша жад аймағы бөлінеді. Бұл аймақ функцияның жұмыс кеңістігі деп аталады. Әр функцияның өзінің жұмыс кеңістігі болады.

MATLAB жүйесімен жұмыс істеу кезінде сіз тек жүйелік жұмыс кеңістігінде немесе функцияның жұмыс кеңістігінде орналасқан айнымалыларға қол жеткізе аласыз. Егер айнымалы ғаламдық деп жарияланса, онда ол бірнеше жұмыс аймағына жатады деп санауға болады.

Дәлелдер санын тексеру.    Жиілік және nargout функциялары шақырылатын функцияның кіріс және шығыс дәлелдерінің санын анықтауға мүмкіндік береді. Бұл ақпаратты кейінірек есептеулер барысын өзгерту үшін шарттық нұсқауларда пайдалануға болады.

Мысал:


c \u003d testarg1 (a, b) функциясы
   егер (nargin \u003d\u003d 1)
   c \u003d a. ^ 2;
   elseif (nargin \u003d\u003d 2)
   c \u003d + b;
   соңы

Бір енгізу аргументін анықтаған кезде функция енгізу айнымалысының квадратын есептейді; екі аргумент берілген кезде, қосымша операция орындалады.

Неғұрлым күрделі мысалды қарастырайық - бос орын немесе кез-келген басқа таңба ретінде пайдалануға болатын бөлгішке таңба жолының бөлігін таңдау. Жеке енгізу аргументін көрсеткенде, функция әдепкі кеңістік ретінде пайдаланылатын бөлгіштің алдында сызықтың бөлігін таңдау керек; жолдың басында барлық бос орындар алынып тасталады. Екі аргументті көрсеткенде бөлгіш таңба екінші аргумент ретінде көрсетілуі керек.

Бұл функция strfok каталогында орналасқан str-m M функциясы ретінде жасалған.



Функцияда кемінде бір енгізу аргументі болуы керек

Егер енгізу дәлелі бір болса, онда бөлгіш ретінде бос орын пайдаланылады.

Таңдалған ішкі жолдың басталуын анықтаңыз

Таңдалған ішкі жолдың соңын анықтаңыз

Жолдың қалған бөлігін ерекшелеу





Шығару тізіміндегі дәлелдердің реті маңызды екенін ескеріңіз. Егер M-функциясын пайдалану кезінде шығыс дәлелі көрсетілмесе, бірінші дәлел әдепкі бойынша шығарылады. Келесі дәлелдерді қалыптастыру және шығару үшін M-функциясына сәйкес қоңырауды ұйымдастыру қажет.

Дәлелдер тізімі.

Varargin және varargout функциялары кіріс және шығыс дәлелдерінің еркін санын жіберуге мүмкіндік береді. MATLAB жүйесі берілген барлық кіріс және шығыс дәлелдерін ұяшықтар массивіне жинақтайды. Әр ұяшықта кез-келген түрдегі және кез-келген мәліметтер болуы мүмкін.

Мысал
   Testvar функциясы екі элементтің векторларының кез келген санын кіріс дәлелдері ретінде қабылдайды және оларды байланыстыратын сызықтарды көрсетеді.

функциясы testvar (varargin)

   i \u003d 1 үшін: ұзындық


   x (i) \u003d varargin (i) (1);
   y (i) \u003d varargin (i) (2);
   соңы

   xmin \u003d min (0, min (x));


   ymin \u003d min (0, min (y));
   ось ()
   сюжет (х, у)

Осылайша, testvar функциясы әртүрлі ұзындықтағы енгізу тізімдерімен жұмыс істей алады.

Мысал:

тествар (,,,,,)


   testvar ([- 1 0],,)

Varargin енгізу массивін қалыптастыру.    Варгин тізімінде енгізу аргументтері ұяшықтар массивінде сақталатындықтан, деректерді алу үшін ұяшық индекстерін пайдалану керек. Ұяшық индексі екі компоненттен тұрады:


   - жақшадағы индекс;
   - жақшадағы индекс.

Мысал:


y (i) \u003d varargin (i) (2);
   Мұнда жақшадағы индекс (i) вараргин массивінің i-ші ұяшығының адресін, ал жақшадағы индекс (2) ұяшықтағы екінші элементті көрсетеді.

Varargout шығыс массивін құру. Шығу дәлелдерінің ерікті саны үшін олар әр түрлі ұяшықтар жиынтығына салынуы керек. Функцияның шығыс дәлелдерінің санын анықтау үшін сіз nargout функциясын пайдалануыңыз керек.

Мысал
   Келесі функция кіріс ретінде екі бағаннан тұратын массивті пайдаланады, мұндағы бірінші баған - x координатасының мәндерінің жиыны, ал екінші - у координатасының мәндерінің жиыны. Функция массивті бөлек векторларға бөледі, оларды testvar функциясына енгізу ретінде беруге болады.

функция \u003d testvar2 (массив)


   i \u003d 1 үшін: nargout
   varargout (i) \u003d массив (i, :);
   соңы

Циклдегі тағайындау операторы массив тағайындау синтаксисін қолданады. Тағайындау операторының сол жағында массив жолы түрінде мәліметтер ұяшыққа тағайындалғанын көрсету үшін бұйра жақшалар қолданылады.

Testvar2 функциясын шақыру үшін келесі операторларды пайдалануға болады:

a \u003d «;


    \u003d testvar2 (a)
   р1 \u003d 16
   p2 \u003d 2 7
   р3 \u003d 3 8
   p4 \u003d 4 9
   p5 \u003d 5 0

Аргументтер тізімінде ұяшықтардың массивтерін пайдалану. Varargin және varargout аргументтері тиісті аргумент тізімдерінде соңғы болуы керек. Функцияны шақырған кезде, өзгерудің алдындағы дәлелдер функция ішінде бағалануы керек.

Мысал
Келесі функцияның тақырыптары вараргиндер мен варварлық тізімдерді дұрыс қолдануды көрсетеді:

функция \u003d example1 (a, b, varargin)


   функция \u003d example2 (x1, y1, x2, y2, жалауша)

Айнымалылардың түрлері.

Жергілікті және глобалды айнымалылар. Айнымалы мәндерді M-файлда қолдану пәрмен жолында айнымалыларды қолданудан еш айырмашылығы жоқ, атап айтқанда:

айнымалылар декларацияны қажет етпейді; Айнымалыға мән берер алдында, оң жақтағы барлық айнымалыларға мәндер тағайындалғанына көз жеткізу керек;

тағайындаудың кез-келген операциясы қажет болған жағдайда айнымалы жасайды немесе бар айнымалының мәнін өзгертеді;

Өзгермелі атаулар әріптен басталады, одан кейін кез-келген әріптер, сандар және астыңғы сызықтар болады; MATLAB жүйесі үлкен және кіші әріптерді ажыратады;

айнымалы атау 31 таңбадан аспауы керек. Дәлірек айтқанда, атау ұзағырақ болуы мүмкін, бірақ MATLAB жүйесі алғашқы 31 таңбаны ғана ескереді.

Әдетте, M-файл ретінде анықталған әрбір М-функцияның басқа функциялардың және жұмыс кеңістігінің айнымалы мәндерінен өзгешелігі бар жергілікті айнымалылары болады. Алайда, егер бірнеше функция мен жұмыс кеңістігі белгілі бір айнымалыны ғаламдық деп жарияласа, онда олардың барлығы осы айнымалының бір данасын қолданады. Бұл айнымалыға кез-келген тапсырма жаһандық деп жарияланған барлық функцияларға таралады.

Мысал.
   Лотке-Вольтерра теңдеулерімен сипатталған жыртқыш-жыртқыш модельге а және b коэффициенттерінің әсерін зерттегіңіз келеді делік.

Lotka.m файлындағы M-файлды жасаңыз:

yp \u003d лотка (t, y) функциясы
   Жыртқыш-жыртқыш модель үшін LOTKA Lotke-Volterra теңдеуі

  жаһандық ALPHA BETA


   yp \u003d;

Содан кейін пәрмен жолы арқылы операторларды енгізіңіз:

жаһандық ALPHA BETA
   ALPHA \u003d 0,01;
   BETA \u003d 0,02;
    \u003d ode23 («лотка2»,,);
   учаске (т, у)

Ғаламдық команда ALPHA және BETA айнымалыларын ғаламдық деп жариялайды, сондықтан lotka.m функциясында қол жетімді. Осылайша, оларды пәрмен жолынан өзгертуге болады, ал жаңа шешімдер lotka.m M-файлды өңдемей-ақ алынады.

Ғаламдық айнымалылармен жұмыс істеу үшін:

осы айнымалы қажет болатын M-функцияның әрқайсысында ғаламдық деп жариялаңыз. Жұмыс кеңістігінің айнымалы жаһандық болуы үшін оны әмір жолынан глобалды деп жариялау керек;

әр функцияда ғаламдық команданы айнымалы бірінші пайда болғанға дейін қолданыңыз; М-файлдың басында ғаламдық пәрменді көрсету ұсынылады.

Жаһандық айнымалы атаулар жергілікті айнымалы атауларға қарағанда әдетте ұзағырақ және мағыналы болады және көбінесе бас әріптерді қолданады. Бұл міндетті емес, бірақ MATLAB кодының оқылуын қамтамасыз ету және ғаламдық айнымалы мәнді кездейсоқ анықтамау мүмкіндігін азайту үшін ұсынылады.

Арнайы айнымалылар.   Кейбір M-функциялар MATLAB жүйесінің ортасында жұмыс істеу кезінде маңызды рөл атқаратын арнайы айнымалыларды қайтарады:

анс

Соңғы нәтиже; егер шығыс айнымалы көрсетілмесе, онда MATLAB ans айнымалысын қолданады.

eps

Қалқымалы нүктенің дәлдігі; Мантисса ұзындығымен анықталады және ДК үшін \u003d 2.220446049250313e-016

нақтылық

Компьютерде көрсетілген максималды өзгермелі сан; ДК нақты аймағына арналған \u003d 1.797693134862316e + 308.

нақты

Компьютерде ұсынылатын ең аз өзгермелі нүкте нөмірі; ДК realmin \u003d 2.225073858507202e-308 үшін.

pi

P үшін арнайы айнымалы: pi \u003d 3.141592653589793e + 000.

i, j

Қиялдың бірлігін көрсететін арнайы айнымалылар

инф

Шексіздікті білдіретін арнайы айнымалы?

NaN

Белгісіз мәнді көрсететін арнайы айнымалы - 0/0, inf / inf типіндегі операциялардың нәтижесі.

компьютер

Пайдаланылатын компьютердің түрін көрсететін арнайы айнымалы; PC үшін - PCWIN.

лақтырады

Қалқымалы нүктелер операцияларының санын көрсететін арнайы айнымалы.

нұсқасы

Пайдаланылған MATLAB жүйесінің нұсқа нөмірін сақтауға арналған арнайы айнымалы.

Осы арнайы айнымалыларды құратын сәйкес M функциялары elmat каталогында болады және интернеттегі анықтамамен қамтамасыз етіледі.
2. MATLAB жүйесіндегі стандартты математикалық функциялар:

1.  [I, cnt] = quad (‘<функция аты>’, a, b) – квадратуралар әдісімен интегралды

есептеу; мұнда a, b – функцияның өзгеруінің төменгі және жоғарғы шектері;

I – интегралдың есептелген мәні; cnt – функцияны есептеудің саны, функция

М-файлда орнатылады, файл аты <функция аты> деген жерде көрсетіледі;

2. ode23, ode45 – қарапайым дифференциалды теңдеулерді интегралдау:

     [t, y] = ode23 (‘<функция аты>’, tspan,y0,options)

     [t, y] = ode45 (‘<функция аты>’, tspan,y0,options)

мұнда  < функция аты > - f(t,y) мәндері (жүйенің оң жағындағы функциялар)   

есептелінетін М-файлдың аты болатын символдар жолы; y0 – жүйе күйін көрсететін айнымалылардың бастапқы мәндер векторы; t – интегралдау қадамдарына сәйкес аргумент мәндерінің массиві; y – интегралданған айнымалылардың мәндерінен тұратын матрица, оның әр тік жолы күй айнымалыға сәйкес, ал жатық жолы айнымалылардың мәндерінен тұрады; tspan – жатық жол векторы - [t0 tfinal], аргументтің бастапқы және соңғы мәндерін анықтайды; options – көрсетпеуге болатын параметр, интегралдаудың абсолютті және салыстырмалы қателіктерін анықтайды (көрсетпеген кезде 1.0e-6 және 1.0e-3 деп алынады );

3.fmin – бір өлшемді функцияның минимумын табу; келесі түрде қолданылады:   

        Xmin = fmin (‘<функция аты >’, X1, X2)

мұнда  Xmin – функцияның X1

4. fmins – көп өлшемді функцияның минимумын табу; келесі түрде қолданылады:  

Xmin = fmins (‘<функция аты>’, X0), X0 – аргументтер векторының бастапқы мәні;

5. fzero – бір өлшемді функцияның түбірлерін табу; келесі түрде қолданылады:   

z = fzero (функцияныңаты, x0, t01, trace)

мұнда x0 – аргументтің бастапқы мәні, функцияның нақты түбірі соның аймағында ізделінеді, t01 – түбірді есептеудің берілген салыстырмалы қателігі, trace – аралық мәліметтерді экранға шығару керек болса орнатылады,  z – ізделінген түбірдің мәні;

6. fplot -  бір өлшемді функцияның графигін салу; plot процедурадан өзгешелігі – алдын-ала функция мәндерін есептеу керек; келесі түрде қолданылады:  

fplot(‘<функция аты>, [<интервал>], n)

мұнда  <интервал> - аргументтің төменгі және жоғарғы мәндерін белгілейтін екі саннан тұратын жатық жол векторы, <функция аты> - аргументтер мәндері бойынша функция мәні есептелінетін процедураның мәтіні сақталынатын М-файл, n – берілген интервалдың бөліктерінің мәні (көрсетілмесе 25-ке тең); егер де процедураны келесі түрде қолданса

          [x, Y] = fplot(‘<функция аты>, [<интервал>], n),

функция графигі экранда көрсетілмейді, х аргументтерінің векторымен оларға сәйкес Y  функцияның векторы (матрицасы) есептелінеді, бұл кезде графикті құру үшін plot(x,Y) процедурасы қолданылады.

 

2.4 мысалы:



π мәнін [3,4] интервалында y = cos(x) функцияның локалды минимумы ретінде табайық.

>> Xmin = fmin (‘cos’,3,4)

 

2.5 мысалы:



[0,5] аралығында y = (x-1)^2 + 3 функцияның минимумын табайық. Біріншіден файл-функцияны құрастырайық (редактор терзесінде):

 

function y = parab (x)



 y = (x-1).^2 + 3

 plot(x,y)

 

Мәтінді parab.m файлда сақтайық. Сонан соң бұйрық терезеде келесіні терейік:



>> x= -5:1:5

>> y=parab(x)

>> xmin = fmin (‘parab’, 0,5)

 

Келесі мысалдарда қарапайым дифренциалды теңдеулерді интегралдау әдістерін орындайтын процедураларды қолдануы қарастырылған.



 

2.6 мысалы: Бастапқы y(0)= 1 шарты  бар

                   y’ = -y,

дифференциалды теңдеуін шешу қажет болсын.

Жүйенің редактор терезесін ашып, оған келесі мәтінді терейік:

     function dy=f1(t,y)

     dy=-y

Файлды f1.m атымен сақтаймыз.

Бұйрық терезеде келесіні тереміз:

>>[t,y] = ode45('f1',[0 5],1)

Мұнда теңдеуді шешу интервалы [0 5], айнымалының бастапқы мәні 1 деп орнатылды, options параметрі көрсетілмеді.

Жүйе бұйрық терезеге айнымалылардың сандық мәндерін орнатады. Графикті көру үшін келесіні теріңіз:

>>plot(t, y)

 

2.7 мысалы: Келесі жүйені қарастырайық



                   

 

Жүйені шешу үшін келесі мәтіні бар М-файлды құрастырамыз:



function dy = rigid(t,y)

dy = zeros(3,1);    % вектор-столбец

dy(1) = y(2) * y(3);

dy(2) = -y(1) * y(3);

dy(3) = -0.51 * y(1) * y(2);

Файлды сақтаймыз.

Жүйенің [0 12] аралықта [0 1 1] бастапқы шарттар векторымен шешімін табамыз:

>> [t,y] = ode45('rigid',[0 12],[0 1 1]);

Шешімді графикте көрсетеміз:

         >> plot(t,y)

3 Сигналдарды цифрлік өңдеу (Signal Processing Toolbox)

Signal Processing Toolbox пакеті цифрлы және аналогты фильтрлерді олардың амплитудалық және фаза-жиілік сипаттамалары бойынша жобалауға (белгілі сандық сипаттамаларын есептеуге), типтік уақыт бойынша өзгеретін сигналдар тізбектерін тудыруға және оларды жобаланған фильтрлермен өңдеуге мүмкіндік береді. Фурье, Гильберт түрлендірулерін және статистикалық анализді өткізетін процедуралар пакет құрамына кіреді және осы құрылғы көмегімен сигналдардың корреляциялық функцияларын, спектрлік   тығыздығын есептеуге, фильтрлердің параметрлерін бағалауға болады.

 

3.1 Типтік сигналдарды тұрғызу



         Тік төртбұрышты түрі бар жалғыз импульсті тудыру үшін rectpuls процедурасы қолданылады. Процедураны қолдану:

y = rectpuls (t, w).

Мұнда y – ені w-ге тең бірлік амплитудасы бар, t = 0 арқылы орталықтанған сигналдың мәндерінің векторы. Егер де  w көрсетілмеген болса, оның мәні 1-ге тең деп алынады.

 

3.1 мысалы:



>> t = 0 : 0.1 : 10;

>> y = 0.75*rectpuls (t-3,2) + 0.5*rectpuls (t-8, 0.4)…

     + 1.35*rectpuls (t-5, 0.8);

>> plot (t,y), grid, set (gca, ‘FontName’, ‘Arial Cyr’, “FontSize’, 16)

>> title  (‘Пример применения процедуры RECTPULS’)

>>xlabel (‘Время (с)’)

>>ylabel (‘Выходной процесс y(t)’)

 

         Бірлік амплитудасы бар үш бұрышты импульсты өңдеу үшін tripuls процедурасы қолданылады, қолдану түрі:



         y = tripuls (t, w, s)

         y, t, w  аргументтердің мағынасы жоғарыда айтылғандай. s аргументы (-1 < s <1) үшбұрыштың бұрышын белгілейді. Егер де s = 0 немесе көрсетілмеген болса, үш бұрышты импульс симметриялық болады

Достарыңызбен бөлісу:




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет