计算斜率和偏置 -凯发k8网页登录

main content

计算斜率和偏置

斜率偏置定标概述

使用斜率偏置定标时,您必须指定数字的斜率和偏置。斜率偏置定标数的真实值可以表示为:

real-world value=(slope×integer) bias

slope=slope adjustment factor×2fixed exponent

计算斜率和偏置

从所需的端点、符号性和字长开始。

lower_bound = 999;
upper_bound = 1000;
is_signed = true;
word_length = 16;

要查找具有指定字长和符号性的 fi 对象的范围,请使用 函数。

[q_min, q_max] = range(fi([], is_signed, word_length, 0));

要查找斜率和偏置,请求解方程组:

lower_bound = slope * q_min bias

upper_bound = slope * q_max bias

以矩阵形式重写这些方程。

[lower_boundupper_bound]=[q_min1q_max1]×[slopebias]

求解斜率和偏置。

a = double ([q_min, 1; q_max, 1]);
b = double ([lower_bound; upper_bound]);
x = a\b;
format long g

要查找斜率或精度,请调用斜率偏置向量 x 的第一个元素。

slope = x(1)
slope =
      1.52590218966964e-05

要查找偏置,请调用向量 x 的第二个元素。

bias = x(2)
bias =
          999.500007629511

创建一个具有斜率偏置定标的 numerictype 对象。

t = numerictype(is_signed, word_length, slope, bias)
t =
          datatypemode: fixed-point: slope and bias scaling
            signedness: signed
            wordlength: 16
                 slope: 1.5259021896696368e-5
                  bias: 999.500007629511

创建一个 numerictypetfi 对象。

a = fi(999.255, t)
a = 
          999.254993514916
          datatypemode: fixed-point: slope and bias scaling
            signedness: signed
            wordlength: 16
                 slope: 1.5259021896696368e-5
                  bias: 999.500007629511

通过查找 a 的范围,验证您创建的 fi 对象是否具有正确的设定。

range(a)
ans = 
         999        1000
          datatypemode: fixed-point: slope and bias scaling
            signedness: signed
            wordlength: 16
                 slope: 1.5259021896696368e-5
                  bias: 999.500007629511
网站地图