Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

і MtLbты~ ж~мыс ортасы

Работа добавлена на сайт samzan.net:


1

Векторларды енгізіңіз, қосыңыз және олардың айырмаларын табыңыз. Функция мәндерінің кестелерін құрыңыз.

2

MatLab жүйесі. MatLab-тың жұмыс ортасы. Қарапайым функцияларды пайдаланыңыз.

3

Векторлардың элементтерімен амалдар орындаңыз.

4

Матрицалар. Матрицаларды енгізіңіз. Матрицаны нақты анықтаңыз. Матрицаның кездейсоқ құрылуын көрсетіңіз.

5

Вектор және матрицаларды еңгізіңіз. Матрицаларды қосу, аудару және диагоналдау операциясы – sum, A', dіag. Екінүкте арқылы аралықты алыңыз.

6

Магиялық матрица – magіc құрыңыз. Матрицаның ранг және базистік минорларын құрыңыз. Сызықты теңдеулер жүйесін шешіңіз.

7

Кері және жалған кері матрица алыңыз.

Транспонирленген және комплексті түйіндес матрицалар құрыңыз.

8

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

9

Айнымалалар және сандар. MatLab функциялары және олармен жұмыс істеуді көрсетіңіз – sіn, cos,…, sqrt, nextpow2, abs, angle, complex, max, sort, std, prod, eіg, svd, hes, polі

10

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

11

Функциялардың үшөлшемді графиктерін алыңыз. Жарық түсірілген бетті құрыңыз.

12

Параметрлік түрде берілген жазықтықтар мен сызықтарды тұрғызыңыз. Анимацияланған графиктерді алыңыз.

13

М-файлдарды қолдануды көрсетіңіз. М-файлдар текстері, құрылымы, М-функциялар. М-сценарийлер.

14

MatLab жүйесіндегі арифметикалық есептеулер. Қарапайым функцияларды пайдаланыңыз. Ішкі қарапайым функциялар. Айнымалыларды қолданыңыз

15

Қарапайым дифференциалдық теңдеулерді шешіңіз. Нәтижелерді көрсетіңіз.

16

Анықталған интегралды жуықтап есептеуді көрсетіңіз. Feval функциясы. Трапеция әдісі.

17

Цикл операторлары – for, whіle. Тармақтау операторлары – шартты оператор іf, оператор swіtch. Кіріс аргументтерді тексеріңіз. Тармақтауды ұйымдастыру. Ауыстырып қосу операторы.

18

Циклді үзу, оператор break. Төтенше жағдайларды өңдеу, оператор try…catch.

Қайталау операторларын қолданыңыз. Find функциясы.

19

Массив және сандармен логикалық өрнектер құрыңыз. Қатынас (жағдай) операциялар. Логикалық операциялар. Операциялардың артықшылығын түсіндіріңіз.

20

Жолдарды және бағандарды жойыңыз. Біріктіру. Матрицаның арнайы түрін жасаңыз. Жолдарды орналастыру. Жолдарды орналастыру үшін командалар.

21

Полиномдар және интерполяция. Полиномдармен орындалатын амалдар орындаңыз. Полиномдық регрессия.

22

Сигналдармен жұмыс істеу және диодты түзеткіш моделі.

23

Бірөлшемді және екіөлшемді және көпөлшемді кестелік интерпояцияны алыңыз.

24

MatLab пакетінің Simulink бағыныңқы жүйесі. Simulink бағыныңқы жүесінің негізгі қасиеттерін түсіндіріңіз. Simulink блоктарының кітапханасы.

25

Function and Tables кітапханаларын артықшылығын көрсетіңіз. Nonlinear кітапханасы. Signals and Systems кітапханасы.

26

Бейсызық маятниктің фазалық портретін алыңыз.

27

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

28

Тиімділеу әдістерін сандық шешіңіз.

29

Бір белгісізді теңдеудің түбірін табу. Бейсызық теңдеулер жүйесін шешу.

30

Автотербелмелі жүйе – Ван-дер-Поль генераторын түсіндіріңіз.

31

Fminbnb функциясы. Көпөлшемді шартсыз минимизациялауды көрсетіңіз. Шарт қою арқылы минимизациялауды көрсетіңіз.

32

Сигналдарды спектральды талдау. Спектральды талдаудың кейбір мәселелері. Фурьенің тура және кері түрлендіруін қолданыңыз.

33

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

34

Тікбұрышты, үшбұрышты, Дирихле импульстерін алыңыз. Дискретті сигналдар.

35

MatLab жүйесінде уақыт қатарларын талдаудың арнайы әдістерін көрсетіңіз. Нормаланған құлаш әдісі.

36

Бейсызық тербелістерді сапалық талдаңыз.

37

Радиоимпульс пен оның спектрінің графигін алыңыз.

38

Матрицалық ойындар есебіне мысал келтіріңіз.

39

Математикалық тербелістердің еркін тербелістерін алыңыз. Еріксіз тербелістер.

40

Логистикалық бейнелеуді түсіндіріңіз.

  1.  Векторларды енгізіңіз, қосыңыз және олардың айырмаларын табыңыз. Функция мәндерінің кестелерін құрыңыз.

Векторлардың қосындысын есептеу керек делік.

а = b =   векторладры сақтау үшін а ж/е б массивтерін қолданыңыз. Командалық жолда вектор бағанын жазу үшін тік жақшаны пайдаланып, вектор элементтерін нүктелі-тире үтірмен ажырата отырып, а массивін енгізініз.

>>a  =  [1.3;5.4;6.9]

>>b = [7.1;3.5;8.2;]

%векторлар қосындысы

>> с = a+b;

с массивінің өлшемін ndims ж/е size функциялары арқылы анықтауға болады.  

>>ndims(a)

Ans=2

>>size(a)

Ans =3 1

Бірақ көбейтілетін векторлардың өлшемдері бірдей болу керек. Вектор-жолды қалыптастырған кежде тік жақшалар қолданылады. Сонымен қатар вектор элементтері бір-бірінен бос орын арқылы ажыратылады.  

Matlab тілінің көмегімен арифметикалық прогрессияны құрайтын векторларды қысқартып енгізуге болады. Егер d0 – осы прогрессияның бастапқы мәні, dn – соңғы мәні, h – прогрессия қадамы болса, онда векторларды [d0:h:dn] жазбасы арқылы енгізуге болады.

>>v1=[0:0.1:2];

Векторлармен амалдар орындау

Matlab-та векторларға жасалатын әрекеттер екі топқа бөлінеді: математикадағы векторлық есептеулер, вектор элементтерін түрлендіретін әрекеттер.

Векторды санға көбейту, қосу, азайту жолдар мен бағандарды ауыстырып түрлендіру, векторларды өзара көбейту арифметикалық амалдардың таңбалары арқылы жүзеге асырылады.

Мысалы:

>>x=[1 2 3];

>>y=[5;7;8];

>>v=x*y;

v=43

Мәліметтерді өңдеу функциялары:

Prod(z)- z векторының элементтерін көбейту

Length(z)- z векторының ұзындығын табу

Sum(z) – z векторының элементтерінің қосындысын анықтау

Sort (z) – векторды сорт бойынша өсетіндей зерттеу

Min(z) – z векторының элементтерінің ішінен минимумын табу

Mах(z) – z векторының элементтерінің ішінен максимумын табу

Функция мәндерінің кестелерін құру

Функцияның берілген нүктелердегі мәнін есептеу керек делік. Есеп екі этаппен шығарылады. y(x) =

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

>>x=[0.2:0.1:1.2];

>>y = sin(x).^2./(1+cos(x))+exp(-x).*log(x); 

  1.  MatLab жүйесі. MatLab-тың жұмыс ортасы. Қарапайым функцияларды пайдаланыңыз.                                                                              MatLab жүйесі (MATrixLABoratory – МАТрицалық ЛАБоратория) сөзінен қысқартылып алынған, деректер, массивтермен жұмыс істеуге бағытталған инженерлік және ғылыми есептеулерді орындауға арналған интерактивті жүйе болып табылады. Бұл жүйе математикалық қосымша процессорды қолдана отырып Fortrun, С, С++ тілдерінде жазылған программаларға қатынасуға мүмкіндік береді.

MatLab – жоғарғы өнімділікті техникалық есептеулер тілі. Оған қолданушыға ыңғайлы ортада есептеулер жүргізу, көрсету, программалау кірген.

MatLab- ты қолдана дегеніміз:

  1.  Математикалық есептеулер
  2.  Алгоритмдерді құру
  3.  Үлгілеу
  4.  Деректерді талдау, зерттеу көрсету
  5.  Ғылыми және инженерлік графика
  6.  Графикалық интерыейспен қоса қосымшаларды құру

MatLab жұмыс ортасының ашылуынан басталады.

Жұмыс ортасы келесідей элементтерді қамтиды:

  1.  Меню
  2.  Батырмалары ж/е ашылатын тізімі бар аспаптар тақтасы
  3.  Toolbox-тың әртүрлі модулдеріне ж/е жұмыс ортасының мазмұнына өте оңай кіруге болатындай Launch Pad ж/еWorkspace ішкі терезелері бар терезе.
  4.  Ағымдағы буманы іске қосуға болатын, сонымен қатар алдын-ала енгізілген командаларды қайта қарауға болатын Comand History ж/е Current Directory  ішкі терезелері бар терезе.
  5.  Командалық терезе
  6.  Қалып-күй жолы

Қарапайым есептеулер

Командалық жолда 3+5 –ті теріп ж/е <Enter> ді басыңыз. Нәтижесінде Matlab-тың командалық терезесінде келесіндей көрініс пайда болады.

>> 3+5

ans = 8

Төменде Matlab-тың құрамадас функциялардың мысалдары келтірілген:

Sin,cos,tan,cos – синус,косинус,тангенс ,котангенс

Sec,scs – секанс,косеканс

аSin,аcos,аtan,аcos - арксинус, арккосинус, арктангенс , арккотангенс

аSec,аscs – арксеканс, арккосеканс

Тригонометриялық функциялардың аргументтері радиандарда берілуі керек.

Кешенді сандармен жұмыс істеуге қажетті функциялар

Abs - модуль

Angle – фаза  

Complex – кешенді санды оның нақты және жорамал бөліктері арқылы құрастырады

Conjкешенді-с»йкес санды қайтарады

Image, real – кешенді санның нақты және жорамал бөліктерін қайтарады.

  1.  Векторлардың элементтерімен амалдар орындаңыз.

Matlab – та векторлармен элементтер бойынша жұмыс істеу қарастырылады және ол кейіннен графиктерді құруға және функцмялардың мәнін есептеуге мүмкіндік береді.

Екі вектор-жолды енгізіңіз:

>>v1 = [2 -3 4 1];

>>v2 = [7 5 -6 9];

>>u=v1.*v2(көбейту)

>>p=v1.^v2 (.^ - дәрежеге шығару)

>>d=v1./v2; (./ - бөлу,  .\ - кері бөлу)

Векторды санға бөлуге болады:

>>p=v/2

  1.  Матрицалар. Матрицаларды енгізіңіз. Матрицаны нақты анықтаңыз. Матрицаның кездейсоқ құрылуын көрсетіңіз.Матрицаларды енгізу кезінде келесі негізгі шарт:
  2.  Жол элементтерін бос орын белгісімен, үтірмен ажырату;
  3.  Нүкте-үтірді әр жолдың аяқталғанын көрсету үшін қолд., ал барлық элемент тізімін аяқтауды тік жақшамен [] белгілеу.
  4.  Массив элментне қатынасуда жай жақшаны пайдалану .

Matlab-та матрицаларды бірнеше әдіспен енгізуге болады:

  1.  Элементтер тізімін толық енгізу
  2.  сыртқы Файлдан матрицаны жүктеу
  3.  ішкі функцияларды қолд.,матрицаны кездейсоқ құру

Матрицаны нақты анықтау. А = [3 1 1; 4 5 6;] жумыс ортасының айнымаларын who ж/е whos командалары арқылы көруге болады. Бұл жағдайда төмендегідей хабарлар беріледі.

А  2 x 3 48 double array. Яғни, А 48 байттан тұратын 2х3 өлшемді екіөлшемді матрицаны көрсетеді.

Сандарды экспоненциалды түрде (мысалы 2.34e-9) ендіруде бос орын белгісі қолданылмайды. Үлкен матрицаларды ендіруді М-файлы арқылы орындау ыңғайлы, өйткені онда қателерді тез табуға және жоюға мүмкіндік бар.

Матрицаның кездейсоқ құрылу: Matlab негізгі матрицаны құрайтын арнайы функциялардан тұрады. Олар:

Zeros – матрицаның барлық элементтері 0-дер;

Eye – бірлік матрица; Ones – матриа/ң барлық элементтері 1.

Rand – кездейсоқ элементтерді бірыңғай біркелкі орн.

Randn -  кездейсоқ элементтердң кәдімгідей орн.

Мысалдар:

>> Z=zeros(2,3)

Z=000

    000

  1.  Вектор және матрицаларды еңгізіңіз. Матрицаларды қосу, аудару және диагоналдау операциясы – sum, A', dіag. Екінүкте арқылы аралықты алыңыз.

Матрицалық амалдарды орындаған кезде, қосу не алуда матрицалар өлшемі бірдей, ал көбейтуде бірінші матрицаның баған саны екінші матрицаның жол санына тең болу керек. Матрицаны қосу ж\е алу векторлар мен сандар сияқты қосу ж\е алу таңбалары арқылы орындалады.

>>A=[1 2 3;4 5 6];

>>B=[5 6 2;8 9 0];

>>S=A+B; (матрицаларды қосу)

>>R=A-B;(матрицаларды азайту)

>>C=[1 2; 3 4; 1 2];

>>P=A*C;(матрицаларды көбейту)

>>P1=A*3;(матрицаны  санға көбейту)

Матрицаның вектор сияқты жолдары мен бағандардың орнын ауыстырып түрлендіру «.’» таңбасы арқылы жүзеге асады. ’ таңбасы кешенді сәйкестендіруді білдіреді. Нақты матрицалар үшін бұл амалдар бірдей нәтижелер береді:

>>B’

Ans=

58

69

20

>>B.’

Ans=

58

69

20

Sum – бағандар бойынша қосындысын есептейді

Diagдиагональ бойынша матрицаны орналастырады және диагональ матрица құрады.

  1.  Магиялық матрица – magіc құрыңыз. Матрицаның ранг және базистік минорларын құрыңыз. Сызықты теңдеулер жүйесін шешіңіз.

Matlab-тың кез келген көлемді сиқырлы квадрат құрайтын функциясы бар (сиқырлы квадратта жол элементінің қосындысы баған элементтерінің қосындысына тең және ол басты және қосымша диагоналдар элементтерінің қосындысына тең). Сондықтан, бұл функция  magіc деп аталады.

>>B=magic(4)

B=

    16    2     3    13

    5     11   10    8

    9      7     6     12

    4     14   15    1

Сызықты теңдеулер жүйесін шешу үшін кері матрица әдісін қолдануға болады, ол үшін келесі шарттарды орындау керек:

  1.  Берілген жүйедегі матрицаның коэффициенттерін ж/е вектор элементтерін келтіру;
  2.  Кері матрица әдісін қолдана отырып, белгісіз векторды матрицаның туындысы ретінде қарастыру арқылы жүйені шешу.

Мысалы,    

Matlab-та шешімі:

A=[1 -2 1;2 -5 -1;-7 0 1];

b=[2;-1;-2];

x=inv(A)*b

  1.  Кері және жалған кері матрица алыңыз. Транспонирленген және комплексті түйіндес матрицалар құрыңыз.

Кері ж/е жалған кері матрица есептерін Matlab-та шешуге болады. Кері матирица есептерін шешу үшін inv функциясы қолданылады.

Мысалы,    

Matlab-та шешімі:

A=[1 -2 1;2 -5 -1;-7 0 1]; b=[2;-1;-2]; x=inv(A)*b

Ал жалған кері матирица есептерін шешу үшін inv функциясы колд.

  Траспорнирленген матрица векторлар секілді .’ көмегімен жазылады, ал ‘ символы комплексті түйінің білдіреді.Кейбір матрицаларда осы екі екеуі қолданғанда бірдей мән шығады.

>>B’

Ans=

4  2  5

  1.  7  1

1  0  2

>>B.’

Ans=

  1.   2  5

3   7  1

  1.  0  2

Егер матрица A=(aik), i=1,n,  k=1,m  -ге тең болатын n,m матрица болатын болса, онда А-ға қатысты n,m өлшемді болатын транспорнирленген матрица мына түрде жазылады: A’=(aki), i=1,m,  k=1,n.   Осылайша, А матрицасының жолдары А матрицасынын бағандарына айналады, ал  А матрицасының бағандары А матрицасынын жолдарына айналады.

  1.  Графиктерді алу, жеке терезелерге шығару программасын жазыңыз. Бірнеше графиктерді бір графикалық терезеде тұрғызыңыз. Fplot функциясы.

Matlab графиктерді құру үшін қолданылатын жоғарғы деңгейдегі командалар жиынтығын ұсынады. Олар plot,title, axis, text, hist, contour ж/е т.б.

Matlab тақырыбында figure деген арнайы графикалық терезелерде графикалық объектілерді көрсетеді. Дисплейдің экранынан бірінші графикалық терезені алып тастамай, клавиатурадан келесідей формуланы енгізіңіз

>>x= 0:0.01:2;

>>z=cos(x);

>>plot(x,z)

Содан кейін, дәл осы графиктік терезеде функцияның жаңа графигі шығады.

 Бір суретте бірнеше графиктерді көрсетудің екі әдісі бар. Бірінші әдіске hold on командасын қолдану жатады.Ол ағымдағы графикті тұрақтандырады,сонда келесі қисықтар осы графикке орналастырылады. hold off командасы plot командасының әрбір шақырылған кезінде жаңа суреттің осы бетте шығуына, яғни алдыңғы графиктің өшірілуіне алып келеді.

>>hold on

>>plot(x,z)

Координаттар осінің диапазондарының шиеленіссіз бірнеше графиктерді көрсетудің екінші әдісі subplot функциясын қолдану болып табылады. Бұл функция графиктік ақпаратты шығару облысын бірнеше кішігірім облыстарға бөлуге мүмкіндік береді. Олардың әрқайсысына әр түрлі функциялардың графиктерін шығаруға болады.Мысалы, sin, cos,exp функциялары үшін бірінші екі функцияның графигін бірінші кішігірім аймақта, ал үшінші функцияның графигін екінші кішігірім аймақта, бір графикалық терезеде тұрғызу керек дейік.Ол үшін келесі командаларды жазу керек:

>>subplot(1,2,1);

>>plot(x,y,x,z);

>>subplot(1,2,2);

>>plot(x,w)

Fplot функциясы y-ті  x-ке қатысты есептеуге қарағанда және одан кейінгі осы қисықтың  plot функциясы арқылы бейнелеуімен салыстыра отырып альтернативті бейнелеу мүмкіндігін ұсынады. Бұл функцияға қажет функцияны f(x) түріндегі суреттейтін жолды жіберіп отыру керек. f(x)-ті суреттейтін жол Matlab-та қолданылатын кез келген амал немесе функция болуы мүмкін.

Мысалы, х-тің 0-ден 5π-ге дейінгі диапазонында y=sin(x)cos(2x) қисығын салу үшін

>>fplot(‘sin(x).*cos(2*x)’,[0 5*pi])

Функциясын шығару керек.

Fplot функциясының тағы да екі қосымша аргументі бар. Олардың бірі-сызықтық типі мен түсін көрсететін жолб ал екіншісі-дәлдікті көрсетеді. Басқаша көрсетілмесе, дәлдік 2*10-3 –не тең және ол сызықтық интерполяциядан қателік шегі осы берілген дәлдіктен аспайтындай интервалды бөлу нүктелерінің санын анықтайды.

  1.  Айнымалалар және сандар. MatLab функциялары және олармен жұмыс істеуді көрсетіңіз – sіn, cos,…, sqrt, nextpow2, abs, angle, complex, max, sort, std, prod, eіg, svd, hes, polі

Matlab-та айнымалылармен жұмыс істеуге мүмкіндік қарастырылған. Сонымен қатар, енгізілетін айнымалыларды тегін көрсетудің қажеті жоқ.  Мысалы: >>a=3.67.. a=3.67

Matlab-та командаларды нүктелі-үтірмен аяқтауға болады. Бұл жағдайда амалдар орындалғанмен, оның нәтижесі экранға шығарылмайды.

Sin,cos,tan,cot-синус,косинус, тангенс, котангенс.

Sec,csc-секанс, косеканс.

Atan,acot,asin,acos - арк- синус,косинус, тангенс, котангенс.

Asec,acsc-арксеканс, арккосеканс.

Sqrt-түбір астына алу.

LOG - функция натурального логарифма
POW2 - экспонента по основанию 2
NEXTPOW2 - ближайшая степень по основанию 2
LOG2 - фунции логарифма
LOG10 - функции логарифма

abs, angle- модуль және фаза, бұрыш

complex-кешенді санды оның нақты және жорамал бөліктері арқылы құрастырады: >>complex(2.3,5.8)

ans= 2.3000+5.8000;

Max-вектордың элементтерінің ішіндегі максимум мән табу.

Sort(z)-векторды z бойынша өсетіндей реттеу.

Std-стандартты ауытқу;

Prod-вектор-жол мен вектор-бағандардың элементтерінің көбейтіндісін алу үшін қолданылатын функция;

Eig-меншікті сан немесе меншікті вектор;

Svd-сингулярлы бөлу;

Hess-Хессенберг формасы;

Polу-полином характеристикасы;

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

r=sin(3φ) функциясының графигін полярлық координаталар жүйесінде тұрғызу керек дейік. Бұл тапсырманы орындау үшін polar командасы қолданылады. Ол екі аргументтен радианда берілген phi бұрышынан және r радиусынан тәуелді. Графикті тұрғызу үшін, келесі командаларды жазу керек:

>>phi=0:0.01:2*pi;

>>r=sin(3*phi);

>>polar(phi,r)

Екі айнымалыдан тәуелді функцияны көрсету үшін:

  1.  Фукцияның тікбұрышты анықталу облысындағы тор түйіндерінің координаттарынан матрицаны кездейсоқ құру қажеь.
  2.  Тор түйіндеріндегі функцияны есептеп, алынған мәндерді матрицаға жазу керек.
  3.  Matlab графиктік функцияларының біреуін пайдалану керек.
  4.  Графикке қосымша мәліметтерді енгізу,соның ішінде түстердің функция мәніне сәйкес келуін көрсету керек.

Тор екі аргументпен шақырылатын  meshgrid командасының көмегімен кездейсоқ құрылады.Функцияның аргументтері ретінде тікбұрыштағы облыстағы ол салынатын торға сәйкес келетін вектор алынады.Егер функцияны тұрғызу облысы – квадрат болса бір аргументті пайдалануға болады.Функцияны есептеу үшін элементтер бойынша орындалатын амалдарды қолдану керек.

Matlab-тың екі айнымалыдан тәуелді функцияларды көрсету үшін берілетін негізгі мүмкіндіктерін xЄ[-1,1],yЄ[0,1] тікбұрышты анықтау облысында графигін тұрғызу мысалымен z(x,y)=4sin(2πx)cos(1.5πy)×(1-x2)y(1-y) қарастыруға болады. Алдымен тор түйіндерінің координаттарынан құрылған матрицаны және функция мәндерін дайындау керек:

>>[X,Y]=meshgrid(-1:0.05:1; 0:0.05:1);

>>Z=4*sin(2*pi*X).*cos(1.5*pi*Y).*(1-X.^2).*Y.*(1-Y);

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

>>mesh(X,Y,Z)

 Беттер сызықтарының түсі функция мәндеріне сәйкес келеді. Matlab беттердің тек көрінетін бөлігін салады. Hidden off командасының көмегімен жасырын бөлігін қосып, каркасты беті «мөлдір» етуге болады.  Hidden on командасы жасырын бөлікті жойып, графикті бұрынғы қалпына келтіреді.

Графиктерді біріктіру.Hold on  командасы графиктерді біріктіруге арналған. Оны келесі графикті құрудың алдында шақыру керек. Төменде келтірілген мысалда параметрлік түрде берілген жазық пен конустың қиылысуы шығады:

 >>u=[-2*pi:0.1*pi:2*pi]’;

>>v=[-2*pi:0.1*pi:2*pi];

>>X=0.3*u*cos(v); Y=0.3*v*sin(v);

>>Z=0.6*u*ones(size(v));

>>surf(X,Y,Z)

>>[X,Y]=meshgrid(-2:0.1:2);

>>Z=0.5*X+0.4*Y; hold on

>>mesh(X,Y,Z), hidden off

Hidden off командасы жазықтың астында орналасқан конус бөлігін көрсету үшін қолданылады.

Hold on командасы графиктердің ағымдағы терезеге келесі қорытындылануының барлығына әсер етеді. Графиктерді жаңа терезеге орналастыру үшін  hold off командасын қолд.

11. Функциялардың үшөлшемді графиктерін алыңыз. Жарық түсірілген бетті құрыңыз.

Функциялардың үшөлшемді графиктері

Екі айнымалыдан тәуелді функцияны көрсету үшін:

  1.  Фукцияның тікбұрышты анықталу облысындағы тор түйіндерінің координаттарынан матрицаны кездейсоқ құру қажеь.
  2.  Тор түйіндеріндегі функцияны есептеп, алынған мәндерді матрицаға жазу керек.
  3.  Matlab графиктік функцияларының біреуін пайдалану керек.
  4.  Графикке қосымша мәліметтерді енгізу,соның ішінде түстердің функция мәніне сәйкес келуін көрсету керек.

Тор екі аргументпен шақырылатын  meshgrid командасының көмегімен кездейсоқ құрылады.Функцияның аргументтері ретінде тікбұрыштағы облыстағы ол салынатын торға сәйкес келетін вектор алынады.Егер функцияны тұрғызу облысы – квадрат болса бір аргументті пайдалануға болады.Функцияны есептеу үшін элементтер бойынша орындалатын амалдарды қолдану керек.

Matlab-тың екі айнымалыдан тәуелді функцияларды көрсету үшін берілетін негізгі мүмкіндіктерін xЄ[-1,1],yЄ[0,1] тікбұрышты анықтау облысында графигін тұрғызу мысалымен z(x,y)=4sin(2πx)cos(1.5πy)×(1-x2)y(1-y) қарастыруға болады. Алдымен тор түйіндерінің координаттарынан құрылған матрицаны және функция мәндерін дайындау керек:

>>[X,Y]=meshgrid(-1:0.05:1; 0:0.05:1);

>>Z=4*sin(2*pi*X).*cos(1.5*pi*Y).*(1-X.^2).*Y.*(1-Y);

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

>>mesh(X,Y,Z)

 Беттер сызықтарының түсі функция мәндеріне сәйкес келеді. Matlab беттердің тек көрінетін бөлігін салады. Hidden off командасының көмегімен жасырын бөлігін қосып, каркасты беті «мөлдір» етуге болады.  Hidden on командасы жасырын бөлікті жойып, графикті бұрынғы қалпына келтіреді.

          Жарық түсірілген бетті құру

Жарық түсірілген бетті құруда surfl функциясы қолданылады.

xЄ[-1,1],yЄ[0,1] тікбұрышты аймағында

z(x,y)=4sin(2πx)cos(1.5πy)×(1-x2)y(1-y)

формуласы арқылы берілген жарық түсірілген бетті құру керек болсын. Surfl aункциясын қолданғанда, жарық интенсивтілігі сызықты өзгеретін copper,gray,pink  түсті палитралармен шақыру тиімді.

 Төменде келтірілген командалар арқылы көрсетілген жарық түсірілген бетті құруға болады:

>>[X,Y]=meshgrid(-1:0.05:1; 0:0.05:1);

>>Z=4*sin(2*pi*X).*cos(1.5*pi*Y).*(1-X.^2).*Y.*(1-Y);

>>surfl(X,Y,Z)

>>colormap(‘copper’)

>>shading interp

>>xlabel(‘x’)

>>ylabel(‘y’)

>>zlabel(‘z’)

12. Параметрлік түрде берілген жазықтықтар мен сызықтарды тұрғызыңыз. Анимацияланған графиктерді алыңыз.

Matlab келесі формулалармен берілген үшөлшемді сызықтарды құруға мүмкіндік береді:

x=x(t), y=y(t), z=z(t), t =[a,b]

және беттер

x=x(u,v), y=y(u,v), z=z(u,v), uЄ[a,b], vЄ[c,d]

тәуелділігімен беріледі.

Plot3 функциясы параметрлік түрде берілген сызықтарды көрсетеді, оның аргументі ретінде x(t), y(t) және z(t) функцияларының t нүктесіндегі мәндерінен құрылған векторлар алынған. Ең алдымен векторды құрып алу керек. Ол қос нүкте арқылы тұрақты қадаммен толтыру арқылы орындалады және векторларға функцияның сәйкес мәндері жазылып отырады.

 Сызық келесі түрде сипатталсын x=e-|t-50|/50sint, y= e-|t-50|/50cost, z=t, tЄ[0,100].

Функция мәнін есептеп, графикті алу үшін келесі командаларды қолдануға болады:

>>t=[0:0.1:100];

>>x=exp(abs(t-50)/50).*sin(t);

>>y=exp(abs(t-50)/50).*cos(t);

>>z=t;

>>plot3(x,y,z)

>>grid on

Параметрлік түрде берілген бетті үш өлшемді графикті бейнелеуге арналған кез келген функция арқылы құруға болады. Тек аргументтерді дұрыс дайындаудың маңызы зор. Өйткені x(u,y), y(u,v) функциялары көп мәнді болуы мүмкін. Оны тор түйіндерінің құру аймағында орналасуы туралы ақпаратты сақтайтын матрица мен z(u,v) функциясының осы нүктелердегі мәндерінен тұратын матрицаларды құруды есте ұстаған жөн.  

  Анимацияланған графиктерді алу

Matlab анимацияланған графикті алуға мүмкіндік бередіб ондағы нүктені белгілейтін дөңгелек жазықтықта немесе кеңістікте қозғала отырып, артынан қозғалыс траекториясына сәйкес ізін қалдырады. Анимацияланған графиктер құру үшін comet және comet3 функциялары қолданылады. Координаталары келесі заңмен өзгеретін қозғалыс нүктесінің 10 секунд ішіндегі траекториясын құру үшін:

x(t)=sint/(t+1)            y(t)=cost/(t+1),

мына командалар қолданылады:

>>t=[0:0.001:10];

>>x=sin(t)./(t+1);

>>y=cos(t)./(t+1);

>>comet(x,y)

Соңғы команданы орындыған кезде, терезе графикпен бірге басқа терезелерден жоғары болуын қадағалау керек.

 Кеңістікте құрыатын нүктесінің траекториясын құру үшін comet3 функциясы қолданылады. Нүктелердің координаталары 100 секунд ішінде келесі заңдармен өзгерсін:

x=e-|t-50|/50sint, y= e-|t-50|/50cost, z=t

Нүктенің қозғалысының траекториясын көрсету үшін келесі командалар қолданылады:

>>t=[0:0.1:100];

>>x=exp(abs(t-50)/50).*sin(t);

>>y=exp(abs(t-50)/50).*cos(t);

>>z=t;

>>comet3(x,y,z)

Comet3 функциясын төртінші сандық аргумент арқылы да шақыруға болады.

13. М-файлдарды қолдануды көрсетіңіз. М-файлдар тектері, құрылымы, М –функциялар.  М-сценарийлер.

Matlab тілінің кодтарынан тұратын файлдарды М-файлдар деп атаймыз. М-файлды құру процедурацы екі амалдан тұрады:

  1.  М-файлды мәтіндік редакторы арқылы құру:

Листинг6.1 myfile программасы

function c=myfile(a,b)

c=sqrt((a.^2)+(b.^2))

  1.  М-файлды командалық жолдан шақыру немесе басқа М-файлдан шақыру.

М-файлдардың тектері

М-файлдардың екі тегі бар: М-сценарийлер мен  М-функциялар, олардың мінездемесі:

М-сценарийлер

М-функциялар

Кіріс және шығыс аргументтеріне ие

Кіріс және шығыс аргументтері мүмкін

Жұмыс облысындағы мәліметтермен жұмыс істейді

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

Көп рет қайталанатын амалдарды автоматизациялау үшін қолданылады.

Matlab тілінің мүмкіндіктерінмкеңейту үшін қолданылады.

М-файлдардың құрылымы

 Функция ретінде құрылған М-файл келесі компоненттерден тұрады:

  1.  Функцияларды анықтау жолдары;
  2.  Түсініктемелердің бірінші жолдары;
  3.  Түсініктемелер;
  4.  Функция денесі.

М-сценарийлер

М-файлдың ішіндегі сценарийлер ең қарапайым тектері болып табылады. Оларда кіріс және шығыс аргументтері болмайды. Олар негізінен командалық жолдан бірнеше рет енгізілген Matlab командаларының есептеулерін автоматты түрдегі бірінен кейін бірі орындалуға тиіс амалдарды орындау үшін қажет.

 Сценарийлер жұмыс облысынан мәліметтермен жұмыс істейді және де осы файлда әрмен қарай өнделетін мәліметтерді де құрастыра алады. Сценарийлерге қолданылатын мәліметтер жұмыс аймағында сақталады және оларды әрі қарай есептеулер жүргізу үшін қолдануға болады.

M-функциялар

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

M-функцияның құрылымы

  1.  Функцияларды анықтау жолдары;
  2.  Түсініктемелердің бірінші жолдары;
  3.  Түсініктемелер;
  4.  Функция денесі;
  5.  Жолдық түсініктемелер.

14. MatLab жүйесіндегі арифметикалық есептеулер. Қарапайым функцияларды пайдаланыңыз. Ішкі қарапайым функциялар. Айнымалыларды қолданыңыз. 

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

Қарапайым есептеулер. Командалық жолда 2+3-ті теріп және “Enter” басатын болсақ, нәтижесінде Матлаб командалық терезесінде: >> 2+3

ans = 8

матлабтың құрамдас функцияларының мысалдары:

  1.  sin, cos, tan, cot – синус, косинус, тангенс, котангенс
  2.  sec, csc – секанс, косеканс
  3.  asin, acos, atan, acot – арксинус, арккосинус, арктангенс, арккотангенс
  4.  asec, acsc – арксеканс, арккосеканс.

Тригонометриялық  функциялардың  аргументтері  радиандарда берілуі керек. Сол сияқты кері тригонометриялық функциялар да нәтижелерді радиандарда қайтаруы тиіс.

Кешенді сандармен жұмыс істеуге қажет функциялар:

  1.  abs, angle – модуль r және фаза (-дан –ға дейінгі радиандарда) кешенді сандар  a+i*b = r*(cos + i*sin)
  2.  complex – кешенді санды оның нақты және жорамал бөліктері арқылы құрастырады.

>>complex (4.2, 7.6)

ans=4.2000+7.6000і

  1.  conj – кешенді-сәйкес санды қайтарады
  2.  imag, real – кешенді санның нақты және жорамал бөліктерін қайтарады.

Дөңгелектеу және бөлінгеннен кейінгі қалдық:

  1.  fix – нөлге қарай ең жақын бүтін санға дейін дөңгелектеу
  2.  floor, ceil - -шексіздік немесе +шексіздікке қарай ең жақын бүтін санға дейін дөңгелектеу
  3.  round - ең жақын бүтін санға дейін дөңгелектеу
  4.  mod – бүтін сандық бөлуден қалған қалдық (таңбасымен қоса)
  5.  rem – бүтін сандық бөлуден қалған қалдық
  6.  sign – сан таңбасын қайтарады.

Айнымалыларды қолдану. Матлабта айнымалылармен жұмыс істеуге мүмкіндік бар. Мысалы

>> a=1.52

a= 1.52

Матлабта командаларды нүктелі үтірмен аяқтауға болады. Бұл жағдайда амалдар орындалады, бірақ нәтижесі экранға шығарылмайды.

15. Қарапайым дифференциалдық теңдеулерді шешіңіз.Нәтижелерді көрсетіңіз.

Дифференциалдық теңдеулер үшін Коши есебі, кез келген ретті дифференциалдық теңдеулерді қанағаттандыратын  t=t0 болғанда y(t0)=u0, y’(t0)=u1, …,y(n-1)(t0)=un-1

Алғашқы шартын қанағаттандыратын функцияны табудан құралады:

y(n)=f(t,y,y’,….., y(n-1)).

 Мұндай түрдегі есептерді Matlab-та шешу өте оңай. Шешудің үрдісі келесідей этаптардан тұрады:

  1.  Берілген дифференциалдық теңдеуледі бірінші реттегі дифференциалдық теңдеулердің жүйесіне келтіру.
  2.  Теңдеулер жүйесіне арнайы файл функция жазу.
  3.  Сәйкес солверді шақыру.
  4.  Нәтижелерді көрсету.

Қозғалысты анықтайтын теңдеу келесі түрде берілсін: y”+4y’+6y=cost

 Нүкте координатасы бастапқы жағдайда бірге тең, ал жылдамдығы нөлге тең. Сонда сәйкес бастапқы шарттар келесідей түрде болады:

y(0)=1,y’(0)=0

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

y1=y,

y2=y’.

Бастапқы дифференциалдық теңдеулер жүйесі бастапқы шарттармен келесідей түрге келтіріледі:

y1=y2,

y2’=-4y2-6y1+cost.

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

Теңдеудің оң бөлігіндегі функция.

Function F=dif(t,y)

F=[y(2);-4*y(2)-6*y(1)+cos(t)];

Есепті шешуде ode45 солвері қолданылады.

y0=[1;0];

[T,Y]=ode45(‘dif’,[ 0 15],y0);

Plot(T,Y(:,1))

Hold on

Plot(T,Y(:,2))

Title(differencialdyk tendeudin wewimi)

Ylabel(‘y,y’’’)

Legend(‘koordinata’,’jyldamdyk’,4)

Grid on

Hold off

Әртүрлі есептерді шығарған кезде қарапайым дифференциалдық теңдеулерді сандық шешудің түрлі процедураларын таңдауға болады. Қатаң емес теңдеулер жүйелерін шешу үшін Матлабта келесі функциялар бар:

  1.  ode45 – Рунге-Кутта нақты әдісіне негізделген: бұл бірқадамдық алгоритм – шығару үшін алдыңғы нүктенің біріндегі мәнді білу керек. Бұл функция көп жағдайда бастапқы шешімдер үшін тиімді.
  2.  Ode23 – ол да нақты Рунге-Кутта әдісіне негізделген, бірақ реті төмен, сондықтан дәлдігі төмен және аздаған қатаңдыққа сай шешімдер үшін тиімді келеді. Ол да бірқадамдық әдіс.
  3.  Ode113 – Адамс-Бэшфорт-Милтонның ретті әдісін қолданады. Ол ode45 әдісіне қарағанда, әсіресе ерекше жоғарғы дәлдік қажет болған жағдайда және теңдеудің оң жағын есептеу күрделі кезде тиімдң болуы мүмкін. Көпқадамдық әдіс, сондықтан шешуді бастамас бұрын алғашқы бірнеше нүктелердегі шешімдерді білу керек.

Матлаб жүйесінде қатаң теңдеулер жүйесін шешу үшін 4 функция қарастырылған:

  1.  Ode15s – кері сандық дифференциялау әдісіне негізделген, ол Гир әдісі ретінде әйгілі. Ode113 әдісі сияқты бұл әдіс те көпқадамдық әдіс.
  2.  Ode23s – Розенброктың екінші ретті әдісін қолданады. Бірқадамдық әдіс болғандықтан Ode15s әдісіне қарағанда жоғары емес дәлдік жағдайлары үшін тиімдірек болады.
  3.  Ode23t – бос көбейткіші бар трапециялар ережелерін іске асыру болып табылады. Бұл әдісті егер есеп онша күрделі емес болса, және есепті сандық демпфирлеу керек болса қолдану мәні бар.
  4.   Ode23tb – Рунге-Куттаның айқын емес бойынша формуласы бойынша іске асырылады. Ode23s әдісі тәрізді бұл әдіс шешімнің жоғары емес дәлдігін қажет етпейтін кезде тиімді.

16. Анықталған интегралды жуықтап есептеуді көрсетіңіз. Feval функциясы. Трапеция әдісі.

Физика, химия, экология, механика және де басқа да жаратылыстану ғылымдарындағы көптеген есептерді шешу анықталған интегралды есептеуге тіреледі.

Күнделікті өмірде Ньютон-Лейбниц формуласын қолданудың реті бола бермейді. Ондай жағдайда сандық интегралдау әдісі қолданылады. Ол әдістер келесіге негізделген  анықталған интегралы геометриялық тұрғыдан қарастырғанда, қисық сызықты трапецияның ауданын көрсетеді. Сызықты итегралдау әдісі [a; b] интервалын кішігірім интервалдарға бөле отырып ізделінді ауданды элементарлы аудандардың қосындысы ретінде қарастыруға негізделген. Пайдаланылған аппроксимацияға қатысты сандық интегралдаудың әртүрлі дәлдікке қол жеткізуге мүмкіндік беретін формулалары табылады. Трапеция әдісін қарастырайық.

Бұл әдісте сызықтық аппроксимациялау қолданылады,  функциясының графигі  нүктелерін қосатын қисық түрінде көрсетіледі.  қадамы тұрақты болғанда, мұндағы n – учаскілер саны трапеция формуласы төмендегідей болады:

Матлаб ортасында бұл формуланы trapz(x, y) программасы орындайды.

Feval процедурасы

Матлаб-та кез-келген функция, мысалы FUN1, тек қарапайым хабарласу көмегімен емес [y1, y2, …, yk]=FUN1(x1, x2,…, xn) арнайы процедура feval арқылы жүзеге асырылуы мүмкін:

[y1, y2, …, yk]=feval(‘FUN1’,x1,x2,…, xn)

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

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

17. Цикл операторлары – for, whіle. Тармақтау операторлары – шартты оператор іf, оператор swіtch. Кіріс аргументтерді тексеріңіз. Тармақтауды ұйымдастыру. Ауыстырып қосу операторы.

Ағымдарды басқарудың бес құрылымдық түрлері бар:

If операторы, Switch, For, While, Break

For:::  >>For count=start:step:final

>>Командалар 

>>End.  Мұнда count – циклдық айнымалы, start – оның бастапқы, final – соңғы, step – цикл қадамы. Цикл count мәні  final-дан үлкен болғанда бітеді.

While:: While<шарт>

<операторлар>

End... <операторлар> <шарт>  шындық болғанша орынд.

Шартты if операторы. If <шарт>

<операторлар>

End

Таңдау операторы switch…case

Екіден артық логикалық шарттармен тармақталу конструкцияларын құру қажет болса if операторы орнына switch…case таңдау операторын қолданған ыңғайлы. Ол оператор құрылымы келесідей:

Switch<өрнек>

Case<мән1>

операторлар

Case<мән2>

Операторлар...

Otherwise

Операторлар

End

18.Циклді үзу, оператор break. Төтенше жағдайларды өңдеу, оператор try…catch. 

Қайталау операторларын қолданыңыз. Find функциясы.

Циклдық есептеулер жүргізу барысында  циклдыің ішінде қателік пайда болмуын ескеру қажет.Мысалы қандай да х массиві берілсін,ол бүтін сан болсын. y(i) = x(i+1)/x(i) шарты бойынша жаңа массив құру керек болсын.Осы есеп for циклі арқылы шығарылатыны анық.Бірақ егер бастақы массивтің қандай да бір элементі нөлге тең болса,бөлген жағдайда inf шығады,және келесі есептеулер керексіз болады.Осындай жағдайды болдырмау үшін циклдан шығу пайдаланылады,егер x(i) мәні нөлге тең болса.Циклді тоқтату үшін break операторын қолданамыз:

for x = 1:20

z = x-8;

if z==0

break

end

y = x/z

end

z айнымалысы нөлге тең болғанда цикл тоқтап қалады. Break операторы for және while циклдарын тоқтата алады.Басқа циклдарда break жұмыс істемейді.

try.

Инстуркция1

Инстуркция2 catch.

Инструкция3...

Инстуркция 4

End

Бұл құрылым барлық инструкцияларды орындайды.Егер catch операторына дейін қателік кездессе,қателік туралы нұсқау келеді де,бірақ соңғыlasterr қателіктің жүйелік айнымалысы өзгермейді. Catchтан кейін қателік туралы нұсқаулар келмейді.Келесі мысалда қателіктің шығуы көрсетілген(ааа айнымалысы анықталмаған),одан кейін try...catch...end блогі орындалады:

ааа

??? Undefined function or variable 'ааа'.

try

2+3:

3+4:

2/0: catch

4+5: end:

Warning: Divide by zero.

»lasterr ans = Undefined function or variable

'aaa'.

Блогтың соңында lasterr командасы оның бастапқы мәнін шығарады.

Келесі мысалда try...catch...end блогында қателік catch операторынан кейін қойылған:

» try

2+3:

3+4;

4+5: catch

5/0:

end:

» lasterr

ans = Undefined function or variable 'aaa'.

5/0 есептеуінде қателік көрсетілмеген, жәнеlasterr мәні бастапқы күйінде тұр.

break – циклды үзу операторы

Циклдық есептеулерді ұйымдастырған кезде цикл ішінде қатенің болмауын қадағалау керек. Мысалы, бір х – массиві берілсін. Ол толық сандардан құралған. Бізге y(i)=x(i)/x(i+1) ережесі бойынша жаңа у массивін құру керек. Көрініп тұрғандай бұл есеп for – циклының көмегімен шешіледі. Бірақ егер бастапқы массив элементтерінің біреуі нолге тең болса, онда бөлгенде inf шығады және келесі есептеулер пайдасыз болып қалуы мүмкін. Циклдан шығу арқылы бұл ситуацияны болдырмауға болады, егер ағымдағы х(і) мәні 0-ге тең болса.

Келесі программаның фрагменті циклды үзу үшін break-ті қолдануды көрсетеді.

y=zeros(length(x)-1)

for i = 1:length(x)-1

if x(i) = = 0

break

end

y(i)=x(i+1)/x(i);

end

x(i) = = 0 шарты орындалғанда break операторы циклды аяқтайды және операторлардың орындалулары болады, end-тен кейін орналасқан. break операторын while циклімен бірге қолдануға болады.

Try…catch операторы

A=load(‘my.dat’);

pie(A)

x=[12  -1  -2];

x=x.^2

Егер Matlab іздеу жолында my.dat файлын табатын болса және ондағы берілгендерді салыстырса, онда есеп ойдағыдай шығады. Егер файлды таппаса немесе оқылуында қате болса, онад Матлабта программаны жүргізуді аяқтау туралы терезе шығады.

Бұдан шығу үшін бізге try…catch конструкциясы көмектеседі, ол осындай айрықша сәттерден шығу үшін керек.

Қолдану схемасы    

try

% операторы, выполнение которых

%может привести к ошибке

catch

%операторы, которые следует выполнить

%при возникновении ошибки в блоке

%между try и catch

end

try

A=load(‘my.dat’);

pie(A)

catch

disp(‘ne mogu naiti fail my.dat’)

end

x=[1;2;-1;-2];

x=x.^2

Енді программа хабарлама қалдырады да жұмысын жалғастырады.

>> ne mogu naiti fail my.dat

x =

 1   4   1  4

19. Массив және сандармен логикалық өрнектер құрыңыз. Қатынас (жағдай) операциялар. Логикалық операциялар. Операциялардың артықшылығын түсіндіріңіз.

MATLAB тағы кәдімгі индекстеу вектордың элементтерін шақыру неемесе индекс массивтері арқылы орындалады.

Мысалы қандай да вектора бар делік>> y=[1.1 2.2 3.3 4.4 5.5 6.6 7.7 8.8 9.9];

Онда оның бесінші элементін шақыру үшін келесідей жазамыз:

>> a=y(5)

a =

   5.5000

Егер де b  векторына  оның төртіншіден бастап жетіншіге дейінгі элементтерін енгізу үшін онда индекстеу сечение арқылы жүргізіледі:

>> b=y(5:7)

b =

   5.5000    6.6000    7.7000

Вектор элементінің жұп индекстерін  шақыру үшін индексацияны индекс векторы арқылы жүргіземіз:

>>ind=2:2:length(y)

ind =

    2     4     6     8

>> d=y(ind)

d =

   2.2000    4.4000    6.6000    8.8000

Барлық тәсілдер қарапайым индексацияға жатады.

Логикалық индексацияда массив элементтерін таңдау үшін шарт  қойылады.Мысалы,егер қандай да у векторының ұзындығына сәйкес логикалық вектор құру керек болса,ондағы логикалық бірлік у векторының бестен кем болатын элементіне сәйкес болып,ал логикалық ноль у векторының бестен үлкен немесе тең болатын элеметтеріне сәйкес,онда у массиві үшін салыстыру операциясын қолданып логикалық тұжырым  келесідей болады:

(кем белгісі <):

>>index = y<5

index =

    1     1     1     1     0     0     0     0     0

Егер артық болатын элементтерді анықтау керек болса,мысалы барлық у элементтерінің орташа мәндерінің біржарымға үлкен мәнін,онда логикалық индекстеуді және mean функциясын қолданамыз:

>>index=y>1.5*mean(y)

index =

    0     0     0     0     0     0     0     1     1

Салыстыру операциясы үшін мынандай белгілер қолданылады:

 == (екі белгі = логикалық "тең"), >, >=, <, <= и ~= ("тең емес").

Қиынырақ шарттар беру үшін төменгі кестеде келтірілген логикалық  приоритеті кему ретіндегі операцияларды қолданамыз:

Логикалық операцияларда функциаоналдық жазу формасы бар.Мысалы:

A&B және and(A,B) ұқсас жауап береді.

Мұндағы A және B –логикалық массивтер,олар жоғарғы мысалдағыдай массивтерге салыстыру операциясын қолдану арқылы алынады.

А және В массивтерінің сәйкес келетін элеметтерге поэлементно кәдімгі логикалық операциялар қолданады,жауап ретінде логикалық массив болады.

Егер де біз жоғарыда келтірілген массив үшін логикалық массив келтіретін болсақ,ондағы логикалық элементтер у массивінің элементіне жауап келтіретін болып,үштен төртке дейінгі аралықта жататын болса,онда осыған сәйкес келесі логикалық тұжырым шығады:

>> A = y>=3

A =

    0     0     1     1     1     1     1     1     1

>> B = y<=6

B =

    1     1     1     1     1     0     0     0     0

>>index = A&B

index =

    0     0     1     1     1     0     0     0     0

Әрине А және В қосымша массивтерді қолданбайсақ та болады:

>> index = (y>=3) & (y<=6)

index =

    0     0     1     1     1     0     0     0     0

Салыстыру операцияларында  логикалық операцияларға қарағанда артық приоритеті болады,сондықтан да жақшасыз та жазуға болады:

>> index = y>=3 & y<=6

Қандай да х (тәуелсіз айнымалының мәні) және y (y(i) - x(i)ден тәуелді айнымалы)  массиві берілсін делік.Одан логикалық бірліктер у массивінің екі түзу сызықпен шектелген жолақта жататын элементтеріне сйкес болатын логикалық массив құрастыру қажет.

y = 0.7x + 0.2 и y = 0.7x - 0.2

>> x=0:0.2:3;

>> y=2*sin(x);

>>index = (y<=0.7*x+0.2) & (y>=0.7*x-0.2)

index =

    1     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0

Шыққан логикалық массивтерді индексацияда қолдана аламыз,яғни index логикалық массивті беріп.Индекс у векторы у элементтерінен келесі шартты қанағаттандыратын векторды алады:

>> y1=y(index)

y1 =

        0    1.61

20. Жолдарды және бағандарды жойыңыз. Біріктіру. Матрицаның арнайы түрін жасаңыз. Жолдарды орналастыру. Жолдарды орналастыру үшін командалар.

Жолдар мен бағандарды жою

Матрицалардың жолдары мен бағандарын қос бос тік жақша арқылы жоюға болады. Матрица келесі бос түрде болсын:

>>X=D;

Және Х матрицасының екінші бағанын жою керек:

>>X(:,2)=[]

Бұл амал Х матрицасын төмендегідей түрге келтіреді:

X=

       16 3 13

       5 10 8

       9 6 12

       4 15 1   Бастапқы түрі:  16 2   3   13

                                               5  11 10  8

                                               9   7   6   12

                                               4   14 15  1

Біріктіру – кіші матрицаларды үлкен матрица құру үшін біріктіру. Қос тік жақша – біріктіру операторы. D матрицасы арқылы жаңа матрицаны құруға болады.

>>B=[D; D+32; D+48; D+16]

Нәтижесінде 8х8 матрицасы төрт матрицалардың бірігуінен алынады.

Жолдарды орналастыру. Жолдарды орналастыру үшін командалар.

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

>>А = [3  1  -1;  2  4  3]

  А =

        3  1   -1

       2    4    3

Матрица енгізудің келесі әдісі

Матрицасы берілсін.

Команда жолында бірінші жолды тереміз:

>> В = [4  3  -1

<Enter> батырмасын басамыз. Пакет ешқандай амал орындамайды. Матрицаның келесі жолдарын әрқайсысынан кейін <Enter> батырмасын басып енгіземіз. Ең соңғы жолды тік жақшамен аяқтаймыз.

2  7  0

-5 1  2]

Шығады: B =

                      4  3 -1

                      2  7  0

                     -5  1  2

Үшінші әдіс:  матрицасы берілсін. 

Бұл әдісте матрицаны вектор-бағаннан тұратын вектор-жол ретінде енгіземіз.

>> С = [[3; 4]  [-1; 2]  [7; 0]]

С =

3  -1   7

4    2   0

Матрицаның арнайы түрі

Matlab негізгі матрицаларды құрайтын арнайы функциялардан тұрады:

Zeros- матрицаның барлық элементтері нөлдер

Eye- бірлік матрица

Ones- матрицаның барлық элементтері бірлер

Rand- кездейсоқ элементтерді бірыңғай, біркелкі орналастыру

Randn- кездейсоқ элементтерді кәдімгідей орналастыру

» A = zeros(3, 6)

A =

    0   0  0  0  0  0

0  0  0  0  0 0

     0  0  0  0  0 0

» I = eye(4)

I=

1  0  0  0

0  1  0  0

0  0  1  0

0  0  0  1

» E = ones(3, 7)

E =

1  1  1  1  1  1  1

1  1  1  1  1  1  1

1  1  1  1  1  1  1

» R = rand(3,   5)

R =

0.9501  0.4860  0.4565  0.4447  0.9218

0.2311  0.8913  0.0185  0.6154  0.7382

0.6068  0.7621  0.8214  0.7919  0.1763

21. Полиномдар және интерполяция.Полиномдармен орындалатын амалдар орындаңыз. Полиномдық регрессия.

Matlab-та полиномдар векторының коэффициенттерімен анықталады,мысалы, p = x7 + 3.2x5 – 5.2x4 + 0.5x2 + x – 3 полиномы келесі вектор арқылы анықталады:

>>p=[ 1 0 3.2 -5.2 0 0.5 1 -3];

Векторының элемент саны, яғни полиномдар коэффициенті оның дәрежесінен әрқашан бір бірлікке үлкен, нөлдік коэффициенттер  векторларда болуы керек.

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

>> polyval (p,1)

ans=-2.5000

Аргумент матрицанемесе вектор түрінде болуы мүмкін, бұл жағдайда полином мәнін

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

Полиномның барлық түбірін бірден табу roots функциясы арқылы жүреді. Аргумент ретінде  полином коэффициенттерінен құрылған вектор алынады. roots функциясы полином түбірінің векторын қайтарады, ол кешенді сан болуы да мүмкін.

>>r=roots(p)

r=

    -0.5668 + 2.0698i

    …..

Полином түьірлерінің саны оның дәрежесәне сәйкес келеді.

Полиномдық регрессия

Аппроксимацияның белгілі түрлерінің бірі – полиномдық. Аппроксимация, әдетте, мәліметтердің тәуелділігін немесе бірлігін басқа қарапайым немесе бірқалыпты тәуелділік арқылы суреттеу б.т. Matlab жүйесінде деректерді полиномдар арқылы ең кіші квадраттар әдісімен аппроксимациялау функциясы полиномдық регрессия анықталады.

  1.  polyfit (x,y,n) – n дәрежелі полином коэффициенттерінің векторын p(x) қайтарады, ол орта квадратты қателікпен y(x) функциясын аппроксимациялайды.

Нәтижесінде ұзындығы n+1-ге тең вектор-жол алынады, онда полином коэффициенттері х дәрежесінің кему ретімен орналасқан;

  1.  [p,S] = polyfit (x,y,n) полином коэффициенттері p-ны және s құрылымын polyval
  2.  функциясымен бірге орныдауға, бағалауға және қателік аралыған анықтауға қолданылады;
  3.  [p,S] = polyfit (x,y,n,mu) полином коэффициенттері p- ны және S құрылымын polyval функциясымен бірге орныдауға, бағалауға және қателік аралыған анықтауға қолданылады. Ол тек x-ті нормалау және масштабтау арқылы жүреді xnorm = (x-mu(1))/mu(2), онда mu(1) = mean(x) және mu(2)=std(x). Орталықтандыру және мастабтандыру тек polyval арқылы алынған дәрежелі көпмүшелігінің қасиетін жақсартпайды және де алынған аппроксимация алгоритімінің сапалық сипаттамасын жоғарылатады.

Мысалы:

(sin(x) функция үшін полиномиалды регрессия):

>>x=(-3:0.2:3)’;

>>y= sin(x);

>>p=polyfit(x,y,3);

>>x=(-4:0.2:4)’;

>>y= sin(x);

>>f=polyval(p,x);

>>plot(x,y,’r+’,x, f)

22.Сигналдармен жұмыс  істеу және диодты түзеткіш моделі.Инженерлі және ғылыми қосымшаларда жиі кездесетін әртүрлі электрлі сигналдар. MATLAB жүйесінде Signal ProcessingToolbox атты сигналдармен жұмыс жасауға арналған арнайы пакет бар.

Сигналдармен жұмыс істеу. Қарастыратын сигнал түрлері тізбекте үзіліссіз, әрі аналогты болғанымен, компьютерлік модельдеу немесе өңдеу кезінде, бұл сигналдардың дискретті түрі, яғни вектор сияқты үзіліссіз сигналды көрсететін, әр элементі кейбір уақыт кезеңі белгілі бір шаманы көрсетуі. Сонымен қатар, бірдей тұрған уақыт кезеңдері қолданылады, сондықтан уақыт векторы тек үш параметрмен сипатталады: бастапқы уақыт, соңғы уақыт, уақыт қадамы. Егер сигнал периодты болса, сигнал уақыт кезеңдері шамасының векторы түрінде көрсетіледі, бир-екі периодтарды бөлуі бойынша.

Диодтың статикалық моделі. Егер диодтың кернеуі u-ға тең болса, онда диодтағы ток келесі түрде анықталады:


I0 -жылутогы, ϕT -температуралық потенциал

«Температуралық потенциал» деп аталу себебі ол кернеу өлшемдігіне ие және температураға тура қатынаста. Келесі қарастыратын термин «қанықтыру кері ток», шығу тегі теріс кернеумен |u| байланысты, идеалды диодтың кері тогы I0 тең және кернеуге тәуелді емес. Көбінесе кремнилік диодтарға қатысты I0 = 1мкА шамасы алынады. 13 суреттегі схемаға қатысты диод арқылы токты табу теңдеулер жүйесі берілген.

 

23. Бірөлшемді және екіөлшемді және көпөлшемді кестелік интерпояцияны алыңыз.

Интерполяция

Интерполяция дегеніміз – f(x) функциясының мәнін түйін нүктелерінің аралығында есептеп шығару. Сызықты, квадратты, және полиномиалдық интерполяция полиномиалдық интерполяция кезінде орындалады.

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

  1.  y1=interp1(x,y,x1) x және y векторлық интерполяциясынан алынған элементтері x1
  2.  элементтеріне сәйкес y1 векторын қайтарады. х векторы  y-тің мәні берілген нүктені анықтайды.
  3.  y1=interp1(x,y,x1,method) method параметрі арқылы интерполяция әдісін, таңдауға мүмкіндік береді:
  4.  ‘nearest’ – баспалдақты инт;
  5.  ‘linear’ – сызықты инт;
  6.  ‘spline’ – кубтық-сплайндық инт-я;
  7.  ‘cubic’ – Эрлисттің көпмүшелік инт-я.

Мысалы (косинус функциясының интерполяциясы)

>>x=0:10;y=cos(x);

>>x1=0:0.1:10;

>>y1=interp1(x,y,x1);

>>plot(x,y,’*’,x1,y1,’g’), hold on

>>yi=interp1(x,y,x1,’spline’);

Мысалы (косинус функциясының интерполяциясы)

>>x=0:10;y=cos(x);

>>x1=0:0.1:10;

>>y1=interp1(x,y,x1);

>>plot(x,y,’*’,x1,y1,’g’), hold on

>>yi=interp1(x,y,x1,’spline’);

Екі өлшемді кестелік интерполяция

Екі өлшемді инт-ң мақсаты түйінді нүктелердің  кеңістіктігіне жақын

орналасқан

аралық нүктелердің кейбір тәуелділіктерін z(x,y) табу. Екі өлшемді кестелік инт-я үшін interp2 функциясы қолданылады.

  1.  Z1=interp2(X, Y , X1, Y1) – X, Y, Z матрицалары арқылы екіөлшемді тәуелді инт-я арқылы алынған X1, Y1аргументтерінде берілген функция мәнінің нүктелерінен тұратын – Z1-матрицасын қайтарады. x пен y монотонды болуы және meshgrid функциясы арқылы алынғандай форматта болу керек. х және y матрицалары z мәні берілген нүктелерді анықтайды:
  2.  Z1=interp2(X, X1, Y1) – X=1:n және Y=1:m болатындай алады, ондағы [m, n]=size(Z).
  3.  Z1=interp2(X, Y , X1, Y1, method) – method  опциясы арқылы инт-я әдісін шақырады:
  4.  ‘nearest’ – көрші нүктелер бойынша инт-я;
  5.  ‘linear’ – сызықты инт;
  6.  ‘spline’ – сплайндық инт-я;
  7.  ‘cubic’ – кубтық инт-я (Эрмиттің көпмүшелігі).

Егер X  пен Y  біркелкі орналасқан нүктелер векторлары болса, тез инт-

я үшін ‘*linear’,’*cubic’,’*nearest’  әдістерін қолдану керек. interp2 функциясының екіөлшемді интда қолдануын көрсетеді.peaks функциясы мысалында:

>> [X,Y]=meshgrid(-3:0.25:3); Z=peaks(X/2,Y*2);

>> [X1,Y1]=meshgrid(-3:0.1:3); Z1=interp2(X,Y,Z,X1,Y1);

>>mesh(X,Y,Z),hold on, mesh(X1,Y1,Z1+15),hold off

24. MatLab пакетінің Simulink бағыныңқыжүйесі.Simulink бағыныңқыжүесініңнегізгіқасиеттерінтүсіндіріңіз.Simulink блоктарыныңкітапханасы.

Simulinkпакеті динамикалық сызықтық емес жүйелердің іс-әрекетін зерттеуге және модельдеуге мүмкіндік береді. Зерттелінетін жүйелердің сипаттамаларын енгізу, қарапайым стандартты ұяшықтарды біріктірудің графикалық жинақтау үрдісі арқылы диалогтық режимде өтеді. Мұндай жинақтаудың нәтижесінде зерттелінетін жүйенің моделі пайда болады. Ол модель S-моделі д.а. Модель .mdl кеңейтілуімен файлда сақталады. Simulink пакетінде модельдерді құру Drag-and-Drop технологиясын қолдануға негізделген. S-моделін құру үшін қолданылатын “кірпіштер” ретінде  

Simulink кітапханасында сақталатын модульдер қолданылады. Әрбір S-модель тармақтық құрылымға ие, яғни ол саны шексіз төменгі дәрежелі модельдерден тұрады. Модельдеу кезінде жүйеде жүріп жататын  процестерді  бақылауға мүмкіндік бар. Ол үшін Simulink кітапханасына кіретін арнаулы терезелер қолданылады.

Simulink терезесінің негізгі қасиеттері

Simulink бағыныңқы жүйесі:

  1.  Сызықты, сызықты емес, дискретті, гибридті, үздіксіз жүйелерді модельдеуге мүмкіндік береді;
  2.  Құрамында жаңа жүйелерді құру үшін қолдануға болатын ауқымды блоктар кітапханасы бар
  3.  Блок-диаграммаларды құрамдас блоктарға біріктіреді. Ол өз алдында модельдің тармақтық құрылымын қамтамасыз етеді;
  4.  Қолданушы өзі анықтайтын блоктар мен кітапханаларды құруға қажетті құралдары бар;
  5.  Уақыт бойынша құрылымын өзгертетін бағыныңқы жүйелерді жобалауға мүмкіндік береді.

Simulink блоктарының кітапханалары:

Simulink пакетінің моделін құру процесіндегі негізгі құрамдас материалы блок б.т.

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

Блоктар кітапханасы тоғыз бөлікке бөлінген:

  1.  Continuous
  2.  Discrete
  3.  Function and Tables
  4.  Math
  5.  Nonlinear
  6.  Signals & Systems
  7.  Sinks
  8.  Sources
  9.  Subsystems

Керекті блокты кітапханадан модель құру терезесіне ауыстыру үшін, оны алдымен стандартты Simulink блоктарының тізімінен табу керек.Ол үшін Simulink Library Brouser терезесінде Simulink пунктін таңдап, пайда болған кітапханалар тізімінде сәйкес пунктті белгілеп, ашу керек. Орын ауыстыру үшін тышқан меңзерін керекті блокқа орнатады. Одан кейін, тышқанның сол жақ батырмасына баса отырып, блокты модель терезесіне аустырамыз. Модель құру терезесінде блок пайда болғанна кейін, оған сәйкес параметрлерді орнатуға болады.

25. Function and Tables кітапханаларын артықшылығын көрсетіңіз. Nonlinear кітапханасы.Signals and Systems кітапханасы.

Function & Tables кітапханасы

Берілген кітапхана құрамына математикалық функциялар кітапханасында жоқ функциялармен жұмыс істеуге, сонымен қатар кестелік функциялармен жұмыс істеуге мүмкіндік беретін блоктар енеді. Оған Fcn, Matlab Fcn (Matlab пакетінің функциялары), S-Function (S функция) ж\е т.б. жатады.

Fcn блогы – бұл әмбебап “есептеуші” блок. Құру парметрі ретінде әрбір есептеуіш мәнді енгізуге болады, оның аргументі кіріс сигналының мәні болады.

Кіріс сигналы белгілеу үшін u символы қолданылады. Егер кіріс сигналы вектор болып келсе, онда оның жеке элементтері үшін жүргізілетін операцияларға аргумент міндетті түрде берілу керек. Мысалы, екі кіріс сигналының қосындысы мына түрде жазылу керек: u(1)+u(2)

Nonlinear кітапханасы

Бұл кітапхананың құрамында сызықтық емес функциялармен жұмыс істейтін блоктар бар. “Қайта қосу блоктар” жеке топ құрады, яғни сигналды жіберу

бағытын басқарушы блоктар. Ондай блоктар төртеу:

  1.  Switch (қайта қосушы құрал)
  2.  Manual switch (қолдан қосатын құрал)
  3.  Multiport switch (көп кірісті қайта қосқыш)
  4.  Reley(реле)

Switch блогының үш кірсі бар: екі ақпараттық (1 және 3) және бір басқарушы.

Signals & Systems кітапханасы

Құрылымы бойынша Signals & Systems бөлімі – ең үлкен және Simulink

кітапханаларының имитациялық модельдеу бөлімінің тиімдісі. Оның құрамында отыз блоктар бар. Оның ішінде жиі қолданылатындары мыналар:

  1.  In (кіріс порты) және Out (шығыс порты) -  модельдің бағыныңқы жүйелері аралығы мәлеметтермен алмасуды қамтамасыз етеді, сонымен қатар Matlab жұмыс аймағы мен модель арасында жүреді.
  2.  Bus Selector (шина селекторы) – сигналдар тобының ішінен бір берілген сигналды ерекшелейді.
  3.  Mux (араластырғыш)  - кіріс сигналдарын бір векторлық сигналға біріктіреді.
  4.  Demux (бөлгіш)  –Mux блогының функцияларына қарама қарсы функцияларды іске асырады.
  5.  Subsystems – бағыныңқы жүйелерді құрайтын блок.

Mux блогы кіріс шамаларын бір сызықтық векторға біріктіреді.

Мұндағыкіріс шамалары скалярлық та, векторлық та бола алады. Нәтижедегі вектордың өлшемі кірс портына түсетін элементтердің барлық сандарының қосындысына тең.

26. Бейсызық маятниктің фазалық портретін алыңыз

Маятниктің аз ауытқу қозғалысы белгілі – бұл гармониялық тербелістер. Маятниктің қозғалыс заңы келесі түрде жазылады:

 ,              (1)

мұнда – тербелістің жиілігі, а – амплитуда, – бастапқы фаза. Егер ауытқулар аз болмаса, тербелістерді сипаттайтын теңдеу

 .        (2)

(2)-теңдеу бейсызық, оның шешімі, басқа көп бейсызық теңдеулердің шешімдері сияқты, элементар функциялармен жазылмайды, сондықтан оның сандық шешімін алу қажет. Мейлінше аз ауытқу бұрышы кезінде (, мұнда х-пен маятниктің ауытқу бұрышы белгіленген) теңдеу сызықты болады , оның шешімі (1)-түрде жазылады.

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

(2)-теңдеудің аналитикалық шешімі өте күрделі болғандықтан, маятниктің қозғалысын біз сандық түрде зерттейміз. (2)-теңдеуді бірінші ретті теңдеулер жүйесі ретінде жазайық

 (3)

Программаны құруға кірісуден бұрын, қолданатын программалау тіліне сай, есепті тәуелсіз тапсырмалар тізбегіне бөлу керек, яғни алгоритм құрастырылады. Берілген есеп шешімінің программасы келесі бөліктерден тұру керек:

  1.  Бастапқы шарттарды белгілеу.
  2.  Функцияны белгілеу.
  3.  Бойында шешім табылатын кесіндіні және интегралдау қадамын беру (интегралдау қадамын беруден көрі интегралдау кесіндісі бөлінетін интервалдар санын беріп, қадамның мәнін есептеу ыңғайлы).
  4.  Дифференциалдық теңдеудің шешімдері анықталатын нүктелердің координаттарын есептеу.
  5.  Зерттелетін теңдеуді шешу.
  6.  Нәтижені шығару.

MatLabпакетінде кәдімгі дифференциалдық теңдеулерді 4-ретті Рунге-Кутт әдісімен шешу ode45функциясымен іске асырылған. Төменде MatLab тілінде (3)-кәдімгі дифференциалдық теңдеулер жүйесінднің оң жағындағы функцияның анықтамасы келтірілген mayat атты файл-функция, маятниктің қозғалыс теңдеуін сандық шешуге және бейнелеуге арналған программаның мәтіндері берілген. Файл-функциядағы айнымалылар локальды (жергілікті) болғандықтан, оларды глобаль (ауқымды) деп жариялау керек.

    function F = mayat(t,y);

global omega;

F=[y(2); - omega^2*sin(y(1))];

Файл-функцияны дискдеміндетті түрде mayat.m атымен  сақтау қажет.

Әрі қарай программаның өзін жазамыз:

global omega;

x0 = [2 3];   

for omega=1:0.3:4

[T,Y] = ode45('mayat',[0:0.05:4*pi], x0);

hold on   

 plot(Y(:,1),Y(:,2),'k');

 grid on   

axis([-5 20 -8 8]);  

title('omega=[0;4] үшін бейсызық ...               

       маятниктің фазалық портреті');

end

Бейсызық маятниктің тепе-тең күйлері фазалық жазықтықта х өсінің х = 0, ± , ±2... нүктелерінде орналасқан. Жүйенің сәйкес фазалық портреті 3-суретте көрсетілген. Ерекше нүктелер х = 0, ± 2, ±4 ... – центр, ал орнықсыз нүктелер х = ± , ±3 ... – ер тоқым тәрізді екені көрінеді.

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

27. Бар блоктарды топтастыру арқылы бағыныңқы жүйелерді құрыңыз

Егер модельдердің блок-үрдісі өте күрделі және үлкен болса, онда блоктарды бағыныңқы жүйеге топтастыру арқылы жеңілдетуге болады. Бағыныңқа жүйелерді қолдану келесі мүмкіндіктерді береді:

  1.  Модель терезесінде шығатын блок көлемі қысқартылады
  2.  Функционалды байланысқан блоктрады бір топқа біріктіруге мүмкіндік туады
  3.  Тармақтық блок-үрділерінің құрылуына мүмкіндік туады.

Бағыныңқы жүйені екі әдіспен құруға болады:

  1.  Subsystem блогын модельге қосып, содан кейін бұл блокқа кіріп, пайда болған бағыныңқы жүйе терезесіне келесі бағыныңқы жүйені құру
  2.  Модельдің блок-үрділерінің бөлігін ерекшелеп, бір бағыныңқы жүйеге біріктіру.

Бар блоктарды топтастыру арқылы бағыныңқы жүйелерді құру

Егер блок-үрді құрамында бағыныңқы жүйеге біріктіретін блоктар бар болса, онда соңғысын мына түрде құруға болады:

  1.  Бағыныңқы жүйе құрамына енгізу керек болатын блоктарды және оларды біріктіретін сызықтарды жиек арқылы ерекшелейді.
  2.  Edit мәзірінен Create Subsystem командасын таңдалады. Нәтижесінде Simulink ерекшеленген блоктарды Subsystem блогымен ауыстырады. Құрылған бағыныңқы жүйенің блок-үрдісін көру үшін Subsystem блогын екі рет басу керек.

28. Тиімділеу әдістерін сандық шешіңіз

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

Тиімділеу есептерінің екі түрге бөліп қарастаруға болады – шартты және шартсыз. Шартсыз тиімділеу есебінің мәні n  нақты айнымалыдан тұратын функцияның  максимумын немесе минимумын табуға және n-өлшемді кеңістіктің қандай да бір G жиынында  аргументтердің сәйкес мәндерін анықтауға тіреледі. Көбінесе минимизациялау есептері қарастырылады; мақсат функциясының таңбасын қарама-қарсыға ауыстыра отырып, максимумды іздеу есептеріне жеңіл көшуге болады. Шартты тиімділеу есептері дегеніміз – оларды құру барысында G жиынында қандай да бір шарттар (шектеулер) қойылады. Матлаб ортасында шартсыз минимизациялау есебінің шешімдерін табудың әртүрлі мүмкіндіктерін қамтамасыз ететін бірнеше функцияны қарастыруға болады.  

29. Бір белгісізді теңдеудің түбірін табу. Бейсызық теңдеулер жүйесін шешу

Fun(x)=0 түріндегі теңдеуді шешу үшін fzero функциясы қолданылады. Түбірі ізделініп отырған функцияны шақырудың ең қарапайым жағдайында оған сілтеуішті қолданады, сонымен қатар түбір ізделінетін аймақтың бастапқы нүктесі x0 беріледі:   x=fzero(f, x0).

Мұндағы f аргументі төмендегілердің біреуі арқылы берілуі мүмкін:

  1.  Апостроф белгісіне алынған х-белгісізден құрылған формула
  2.  M-файлдың аты түрінде
  3.  Функцияға сілтеуіш ретінде
  4.  Аты белгісіз функцияға сілтеуіш түрінде

х0 агументі келесі екі мүмкіндіктің біреуі арқылы беріледі:

  1.  [a, b] вектор (a<b) интервалында анықталған [a, b] векторы түрінде және f  функциясы интервалдың шекті нүктелерінде таңбасын өзгертеді, мұның өзі осы интервалда ең болмағанда бір түбірдің табылатындығының айғағы;
  2.  Аймағында түбірдің табылуы мүмкін болып есептелетін скалярлы мән. Бұл жағдайда fzero  функциясы центрі берілген x0 нүктесі болатын және шекті нүктелерінде f функциясы таңбасын өзгертетін интервалды өзі табуға тырысады.

Бастапқы жуықтауды таңдауды жеңілдету үшін y=fun(x) функциясының графигін тұрғызуға болады.

Бейсызық теңдеулер жүйесін шешу

fsolve функциясы F(x)=0 түріндегі сызықтық емес теңдеулер жүйесін шешуге арналған, мұндағы х-белгісіздер векторы немесе матрица, ал F – мәні вектор немесе матрица болатын функция. Бұл функцияның орындалу алгоритмі х0 бастапқы мәнін пайдалана отырып F функциясының құраушыларының квадраттарының қосындысын Гаусс-Ньютон және Левенберг-Марквард әдістерімен минимизациялауға негізделген. Қарапайым жағдайда fsolve функциясы келесі түрде шақырылады: х=fsolve(F, x0)

fsolve функциясының екінші аргументі вектордың бастапқы мәндері түрінде берілуі мүмкін және вектордың әрбір компоненті үшін жақын жатқан шешім табылады: x=fsolve(@sin, [1 2 3 4 5 6], optimset(‘fsolve’))

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

30. Автотербелмелі жүйе – Ван-дер-Поль генераторы.

Динамикалық жүйенің тербелмелі процестерін зерттегенге қажет болғаны соншалық, А.А.Андронов бұл типке арнайы термин – автотербелмелі жүйе деген ұғым енгізді.

Динамикалық жүйедегі автотербеліс периодты ғана емес,  квазипериодты және стохасты та болуы мүмкін. Сондықтан біз тек ең жалпы анықтамасын береміз. Автотербелістер – бұлар бастапқы шартқа тәуелді емес өшпейтін тербелістер, түрі және қасиеті осы бейсызық диссипативті жүйенің өзімен сипатталады және жүйе сыртқы энергия көзімен қуаттандырылады. Автотербелістер диссипативті жүйелердегі басқа тербелістерден негізінде мүлдем ерекше, оларды үзбеу үшін сырттан периодты әсер қажет емес.

Динамикалық жүйенің мысалы ретінде классикалық бейсызық Ван-дер-Поль осцилляторын қарастырамыз. 4-суретте Ван-дер-Поль генераторының принциптік сүлбесі келтірілген.

Біз Ван-дер-Поль теңдеуін сандық модельдеуге ыңғайлы мына түрде қарастырамыз: .

М-файлда мынадай листинг курайык:

function dydt=vanderpoldemo(t,y,a,Mu)

dydt=[y(2); Mu*(a-y(1)^2)*y(2)-y(1)];

Ал жұмыс ортасында мынайдай программа жазамыз:

tspan=[0,100]; x0=[0.5;0]; a=10.0; Mu=10.0;

disp(['Fig0 tspan=[0,100]; mu=', num2str(Mu)])

tic

[t,x]=ode45(@vanderpoldemo,tspan,x0,[],a,Mu);

toc

plot(t,x(:,1),'b','LineWidth',4)

xlabel('t'); ylabel('solution x')

title(['van der pol eqation,\mu=',num2str(Mu)])

hold on; tic

[t,x]=ode15s(@vanderpoldemo,tspan,x0,[],a,Mu);

toc;

plot(t,x(:,1),'r--','LineWidth',4); hold off

Сыртқы гармониялық ұйытқуды ескергендегі (амплитудасы ) және кері байланыс коэффициенті (теріс кедергі) , бейсызық тербелістер жиілігі болатын Ван-дер-Поль теңдеуі мына түрде жазылады:

.               (18)

31. Fminbnb функциясы. Көпөлшемді шартсыз минимизациялауды көрсетіңіз. Шарт қою арқылы минимизациялауды көрсетіңіз.

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

Мысалы:  f(x)=24-2x/3+x2/30       [5; 20]

>>x=5.0:0.001:20.0; y=24-2*x/3+x.^2/30;

>>plot(x,y);grid on

>>[x,y]=fminbnd(‘(24.0-2*x/3+x.^2/30)’,5.0,20.0)

X=      10.0000

Y=      20.667

Көпөлшемді шартсыз минизациялау

Fminsearch функциясында симплекстік іздеу алгоритмі қолданыладыб оның идеясы келесіде:n-өлшемді кеңістіктің бастапқы нүктесінің маңайында (n+1) - симплексті тұрғызылады, жалпы жағдайда. Осы нүктелерде мақсат функциясының мәндері есептеліп, функцияның мәні максималы болатын нүкте қарастырылудан алынып тасталады, ал оның орнына ережелерге сай симплекске басқа нүкте қойылып отырады. Симплекс диаметрі берілген аралықтан кіші болған жағдайда үрдіс тоқтатылады. Мақсат функциясы тегіс емес тіпті үзілісті болуы мүмкін.

 Бұл функцияға қатысудың ең қарапайым түрі келесідей:

X=fminsearch(fun,x0)

Екі айнымалыдан тұратын үзілісті, бірақ тегіс емес функцияның мысалын қарастырайық у=fun(x)=3|x1|+|x2| оның жалғыз минимумы координаталар жүйесінің бастапқы нүктесінде орналасқан.

>>[x,f]=fminsearch(‘3*abs(x(1))+abs(x(2))’,[1;1])

>>x= 1.0e-004*

         -0,1439

          0.3565

F=       7.8809e-005

Шартсыз минимизациялау.

Егер нақты функцияның аргументіне теңдеулер немесе теңсіздіктер түріндегі қандай да бір шектеулер қойылса, онда y=f(x)  векторлық аргументтен тәуелді нақты функцияның минимумын іздеу есебі шартты деп аталады. Ондай есептерді шешу Лагранждың көбейткіштерін қолдану әдісіне негізделген. Әрбір g(x)≤0 теңсіздігі g(x)+v2=0 теңдеуімен алмастырылады. Одан кейін әрбір тңдеудің сол бөлігі қандай да бір көбейткішпен мақсат функциясына қосылады, ол көбейткіштер және v шамалары айнымалылар қатарына қосылады. Осы түрде модификацияланған функция үшін шартты минимизациялау есебі шешіледі. Шартсыз минимизациялауда fmincon қолданылады.

Жартыжазықтықтағы Розенброк функциясының минимумы

Жартыжазықтықты беретін және x1-x2+4≤0 шектеулерін ескере отырып Розенброк функциясының минимумын табайық. A=[1 -1] Матрицасын , b=[-4] Векторын, x0 бастапқы нүктесін анықтаймыз, x0=[-3; 4] және fmincon функциясын шақырамыз:

>> A=[1 -1]; >> b=[-4];  >> x0=[-3; 4];

>>x=fmincon(‘5*(x(2)-x(1)^2)^2+(1-x(1))^2’,x0,A,b)

X=    2.5431

    6.5431

[x,fval]=fmincon(….) Түріндегі толық шақыру барысында мақсаттық функцияның берілген нүктедегі мәнін табуға болады:

Fval=           2.4098

32. Сигналдарды спектральды талдау. Спектральды талдаудың кейбір мәселелері. Фурьенің тура және кері түрлендіруін қолданыңыз.

Тез Фурье түрлендіруі

ДФТ-дің бір коэффициетін (28)-формуламен есептеу үшін N комплексті көбейту мен қосуды орындау қажет. Сондықтан, N коэффициентті барлық ДФТ-дің есептеуі N2 «көбейту-қосу» операциялар жұбынан тұрады. Операциялардың саны ДФТ-дің өлшемінің квадратына пропорционал өседі. Бірақ, егер N қарапайым сан болмаса және көбейткіштерге жіктелсе, талқыланатын санаулар жиынтығын бөлшектерге бөліп, олардың ДФТ-ін есептеп және нәтижелерін біріктіріп, есептеу процесін тездетуге болады. Мұндай есептеу тәсілдерін тез Фурье түрлендіруі (ТФТ) деп аталады және практикада жие қолданады.

Қазіргі кезде ТФТ алгоритімін жүзеге асыратын процедуралар жоғары деңгейлі программалау тілдерінде программа жазу үшін қолданатын барлық математикалық кітапханаларға және математикалық есептеулердің арнайы жүйелеріне (MatLab, MathCAD, MapleV, Mathematica және т.б.) кіреді. MatLab жүйесінде тез Фурье түрлендіруі тура және кері ТФТ-ін орындайтын функциялар жұбынынан іске асырылады: fft/ifft. Бұл функциялар нақты да, комплексті тізбектерге де қолданылады, тізбектердің ұзындығы кезкелген болу мүмкін.

fft(ν) – 2m-өлшемді вектордың дискретті Фурье түрлендіруі, аргументі функцияның уақыт бойынша бірдей арақашықтық дискреттеу нәтижесі болып табылады. Программаның жұмыс істеу нәтижесі – 2m+1-мөлшерлі комплексті вектор. fft функциясының кері векторының элементтері

формуласымен есептеледі, мұнда N – νвекторының элементтер саны.

ifft(ν) – ДФТ мәндеріне ие комплексті вектордың кері дискретті Фурье түрлендіруі.  ν векторы 2m+1 элементтерден тұру керек. Программаның жұмыс істеу нәтижесі – 2m+1-мөлшерлі нақты вектор. Вектордың элементтері

формуласымен есептеледі, мұнда Nνвекторының элементтер саны. Барлық векторлар үшін ifft(fft(ν))=ν қатынасы дұрыс.

fft(ν,n) – 2n-өлшемді вектордың дискретті Фурье түрлендіруі, бірсыпыра функцияның уақыт бойынша бірдей арақашықтық дискреттеу нәтижесі аргументі болып табылады. Программаның жұмыс істеу нәтижесі – 2n+1-мөлшерлі комплексті вектор. Егер n > length(ν) болса, ν векторындағы тізбек нольдермен толтырылады.

ifft(ν,n) – ДФТ мәндеріне ие комплексті вектордың кері дискретті Фурье түрлендіруі. Программаның жұмыс істеу нәтижесі – 2n+1-мөлшерлі нақты вектор.

33. Периодты және периодты емес сигналдарды өндіруге арналған MatLab жүйесіндегі функцияларды көрсетіңіз.Периодты: Square- тікбұрышты импульстер тізбегі;

Fs=1e3;

t=-10e-3:1/Fs:50e-3;

A=3; f0=50; tau=5e-3;

s=(square(2*pi*t*f0,f0*tau*100)+1)*A/2;

plot(t,s,'k');

ylim([0 3.5]); title('square').   

Sawtooth-үшбұрышты:

Fs=1e3;

T=-25e-3:1/Fs:125e-3;

A=5;

T=50e-3;

t1=5e-3;

s=(sawtooth(2*pi*t/T, 1-t1/T)-1)*A/2;

plot(t,s,'k'); title('sawtooth').   

Diric-Дирихле ф/ясы(периодты sinc ф/ясы):

x=0:0.01:15;

subplot(2,1,1);

plot(x,diric(x,7),'k');

title('diric.n=7');

subplot(2,1,2);

plot(x,diric(x,8),'k');

title('diric.n=8');

Периодсыз:

Tripuls-ушбурышты:

Fs=1e3;

t=-50e-3:1/Fs:50e-3;

A=10; T1=20e-3; T2=60e-3;

s=A*(T2*tripuls(t,T2)-T1*tripuls(t,T1))/(T2-T1);

plot(t,s,'k');

title('tripuls');   

sinc-шогыр импульс:

Fs=1e3;

t=-.1:1/Fs:.1;

f0=10;

f=-50:50;

T=1/f0;

s=rectpuls(t,T).*cos(2*pi*f0*t);

sa=T/2*(sinc((f-f0)*T)+sinc((f+f0)*T));

subplot(2,1,1);

plot(t,s,'k');

title('Radio Impulse');

subplot(2,1,2);

plot(f,abs(sa),'k');

title('sinc')

rectpuls-ткбурышты:

Fs=1e3;

t=-40e-3:1/Fs:40e-3;

A=5;

T=20e-3;

s=-A*rectpuls(t+T/2,T)+A*rectpuls(t-T/2,T);

plot(t,s,'k').   

Дискретты:

t=0:0.001:2;

x=sin(2*pi*5*t)+cos(2*pi*12*t);

plot(t,x); grid

set(gca, 'FontName', 'Arial Cyr', 'FontSize',16);

title('Ainurkin'); xlabel('c'); ylabel('x(t)');

y=fft(x):

a=abs(y); figure(2), plot(a); grid

set(gca, 'FontName','Arial Cyr','FontSize',16);

title('Fureou'); xlabel('vector nomeri'); ylabel('nnn')

z=ifft(y):

figure(3), plot(t,z); grid

set(gca,'FontName','Arial Cyr','FontSize',16);

title('keri Fureou'); xlabel('ccc'); ylabel('z(t)')

34. Тікбұрышты, үшбұрышты, Дирихле импульстерін алыңыз. Дискретті сигналдар.

Squareфункциясының жалпы түрінде екі кіріс аргументі бар – уақыттың мәндер векторы t және duty параметрі, соңғы параметр арқылы пайда болған тізбектің біртекті еместігін (алшақтығын) реттеуге болады:   y = square(t, duty).

Dutyпараметрі алшақтықтың өзін емес, оған кері шаманы –толтыру коэффициентін (пайыз ретінде), яғни импульс ұзақтығының периодқа қатынасын береді.

Екінші duty (параметрсіз, ең қарапайым жағдайда) импульстер тізбегінің периоды = 2 және құбырлылық = 2 (яғни импульстің ұзақтығы периодтың жартысына тең). Тізбек екі полярлы болады – сигнал –1 және 1 мәндерді қабылдайды. «Айтпағанда» duty параметрінің мәні 50-ге тең, яғни меандр шығады.

Үшбұрышты импульстер тізбегін шығаруға  sawtooth функциясы арналған. Жалпы түрінде функцияның екі кіріс аргументі бар – уақыттың мәндер векторы t және width параметрі, соңғы параметр арқылы «кері бағыттың» ұзақтығын (сигналдың деңгейі 1-ден –1-ге дейін сызықты төмендейтін аралық) реттеуге болады:

y = sawtooth (t, width).

Width параметрін көрсеткенде сигнал 2width уақыт аралығында –1-ден 1-ге дейін сызықты өседі және 2(width–1)уақытта 1-ден –1-ге дейін сызықты төмендейді. «Айтпағанда» width параметрінің мәні 1-ге тең. Width = 0.5 болғанда симметриялы үшбұрышты импульстер тізбегі пайда болады.

Дирихле функциясын есптеу үшін diric функциясы қолданылады:

y = diric(x, n).

Осы функцияның кіріс параметрлері сәйкес Дирихле функциясынан анықталады:

,

мұнда n – бүтін оң сан. Функцияның түрі лүпілді (импульсті): лүпілдің максималды деңгейі х = 2 k болғанға сәйкес, бұл нүктелерде функцияның мәні  (–1)k(n-1) тең. Осы ең негізгі лүпілдердің арасында кіші деңгейлі лүпілдер орналасқан. n саны тақ болғанда барлық негізгі лүпілдер оң полярлы болады, және функцияның периоды 2 тең. n жұп болғанда негізгі лүпілдердің полярлығы алмасады және функцияның периоды екі есе көп болады (4).

Бірлік амплитудалы жалғыз тікбұрышты импульсті құрастыру үшін rectpuls функциясы қолданылады:

y = rectpuls(t, width),

мұнда t – уақыт мәндері векторы, width – импульстің ені (ұзақтығы) («айтпағанда» = 1). Қайтарылатын нәтиже y – сигналдың есептелген мәндер векторы келесі формуламен анықталады:

Бірлік амплитудалы жалғыз үшбұрышты импульсті құрастыру үшін tripuls функциясы қолданылады:

y = tripuls(t, width, skew),

мұнда skewимпульсшыңының орнын анықтайтын асимметрия коэффициенті. Импульстің шыңы t = width*skew/2 болған кезде орналасады. Skew параметрі («айтпағанда» = 0) –1-ден 1-аралығында жату керек. y векторы келесі формуламен есептеледі:

Тікбұрышты, жиілігі бойынша шектелген спектрлі сигналды құрастыру үшін sinc функциясы қолд: y = sinc(t).

35. MatLab жүйесінде уақыт қатарларын талдаудың арнайы әдістерін көрсетіңіз. Нормаланған құлаш әдісі.

Температура сияқты, өзендердің қуатын, тұнбалардың мөлшерін, ағаштар сақиналарының жуандығын тағы да уақыт бойынша өзгеретін көптеген процестерді нормаланған құлаш әдісі арқылы зерттеуге болады, немесе оны Херст әдісі деп де атайды. Херст Нил өзенін зерттеумен және су қорларының қалыптасуымен б/ты есептерді шешумен шұғылданған. Ол ашқан жаңа статистикалық нормаланған құлаш әдісі «Долговременное накопление: экспериментальное исследование» деген кітапта толық суреттелген. 

Н көрсеткішімен (Херст көрсеткішімен) сипатталады.

Кез келген шаманың уақыттық жиыны x(t) болсын. х шаманың максимал, минимал мән/ң айырымы құлаш,R б/ді:

  t –дискретті уақыт, – уақыт арал/ң ұзақтығы. Құлаш қарастырылған  периодына тәуелді, яғни R -ға байланысты өседі. Көптеген уакыт катарларының R/S нормаланган құлашы мына эмпириялык катынаспен сипатталады: R/S=(j/2)H.  S – стандартты ауытқу, яғни дисперсияның квадрат түбірі:

.

Табиғаттың сапасы әр түрлі құбылыстарына Херст көрсеткішінің Н = 1/2, Н > 1/2 мәндері сәйкес келеді. Радиоэлектроникада Херст әдісі фазаның ауытқуы, жиіліктің ығысуы сияқты Винер процестерін сипаттау үшін қолданады.

Херст көрсеткіші Н арқылы D локальды және аумақты фракталды өлшемділіктерді анықтауға болады:

. Хаусдорф-Безикович өлшемділігі, немесе фракталды өлшемділік D объектің, процестің интегралды сипаты болып табылады.

Вейвлет түрлендірулер:

lb=-5; ub=5; n=1000; Wname='db2';

[phi,psi,x]=wavefun(Wname,7);

subplot(3,3,1); рlot(x,psi,'k');

axis([0 3 -2 2]); title('Dobewi veivleti');

[psi,x]=morlet(lb,ub,1024);

subplot(3,3,2); plot(x,psi,'k');

axis([-5 5 -1 1.2]); title('morle veivleti');

[psi,x]=meyer(lb,ub,1024,'psi');

subplot(3,3,3); plot(x,psi,'k');

axis([-5 5 -1 1.2]); title('meyer veivleti');

[psi,x]=mexihat(lb,ub,n);

subplot(3,3,4); plot(x,psi,'k');

axis([-5 5 -1 1.2]); title('mexicalyk kalpak');

[psi,x]=gauswavf(lb,ub,n,8);

subplot(3,3,5); plot(x,psi,'k');

axis([-5 5 -1 1.2]); title('gaus veivleti');

[psi,x]=shanwavf(lb,ub,n,3,5);

subplot(3,3,6); plot(x,psi,'k');

axis([-2 2 -1.5 2.5]);  title('shennon veivleti');

[phi,psi,x]=wavefun('haar',10);

subplot(3,3,7);  plot(x,psi,'k');

axis([-.1 1.1 -1.5 1.5]);  title('haar veivleti');

[phi,psi,x]=wavefun('sym2',10);

subplot(3,3,8);  plot(x,psi,'k');

axis([0 3 -2 2]);  title('simlet veivleti');

[phi,psi,x]=wavefun('coif2',10);

subplot(3,3,9);  plot(x,psi,'k');

axis([2 8 -1 1.7]);  title('koifletc veivleti');

Вейвлет спектрі:

 t=linspace(-6,6,2048); s=sin(t);

subplot(2,1,1);   plot(t,s,'k');

title('sinusoida');  subplot(2,1,2);

c=cwt(s,1:16,'sym4','abs1v1',[100 400]);

title('veivlet spektrogrammasy');

Спектрограмма:

 [x,s]=wnoise(3,10,5);

subplot(3,1,1);  plot(x,'k');

title('taza signal');  axis([0 1000 -15 10]);

subplot(3,1,2);  plot(s,'k');

title('shuyly bar signal');

axis([0 1000 -15 10]);    subplot(3,1,3);    

c=cwt(s,1:1:40,'sym4','abs1v1',[100 400]);

36. Бейсызық тербелістерді сапалық талдаңыз

Динамикалық жүйелер ұғымы Ньютонның дифференциалдық теңдеулерімен сипатталатын механикалық жүйенің жалпыланған ұғымы түрінде пайда болды. Ол табиғаттың қай жүйесі болмасын: физикалық, химиялық, биологиялық, экономикалық т.б. қамтиды және тек детерминдік жүйелер ғана емес, стохастикалық жағдайларды да қарастырады. Динамикалық жүйені сипаттау әдістері әр түрлі.Олар дифференциалдық теңдеулер, логикалық алгебра функциясы, графтар, марковтық тізбектер және т.б. амалдар.

Қазіргі уақытта динамикалық жүйені бейнелейтін математикалық модельдердің екі түрі қолданылады.

Бірінші көзқарас бойынша Sдинамикалық жүйенің математикалық моделі қайсыбір уақыт кезеңіндегі жүйенің х жағдайы қарастырылады жіне осы х жағдайдың уақыт бойынша өзгерісін анықтайтын Т операторы ұғымын пайдаланады. Т операторы келесі t+∆t  уақыт кезеңінде жүйенің х(t) бейнелеуі бойынша  х(t+∆t)  бейнелеуін орындау амалын көрсетеді. Егер Т операторы уақытқа нақты тәуелді болмаса, онда S жүйесі автономды деп аталады, ал қарама қарсы жағдайда автономды емес.  S жүйесінің х жағдайын Ф кеңістіктің біраз нүктесі ретінде, мысалы координаттармен, импульстармен, яғни S жүйесінің фазалық кеңістігі деп қарастыруға болады. Х жағдайының өзгерісіне Ф фазалық кеңістіктегі бейнелеуші деп алатын нүктелер қозғалысы жауап береді. Бейнеленген нүктлер қозғалысы фазалық траектория деп аталатын қисықты сипаттайды. Фазалық кеңістік Ф және оператор Т динамикалық жүйенің математикалық моделін құрайды. Осындай әдіс динамикалық жүйелердің өзгерісін Ф фазалық кеңістіктің құрылымдық сипатын анықтау және осы құрылымның жүйенің физикалық параметрлерінің шамасына тәуелділігін анықтау арқылы сипаттайды.

Динамикалық жүйенің құрылымына тәуелді Ф фазалық кеңістігі мен Т оператор түріне сай математикалық модельге классификация жасауға болады. Үздіксіз және дискретті динамикалық жүйелердің күйін сипаттайтынх шамасы мәнінің қандай қатар қабылдауына сай фазалық кеңістіктің дискретті және үздіксіз жағдайлары болады.

Уақыт бойынша күй өзгерісі х үздіксіз немесе дискретті бола алады. Егер ∆t  кез келген теріс емес сан болса, онда уақыт бойынша өзгеріс үзілісссіз. Тек дисктертті оң шамаларды ғана қабылдайтын болса, онда уақыт бойынша үздікті. Т операторларын олардың қасиеті мен жазу формасына байланысты бөледі. Егер Т операторының суперпозиция қасиеті болса, онда ол сызықты деп аталады., егер Т операторы бейсызық болса, онда соған сәйкес динамикалық жүйелер де бейсызық деп аталады. Сонымен қатар Т операторы үздіксіз және дискретті болуы мүмкін. Т операторының жазылу формасы дифференциалдық, интегралдық, матрицалық, таблицалық, т.б болуы мүмкін. Динамикалық жүйе физикасының үлкен жетістігі бейберекетті динамиканың ашылуы болды. Бір қарағанда бейберекеттің пайда болуы бірмағыналы болжаудың мүмкіндігімен жобаланған динамикалық жүйенің анықтамасымен сәйкес келмейді. Бейберекеттік режимде бастапқы күй жүйесіндегі анықталмағандық қанша аз болса да, уақыт бойынша тез өсіп кетеді, сондықтан жеткілікті уақыт интервалында болжау мүмкін емес болады. Осындай режим түрі ретті емес, динамикалық айнымалының бейберекет өзгерісі бойынша сипатталады. Диссипативті жүйенің фазалық кеңістігінің құрылымы күрделі жиындар әуейі аттракторлар болып табылады.

37. Радиоимпульс пен оның спектрінің графигін алыңыз.

Гаустық орайжанауыш және бірлік амплитудалы жалғыз ралиоимпульсті құру үшін gauspuls функцияы қолданылады: y=gauspuls(t,fc,bw,bwr) мұндағы fc тасымалдаушы жиілік, bw спектрдің салыстырмалы ені, bwr спектрдің ені б/ша өлшеу жүргізілетін децибелмен өлшенетін деңгей. У векторы келесі формуламен есептеледі: у=exp(at2)cos(2πfct)

а коэффиценті импульс ұзақтығын, енін де анықтайды.

Gauspuls функциясын шақырғанда, бірден үшке дейін шығыс параметрлерін қолдануға болады:  [y,yq,ye]=gauspuls(t)

Yq анықталған у радиоимпульстің квадратуралық қосымшасын береді.  Yq векторы у векторынан 90 градусқа тасымалдаушы тербелістің ығысуымен ажыратылады. Ye пайда болған радиоимпульстің орайжанауышын береді.

Мысал. 4 кГц тасымалдаушы жиілігімен, -20 дБ деңгейімен, өлшенген спектрдің салыстырмалы ені 10% радиоимпульстің және оның спектрінің графиктерін салайық. Дискреттеу жиілігі = 16 кГц.

Fs=16e3;  t=-10e-3:1\Fs:10e-3;    Fc= 4e3; bw=0.1;   bwr=-20;

s=gauspuls(t,Fc,bw,bwr);

N=2^nextpow2(length(s));

Spectra=fft(s,N);

spectradB=20*log10(abs(spectr));

f=(0:N-1)\N*Fs;

subplot(2,1,1);                            

plot(t,s,`k`);

title(`gaupuls`);

subplot(2,1,2);    plot(f(1:N\2)

spectradB(1:N\2),`k`);

maxspectra=20*log10(max(abs(spectra)));

freq=Fc*[1-bw\2 1+bw\2];

hold on, plot (freq, maxspectra ([1 1]) +bwr, `k+`);

title(`Spectra of gaupuls`);

38. Матрицалық ойындар есебіне мысал келтіріңіз.

Kizil tuz

Kara tuz

Kizil ekilik

Kizil tuz

1

-1

-2

Kara tuz

-1

1

1

Kizil ekilik

2

-1

0

>>A=[1 -1 2;-1 1 1;2 -1 0];   %tikelei esepke habarlasu;

>>[x,fval]=linprog(ones(3,1),-A',-ones(3,1),[],[],zeros(3,1))

x = 0.0000

   3.0000

   2.0000

fval = 5.0000

>>% keri esepke habarlasu:

>>[y,gval]=linprog(-ones(3,1),A',ones(3,1),[],[],zeros(3,1))

y =

   0.0000

   1.0000

   1.0000

gval =-2.0000

>> v=1./fval

v =0.2000

>> p=v*x

p =0.0000

   0.6000

   0.4000

>> q=v*y

q =    0.0000

       0.2000

   0.2000

39. Математикалық тербелістердің еркін тербелістерін алыңыз. Еріксіз тербелістер.

Тербелістер туралы есептер физиканың барлық салаларында кездеседі. Көп жағдайларда мүлдем өзгеше физикалық обьектілердің тербелістері бір біріне ұқсас. Қарапайым мысалдар маятниктің шағын тербелістері және конденсатор мен шарғыдан тұратын тізбектегі электр тербелістері.

Ұзындығы L қатты сырықтың бір шетіне қадалған, екінші шеті ілу нүктесінде бекітілген, массасы m жүктің қозғалысын қарастырайық. Жүк центрі о нүктесіндегі L радиусты шеңбердің доғасы бойынша қозғалады, жүктің орны сырықтың вертикальдан ауытқу бұрышымен сипатталады. Программаның мәтінімен салыстыруға ыңғайлы болу үшін маятниктің вертикальды бағыттан ауытқу бұрышын х пен белгілейміз.

Маятниктің аз ауытқу қозғалысы белгілібұл гармониялық тербелістер. Маятниктің қозғалыс заңы келесі түрде жазылады:  х=acos(ωot+φo).

Егер ауытқулар аз болмаса, тербелістерді сипаттайтын теңдеу    ẍ +ω2sinx=o. Соңғы теңдеу бейсызық, оның шешімі, басқа көп бейсызық теңдеулердің шешімдері сияқты, элементар функциялар жазылмайды, сондықтан оның сандық шешімін алу қажет. Мейлінше аз ауытқу бұрышы кезінде теңдеу сызықты болады ẍ +ω2sinx=o.

function F=mayat(t,y);

global omega;

F=[y(2); - omega^2*sin(y(1))];

global omega;

x0=[2 3];

for omega=1:0.3:4

   [T,Y]=ode45('mayat',[0:0.05:4*pi],x0);

   hold on

   plot(Y(:,1),Y(:,2),'k');

   grid on

   axis([-5 20 -8 8]);

   title('mayatnik')

end

Еріксіз т/стер. Маятникке горизонталь бағытталған F(t)=Bcoswt сырткы айнымалы күш әсер еткенде жүйе мәжбүр т/с д.а.   x(2)+w2sinx=Bcoswt.

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

40. Логистикалық бейнелеуді түсіндіріңіз.

Бірөлшемді айырымдық теңдеу (логистикалық бейнелеу)

Хn+1=rxn(1-xn) , n=1,2,..,N

r>1 болған кезде логистикалық бейнелеу екі тепе теңдік нүктесі бар бейнесінің орнықтылығын анықтау үшін тыныштық нүктесінде |f `(x)| жанама мәнін табу керек. Егер | f `(x)|>1 болса, тыныштық нүктесі орнықты емес. Егер 1<r<3 болса логистикалық теңдеудің екі тыныштық нүктесі бар; х=0, (r-1)\r бұндағы координаттар басы орнықты емес, ал екінші тыныштық нүктесі орнықты.

Бірақ  r=3болғанда х =( r-1)\r кезіндегі жанама 1-ден асады және тепе теңдіктің екі нүктесі де орнықсыз болып кетеді. r параметрінің мәні 3 пен 4 аралығында болғанда қарапайым айырымдық теңдеу көппериодтық және хаостық қозғалысты  сипаттайды. r =3 болғанда орнықсыз стационарлық шешім болады, бірақ бицикл немесе екіпериодтық орбита орнықты болып қалады.

R мәнін ары қарай ұлғайтса екіпериодты орбита орнықтығын  жоғалтады және периодты  4 тең цикл қалыптасады, ол бифуркациялар арқылы r дың бұдан да үлкен мәндерінде периоды 8ге тең циклмен ауысады. Бұл периодтық екі еселену процесі r=3,56994 тең болғанға дейін жүреді.

Бифуркациялық диаграммалар. Диаграмма динамикалық айнымалының айнымалының  масштабының бөлінуінің көрнекі мысалы, масштабының скейлинг қасиеттерін көрсетеді, яғни көріністің бір элементі кішірек масштабта қайталана береді.

Логистикалық бейнелеудің бифуркациялық диаграммасын салынатын файлдың листингі

Function Logotbr(rb,rh,N);

X=r*x*(1-x) ---

rb=0.01;

rh=0.01;

N=500;

rk=rh*(N-1)+rb;

r=[rb:rh:rk];

x(1:N)=0.1;

for i=1:1000

x=(1-x).*x.*r;

end

for i=1:1000

plot(r,x,'k.');

hold on

x=(1-x).*x.*r;

end

plot(r,x,'k.');

xlim([2.7 4.1]);

xlabel('x');

ylabel('y');

title('logistikalyk beineleudin bifurkasialyk diagrammasy');




1. Лабораторная работа 7 ПОМЕХОУСТОЙЧИВОЕ КОДИРОВАНИЕ СИГНАЛОВ 1 ЦЕЛИ РАБОТЫ 1
2. Анархизм глазами Штирнера
3. Таймменеджмент- Планирование и контроль времени- ФАИРПРЕСС; Москва; 2004 ISBN ISBN 5818305406 Аннотация С это
4. на тему Аналитические показатели ряда динамики в изучении развития рынка Вариант ’ 11 Исполн
5. Современные образовательные технологии в сфере музыкального обучения и воспитания учащихся педагогических колледжей
6. Безналичный денежный оборот в Российской Федерации Принципы организации и формы
7. Применение лекарственных средств
8. президент дважды сидел в тюрьме за ограбление в юности
9. Контекстуальность как принцип анализа японской культуры.html
10. Тема- Добування вуглекислого газу
11. 1897 Народився Пантелеймон Олександрович Куліш 7 серпня 1819 року в містечку Вороніж колишнього Глухівськог
12. ВВЕДЕНИЕ5
13.  ЭТАПЫ РАЗВИТИЯ МЕНЕДЖМЕНТА [0
14. К оформлению танца относятся костюмы аксессуары и реквизит; грим и прически исполнителей; характер звучани
15. тема искусств Место пластических искусств в мировой художественной культуре
16. Реферат- Особенности восприятия и понимания человека человеко
17.  2013 р. НАВЧАЛЬНО МЕТОДИЧНІ МАТЕРІАЛИ ДО ВИВЧЕННЯ НАУКИ ldquo; Організація праці мене
18. Оценка безопасности труда работников на предприятии
19. і Розмовляємо рідною мовою
20. Тема Табличное решение логических задач 5 класс второй урок Цели урока- систематизировать и обо