Одновимірні масиви MATLAB. Числові масиви Створення масиву матлаб

Головна / Корисна інформація

Вище було розглянуто операції із простими змінними. Однак за допомогою їх складно описувати складні дані, такі як випадковий сигнал, що надходить на вхід фільтра або зберігати кадр зображення і т.п. Тому в мовах високого рівня передбачена можливість зберігати значення як масивів. У MatLab цю роль виконують вектори та матриці.

Нижче показаний приклад завдання вектора з ім'ям a і містить значення 1, 2, 3, 4:

a =; % вектор-рядок

Для доступу до того чи іншого елемента вектора використовується така конструкція мови:

disp(a(1)); % відображення значення 1-го елемента вектора
disp(a(2)); % відображення значення 2-го елемента вектора
disp(a(3)); % відображення значення 3-го елемента вектора
disp(a(4)); % відображення значення 4-го елемента вектора

тобто. потрібно вказати ім'я вектора та у круглих дужках написати номер індексу елемента, з яким передбачається працювати. Наприклад, для зміни значення 2-го елемента масиву на 10 достатньо записати

a(2) = 10; % зміна значення 2-го елемента на 10

Нерідко виникає необхідність визначення загальної кількості елементів у векторі, тобто. визначення його розміру. Це можна зробити, скориставшись функцією length() таким чином:

N = length (a); % (N=4) кількість елементів масиву а

Якщо потрібно встановити вектор-стовпець, то це можна зробити так

a =; % вектор-стовпець

b = '; % вектор-стовпець

при цьому доступ до елементів векторів здійснюється також як і векторів-рядків.

Слід зазначити, що вектори можна складати не тільки з окремих чисел або змінних, але і векторів. Наприклад, наступний фрагмент програми показує, як можна створювати один вектор на основі іншого:

a =; % Початковий вектор a =
b =; % другий вектор b =

Тут вектор b складається із шести елементів і створений на основі вектора а. Використовуючи цей прийом, можна здійснювати збільшення розміру векторів у процесі роботи програми:

a =; % збільшення вектора але в один елемент

Недоліком описаного способу завдання (ініціалізації) векторів є складність визначення векторів великих розмірів, що складаються, наприклад, 100 або 1000 елементів. Щоб вирішити це завдання, в MatLab існують функції ініціалізації векторів нулями, одиницями або випадковими значеннями:

a1 = zeros (1, 100); % вектор-рядок, 100 елементів з
% нульовими значеннями
a2 = zeros (100, 1); % вектор-стовпець, 100 елементів з
% нульовими значеннями
a3 = ones (1, 1000); % вектор рядок, 1000 елементів з
% одиничними значеннями
a4 = ones (1000, 1); % вектор стовпець, 1000 елементів з
% одиничними значеннями
a5 = rand (1000, 1); % вектор-стовпець, 1000 елементів з
% випадковими значеннями

Матриці MatLab задаються аналогічно векторам з тією лише різницею, що вказуються обидві розмірності. Наведемо приклад ініціалізації одиничної матриці розміром 3х3:

E =; % одинична матриця 3х3

E =; % одинична матриця 3х3

Аналогічно можна задавати будь-які інші матриці, а також використовувати наведені вище функції zeros(), ones() і rand(), наприклад:

A1 = zeros (10,10); % нульова матриця 10х10 елементів

A2 = zeros (10); % нульова матриця 10х10 елементів
A3 = ones (5); % матриця 5х5, що складається з одиниць
A4 = rand (100); % матриця 100х100, із випадкових чисел

Для доступу до елементів матриці застосовується такий самий синтаксис як і для векторів, але із зазначенням рядка та стовпця де знаходиться необхідний елемент:

A =; % матриця 3х3
disp(A(2,1)); % виведення на екран елемента, що стоїть у
% другий рядок першого стовпця, тобто. 4
disp(A(1,2)); % виведення на екран елемента, що стоїть у
% першому рядку другого стовпця, тобто. 2

Також можливі операції виділення зазначеної частини матриці, наприклад:

B1 = A(:,1); % B1 = – виділення першого стовпця
B2 = A(2,:); % B2 = – виділення першого рядка
B3 = A(1:2,2:3); % B3 = - Виділення перших двох
% рядків та 2-го та 3-го стовпців матриці А.

Розмірність будь-якої матриці або вектора в MatLab можна визначити за допомогою функції size(), яка повертає число рядків і стовпців змінної, зазначеної як аргумент:

a = 5; % змінна а
A =; % вектор-рядок
B =; % матриця 2х3
size(a) % 1х1
size(A) % 1х3
size(B) % 2х3

Обчислення числа розмірностей масиву

Функція ndims(A)повертає розмірність масиву А (якщо вона більша або дорівнює двом). Але якщо вхідний аргумент - масив Java або масив масивів Java, незалежно від розмірності масиву ця функція поверне 2. Наступний приклад ілюструє застосування функції ndims:

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

> > ndims(M)

Ans =

Обчислення розміру розмірності масиву

Для обчислення розміру кожної розмірності масиву використовується функція size:

  • М = size(A.DIM)повертає розмір розмірності, зазначеної скаляром DIM, у вигляді вектора-рядка розміром 2. Для двовимірного або одновимірного масиву Size(A.l) повертає число рядів, a size (А, 2) - число стовпців;

Для N-вимірних масивів А при n>2 size(A) повертає N-вимірний вектор-рядок, що відображає сторінкову організацію масиву, остання складова цього вектора дорівнює N. У векторі відсутні дані про одиничні розмірності (тих, де розташовані вектор-рядок або вектор-стовпець, тобто size (A, DIM) = = l). Виняток становлять N-мірні масиви Java масивів javaarray, які повертають розмір масиву найвищого рівня.

Взагалі, коли вхідним аргументом size є javaarray, то число стовпців, що повертається, завжди 1, а число рядів (рядків) дорівнює розміру (довжині) javarray.

  • = size(A)повертає розмір перших N розмірностей масиву А;
  • D = size (А)для mxn матриці А повертає двоелементний вектор-рядок, в якому перша складова - число рядків т, а друга складова - число стовпців n;
  • = size(A)повертає число рядів та стовпців у різних вихідних параметрах (вихідних аргументах у термінології MATLAB) тип.

Перестановки розмірів масивів

Якщо уявити багатовимірний масив як сторінок, їх перестановка є перестановкою розмірностей масиву. Для двовимірного масиву перестановка часто означає транспонування- Заміну рядків стовпцями і навпаки. Наступні функціїузагальнюють транспонування матриць для випадку багатовимірних масивів та забезпечують перестановку розмірностей багатовимірних масивів:

  • permute (A, ORDER)- Переставляє розмірності масиву А в порядку, що визначається вектором перестановок ORDER. Вектор ORDER - одне з можливих перестановок всіх цілих чисел від 1 до N, де N - розмірність масиву А;
  • ipermute(A, ORDER)- Операція, зворотна permute: permute(permute(A. ORDER), ORDER) = A

Нижче наведено приклади застосування цих функцій та функції size:

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

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

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

> > D = cat(3 .A,B.C)

D(:,:, 1) =

1 2

3 4

9 10

11 12

> > size(D)

Ans =

2 2 3

> > size(permute(D.[ 3 2 1 ]))

Ans =

3 2 2

> > size(ipermute(D.[ 2 1 3 ]))

Застосування масивів дозволяє звертатися до кількох осередків пам'яті, використовуючи одне ім'я. Розглянемо, як у системі MATLAB формуються та описуються одно-, дво- та багатовимірні масиви та покажемо, як здійснювати обчислення з масивами.

Одновимірні масиви. Часто буває необхідно зберігати в пам'яті комп'ютера великий набір даних, що мають характеристики, наприклад, як безліч оцінок, отриманих учнями на заліку. Створюючи масив, замість того, щоб давати кожному осередку пам'яті, що використовується для зберігання одного елемента даних, окреме ім'я, всієї послідовності осередків дається одне ім'я. Конкретний елемент даних визначається за його розташуванням у послідовності. Для формування такого масиву використовують операцію конкатенації, що позначається квадратними дужками. Наприклад, операція

формує масив чисел, який на екрані відобразиться так:

Числові масиви є елементами типу double. Як елементи масиву можуть використовуватися будь-які змінні типу double, тобто. речові чи комплексні числа, і навіть змінні, які є масивами. Для доступу до конкретного елемента або компоненту масиву потрібна додаткова інформація. Така інформація надається індексним виразом масиву. Для звернення до будь-якого елементу масиву використовується операція індексації, яка позначається круглими дужками:

Якщо потрібно, наприклад, надати другому елементу масиву нове значення, то до нього треба застосувати одночасно операції індексації та присвоєння.

Тепер масив a матиме такий вигляд:

Виконавши функцію length (ім'я), можна дізнатися, з скількох елементів складається масив з вказаним ім'ям. Наприклад:

>> length(a)

Надавши неіснуючому четвертому елементу, значення типу double, отримаємо масив, що збільшився на один елемент:

Якщо ж визначити значення типу double, наприклад, восьмому елементу, то всі елементи з номерами в діапазоні від 4 до 8 будуть мати значення нуль.

>> a

a = 2 93 6 1 0 0 0 5

Розглянемо інший спосіб створення масивів за допомогою функцій ones та zeros, які одразу створюють масив потрібного розміру, Заповнений, відповідно, одиницями (ones) або нулями (zeros). Наприклад, для створення масиву а можна спочатку викликати функцію ones:

>> a=ones(1,3)

а потім за допомогою операцій індексації та присвоєння поступово створювати масив:

>> a(2)=93;

Зрештою, останній спосібстворення одновимірних мас заснований на застосуванні операції ":". Ця операція застосовується у тому випадку, коли необхідно створити масив чисел, що змінюються із заданим крокам у міру збільшення індексу. Наприклад, необхідно створити масив чисел в інтервалі від 3 до 17 з кроком 0,7. Вираз матиме такий вигляд:

>> b=3:0.7:17

b = Columns 1 через 7

3.0000 3.7000 4.4000 5.1000 5.8000 6.5000 7.2000

Columns 8 через 14

7.9000 8.6000 9.3000 10.0000 10.7000 11.4000 12.1000

Columns 15 through 21

12.8000 13.5000 14.2000 14.9000 15.6000 16.3000 17.0000

Двовимірні масиви.Масиви такого типу подібні до одномірних, за винятком того, що їх елементи визначаються не одним індексом, а двома. У математиці подібні масиви називають матрицями, які з рядків і стовпців. Будь-який рядок (або стовпець) у матриці є одновимірним масивом, який прийнято називати вектор - рядком або вектор - стовпцем відповідно. Формування матриці здійснюється операцією конкатенації, що позначається квадратними дужками. Нижче показано, як формується двомірний масив за допомогою операції вертикальноюконкатенації. При цьому елементи кожного наступного рядка масиву відокремлюються від попередньої точки з комою, в той час як елементи того ж рядка розділяються комами або пробілами:

>> c=

Цю ж матрицю можна сформувати горизонтальною конкатенацією векторів - стовпців;

>> c=[,]

Елементи матриці можна також задавати за допомогою функції cat, аргументи якої полягають у круглі дужки. Для вертикальної конкатенації її перший аргумент дорівнює 1:

>> c=cat(1,,,)

а для горизонтальної - дорівнює 2:

>> c=cat(2,,)

Розмір створеного масиву можна дізнатися за допомогою функції size:

Результатом цієї функції є пара чисел, причому перше з них - кількість рядків, а друга кількість стовпців. Нижче наведено приклад застосування функції size до змінної, що складається з одного числа:

Звідси видно, що у системі MATLAB всі змінні типу double представляються як двомірних масивів, саме: вектори - як двомірних масивів, розмір яких у одному з напрямів дорівнює одиниці; матриці - як двомірних масивів розміру m x n; скаляри - як двомірних масивів розміром 1x1.

Існує також порожніймасив, що позначається квадратними дужками, між якими: нічого немає. Такий масив сприймається як матриця розміром 0x0. Зазвичай порожній масив використовують для того, щоб видаляти рядки або стовпчики матриць. Наприклад:

>> A=

A = 1 2 3 4 5 6 7 8 9

>> A(3,:)=

Інформацію про всі створені масиви в поточному робочому просторі можна отримати, виконавши команду whos, наприклад:

Name Size Bytes Class

A 2x3 48 double array

a 1x4 32 double array

ans 1x2 16 double array

b 1x21 168 double array

c 3x2 48 double array

d 1x1 8 double array

У системі MATLAB існує операція транспонування, яка позначається знаком "" (апостроф). Нижче наведено приклад транспонування заданої матриці А:

>> A=

A =1 2 34 5 67 8 9

ans =1 4 7 2 5 8 3 6 9

В результаті застосування операції транспонування до вектора - рядку виходить вектор-стовпець, і навпаки. У наведеному нижче прикладі ці дії наочно проілюстровані:

>> a=

Багатовимірні числові масиви. Багатовимірними називаються масиви з розмірністю більше двох. Для виклику елемента такого масиву потрібні три або більше індексів, що вказують розташування необхідного елемента кількох напрямках.

Формування багатовимірних масивів здійснюється аналогічно роботі з одно- та двовимірними масивами за допомогою функцій ones, zeros або cat.Таким чином, спочатку формується масив нулів або одиниць заданого розміру, потім за допомогою операцій індексації та привласнення можна отримати потрібний числовий масив.

Наступний приклад наочно ілюструє використання цих функцій створення багатовимірного числового масиву.

Малюнок - Схематичне зображеннятривимірного масиву

Нехай у місті протягом десяти років щомісяця щодня вимірюється денна температура, і всі результати за рік заносяться у прямокутну таблицю. Тоді після десяти років вийде десять двомірних таблиць. Для того, щоб упорядкувати всі ці дані, зручно розташувати таблиці в одному напрямку та пронумерувати їх. Таким чином, вийшов тривимірний масив Т1.

Для формування в системі MATLAB необхідно спочатку виконати функцію ones або zeros:

>> T1=ones(M,N,L)

де М,N,L - розміри тривимірного масиву за трьома напрямками.

У даному прикладіМ = 12 (кількість місяців на рік), N = 31 ( максимальна кількістьднів на місяці), L=10 (кількість років, протягом яких виробляються: виміри). Тобто. функція буде мати вигляд:

>> T1 = ones (12,31,10)

>> T1 = zeros (12,31,10);

Потім за допомогою операцій індексації та присвоєння можна задати значення кожного елемента

>> T1(1,1,1)=-5;T1(2,1,1)=-20;...T1(12,31,10)=-9;

Слід зазначити, що з допомогою функцій ones і zeros можна формувати лише одно-, двух- і тривимірні масиви.

Нехай у тривимірному масиві Т2 зібрані дані такого самого типу, що й у Т1, але іншого міста. Після об'єднання даних обох масивів в одне ціле можна отримати чотиривимірний масив Т. Для створення слід використовувати другий спосіб виконання операції конкатенації - за допомогою функції cat:

T = cat (4, T1, T2)

де число 4 – номер напряму, вздовж якого здійснюється конкатенація.

Для конкатенації вздовж п'ятого напрямку (вимірювання), наприклад, якщо зібрані дані по містах із різних країн, треба спочатку створити чотиривимірний масив C (для міст з іншої країни), а потім об'єднати його з масивом Т:

Така операція можлива, якщо розмірності масивів Т і Збігаються. В іншому випадку програма видасть на екран повідомлення про помилку. Створений масив A можна змінювати за допомогою функцій, наведених нижче.

reshape (X, m, n) - формує матрицю розміру m x n з елементів об'єкта X. Приклад.

>> X=

X = 1 2 3 4 5 6 7 8 9 10 11 12

>> B=reshape(X,3,4)

B = 1 10 8 6 4 2 11 9 7 5 3 122

rref(X) – наводить матрицю X до трикутної форми методом Гаусса. приклад.

>> X=;

>> R = ref (X)

R = 1 0 -1 0 1 2 0 0 0 0 0 0

Операція двокрапка

У попередньому розділі ця операція використовувалася для створення масиву із заданим кроком:

<НЗМ>:<Шаг>:<КЗМ>

де<НЗМ>- Початкове значення масиву;<КЗМ>- Кінцеве значення масиву.

За такого завдання масивів діють такі правила:

Якщо крок не заданий, він приймається рівним 1 чи -1, відповідно до зазначеними правилами. Наприклад:

>> 1:7

ans = 1 2 3 4 5 6 7

>> 11:-3:2

ans = 11 8 5 2

Вирази з оператором «;» можуть також використовуватися як аргументи функцій для отримання безлічі значень цих функцій. Наприклад, у наведеному нижче прикладі обчислені функції Бесселя порядку від 0 до 3 значення аргументу х=0.5.

>> B = bessel (0:3, x)

0.9385 0.2423 0.0306 0.0026

У цьому прикладі показано, як створити матрицю розміром 2x3, використовуючи оператор «;».

>> A=

Цей оператор можна також використовувати для індексації елементів наявного масиву, наприклад:

Таким чином, операція «;» є дуже зручним засобом завдання послідовності чисел і індексації масивів.

Масиви є основними об'єктами у системі MATLAB : у версіях 4.х допускаються тількиодновимірні масиви- вектори - та двовимірні масиви - матриці; у версії 5.0 можливе використання багатовимірних масивів – тензорів. Нижче описано функції формування масивів і матриць, операції над матрицями, спеціальні матриці в рамках системи MATLAB версій 4.х.

Формування масивів спеціального виду

  • ZEROS - формування масиву нулів
  • ONES - формування масиву одиниць
  • EYE - формування одиничної матриці
  • RAND - формування масиву елементів, розподілених за рівномірним законом
  • RANDN - формування масиву елементів, розподілених за нормальним законом
  • CROSS - векторний витвір
  • KRON - формування тензорного твору
  • LINSPACE - формування лінійного масиву рівновіддалених вузлів
  • LOGSPACE - формування вузлів логарифмічної сітки
  • MESHGRID - формування вузлів двовимірної та тривимірної сіток
  • : - формування векторів та підматриц

Операції над матрицями

  • DIAG - формування або вилучення діагоналей матриці
  • TRIL - формування нижньотрикутної матриці (масиву)
  • TRIU - формування верхньотрикутної матриці (масиву)
  • FLIPLR - Поворот матриці щодо вертикальної осі
  • FLIPUD - Поворот матриці щодо горизонтальної осі
  • ROT90 - Поворот матриці на 90 градусів
  • RESHAPE - Перетворення розмірів матриці

Спеціальні матриці

  • COMPAN - Супровідна матриця характеристичного багаточлена
  • HADAMARD - матриця Адамара (Hadamard matrix)
  • HANKEL - матриця Ганкеля (Hankel matrix)
  • HILB, INVHILB - матриця Гільберта (Hilbert matrix)
  • MAGIC - магічний квадрат
  • PASCAL - матриця Паскаля (Pascal matrix)
  • ROSSER - матриця Рессера (Rosser matrix)
  • TOEPLITZ - матриця Теплиця (Toeplitz matrix)
  • VANDER - матриця Вандермонда (Vandermonde matrix)
  • WILKINSON - матриця Вілкінсона (Wilkinson matrix)

CONV, DECONV

Згортка одновимірних масивів

Синтаксис:

Z = conv (x, y)
= deconv(z, x)

Опис:

Якщо задані одновимірні масивиx і y довжини відповідно m = length(x) і n = length(y), то згортка z - це одновимірний масив довжини m + n -1, k-й елементякого визначається за формулою

Функція z = conv(x, y) обчислює згортку z двох одновимірних масивів x та y.

Розглядаючи ці масиви як вибірки з двох сигналів, можна сформулювати теорему згортки у такій формі:
Якщо X = fft() і Y = fft() - узгоджені за розмірами перетворення Фур'є сигналів x і y, справедливе співвідношення conv(x, y) = ifft(X.*Y).

Інакше висловлюючись, згортка двох сигналів еквівалентна множенню перетворень Фур'є цих сигналів.

Функція = deconv(z, x) виконує операцію, обернену до операції згортки. Ця операція рівнозначна визначенню імпульсної характеристики фільтра. Якщо справедливе співвідношення z = conv (x, y), q = y, r = 0.

Супутні функції: Signal Processing Toolbox.

1. Signal Processing Toolbox Users Guide. Natick: The MathWorks, Inc., 1993.

Встановлення шаблону матриць та векторів (Matrix...)

Операція Matrix... (Матриці) забезпечує завдання векторів або матриць Як відомо, матриця є заданим своїм ім'ям об'єктом у вигляді масиву даних MathCAD використовує одновимірні масививектори і двовимірні власне матриці

Матриця характеризується числом рядків (Rows) та числом стовпців (Columns). Таким чином, кількість елементів матриці або її розмірність дорівнюють Rows x Columns Елементами матриць можуть бути числа, константи, змінні і навіть математичні вирази.

Якщо використовувати операцію Matrix..., то в поточному вікні з'явиться не велике віконце, що дозволяє задати розмірність вектора або матриці (див рис 515 праворуч). Insert (Вставити) у віконці, можна вивести шаблон матриці або вектора (вектор має один із параметрів розмірності, що дорівнює 1)

Шаблон містить дужки, що обрамляють, і темні маленькі прямокутники, що позначають місця введення значень (числових або символьних) для елементів вектора або матриці. Один із прямокутників можна зробити активним (відзначивши його курсором миші). При цьому він полягає у куточку. Це вказує на те, що в нього вводитимуться значення відповідного елемента. За допомогою кнопок переміщення курсора можна по горизонталі пробігтися по всіх прямокутниках і ввести всі елементи вектора або матриці.


Рис. 5. 15 Виведення шаблонів вектора та матриці та їх заповнення

Поки введення елементів векторів або матриць, порожні шаблони відображаються без будь-яких коментарів. Однак, якщо закінчити введення до повного заповнення шаблонів, система виведе повідомлення про помилку - незаповнений шаблон набуде червоного кольору. Висновок неіснуючої матриці або помилкова вказівка ​​її індексів також відображається червоним кольором.

Якщо використовувати операцію Insert (Увімкнення) при вже виведеному шаблоні матриці, матриця розширюється і її розмір збільшується. Кнопка Delete (Стирання) дозволяє усунути розширення матриці, викресливши з неї рядок або стовпець.

Кожен елемент матриці характеризується індексованою змінною, і його положення в матриці позначається двома індексами: один вказує номер рядка, інший номер стовпця. Для набору індексованої змінної спочатку потрібно ввести ім'я змінної, а потім перейти до набору індексів, натиснувши клавішу, що вводить символ]. Перш за вказується індекс рядка, а потім через кому індекс стовпця. Приклади виведення індексованих змінних (елементів матриці М) також наведено на рис. 5. 14.

Вироджена в один рядок або один стовпець матриця є вектором. Його елементи індексовані змінні з одним індексом. Нижня межа індексів визначається значенням системної змінної ORIGIN. Зазвичай, її значення задають рівним 0 або 1.

Елементи того самого класу часто можуть бути об'єднані в масиви (з кількома рідкісними винятками, наприклад, за допомогою функцій). Числові скаляри, за умовчанням класу double можуть зберігатися в матриці.

>> A = A = 1.0e+04 * 0.0001 -0.0002 0.0003 0.0001 1.5625 0.0003 Inf Inf NaN -Inf

Символи, які мають клас char у MATLAB, також можуть зберігатись у масиві з використанням аналогічного синтаксису. Такий масив схожий рядок у багатьох інших мовах програмування.

>> s = ["MATLAB", "is", "fun"] s = MATLAB is fun

Зверніть увагу, що, незважаючи на те, що обидва вони використовують дужки [і], класи результатів відрізняються. Тому операції, які можуть бути зроблені на них, також є різними.

>> whos Name Size Bytes Class Attributes A 2x5 80 double s 1x13 26 char

Насправді масив s не є масивом рядків "MATLAB", "is" і "fun", це лише один рядок - масив з 13 символів. Ви отримаєте ті ж результати, якби вони були визначені одним із таких:

>> s = ["MAT", "LAB", "is f", "u", "n"]; >> s = ["M","A","T","L","A","B," ","i","s"," ","f","u", "n"];

Звичайний вектор MATLAB не дозволяє зберігати поєднання різних класів змінних або кілька різних рядків. Тут масив cell знадобиться. Це масив осередків, кожен з яких може містити деякий об'єкт MATLAB, клас якого може бути різним у кожному осередку, якщо це необхідно. Використовуйте фігурні дужки ( та ) навколо елементів для зберігання у масиві осередків.

>> C = (A; s) C = "MATLAB is fun" >> whos C Name Size Bytes Class Attributes C 2x1 330 cell

Стандартні об'єкти MATLAB будь-яких класів можуть зберігатися разом у масиві осередків. Зверніть увагу, що масиви осередків вимагають більше пам'яті для зберігання вмісту.

Доступ до вмісту осередку здійснюється за допомогою фігурних дужок (і).

>> C(1) ans = 1.0e+04 * 0.0001 -0.0002 0.0003 0.0001 1.5625 0.0003 Inf Inf NaN -Inf

Зауважимо, що C(1) відрізняється від C(1). Зважаючи на те, що останній повертає вміст осередку (і має приклад з double прикладом), перший повертає масив осередків, який є підматрицею C Точно так само, якщо D було масивом з 10 на 5 осередків, тоді D(4:8,1: 3) поверне підматрицю D, розмір якої дорівнює 5 на 3, а клас - cell. І синтаксис C(1:2) не має одного повернутий об'єкт, але rater він повертає 2 різних об'єкта (аналогічно функції MATLAB з кількома значеннями, що повертаються):

>> = C(1:2) x = 1 -2 3.14 0.8 15625 3.14159265358979 Inf Inf NaN -Inf y = MATLAB is fun

© 2022 androidas.ru - Все про Android