Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.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:将1.0e-01打印为0.1到txt的最简单方法_Matlab - Fatal编程技术网

MATLAB:将1.0e-01打印为0.1到txt的最简单方法

MATLAB:将1.0e-01打印为0.1到txt的最简单方法,matlab,Matlab,在MATLAB中,最简单的打印方法是什么 1.0e-01as 0.1 到txt文件 但是,1.0e-01可能并不完全等于0.1。所以有两种情况: 1.0e-01正好等于0.1 及 1.0e-01不完全等于0.1 对于每种情况,最简单的方法是什么 案例1的模板: x = 1.0e-01; %I cannot type it as 0.1 manually. x is an output from other function txt1 = sprintf('testing'); fid1 = fo

在MATLAB中,最简单的打印方法是什么
1.0e-01
as
0.1
到txt文件

但是,
1.0e-01
可能并不完全等于
0.1
。所以有两种情况:

  • 1.0e-01
    正好等于
    0.1

  • 1.0e-01
    不完全等于
    0.1

  • 对于每种情况,最简单的方法是什么

    案例1的模板:

    x = 1.0e-01; %I cannot type it as 0.1 manually. x is an output from other function
    txt1 = sprintf('testing');
    fid1 = fopen(txt1,'w');
    fprintf(fid1,'%.1d\n',x);   
    fclose(fid1);
    

    一种方法是更改
    数字
    并使用
    vpa
    (可变精度算法)打印。比如说,

    digits(2)
    vpa(0.100000000000001) %prints 0.1
    
    或者,您可以简单地使用

    vpa(0.100000000000001, 2); 
    

    但是这些只打印两位数字,如果你使用的是大数字,你需要小心

    “你的东西怎么了?”比克更新
    x
    是函数的一些输出,显示为
    1.0e-01
    @beaker它也显示为
    1.0e-01
    ,由
    fprintf(fid1,.1d\n',x)
    @烧杯我找到了答案:更改为
    fprintf(fid1,%.1f\n',x)
    对我有效。是的,浮点数规格比整数更好。对不起。我自己无法键入
    0.1000000000001
    x
    是其他函数的输出,其形式为
    1.0e-01
    OK,
    x=其他函数的输出(…)
    <代码>vpa(x,2)也会工作我找到了答案:更改为
    fprintf(fid1,%.1f\n',x)
    对我有效。vpa不工作吗?或者你希望我找到你想要的东西吗?@smttsp VPA对于像这样的简单格式来说有点过分了,不是吗?