Аппараттық және бағдарламалық қамтамасыз етуді орнату

MatLab бойынша иллюстрацияланған оқу құралы. Сандық массивтер matlab массивін толтыру

ТАҚЫРЫП 5. МАТЕМАТИКАЛЫҚ МОДЕЛЬДЕРДІ БАҒДАРЛАМАЛЫҚ ҚҰРАМДЫҚ ЖАСАУ
Қазіргі математикалық модельдер күрделі және олар бойынша есептеулер жүргізу үшін компьютерді пайдалану қажет. Сондықтан алдыңғы тарауда келтірілген алгоритмдерді немесе есептеу әдістерін кейбір бағдарламалау тіліне аудару керек. Қазіргі уақытта ғылыми даму үшін FORTRAN, SI, PASCAL сияқты тілдер танымал. Бірақ пайдаланушылардың кең ауқымы үшін бұл тілдер күрделі болып саналады, сондықтан мамандарға түсінікті болды. пәндік аймақжүйелер EXCEL, MATLAB, MATHCAD, MAPLE және т.б. Біз қолданылатын MATLAB жүйесіне тоқталамыз зертханалық жұмысбұл оқу курсы.
^ 5.1 қысқаша сипаттамасы MATLAB
MATLAB жүйесі (MATrix LABoratory - MATRIX LABORATORY сөзінің қысқартылған нұсқасы) The MathWorks, Inc. (АҚШ, Нейтик, Массачусетс) және инженерлік және ғылыми есептеулерді орындауға арналған интерактивті жүйе, ол деректер массивтерімен жұмыс істеуге бағытталған, Fortran, C++ тілінде жазылған бағдарламаларға қол жеткізуге мүмкіндік береді. Жүйе векторлармен, матрицалармен және деректер массивтерімен операцияларды қолдайды, алгебралық көпмүшелермен жұмыс істеуді, дифференциалдық және айырымдық теңдеулерді шешуді қолдайды. сызықтық теңдеулержәне оңтайландыру мәселелері және т.б., сонымен қатар құрылыс әртүрлі түрлеріграфиктер, 3D беттері және деңгей сызықтары.

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

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

Бағдарламаны орындау үшін пәрмен терезесіне өтіп, ішке өтіңіз пәрмен жолы, экранда таңбалармен көрсетілген >> M-файлдың атын теріңіз.

Құрылған M-файлды өңдеу үшін пәрмен терезесінен бағдарлама мәтіні бар редактор терезесіне оралу керек.

^

MATLAB жүйесінде массивтерді қалыптастыру

MATLAB жүйесінде массивтер (матрицалар мен векторлар) негізгі объект болып табылады, олар үшін өлшемдерді нақты көрсету қажет емес. Сандық массив құру үшін ішінде сандар көрсетіледі шаршы жақшалар, сандар арасындағы бөлгіш бос орындар болып табылады. Таңба матрицалардың жолдарын бөлу үшін қолданылады ; . Мысал.

А = 3 жол мен 2 бағаннан тұратын матрица былай жазылады: A = .

Символ массивтерді қалыптастыру үшін қолданылады : . Мысал.

Векторды орнату МЕН, 0,1 қадамымен 0-ден 0,5-ке дейінгі сандардан тұратын: C = 0: 0,1: 0,5. Экранда келесі жол пайда болады:

С = 0 0,1 0,2 0,3 0,4 0,5

Егер қадам 1 болса, онда ол орнатылмаған, мысалы, 3, 4, 5, 6, 7 сандарынан тұратын В векторын орнату үшін мынаны жазуға болады: B = 3: 7. Содан кейін экран көрсетіледі. :

B = 3 4 5 6 7
Таңба : массивтің ішкі блоктарын бөлу үшін де қолданылады. Мысал. А матрицасын таңдаңыз = бірінші баған: A ( : , 1).
Массивтерді біріктіруге болады. Болсын x= 1, 2, 3, 4, және ж= 5, 6, 7, 8. Содан кейін біріктірілген массив құруға арналған бағдарлама фрагменті zмынадай болады:

x = 1:4;

ж = 5:8;

z = [x; ж]

экранда пайда болады: z =

Арифметикалық амалдар.Арифметикалық қосу операторлары қолданылады + , алу , көбейту * , бөлу / , дәрежеге шығару ^.

p1) . ′ элементтік транспозиция (жолдар күрделі үшін бағандармен ауыстырылады

матрицалардың күрделі конъюгациясы орындалмайды).

Мысалы, A =, содан кейін А болсын . ′ = .

p1) .^ Элементтік дәреже көрсеткіші, А . ^Б.

Мысалы, A =, содан кейін А болсын . ^2 =
.

p1) ′ - матрицаның транспозициясы. Күрделі матрицалар үшін транспозиция толықтырылады

күрделі конъюгация.

Мысалы, A =, содан кейін A′ = болсын
.

p1) ^ матрицаны дәрежеге шығару, A^p (тек шаршы матрицаларжәне p бүтін сандары үшін). Мысалы, матрицасы А = болсын
. Сонда A^2 =

б2) .* өлшемдері бірдей екі массивтің элементтік көбейтіндісі.
Мысалы, A = болсын
B=
, содан кейін А . *B =

Массивтің барлық элементтері скалярға көбейтіледі, мысалы, A = болсын. F =3*A есептеңіз. F = аламыз
.
б2) * матрицаны көбейту, A*B.

Мысалы, A = B = болсын. Сонда A * B =
.
б2) ./ массивтерді элементтік бөлу. Массивтердің өлшемі бірдей болуы керек немесе массив скалярға бөлінуі керек. Мысалы, A = болсын. Содан кейін Б ./ 3 = .
б3) + қосу және - скалярлар, векторлар және матрицалар үшін алу.

Мысалы, A = болсын
және B=
. Содан кейін А - B =
.

PS: p1 сияқты операциялар p2 алдында және p2 p3 алдында орындалады. Әрбір деңгейде басымдық бірдей, есептеулер солдан оңға қарай орындалады. Жақшаларды қажетті әрекеттер ретін көрсету үшін пайдалануға болады.

^

Кейбір ерекше кейіпкерлер

() - операциялардың реттілігін көрсету. Мысалдар:

а) массив орнату x 0-ден 3-ке дейін 0,1 қадаммен және баған түрінде көрсетіледі: x=(0: 0,5: 2)′

б) есептеу
: ж=(x+0.5)/2
- массивтерді қалыптастыру («MATLAB жүйесінде массивтерді қалыптастыру» тарауын қараңыз)
% - Пікірлер осы кейіпкерден басталады. Олар жеке жолдар түрінде болуы немесе кез келген пәрменнен кейін жүруі мүмкін.
; бұл таңба пайдаланылады: а) есептеу нәтижелерінің көрсетілуін басу үшін; б) матрицалардың қатарын бөлу үшін.
: - бұл символ векторларды қалыптастыру үшін, сонымен қатар массивтің жолдарын немесе бағандарын таңдау үшін қолданылады.
пи - π саны = 3,141592653897
анс - шығыс айнымалысы көрсетілмеген жағдайдағы операцияның нәтижесі (бұл жағдайда MATLAB айнымалыны пайдаланады. анс).
inf - бұл таңба ұяшықтардың бірінде («нақты» ∞) есептеу кезінде разрядтық тор толып кеткен кезде экранда пайда болады. Мысалы, нөлге бөлу операциясын орындау кезінде.
NaN - анықталмаған мәнді белгілейтін арнайы айнымалы, операциялардың нәтижесі: 0/0, inf/infжәне т.б.

^

Бастауыш математикалық функциялар

abs- абсолютті мән, мысалы, let x= [-2 4 –8,5], содан кейін abs( x) = .

күнә, кос, тоңжәне т.б. тригонометриялық функциялар, аргументтер (бұрыштар) радианмен берілген. Мысалы, т= cos( x);

Exp- көрсеткіштік функция ( e x), Мысалға: ж=exp( x);

журнал- натурал логарифм, мысалы: в=журнал( г);

журнал10- ондық логарифм, мысалы, z= log10( ж);

шаршы-шаршы түбір, мысалы: б= sqrt( а);
Кейбір графикалық мүмкіндіктер
сандар- экранда графикалық терезені ашу функциясы
xlabel, ylabel- х және у осьтерін атауға арналған функциялар
тақырып- тақырыпты графиктің үстіне қою функциясы
сюжет(x,y)- екі өлшемді тәуелділік графигін құру функциясы y = f(x)декарттық координаттарда (диаграммадағы маркер түрі, түсі және сызық түрі автоматты түрде таңдалады);
сюжет(x1, y1, LineSpec1, x2, y2, LineSpec2,...)- әр жолға маркер, түс және сызық түрін тағайындау арқылы графикалық терезеде бірнеше тәуелділікті құру функциясы.
полярлық(x,y)– тәуелділікті құру функциясы y = f(x)полярлық координаттарда.
тор торы(x, y)- функция жазықтықтағы тікбұрышты торды анықтайды ( x, ж) берілген векторлармен анықталатын екі өлшемді массивтер ретінде xжәне ж.

Мысалы: [ X,Y] = торлы тор(1:0,5:2,10:14). Нәтижесінде біз аламыз:

X = 1 1.5 2 Ы = 10 10 10

1 1.5 2 11 11 11

1 1.5 2 12 12 12

1 1.5 2 13 13 13

1 1.5 2 14 14 14
тор(x,y,z)- функция үш өлшемді торды шектеу бетін көрсетеді z = f(x, y).

серфинг(x,y,z)- функция тәуелділіктің тұтас тор бетін көрсетеді z = f(x, y).

^

Анықтамалық ақпарат пен құжаттамаға онлайн қол жеткізу


MATLAB жүйесінің функциялары туралы ақпарат алудың бірнеше жолы бар.

1 . Команда анықтама функциясы_атауы. Тікелей MATLAB пәрмен терезесінде теріледі. Мысалы: күнәға көмектесу.

2 . Мәзір КӨМЕКТЕСІҢДЕРпәрмен терезесі. Бұл мәзір толық мүмкіндік береді бастапқы ақпарат MATLAB жүйесі туралы анықтама пәрменіне қарағанда көбірек мәліметтер мен мысалдарды қамтиды. Пайдаланушы MATLAB жүйесіндегі толық құжаттаманы оқи алады (Мазмұн ішкі мәзірі) немесе алфавит бойынша барлық функциялардың тізімін аша алады (Индекс ішкі мәзірі) немесе аты бойынша (Іздеу ішкі мәзірі). Сондай-ақ санат бойынша функциялар тізімін ашуға болады (MATLAB функциялары санат бойынша тізімделген), санат бойынша мысалдар тізімін ашу (құжаттама мысалдарының индексі) және басқа мүмкіндіктер.
^

Мысалдар:

а) Сызықтық алгебра функцияларын табыңыз. Терезелер тізбегін ашыңыз:

HELP – MATLAB анықтамасы - Функциялар мен қасиеттерді табу - Санат бойынша тізімделген Matlab функциялары – Математика –- Сызықтық алгебра

б) Графиктік функцияларды табыңыз:

HELP - MATLAB Анықтама - Функциялар мен қасиеттерді табу - Категория бойынша тізімделген Matlab функциялары - Графика - Негізгі графиктер мен графиктер.
3 . MATLAB жүйесі туралы ақпаратты алудың тағы бір жолы MathWorks Web серверіне кіру болып табылады.

^

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

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

Мысал 1. көбейту векторы
векторға
.

Өздеріңіз білетіндей, векторларды көбейту кезінде бірінші вектор жол, ал екіншісі - баған векторы болуы керек және олардың өлшемдері бірдей болуы керек. Сондықтан шешім түрінде жазылады
а =

б =

в = а*б
Немесе
а =

б = ′

в = а*б
% Жауабы: бірге = 12.
PS: Жазып кетсеңіз б= , онда есептеу орындалмайды, өйткені бжол векторы ретінде түсіндіріледі.
Мысал 2. көбейту матрицасы
матрицаға
.

Бұл операцияны дұрыс орындау үшін А матрицасының жолдарындағы элементтер саны В матрицасының бағандарындағы элементтер санына тең болуы керек. Программа келесі түрде жазылады:
а = ;

б = ;

Экранда мыналар көрсетіледі:

Мысал 3. Сызықтық теңдеулер жүйесін шешу

Матрицалық пішінде бұл жүйе келесі пішінді алады: A*x = B, мұндағы:

Сонда шешім келесі түрде жазылады:
= % белгісіз үшін коэффициенттер матрицасын орнатамыз

Б= % орнатылған бос мүшелер векторы

X=A\B% жүйелік шешім (Жауабы: X 1 =5, X 2 = 3, x 3 = 2)
Таңба \ сызықтық теңдеулер жүйесін шешу үшін қолданылады AX=B.
4-мысал. Матрица үшін А(3-мысалды қараңыз) анықтауыш пен кері матрицаны табыңыз ( А-1) және өнімді санаңыз E=A А-бір . Шешімі:
А=

C = det(A) %det – функция берілген матрицаның анықтауышын есептейді

D = inv(A) %inv – функция берілген матрицаны кері есептейді

Жауап: C \u003d -6; E = 1,0000 0 0

0.0000 1.0000 0.0000

0.0000 -0.0000 1.0000

В математикалық модельдерсияқты өрнектердің мәндерін жиі бағалау қажет y = f(x)әртүрлі мәндерде xсодан кейін осы тәуелділіктерді ұсыныңыз графикалық пішін. MATLAB жүйесінде мұндай есептер қарапайым шешіледі. Төменде мысалдар келтірілген.
^

5-мысал. Аралықта X= мәндерді есептеу:

y=e xжәне z = 1 + x + x 2 /2 + х 3 /6 + x 4 /24

біркелкі 31 нүкте үшін. Тәуелділіктерді құру y = f(x)және z = f(x)бір графикте (декарттық координаттар). Құндылықтар x, y, zэкранда көрсетпеңіз.

Шешім келесі түрде жазылады:
x = (0: 0,1: 3)"; мәндерді орнатыңыз X 0,1 қадаммен 0-ден 3-ке дейінгі аралықта

y = Exp(x); векторлық мәндерді есептеңіз сағ

z = 1,0 + x + (x.^2)/2 + (x.^3)/6 - (x.^4)/24; векторлық мәндерді есептеңіз z

графикалық терезені ашыңыз

plot(x, y, "-g", x, z, "-k ") функцияның графигін салыңыз y = cos(x)

xlabel(" координата x ") осьтің атын береді x

ylabel(" coordinata y ') осіне атау беріңіз ж

title("y=exp(x)"); диаграммаға тақырып беріңіз
6-мысал. Аралықта X = мәндерін есептеу y=0,5лн (x+1)біркелкі 101 нүкте үшін. Тәуелділікті қалыптастыру y = f(x) полярлық координаттарда.
x= (0:pi/10:10*pi)';

ж = 0,5*журнал( x + 1);

полярлық( x, ж); функция графигін құру у= 0,5 миллион (x+1)
MATLAB құрастыруды жеңілдетеді 3D графикасы, яғни. типтік тәуелділіктер z = f(x, y)келесі мысалда көрсетілгендей.

7-мысал. Құрастыру беті
сағ X= -1-ден +1-ге дейін 0,2 және at қадамдарымен ж= -1-ден +1-ге дейін 0,2 қадаммен.

Мәселенің шешімі:
[x, ж]=meshgrid([-1:0,2:1]);

z=x.*exp(- x.^2 - ж.^2);

тор( x,y,z);

серфинг( x,y,z);

PS: Графикалық мүмкіндіктер жоғарыда «Кейбір графикалық мүмкіндіктер» бөлімінде сипатталған.

^ 5.3. Сызықты емес шешу алгебралық теңдеулержәне функцияларды жуықтау
MATLAB жүйесі белгілі бағдарламалау тілдеріне қарағанда сызықты емес (алгебралық теңдеулер) жүйелерін шешуді және кестелік функцияларды жуықтауды орындауды жеңілдетеді.

8-мысалтеңдеуді шеш
бастапқы жуықтаумен x 0 = 5 және итерацияларды экранда көрсету:

Мәселенің шешімі:
функция ex1

опциялар = optimset («Дисплей», «итер»);

fzero(@f, 5, опциялар)

y = f(x) функциясы

y = x.^3-2*x-5;
PS: Алғашқы 3 оператор негізгі бағдарлама, соңғы 2 оператор тәуелділік функциясы болып табылады
әртүрлі мәндерде X.

Төменде қысқаша сипаттамаларЕсепті шешуде қолданылатын MATLAB функциялары.
fzero (@функция атауы, x 0 , опциялар)– бір айнымалы функцияның нөлін іздеу. Шешім берілген нүктенің маңайында ізделеді x 0 функция таңбасын өзгертетін аралықты табу арқылы. Егер мұндай интервал табылмаса, қайтарады infнемесе NaN. Параметр опцияларэкранда аралық нәтижелерді (итерацияларды) көрсетуді және есептеу дәлдігін орната алады.
оптимизация(«Дисплей», «итер») — экранда итерацияларды көрсетуге арналған функция.
- қажетті шешімді және осы шешімге сәйкес функцияның мәнін шығарады.
Қолданылатын функциялар туралы қосымша ақпаратты HELP MATLAB бөлімінен қараңыз.
9-мысал. Теңдеулер жүйесін шешіңіз:

(5.1)

бастапқы болжамдармен x 0 = 2,5; ж 0 = 0,5 және итерацияларды экранда көрсету.

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

, (5.2)

оң жағында нөлдер болуы үшін. Содан кейін осы теңдеулердің қосындысының квадратынан тұратын функцияның минимумын іздейміз: . Квадраттардың қосындысы әрқашан оң сан болғандықтан, функцияның минимумы 0-ден кем болмауы керек және мәнге жетеді f= 0 мәндерді білдіреді xжәне жосы мәнге сәйкес жүйенің қажетті шешімдеріне жетеді (5.2).

Мәселенің шешімі:
функция ex2

опциялар = optimset («дисплей», «итер»);

Fminsearch (@eq1, , опциялар)

f = eq1(x) функциясы

f = (x(1).^2 + x(2).^2 - 9).^2 + (x(1) + sin(x(2)) - 3).^2
PS: (5.1) теңдеулердегі белгісіздер мен программалық айнымалылар арасында сәйкестік бар: x = x(1), ж = x(2).

Есепті шешуде қолданылатын MATLAB функциясы:
fminsearch (@функция атауы, [айнымалылардың бастапқы жуықтаулары ], опциялар)көптеген айнымалылар функциясының минималды мәнін іздеу функциясы болып табылады.
^ Функцияның жуықтауы

Кестелік берілген функцияны n-дәрежелі көпмүшемен жуықтау ең кіші квадраттар әдісімен орындалады (2.4-тармақты қараңыз).
10-мысал. Нүктелік берілген функцияның жуықтауын орындаңыз x= 0-ден 0,7-ге дейін 0,1 қадаммен, ж= 0,22 0,428 0,604 0,74 0,84 0,91 0,95 0,98 2-дәрежелі көпмүше. Нүктелік берілген функцияның және жуықтауыш көпмүшенің графиктерін тұрғызыңыз:
Мәселенің шешімі:
x=(0:0,1:0,7)" % массиві x 8 саннан тұрады

ж=" % массиві ж 8 саннан тұрады

p=полифит(x,y,2)

кесте =

сюжет(x,y,"k*",x,f,"-g")

xlabel("координат x")

ylabel («координат у»)

тақырып( "y(x), f(x) графикасы")
PS: массивтердегі сандар саны xжәне жбірдей болуы керек; кесте– 4 вектордан құрылған массивтің аты: x, y, fжәне ( ж-ф). Бұл массивте барлығы 8 4 = 32 сан бар. массив fсонымен қатар 8 саннан тұрады
полифит (x, у,полиномдық дәреже) - функция коэффициенттерді табады а менкөпмүшелік p(x)дәрежесі n, ол берілген функцияны жуықтайды y(x):
p(x) = a 1 x n + а 2 x n - 1 + … + a n x + a n+1
поливал(p, x) - көпмүшелік мәндерді есептеу функциясы бберілген нүктелерде x.

^ 5.4 Жай дифференциалдық теңдеулерді шешу және интегралдарды есептеу
MATLAB жүйесінде стандартты функцияларды пайдалана отырып, қарапайым дифференциалдық теңдеулер (Коши есебі) оңай шешіледі және анықталған интегралдар есептеледі.

11-мысал. Дифференциалдық теңдеуді стандартты ode45 функциясы арқылы шешіңіз:

(5.3)
аралықта x= 0-ден 30-ға дейін y(0)= 2 үшін а = 0,24.

(5.3) теңдеуді алдын ала теңдеулер жүйесі арқылы көрсетейік:

(5.4)

бастапқы мәндерде: ж 1 (0) = 0; ж 2 (5.3) оң жағынан тәуелсіз айнымалыны алып тастау үшін (0) = 2 x.
Мәселенің шешімі.
ex_eqdif функциясы

Ode45(@dif1,,);

dy=dif1(t,y) функциясы

% pravie chasti difderensial. теңдеу

dy(2)=cos(y(1))-sin(y(1))-alfa*y(2);
PS: dif1(t,y) функциясы (5.4) теңдеулердің дұрыс бөліктерін анықтайды. (5.4) теңдеулердегі белгісіздер мен программалық айнымалылар арасында сәйкестік бар: x = ж(1), ж = ж(2).
ode45 (@ функция атауы , [ интеграциялық интервал ], [ бастапқы шарттар ] ) - функциясы 4-ші ретті Рунге-Кутта әдісімен қарапайым қатаң емес дифференциалдық теңдеулерді шешу үшін қолданылады.
нөлдер(m,n)- функция нөлдік өлшемдер массивін құрайды
(қайда мтеңдеулер саны, n=1).
жаһандық– оператор жаһандық айнымалыларды жариялайды. Оң жақтағы alfa айнымалысының орнына санды ауыстырсаңыз, жаһандық айнымалыны енгізудің қажеті жоқ.
12-мысал. ode23 функциясы арқылы Лотка-Вольтерра теңдеулер жүйесін шешіңіз:

(5.5)
сағ X=0-ден 10-ға дейін және бастапқы шарттар: ж 1 (0) = 1; ж 2 (0) = 1. Параметрлер = 0,01 және = 0,02 жаһандық мәндер ретінде орнатылды. Сюжеттік функциялар ж 1 (x), у 2 (x)).
Мәселенің шешімі.
Lotka_Volterra функциясы

жаһандық альфа бета

альфа=0,01; бета=0,02;

Ode23(@lotka,,);

сюжет(t,y); % сызу ж 1 (t)және ж 2 (t)

функциясы dy=lotka(t,y)

жаһандық альфа бета

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

dy(2)=-y(2)+бета*у(1)*у(2);
PS: lotka(t,y) функциясы (5.5) теңдеулердің дұрыс бөліктерін анықтайды. (5.5) теңдеулердегі белгісіздер мен программалық айнымалылар арасында сәйкестік бар: ж 1 = ж(1), ж 2 = ж(2).
ode23 (@ функция атауы , [ интеграциялық интервал ], [ бастапқы шарттар ] ) - функция қарапайым қатаң емес дифференциалдық теңдеулерді Рунге-Кутта төменгі ретті әдісімен шешу үшін қолданылады.
^ Интегралдарды есептеу
13-мысал. Интегралды есептеңіз:

(5.6)
Симпсон әдісі бойынша ( стандартты функцияквад) және интервалда интегралды сызыңыз X= 0,1 қадаммен.

Мәселенің шешімі:
int1 функциясы

y=1./(x.^3-2*x-5);

сюжет(x,y); % сызу y(x)

Q = төрттік(@myfun,0,2)

y = myfun(x) функциясы

y = 1./(x.^3-2*x-5);
PS: Интеграл myfun(x) функциясында әртүрлі мәндер үшін есептеледі X
төрттік(@интеграл_функцияның_аты, a, b)- адаптивті Симпсон әдісі бойынша интегралдың сандық есебі, мұндағы: a және b интегралдау шегі.

14-мысал. Интегралды есептеңіз:

(5.7)
Симпсон әдісі бойынша (стандартты төрттік функция) бар ж= 10 o (градустарды радианға түрлендіру). Саны үшін жбағдарламада жаһандық айнымалыны пайдаланыңыз.
Мәселенің шешімі.
int2 функциясы

Q = төрттік(@myfun,0,pi/2);

y = myfun(x) функциясы

y=1./sqrt(1-(sin(teta)*sin(x)).^2);
PS: өлшемі жбағдарламада жаһандық айнымалыға сәйкес келеді тета. Интегралдың мәні Q айнымалысында алынады.

^

Бақылау сұрақтары

1. Скаляр, вектор, матрица дегеніміз не? Анықтамалар мен мысалдар келтіріңіз.
2. Векторлармен және матрицалармен қандай әрекеттерді орындауға болады? Мысалдар келтіріңіз.
3. MATLAB-та массивтер қалай құрылады: бір өлшемді және екі өлшемді? Мысалдар келтіріңіз.
4. Транспозицияланған вектор мен транспозицияланған матрицаны анықтаңыз. Олар MATLAB-та қалай құрылады? Мысалдар келтіріңіз.
5. Анықтауыш пен кері матрицаны анықтаңыз. Олар MATLAB жүйесінде қалай есептеледі? Мысалдар келтіріңіз.
6. Элементар функциялар және олардың MATLAB тілінде жазылуы. Мысалдар келтіріңіз.
7. Келесі қадамдарды қолмен (компьютердің көмегінсіз) орындаңыз:

Р векторын Y векторына көбейту;

G матрицасын Y векторына көбейту;

G матрицасын F матрицасына көбейту,


8. 7 сұрақта көрсетілген әрекеттерді орындау үшін MATLAB бағдарламасын жазыңыз.

9. Берілген матрица
. Матрицаның кері мәнін компьютердің көмегінсіз анықтаңыз - А -1 .

10. Компьютердің көмегінсіз матрицаның анықтауышын табыңыз
.

11. Сызықтық теңдеулер жүйесі берілген:
(1P)

немесе матрицалық түрде Cּ X= Б.

Матрицаның анықтауышының анықтамасымен MATLAB-та осы жүйені шешудің программасын жазыңыз МЕН.
12. MATLAB көмегімен матрицаны табыңыз, кері матрица МЕН(11 сұрақтан). Матрицаны қалай қолдануға болады МЕН-1 белгісіз x 1 , x 2 , x 3 , xЖүйеден 4 (1Р)?
13. MATLAB көмегімен теңдеулер жүйесін шешіңіз
(2P)

Жүйе (2Р) шешілмесе, ақаулық себебін табыңыз. Белгісіздер үшін коэффициенттер матрицасының анықтаушысын анықтаңыз.
14. 7-сұрақтың шарттарына MATLAB жүйесінде программа жазыңыз:

G матрицасының 1-ші жолын F матрицасының 2-бағанына көбейту;

F матрицасының 2-ші жолын G матрицасының 2-бағанына көбейту.
15. Тоқтау қашықтығына тәуелділік үшін MATLAB қолдану (m) жылдамдықтың функциясы ретінде В f(Ханым):

мұнда жылдамдық интервалда берілген В f= 10…40 (жылдамдық қадамы 2 м/с тең), тәуелділік графиктерін құру: S = f(V f ) және В f = φ(S).
16. Теңдеуді графикалық түрде (MATLAB көмегімен) шешіңіз:

(3P)

аралықта x= 0…10π 0,1π қадамымен. (3Р) теңдеуінің неше түбірі бар?
17. Декарттық координаттарда MATLAB көмегімен центрі нүктеде орналасқан шеңберді тұрғызыңыз x = 1, ж= 1 және радиусы 1-ге тең. Ось бойымен xқадамды таңдаңыз Δ x= 0,05.
18. MATLAB көмегімен тәуелділікті құрыңыз y = журнал(x + 1)интервалдағы декарттық координаттарда x= 0…4π қадамы 0,2π, сонымен қатар тәуелділік r = журнал(φ + 1)полярлық координаттарда бірдей интервалда және бірдей қадаммен φ .
19. Полярлық координаталардағы қадаммен бір диаграммада MATLAB қолдану
Тәуелділіктерді құру интервалында = 0,1 (3 бұрылысы бар спиральдар):
а) r = 0,4φ + 0,03φ 2 (4P)

б) тәуелділік (4Р), бірақ қарама-қарсы бағытта бұралған.
20. MATLAB көмегімен 3 өлшемді бетті құрастырыңыз:

облыста [ x, y] = [-1:0,1:1] [-2:0,1:2].
21. MATLAB көмегімен 3 өлшемді бетті құрастырыңыз:

облыста [ x, y] = .
22. Бағдарлама арқылы MATLAB қолдану фнөл
x 0 = 2 км; x f= 8 км.
27. Отын шығынының (жеңіл автомобиль үшін) жұмыс уақытына кестелік тәуелділігі келтірілген.

полифит, поливал) жуықтау тәуелділігін табыңыз G = f(t) 3-дәрежелі көпмүше және орташа жуықтау қатесін анықтаңыз.
28. Автомобиль құнының пайдалану уақытына кестелік тәуелділігі келтірілген.


т(жыл)

0

1

2

3

5

7

10

C ($)

11500

8700

7200

6000

5500

5000

4600

MATLAB бумасын пайдалану (функциялар полифит, поливал) жуықтау тәуелділіктерін табыңыз C = f(t) 2-ші және 3-ші дәрежелі көпмүшелерді және максималды жуықтау қателерін салыстыру.
29. MATLAB қолдану (функция ode45

(5р)
аралықта x= 0…2 бастапқы шарттарда: x 0 = 0, ж 0 = 1. Алдын ала (5Р) теңдеу 2 дифференциалдық теңдеу жүйесіне түрлендірілді.
30. MATLAB қолдану (функция ode23) жай дифференциалдық теңдеуді шешіңіз:

(6р)
аралықта x= 0…5 бастапқы шарттарда: x 0 = 0, ж 0 = 2. Алдын ала (6Р) теңдеу 2 дифференциалдық теңдеу жүйесіне түрлендірілді.
31. MATLAB қолдану (функция ode45

аралықта т= 0…8π бастапқы шарттарда: т =0; x 0 = 1; ж 0 = 1.
32. MATLAB қолдану (функция ode45) жай дифференциалдық теңдеулер жүйесін шешу:

аралықта = 0,3…4 бастапқы шарттарда: = 0,3; x 0 = 1; ж 0 = 0.
33. MATLAB қолдану (функция ode23) жай дифференциалдық теңдеуді шешіңіз:

(7р)

аралықта т= 0…3с бастапқы шарттарда: т = 0, r 0 = 0,
және ω = 2π (рад/с). Алдын ала (7Р) теңдеуі бірінші ретті дифференциалдық теңдеулер жүйесіне түрлендіріледі.

Техникалық есептеулер тілі

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

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

Жұмыстың басталуы

MATLAB негіздерін үйреніңіз

Тіл негіздері

Синтаксис, массивтерді индекстеу және өңдеу, мәліметтер типтері, операторлар

Деректерді импорттау және талдау

Деректерді импорттау және экспорттау, соның ішінде үлкен файлдар; деректерді алдын ала өңдеу, визуализация және зерттеу

Математика

Сызықтық алгебра, дифференциалдау және интегралдау, Фурье түрлендірулері және басқа да математика

Графика

2D және 3D графикасы, суреттер, анимация

Бағдарламалау

Сценарийлер, функциялар және класстар

Қолданбаны құру

көмегімен қолданбаларды әзірлеу ҚолданбаДизайнер, бағдарламаланатын жұмыс процесі немесе НҰСҚАУ

Бағдарламалық қамтамасыз етуді әзірлеу құралдары

Түзету және тестілеу, ірі жобаларды ұйымдастыру, нұсқаларды басқару жүйесімен біріктіру, құралдар қорапшасын орау

№13 сабақ.

Көпөлшемді массивтер

    Көпөлшемді массивтер туралы түсінік

    Көпөлшемді массивтерде «:» операторын пайдалану

    қол жеткізу жеке элементкөпөлшемді массив

    Көпөлшемді массивтегі өлшемді жою

    Тұрақтылар мен толтырылған беттерді құру кездейсоқ сандар

    Массивтер одағы

    Массив өлшемдерінің санын есептеу және өлшемдердің өлшемін анықтау

    Жиым өлшемдерінің ауыстырулары

    Массивтердің өлшемдерін ауыстыру

    Бірлік өлшемдерін жою

Бұл сабақта біз көп өлшемді массивтерді қамтитын күрделірек деректер түрлеріне қатысты мәселелерді қозғаймыз.

Көпөлшемді массивтер туралы түсінік

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

Біздің әдебиетімізде массивтердің «өлшемі» және «өлшемі» ұғымдары дерлік синоним болып табылады. Дегенмен, олардың осы кітапта, сондай-ақ MATLAB құжаттамасында және әдебиетінде анық әртүрлі мағыналары бар. астында өлшеммассивтер массивтердің кеңістіктік көрсетіліміндегі өлшемдер саны ретінде түсініледі және астында өлшемі -алаптың әрбір өлшеміндегі жолдар мен бағандар саны (mxn).

Көпөлшемді массивтерде «:» операторын пайдалану

Массивтер әдетте көрсетілген кезде («;» нүктелі үтір белгісін пайдалану арқылы), массивтің жолдарының (жолдарының) саны «:» таңбаларының санынан 1-ге артық, бірақ жиым екі өлшемді болып қалады. «:» операторы (қос нүкте) массивтердің өлшемін үлкейту операцияларын орындауды жеңілдетеді. Жаңа бетті қосу арқылы үш өлшемді массив құруға мысал келтірейік. Өлшемі 3х3 болатын бастапқы екі өлшемді M массивін алайық:

» M=

M =

1 2 3

4 5 6

7 8 9

Өлшемі бірдей жаңа бет қосу үшін M әрпін келесідей кеңейтуге болады:

» M(:.:.2)=

M(:.:.l) =

1 2 3

4 5 6

7 8 9

M(:.:.2) =

10 11 12

13 14 15

16 17 18

Енді M массиві нақты көрсетілген кезде нені қамтитынын көрейік:

» М

M(:,:.1)=

1 2 3

4 5 6

7 8 9

M(:.:.2) =

10 11 12

13 14 15

16 17 18

Көріп отырғаныңыздай, M(:.:, 1) және M(:,:,2) өрнектеріндегі сандар бет нөмірін білдіреді.

Көпөлшемді массивтің жалғыз элементіне қатынасу

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

» М(2.2,1)

ans=

» MS2.2.2)

ans=

Осылайша, көп өлшемді массивтерде бір өлшемді және екі өлшемді массивтердегідей индекстеу ережесі қолданылады. Мысалы, үш өлшемді массивтің ерікті элементі M(1.j.k) түрінде берілген, мұнда 1 - жол нөмірі, j - баған нөмірі және k - бет нөмірі. Бұл элементті көрсетуге болады немесе оған берілген x мәнін тағайындауға болады: M(1,j,k)=x.

Көпөлшемді массивтегі өлшемді жою

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

» M(:.:.1)=

M =

10 11 12

13 14 15

16 17 18

Бұл массивте тек екінші бет қалғанын және массив өлшемі 1-ге азайғанын көру оңай - ол екі өлшемді болды.

Тұрақты және кездейсоқ сандармен толтырылған беттерді құру

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

»M(:.:..2)=1

M(:.:,1) =

10 11 12

13 14 15

16 17 18

M(:.:.2) =

1 1 1

1 1 1

1 1 1

Енді массивтің бірінші бетін нөл элементтері бар бетке ауыстырайық:

»M(:.:.1)=0

M(:.:.1)=

0 0 0

0 0 0

0 0 0

M(:.:,2) =

1 1 1

1 1 1

1 1 1

Бірліктер, нөлдер, ранд және ранд функцияларын пайдалану

Көпөлшемді массивтерді жасау үшін ones (жалғыз элементтері бар массивтер құру), нөлдер (нөл элементтері бар массивтер жасау) және rand немесе randn (тиісінше біркелкі және қалыпты таралған кездейсоқ сандары бар массивтерді жасау) функцияларын пайдалануға болады. Төменде мысалдар келтірілген:

»E=бір(3.3.2)

E(:.:.1)=

1 1 1

1 1 1

1 1 1

E(:.:,2) =

1 1 1

1 1 1

1 1 1

» Z=нөлдер(2,2,3) Z(:,:.l) =

Z(:.:.2) =

Z(:.:,3) =

» R=randn(3,2.2) R(:.:.l) =

1.6656-1.1465

0.1253 1.1909

0.2877 1.1892

R(:.:,2) =

0.0376-0.1867

0.3273 0.7258

0.1746 -0.5883

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

» A=randn(3,3,3,0)

A =

Бос массив: 3-3-тен 3-тен 0-ге дейін

Қарағандай бұл мысал, бос массив сәйкес түсініктемемен қайтарылады.

Массивтер одағы

Көп өлшемді массивтерді жасау үшін матрицалар үшін бұрын сипатталғандарды пайдаланыңыз арнайы функциябіріктірілген мысық:

    cat(DIM,A,B) - DIM өлшемі бойынша екі A және B массивтерін біріктіру нәтижесін береді;

    cat(2.A.B) - жолдар біріктірілген [А.В] массивін қайтарады (көлденең конкатенация);

    cat(1, A.B) - бағандар біріктірілген [A:B] массивін қайтарады (тік конкатенация);

    B=cat(DIM.Al,A2,...) - DIM өлшемі бойынша Al, A2,... кіріс массивтерінің жиынын біріктіреді.

cat(DIM,C(:)) және cat(DIM.C.FIELD) функциялары тиісінше ұяшық массиві ұяшықтарының (15-ші сабақты қараңыз) немесе сандық матрицалары бар құрылымдық массив құрылымдарының (14-сабақты қараңыз) біріктіруін (біріктіруін) қамтамасыз етеді. бір матрицаға айналдырады. Төменде мысық функциясын пайдалану мысалдары берілген:

» М1=

» М2=

M2 =

» catd.Ml.M2)

ans=

5 B

» мысық(2.Мл.М2)

ans=

1 2 5 6

3 4 7 8

» M-cat(3.Ml.M2) M(:,:.l) =

M(:,:,2) =

Өлшемдермен жұмыс

Массив өлшемдерінің санын есептеу

ndims(A) функциясы A массивінің өлшемін қайтарады (егер ол екіден үлкен немесе оған тең болса). Бірақ егер кіріс аргументі Java массиві немесе Java массивтерінің массиві болса, онда массивтің өлшеміне қарамастан, бұл функция 2 мәнін қайтарады. Келесі мысал ndims функциясын пайдалануды көрсетеді:

» M=rand(2:3:4:5):

» ndims(M)

ans=

4
Жиым өлшемінің өлшемін есептеу

Өлшем функциясы әрбір жиым өлшемінің өлшемін есептеу үшін пайдаланылады:

    M = size(A.DIM) DIM скалярымен 2 өлшемді жол векторы ретінде көрсетілген өлшемнің өлшемін қайтарады. Екі өлшемді немесе бір өлшемді A массиві үшін size(Al) жолдар санын қайтарады және өлшемі(A, 2) бағандар саны;

N-өлшемді массивтер үшін, n>2 size(A) үшін A алаптың пейджингін көрсететін N-өлшемді жол векторын қайтарады, бұл вектордың соңғы құрамдас бөлігі N болып табылады. Вектор бірлік өлшемдері туралы деректерді қамтымайды (мұнда жол векторы немесе баған векторы, яғни өлшемі(A,DIM)==l). Ерекшелік - ең жоғары деңгейлі массивтің өлшемін қайтаратын N-өлшемді Java массивтері.

Жалпы, кіріс аргументі өлшемі javaarray болғанда, қайтарылған бағандар саны әрқашан 1 болады, ал жолдар (жолдар) саны javarray өлшеміне (ұзындығына) тең болады.

    Si ze(A) A массивінің бірінші N өлшемдерінің өлшемін қайтарады;

    D = өлшемі (A), mxn матрицасы үшін A екі элементті жол векторын қайтарады, оның бірінші компоненті m жолдар саны, ал екінші компонент n бағандар саны;

    Size(A) әртүрлі шығыстардағы (MATLAB терминологиясындағы шығыстар) жолдар мен бағандардың санын қайтарады.

Жиым өлшемдерінің ауыстырулары

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

    Орналастыру (A, ORDER) – А массивінің өлшемдерін ORDER ауыстыру векторымен анықталатын ретпен қайта реттейді. ORDER векторы 1-ден бастап барлық бүтін сандардың мүмкін ауыстыруларының бірі болып табылады N,қайда N- A массивінің өлшемі;

    ipermuteCA, ORDER) - ауыстыруға кері: пермута(A. ORDER), ORDER)=A

Төменде осы функциялардың және өлшем функциясының мысалдары берілген:

» A=:

» B=;

» С=;

» D=мысық(3.A,B.C)

D(:,:,l) =

9 10

11 12

» өлшемі(D)

ans=

2 2 3

» өлшемі(пермут(D.))

ans=

3 2 2

»өлшемі(ipermute(D.))

ans=

2 2 3

» ipermute(пермут(D,),)

ans(:. :,2) =

ans(:.:,3) =

9 10

11 12

Массивтердің өлшемдерін ауыстыру

Өлшемді ауыстыру shiftdim функциясы арқылы жүзеге асырылады:

    B=shiftdim(X,N) - X массивіндегі өлшемдерді N-ге жылжыту. Егер M>0 болса, онда оң жақта орналасқан өлшемдердің ығысуы солға орындалады, ал сол жақтағы бірінші N өлшемдер бүктеледі. массивтің соңына дейін, яғни өлшемдер сағат тіліне қарсы бағытта қозғалады. Егер М<0, сдвиг выполняется вправо, причем N первых размерностей, сдвинутых вправо, замещаются единичными размерностями;

    Shiftdim(X) X массивіндегі элементтер саны бірдей, бірақ бастапқы бірлік өлшемдері жойылған B массивін қайтарады. NSHIFTS шығысы жойылған өлшемдердің санын көрсетеді. Егер X скаляр болса, функция X , V , NSHIFTS өзгермейді.

Келесі мысал shiftdim функциясының қолданылуын көрсетеді:

» A=randn(1.2.3,4):

»=shiftdim(A)

B(:.:.l) =

2.1707-1.01060.5077

0.05920.6145 1.6924

B(:.:,2) =

0.5913 0.3803 -0.0195

0.6436-1.0091-0.0482

B(:.:.3) =

0.0000 1.0950 0.4282

0.3179-1.87400.8956

B(:.:,4) =

0.7310 0.0403 0.5689

0.5779 0.6771 -0.2556

Бірлік өлшемдерін жою

squeeze(A) функциясы барлық бірлік өлшемдері жойылған массивді қайтарады. Бірлік өлшемі өлшемі(A. dim) == 1 болатын өлшем. Бірақ егер

A - бір өлшемді немесе екі өлшемді массив (матрица немесе вектор), онда функция бірдей A массивін қайтарады. Келесі мысал қысу қалай жұмыс істейтінін түсіндіреді:

» A=randn(1.2.1.3.1):

» B=қысу(A)

0.6145 1.6924 -0.6436

0.5077 0.5913 0.3803

А бес өлшемді массив өлшемі 2х3 болатын 2 өлшемді массивке айналатынын ескеріңіз.

Біз нені жаңа білдік?

Бұл сабақта біз үйрендік:

    Көпөлшемді массивтерді құру.

    Көпөлшемді массивтерде «:» операторын пайдаланыңыз.

    Көпөлшемді массивтердің жеке элементтеріне қол жеткізіңіз.

    Көпөлшемді массивтен өлшемдерді алып тастаңыз.

    Тұрақтылар мен кездейсоқ сандармен толтырылған массивтерді жасаңыз.

    Массивтерді біріктіруді орындаңыз.

    Жиым өлшемдерінің санын есептеңіз және әрбір өлшемнің өлшемін анықтаңыз.

    Көпөлшемді массивтердегі жалғыз өлшемдерді қайта реттеу, жылжыту және жою.

Массив өлшемдерінің санын есептеу

Функция ndims(A) A массивінің өлшемін қайтарады (егер ол екіден үлкен немесе оған тең болса). Бірақ егер кіріс аргументі Java массиві немесе Java массивтерінің массиві болса, онда бұл функция массив өлшеміне қарамастан 2 мәнін қайтарады.Келесі мысал функцияның қолданылуын көрсетеді. ndims:

> > M = ранд(2: 3: 4: 5):

>> ndims(M)

ans=

Жиым өлшемінің өлшемін есептеу

Жиымның әрбір өлшемінің өлшемін есептеу үшін функцияны пайдаланыңыз өлшемі:

  • M = өлшем(A.DIM) 2 өлшемді жол векторы ретінде DIM скалярымен көрсетілген өлшем өлшемін қайтарады. Екі өлшемді немесе бір өлшемді A массиві үшін size(Al) жолдар санын және өлшем(A, 2) санды қайтарады бағандар;

N-өлшемді массивтер үшін, n>2 size(A) үшін A алаптың пейджингін көрсететін N-өлшемді жол векторын қайтарады, бұл вектордың соңғы құрамдас бөлігі N болып табылады. Вектор бірлік өлшемдері туралы деректерді қамтымайды (мұнда жол векторы немесе баған векторы, яғни өлшемі(A,DIM)==l). Ерекшелік - ең жоғары деңгейлі массивтің өлшемін қайтаратын N-өлшемді Java массивтері.

Жалпы, кіріс аргументі өлшемі javaarray болғанда, қайтарылған бағандар саны әрқашан 1 болады, ал жолдар (жолдар) саны javarray өлшеміне (ұзындығына) тең болады.

  • = өлшем(A) A массивінің бірінші N өлшемдерінің өлшемін қайтарады;
  • D = өлшем (A), mxn матрицасы үшін A екі элементті жол векторын қайтарады, оның бірінші компоненті m жолдар саны, ал екінші компонент n бағандарының саны;
  • = өлшем(A)әртүрлі шығыстардағы (MATLAB терминологиясындағы шығыстар) жолдар мен бағандардың санын қайтарады.

Жиым өлшемдерінің ауыстырулары

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

  • ауыстыру (A, ORDER)- А массивінің өлшемдерін ORDER ауыстыру векторымен анықталатын ретпен қайта реттейді. ORDER векторы - 1-ден N-ге дейінгі барлық бүтін сандардың мүмкін болатын ауыстыруларының бірі, мұндағы N - А массивінің өлшемі;
  • ipermute(A, ORDER)- ауыстырудың кері әрекеті: пермута(пермут(A. ORDER), ORDER)=A

Төменде осы функцияларды және функцияларды пайдалану мысалдары берілген өлшемі:

> > A = [ 1 2: 3 4 ]:

> > B = [5 6; 7 8 ];

> > C = [9 10; 11 12];

> > D = мысық(3.А,Б.С.)

D(:,:, 1) =

1 2

3 4

9 10

11 12

> > өлшемі(D)

ans=

2 2 3

> > өлшем(пермут(D.[ 3 2 1 ]))

ans=

3 2 2

> > өлшем(ipermute(D.[ 2 1 3 ]))

Техникалық есептеулер тілі

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

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

Жұмыстың басталуы

MATLAB негіздерін үйреніңіз

Тіл негіздері

Синтаксис, массивтерді индекстеу және өңдеу, мәліметтер типтері, операторлар

Деректерді импорттау және талдау

Деректерді, соның ішінде үлкен файлдарды импорттау және экспорттау; деректерді алдын ала өңдеу, визуализация және зерттеу

Математика

Сызықтық алгебра, дифференциалдау және интегралдау, Фурье түрлендірулері және басқа да математика

Графика

2D және 3D графикасы, суреттер, анимация

Бағдарламалау

Сценарийлер, функциялар және класстар

Қолданбаны құру

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

Бағдарламалық қамтамасыз етуді әзірлеу құралдары

Түзету және тестілеу, ірі жобаларды ұйымдастыру, нұсқаларды басқару жүйесімен біріктіру, құралдар қорапшасын орау

Мақала ұнады ма? Достарыңызбен бөлісіңіз!
Бұл мақала пайдалы болды ма?
Иә
Жоқ
Пікіріңізге рахмет!
Бірдеңе дұрыс болмады және сіздің дауысыңыз есептелмеді.
Рақмет сізге. Сіздің хабарламаңыз жіберілді
Мәтіннен қате таптыңыз ба?
Оны таңдаңыз, басыңыз Ctrl+Enterжәне біз оны түзетеміз!