colon, :

Создайте векторы, индексирование массива

Синтаксис

Описание

пример

y = j:k возвращает регулярно разнесенный вектор, [j, j + 1,..., k]. j:k пуст, когда j > k.

По крайней мере, один из операндов двоеточия должен быть fi объект. Все операнды двоеточия должны иметь целочисленные значения. Все операнды с фиксированной точкой должны быть масштабированы с двоичной точкой. Масштабирование смещения наклона не поддерживается. Если какая-либо из операндов комплексная, colon функция генерирует предупреждение и использует только вещественную часть операндов.

y = colon(j,k) то же, что и y = j:k.

пример

y = j:i:k возвращает регулярно разнесенный вектор, [j,j+i,j+2i, ...,j+m*i], где m = fix((k-j)/i). y = j:i:k возвращает пустую матрицу, когда i == 0, i > 0 и j > k, или i < 0 и j < k.

Примеры

свернуть все

Когда вы используете fi как оператор двоеточия, все операнды двоеточия должны иметь целочисленные значения.

a = fi(1,0,3,0);	
b = fi(2,0,8,0);	
c = fi(12,0,8,0);	
x = a:b:c
x=1×6 object
     1     3     5     7     9    11

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 8
        FractionLength: 0

Поскольку все входные операнды не подписаны, x не подписан, а размер слова равен 8. Длина дроби получившегося вектора всегда 0.

a= fi(int8(-1));
b = uint8(255);
c = a:b;
len = c.WordLength
len = 9
signedness = c.Signedness
signedness = 
'Signed'

Область размера слова c требуется дополнительный бит для обработки пересечения областей значений значений int8 и uint8. Тип данных c подписан, потому что операнд a подписан.

Если начальный и конечный операнды не подписаны, операнд шага может быть отрицательным.

x = fi(4,false):-1:1
x=1×4 object
     4     3     2     1

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 16
        FractionLength: 0

Если любой из операндов является с плавающей точкой, выход имеет тот же размер слова и сигнальность, что и fi операнд

x = fi(1):10
x=1×10 object
     1     2     3     4     5     6     7     8     9    10

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 0

x = fi(1):10 эквивалентно fi(1:10, true, 16, 0) так x подписан, а размер слова равен 16 битам.

Если ваш код использует нецелочисленные операнды, перепишите выражение двоеточия так, чтобы операнды были целыми числами.

Следующий код не работает, потому что операнды двоеточия не являются целочисленными значениями.

Fs = fi(100);
n = 1000;
t  = (0:1/Fs:(n/Fs - 1/Fs));

Перепишите выражение двоеточия, чтобы использовать целочисленные операнды.

Fs = fi(100);
n = 1000;
t  = (0:(n-1))/Fs;

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

    y = fi(1,true,8,0):256

MATLAB генерирует ошибку, поскольку 256 находится вне области значений fi(1,true, 8,0). Это поведение соответствует поведению встроенных целых чисел. Для примера, y = int8(1):256 генерирует ту же ошибку.

Входные параметры

свернуть все

Начальный операнд, заданный как действительное скалярное целое число fi объект или встроенный числовой тип.

Если вы задаете некалярные массивы, MATLAB интерпретирует j:i:k как j(1):i(1):k(1).

Типы данных: fi | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Шаг, заданный как действительное скалярное целое число fi объект или встроенный числовой тип. Даже если начальный и конечный операнды, j и k, являются ли оба беззнаковыми, инкрементным операндом i может быть отрицательным.

Типы данных: fi | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Конечный операнд, заданный как действительное скалярное целое число fi объект или встроенный числовой тип.

Типы данных: fi | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

свернуть все

Fixed-Point Designer™ определяет тип данных y использование следующих правил:

  • Тип данных охватывает объединение областей значений фиксированных точек входных операндов.

  • Если либо начальный, либо конечный операнд подписан, полученный тип данных подписывается. В противном случае получившийся тип данных не подписан.

  • Область размера слова y является наименьшим значением, таким что длина дроби равна 0, а значение в реальном мире наименее значимого бита равняется 1.

  • Если любой из операндов является с плавающей точкой, размер слова и сигнальность y определяется из fi операнд.

  • Если какая-либо из операндов является масштабированной двойкой, y является масштабированным двойником.

  • The fimath от y является тем же самым, что и fimath из входа операндов.

  • Если все fi объекты имеют тип данных double, тип данных y является double. Если все fi объекты имеют тип данных single, тип данных y является single. Если есть оба double и single входы и никакие входы с фиксированной точкой, тип выходных данных single.

См. также

|

Введенный в R2013b