在Matlab中将以d为基数的非整数转换为以10为基数的数字
我在Matlab中有一个维度为nx1的列向量在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中定义一
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
这项工作如下:
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