主要内容

创建所有的定点属性的数组

描述

例子

X = 1(“喜欢”,p)返回一个标量1用同样的numerictype、复杂性(真实的或复杂),fimath作为p

例子

X = (n“喜欢”,p)返回一个n——- - - - - -n一系列的p

例子

X = (sz1,…, szN“喜欢”,p)返回一个sz1——-…——-szN一系列的p

例子

X = (深圳“喜欢”,p)返回一个数组的p。向量的大小,深圳,定义了大小(X)

例子

全部折叠

创建一个2×3的指定numerictype和数组fimath属性。

创建一个签名fi对象的单词长度24和部分的长度12

p = fi([], 1, 24岁,12);

创建一个2×3——那些numerictype相同属性的数组p

X = (2、3、“喜欢”,p)
X = 1 1 1 1 1 1 DataTypeMode:定点:二进制扩展Signedness:签了字:24 FractionLength: 12

定义一个3×2数组一个

(1 = 4;2 5;3 6];深圳=大小(一个)
深圳=1×23 - 2

创建一个签名fi对象的单词长度24和部分的长度12

p = fi([], 1, 24岁,12);

创建一个数组的大小是一样的一个numerictype属性一样p

X = 1(深圳,“喜欢”,p)
X = 1 1 1 1 1 1 DataTypeMode:定点:二进制扩展Signedness:签了字:24 FractionLength: 12

创建一个4×4数组的指定numerictype和fimath属性。

创建一个签名fi对象的单词长度24和部分的长度12

p = fi([], 1, 24岁,12);

创建一个4×4的那些numerictype属性一样p

X = 1 (4“喜欢”,p)
X = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 DataTypeMode:定点:二进制扩展Signedness:签了字:24 FractionLength: 12

创建一个签名fi对象的字长16,分数15的长度OverflowAction设置为包装

格式p = fi([], 16日15日“OverflowAction”,“包装”);

创建一个2×2的相同的数组numerictype属性是p

X = 1 (2“喜欢”,p)
X = 0.999969482421875 0.999969482421875 0.999969482421875 0.999969482421875 DataTypeMode:定点:二进制扩展Signedness:签了字:16 FractionLength: 15 RoundingMethod:最近OverflowAction:包装ProductMode: FullPrecision SumMode: FullPrecision

1不能代表的数据类型p使饱和,所以价值。输出fi对象X有相同的numerictypefimath属性是p

创建一个标定点1这并不是真正的价值,而是复杂的像现有的数组。

定义一个复杂fi对象。

p = fi((1 + 2我3),1,24日12);

创建一个标量1这是复杂的像p

X = (“喜欢”,p)
X = 1.0000 + 0.0000 DataTypeMode:定点:二进制扩展Signedness:签了字:24 FractionLength: 12

写一个MATLAB®算法,您可以使用不同的数据类型不改变算法本身。重用算法,定义了数据类型分别从算法。

这种方法允许您定义一个基线通过运行该算法与浮点数据类型。然后您可以测试算法具有不同定点数据类型和比较定点行为基线不作任何修改原来的MATLAB代码。

写一个MATLAB函数,my_filter接受一个输入参数,T,这是一个结构,定义了数据类型的系数和输入和输出数据。

函数[y, z] = my_filter (b, a, x, z, T)%系数转换为系数的类型b =投(b,“喜欢”,T.coeffs);一个=投(,“喜欢”,T.coeffs);%使用0创建输出的数据类型y = 0(大小(x),“喜欢”,T.data);i = 1:长度b (x) y (i) = (1) * x(我)+ z (1);b z (1) = (2) * x(我)+ z (2) - (2) * y(我);z (2) = b (3) * x (i) - (3) * y(我);结束结束

写一个MATLAB函数,zeros_ones_cast_example,电话my_filter浮点阶跃输入和定点步骤输入,然后比较结果。

函数zeros_ones_cast_example%定义滤波器系数与规范% [b] =黄油(0.25 2,)b = (0.097631072937818 0.195262145875635 0.097631072937818);一个= (1.000000000000000 -0.942809041582063 0.333333333333333);%定义浮点类型T_float。多项式系数=双([]);T_float。data =双([]);%使用的创建一个阶跃输入%浮点数据类型t = 0:20;x_float = 1(大小(t),“喜欢”,T_float.data);%初始化状态用0%浮点数据类型z_float = 0 (1、2、“喜欢”,T_float.data);%的浮点算法y_float = my_filter (b, a x_float z_float, T_float);%定义定点类型T_fixed。多项式系数= fi(6)[],真的,8日;T_fixed。data = fi([],没错,6);%使用的创建一个阶跃输入%定点数据类型x_fixed = 1(大小(t),“喜欢”,T_fixed.data);%初始化状态用0%定点数据类型z_fixed = 0 (1、2、“喜欢”,T_fixed.data);%的定点算法y_fixed = my_filter (b, a x_fixed z_fixed, T_fixed);%比较结果coder.extrinsic (“clf”,“次要情节”,“阴谋”,“传奇”)clf次要情节(211)情节(t y_float“合作”t y_fixed“kx - - - - - -”)传说(“浮点输出”,“定点输出”)标题(的阶跃响应)次要情节(212)情节(t, y_float -双(y_fixed),“rs -”)传说(“错误”)图(gcf)结束

输入参数

全部折叠

方阵的大小,指定为一个整数值,将输出定义为一个正方形,n×n矩阵的。

  • 如果n是零,X是一个空矩阵。

  • 如果n是负的,它被视为零。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

每个维度的大小,指定为两个或两个以上的整型值,定义了X作为一个sz1-by……-by-szN数组。

  • 如果任何尺寸的大小为零,X是一个空数组。

  • 如果任何尺寸的大小是负的,它被视为零。

  • 如果任何后尺寸大于两个有一个的大小,输出,X,不包括那些维度。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输出的大小,指定为一个行向量的整数值。这个向量的每个元素表示相应尺寸的大小。

  • 如果任何尺寸的大小为零,X是一个空数组。

  • 如果任何尺寸的大小是负的,它被视为零。

  • 如果任何后尺寸大于两个有一个的大小,输出,X,不包括那些维度。

例子:深圳= (2、3、4)定义了X作为一个2-by-3-by-4数组。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

原型,指定为一个fi对象或数值变量。使用原型指定一个复杂的对象,您必须指定一个值为原型。否则,您不需要指定一个值。

如果该值1溢出的数值类型p,输出饱和烃无论指定OverflowAction附加的属性fimath。所有后续操作上执行的输出遵守规定fimath

复数的支持:是的金宝app

提示

使用b =投(“喜欢”,p)语法来指定数据类型分别从算法代码允许您:

  • 重用你的算法代码与不同的数据类型。

  • 保持你的算法与数据类型规范整洁和switch语句为不同的数据类型。

  • 改进算法代码的可读性。

  • 定点和浮点数据类型之间切换比较基线。

  • 定点设置之间切换变化不改变算法的代码。

介绍了R2013a