文档帮助中心
投变量不同的数据类型
B =流延(一, '喜欢',p)的
例
B =流延(一个,'喜欢',p)转换一个相同的numerictype,复杂性(实数或复数),和fimath如p。如果一个和p都是真实的,那么b也是真实的。除此以外,b是复杂的。
B =流延(一个,'喜欢',p)
一个
p
numerictype
fimath
b
全部收缩
定义一个标量的8位整数。
一个= INT8(5);
创建签名科幻用的字长对象24和的分数长度12。
科幻
24
12
P =科幻([],1,24,12);
兑换一个与固定点numerictype,复杂性(实数或复数),和fimath指定的科幻目的,p。
B =流延(一,'喜欢',p)的
B = 5 DataTypeMode:定点:二进制点缩放符号性:签字字长:24 FractionLength:12
定义那些的一个2×3矩阵。
A =酮(2,3);
创建签名科幻用的字长对象16和的分数长度8。
16
8
P =科幻([],1,16,8);
兑换一个到相同的数据类型和复杂性(实数或复数),为p。
B =流延(A,'喜欢',p)的
B =2×3对象1 1 1 1 1 1 DataTypeMode:定点:二进制点缩放符号性:签字字长:16 FractionLength:8
编写一个MATLAB®算法,可以在不改变算法本身具有不同的数据类型上运行。为了重复利用算法,从该算法分别定义的数据类型。
这种方法允许你通过运行带有浮点数据类型的算法来确定一个基准。然后,您可以测试不同的定点数据类型的算法和比较定点行为基线未做任何修改原始MATLAB代码。
编写一个MATLAB功能,my_filter,其采用输入参数,Ť,这是定义系数和输入和输出数据的数据类型的结构。
my_filter
Ť
功能[Y,Z] = my_filter(B,A,X,Z,T)%投射系数给系数类型B =流延(B,'喜欢',T.coeffs);一个铸造=(A,'喜欢',T.coeffs);%使用零与数据类型创建输出Y =零(大小(x)的'喜欢',T.data);对于I = 1:长度(X)Y(I)= B(1)* X(I)+ Z(1);Z(1)= B(2)* X(I)+ Z(2) - 一(2)* Y(I);Z(2)= B(3)* X(ⅰ) - 一(3)* Y(I);结束结束
编写一个MATLAB功能,zeros_ones_cast_example,即通话my_filter与浮点步骤输入和一个定点步骤输入,然后将结果进行比较。
zeros_ones_cast_example
功能zeros_ones_cast_example%定义系数与规格的过滤器%并[b,A] =黄油(2,0.25)B = [0.097631072937818 0.195262145875635 0.097631072937818];A = [1.000000000000000 -0.942809041582063 0.333333333333333];%定义的浮点类型T_float.coeffs =双([]);T_float.data =双([]);%创建步骤输入使用那些与%浮点数据类型T = 0:20;x_float =酮(尺寸(T),'喜欢',T_float.data);%初始化使用与零的状态%浮点数据类型z_float =零(1,2,'喜欢',T_float.data);%执行浮点算法y_float = my_filter(B,A,x_float,z_float,T_float);%定义定点类型T_fixed.coeffs =科幻([],真实,8,6);T_fixed.data =科幻([],真实,8,6);%创建步骤输入使用那些与%定点数据类型x_fixed =酮(尺寸(T),'喜欢',T_fixed.data);%初始化使用与零的状态%定点数据类型z_fixed =零(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)结束
变量,指定为科幻对象或数字变量。
复数支持:是万博1manbetx
原型,指定为科幻对象或数字变量。要使用原型来指定一个复杂的对象,必须指定为原型的值。否则,你并不需要指定的值。
使用B =流延(一, '喜欢',p)的语法从算法的代码分别指定数据类型,您可以:
重新使用不同的数据类型的算法的代码。
保持你的算法与数据类型规格和switch语句不同的数据类型整洁。
提高你的算法代码的可读性。
定点和浮点数据类型之间进行切换来比较的基线。
的固定点设置的变化之间进行切换,而不改变算法代码。
投|那些|零
投
那些
零
这个例子的修改版本的系统上存在。你要打开这个版本呢?
您单击对应于该MATLAB命令的链接:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。万博1manbetx
选择一个网站,以获得翻译的内容,其中可看到当地的活动和优惠。根据您的位置,我们建议您选择:。
您还可以选择从下面的列表中的网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。
请联系您当地的办事处
现在就试用