Matlab 字符串加倍 (str2double)
Matlab string to double (str2double)
我正在尝试构建一个使用 Matlab 处理经济数据的金融应用程序。我要加载的文件位于 csv 文件中,并且是格式为“1222.3”的双数。到目前为止,我只使用一维,并且能够将数据加载到向量中。
问题是数据以字符串格式加载到向量中。要将所有矢量更改为双精度格式,我使用 str2double(vector),但矢量中的数字结尾如下:
1222.3 -> 1.222
153.4 -> 0.1534
我试过将向量乘以每 100 (vector.*100),但没有成功。
有什么想法吗?
如果您的矢量分量足够大,MATLAB 将以指数格式打印数字。
>> a = 1234.56
a =
1.2346e+03
这些数字也在工作区浏览器中以科学记数法显示:
您可以使用例如,以十进制形式打印数字fprintf
:
>> fprintf('%5.3f\n',a)
1234.560
>>
作为旁注,1.222 * 100 ≠ 1222 ...
Matlab自动从数值向量中提取一些公因子,这让我自己也困惑了很多次。给出公因数的线很容易错过,特别是对于大向量,因为它显示在顶部。
如果我用你给的两个数字定义一个向量,Matlab 会按以下方式显示给我:
如 1.0e+03 *
.
行所示,它得出了 1000 倍的系数
我正在尝试构建一个使用 Matlab 处理经济数据的金融应用程序。我要加载的文件位于 csv 文件中,并且是格式为“1222.3”的双数。到目前为止,我只使用一维,并且能够将数据加载到向量中。
问题是数据以字符串格式加载到向量中。要将所有矢量更改为双精度格式,我使用 str2double(vector),但矢量中的数字结尾如下:
1222.3 -> 1.222
153.4 -> 0.1534
我试过将向量乘以每 100 (vector.*100),但没有成功。
有什么想法吗?
如果您的矢量分量足够大,MATLAB 将以指数格式打印数字。
>> a = 1234.56
a =
1.2346e+03
这些数字也在工作区浏览器中以科学记数法显示:
您可以使用例如,以十进制形式打印数字fprintf
:
>> fprintf('%5.3f\n',a)
1234.560
>>
作为旁注,1.222 * 100 ≠ 1222 ...
Matlab自动从数值向量中提取一些公因子,这让我自己也困惑了很多次。给出公因数的线很容易错过,特别是对于大向量,因为它显示在顶部。
如果我用你给的两个数字定义一个向量,Matlab 会按以下方式显示给我:
如 1.0e+03 *
.