文档帮助中心文档
创建所有的定点属性的数组
X = 1(‘喜欢’,p)
X = 1 (n,“喜欢”,p)
X = 1 (szN sz1…,“喜欢”,p)
X = 1(深圳,“喜欢”,p)
例子
X = 1(“喜欢”,p)返回一个标量1用同样的numerictype、复杂性(真实的或复杂),fimath作为p。
X = 1(“喜欢”,p)
p
1
numerictype
fimath
X = (n“喜欢”,p)返回一个n——- - - - - -n一系列的p。
X = (n“喜欢”,p)
n
X = (sz1,…, szN“喜欢”,p)返回一个sz1——-…——-szN一系列的p。
X = (sz1,…, szN“喜欢”,p)
sz1,…, szN
sz1
szN
X = (深圳“喜欢”,p)返回一个数组的p。向量的大小,深圳,定义了大小(X)。
X = (深圳“喜欢”,p)
深圳
大小(X)
全部折叠
创建一个2×3的指定numerictype和数组fimath属性。
创建一个签名fi对象的单词长度24和部分的长度12。
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
创建一个数组的大小是一样的一个numerictype属性一样p。
创建一个4×4数组的指定numerictype和fimath属性。
创建一个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设置为包装。
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有相同的numerictype和fimath属性是p。
X
创建一个标定点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,这是一个结构,定义了数据类型的系数和输入和输出数据。
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
函数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
双
单
int8
int16
int32
int64
uint8
uint16
uint32
uint64
每个维度的大小,指定为两个或两个以上的整型值,定义了X作为一个sz1-by……-by-szN数组。
如果任何尺寸的大小为零,X是一个空数组。
如果任何尺寸的大小是负的,它被视为零。
如果任何后尺寸大于两个有一个的大小,输出,X,不包括那些维度。
输出的大小,指定为一个行向量的整数值。这个向量的每个元素表示相应尺寸的大小。
例子:深圳= (2、3、4)定义了X作为一个2-by-3-by-4数组。
深圳= (2、3、4)
原型,指定为一个fi对象或数值变量。使用原型指定一个复杂的对象,您必须指定一个值为原型。否则,您不需要指定一个值。
如果该值1溢出的数值类型p,输出饱和烃无论指定OverflowAction附加的属性fimath。所有后续操作上执行的输出遵守规定fimath。
复数的支持:是的金宝app
使用b =投(“喜欢”,p)语法来指定数据类型分别从算法代码允许您:
b =投(“喜欢”,p)
重用你的算法代码与不同的数据类型。
保持你的算法与数据类型规范整洁和switch语句为不同的数据类型。
改进算法代码的可读性。
定点和浮点数据类型之间切换比较基线。
定点设置之间切换变化不改变算法的代码。
0|投|的
0
投
的
你有一个修改版的这个例子。你想打开这个例子与编辑?
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室
得到审判现在