Octave 以倍频程保存数据
在八度音阶中,我有Octave 以倍频程保存数据,octave,Octave,在八度音阶中,我有x=-13:0.1:13 然后,我保存为: save file.dat x 当我打开file.dat时,我得到: -13 -12.9 -12.8 -12.7 -12.6 -12.5 -12.4 -12.3 -12.2 -12.1 -12 -11.9 -11.8 -11.7 -11.6 -11.5 -11.4 -11.3 -11.2 -11.1 -11 -10.9 -10.8 -10.7 -10.6 -10.5 -10.4
x=-13:0.1:13
然后,我保存为:
save file.dat x
当我打开file.dat时,我得到:
-13
-12.9
-12.8
-12.7
-12.6
-12.5
-12.4
-12.3
-12.2
-12.1
-12
-11.9
-11.8
-11.7
-11.6
-11.5
-11.4
-11.3
-11.2
-11.1
-11
-10.9
-10.8
-10.7
-10.6
-10.5
-10.4
-10.3
-10.2
-10.1
-10
-9.9
-9.800000000000001
-9.699999999999999
-9.6
-9.5
-9.4
-9.300000000000001
-9.199999999999999
-9.1
-9
-8.899999999999999
-8.800000000000001
-8.699999999999999
...
但是我想保存
-8.7
,而不是-8.69999999999999
-8.8
而非-8.8000000000001
..在不知道写入文件所使用的函数的情况下,解决此问题的一种方法是使用单位数精度指定格式
例如:
fprintf(fid, "%4.1f", x(i));
将x(i)写入fid,小数点后为1位。您只需传递一个向量,在这种情况下,它将对所有条目重复模板,例如,只需执行
printf(“%4.1f\n”,0:.1:3)
非常感谢Alex B和carandraug。非常有用!