【问题标题】:inserting +- (i.e. \pm) between two numbers in matlab在matlab中的两个数字之间插入+-(即\pm)
【发布时间】:2014-03-26 13:57:48
【问题描述】:

我想在 matlab 中创建的表中的 x 和 y 之间插入符号 +- (\pm)

x = (1:1:5)';
y = x*5/100;
table = [x y]

所以,输出是

1.0000 +/- 0.0500
2.0000 +/- 0.1000
3.0000 +/- 0.1500
4.0000 +/- 0.2000
5.0000 +/- 0.2500

如果我们也可以把减号写在加号下面。

【问题讨论】:

  • char(177) 将给出 \pm 符号,但是我不确定您希望输出的格式是什么
  • 我会将输出打印为 .txt 格式

标签: matlab numbers symbols


【解决方案1】:

您可以在 MATLAB 中使用 unicode 字符。以下作品:

>> fprintf('%f ± %f\n', table.')
1.000000 ± 0.050000
2.000000 ± 0.100000
3.000000 ± 0.150000
4.000000 ± 0.200000
5.000000 ± 0.250000

请注意,fprintf 按存储顺序循环遍历输入矩阵的所有元素(首先从第一列向下)。因此需要转置数据数组 (table.') 以在一个命令中打印。

这也适用于在 MacOS 上打印到文件:

f = fopen('mytextfile.txt','wt');
fprintf(f,'%f ± %f\n', table.');
fclose(f);

【讨论】:

    【解决方案2】:

    将输出作为文本文件使用 fprintf 的格式规范,例如

    FileID=fopen('FileName.txt','w');
    
    fprintf(FileID,['%1.4f ',177,' %1.4f\n'],[x';y'])
    

    【讨论】:

    • 但是,输出文本文件中仍然缺少 char(177) 给出的符号 \pm。
    • 写入文本文件失败,但我能够使用以下代码打印到屏幕: sprintf(['%2.4f ' char(177) ' %1.4f\n'], [x ;y])
    【解决方案3】:
    fprintf(['%0.2f ' char(177) ' %0.2f\n'], [x;y]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-12
      • 2015-02-20
      • 2015-01-31
      • 1970-01-01
      • 2012-07-11
      • 1970-01-01
      • 2014-06-23
      相关资源
      最近更新 更多