двоеточие

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

Синтаксис

y = j:k
y = j:i:k

Описание

пример

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     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 = 
     4     3     2     1

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

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

x = fi(1):10
x = 
     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