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 возвращает пустую матрицу wheni == 0, i > 0 and 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 масштабированное дважды.

  • fimath из y совпадает с fimath из входных операндов.

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

Смотрите также

|

Введенный в R2013b