如何在MATLAB中将数字强制转换为[1,10]

Fly*_*ack 1 matlab

我有一些数字,例如:

1.1, 10, 2.2*1.0e+45, 2.2*1.0e-44

我不知道确切的下一个数字是什么,但我想删除数字的科学部分,即将每个数字的数量减少到半开区间[1,10].输出值必须如下:

1.1, 1, 2.2, 2.2

如何在MATLAB中实现这一目标?

And*_*uri 6

它很容易找到以前的十次幂并除以此.

num=123456789;

num/10^floor(log10(num));

ans=
>>1.23456789
Run Code Online (Sandbox Code Playgroud)

参考:舍入到10的幂