Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Matlab中将以d为基数的非整数转换为以10为基数的数字_Matlab_Math_Base - Fatal编程技术网

在Matlab中将以d为基数的非整数转换为以10为基数的数字

在Matlab中将以d为基数的非整数转换为以10为基数的数字,matlab,math,base,Matlab,Math,Base,我在Matlab中有一个维度为nx1的列向量t,它报告基数d中数字a的逗号后的数字。我想把它转换成一个1x1双精度的形式,报告基数10中的数字a。我对案例d=2和d=3感兴趣 范例 %d=3 t=[0 2 0 2 2 0 0 2 0]'; %that is A=0.020220020 in base 3 %d=2 t=[0 1 1 1 0 0 0 1 0]'; %that is A=0.011100010 in base 2 这项工作如下: 将数字视为小数点左边的数字,从而在based中定义一

我在Matlab中有一个维度为nx1的列向量
t
,它报告基数
d
中数字a的逗号后的数字。我想把它转换成一个
1x1
双精度的形式,报告基数
10
中的数字a。我对案例
d=2
d=3
感兴趣

范例

%d=3
t=[0 2 0 2 2 0 0 2 0]'; %that is A=0.020220020 in base 3
%d=2
t=[0 1 1 1 0 0 0 1 0]'; %that is A=0.011100010 in base 2
这项工作如下:

  • 将数字视为小数点左边的数字,从而在base
    d
    中定义一个整数。这样,您就可以用于转换(请注意,此函数的输入必须是
    char
  • 除以
    d的适当幂
    ,考虑到输入数字实际上位于小数点的右侧
  • 例如,给定

    t = [0 2 0 2 2 0 0 2 0]';
    d = 3;
    
    结果是

    A =
       0.255448864502362
    

    谢谢,我不知道如何处理格式:我从t开始,它是一个double,我想得到一个double,base2dec代表整数,对吗?这里有一个非整数
    A =
       0.255448864502362