exponenta event banner

двоеточие,:

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

Синтаксис

Описание

пример

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 является масштабированным двойником.

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

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

См. также

|

Представлен в R2013b