主要内容

把变量不同的数据类型

描述

例子

b =投(一个“喜欢”,p)转换一个相同的numerictype、复杂性(真实的或复杂),fimath作为p。如果一个p都是真实的呢b也是真实的。否则,b是复杂的。

例子

全部折叠

定义一个标量8位整数。

一个= int8 (5);

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

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

转换一个不动点与numerictype、复杂性(真实的或复杂),fimath指定的fi对象,p

b =投(a,“喜欢”,p)
b = 5 DataTypeMode:定点:二进制扩展Signedness:签了字:24 FractionLength: 12

定义一个2×3矩阵的。

A = 1 (2、3);

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

p = fi([], 16日8);

转换一个相同的数据类型和复杂性(真实的或复杂的)p

B =投(A,“喜欢”,p)
B = 1 1 1 1 1 1 DataTypeMode:定点:二进制扩展Signedness:签了字:16 FractionLength: 8

写一个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)结束

输入参数

全部折叠

变量指定为一个fi对象或数值变量。

复数的支持:是的金宝app

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

复数的支持:是的金宝app

提示

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

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

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

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

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

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

版本历史

介绍了R2013a