user3090650
user3090650

Reputation:

inserting +- (i.e. \pm) between two numbers in matlab

I want to insert the symbol +- (\pm) between x and y in table created in matlab

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

So, that the output is

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

If we can also write the minus exactly below plus.

Upvotes: 2

Views: 8888

Answers (3)

SANGEETHA SUGUMAR
SANGEETHA SUGUMAR

Reputation: 1

fprintf(['%0.2f ' char(177) ' %0.2f\n'], [x;y]);

Upvotes: 0

Cris Luengo
Cris Luengo

Reputation: 60799

You can use unicode characters in MATLAB. The following works:

>> 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

Note that fprintf cycles through all the elements of the input matrix in storage order (down the first column first). So it was necessary to transpose the data array (table.') to print it in one command.

This works for printing to file as well on MacOS:

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

Upvotes: 2

RTL
RTL

Reputation: 3587

With output as a text file use the format spec for fprintf such as

FileID=fopen('FileName.txt','w');

fprintf(FileID,['%1.4f ',177,' %1.4f\n'],[x';y'])

Upvotes: 1

Related Questions