help-octave
[Top][All Lists]

## Re: Problem with precision

 From: HomeRun4711 Subject: Re: Problem with precision Date: Thu, 16 Jun 2011 20:02:36 +0200 User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110424 Lightning/1.0b2 Thunderbird/3.1.10

```Hi Martijn,

I will format the output from now on.

Kind regards,
Walter

Am 16.06.2011 19:51, schrieb Martijn:
```
```Hi Walter,
There was no problem. You just did not specify the formatting, so a sane
default was chosen. Rounding small number to 0, as is done when saving
in 3 decimal fixed point notation, is in many cases undesirable.
If you want something different, well, specify the formatting.

Martijn

On Thu, 2011-06-16 at 18:55 +0200, Fritz Fischer wrote:
```
```Hi!

Thanks for you quick responses. Ok, I will rewrite my function.
So far I was using

fprintf(fd,['time', num2str(timeStep),'\n']);

Just to learn something -  can someone tell me what exactly
was causing the problem?
```
```
```
```Kind regards,
Walter

Hi Fritz,
Try formatted output:
f = fopen("myfile.txt", "w");
fprintf(f, "%.3f\n", mydata);
fclose(f);

The string "%.3f\n" is the formatting string, saying that
every number
is to be written als fixed point with 3 decimal, and is to be
followed
by a newline.
To write in two columns with a tab as separation or with a
fixed column
width use: "%.3f\t%.3f\n" or "%8.3f%12.3f\n".
Beware that to write a file with 2 columns the data matrix
needs to have
two rows. So if:
mydata = [x1, y1; x2, y2; ...; xn, yn]
then use
fprintf(f, "%.3f\t%.3f\n", mydata');
Notice the conjugation! This is a quirk that octave has to be
compatible
with Matlab.

good luck,

Martijn

On Thu, 2011-06-16 at 16:34 +0200, Fritz Fischer wrote:
>  Hello!
>
>  I have a problem with Octave's precision and hope that you
can help
>  me.
>
>  My function writes data to a file, usually using a normal
precision.
>  But some
>  values are written with a very high precision and in the
exponential
>  format:
>
>  44.875
>  40.262
>  35.327
>  30.005
>  20.981
>  6.9638e-28
>  0
>  0
>
>  Can someone tell me how to fix this? I tried format short
and format
>  long
>  but the output is the same at both settings.
>
>  Since the files are used as input for another program that
does not
>  understand the exponential format I need to change this.
>
>  Kind regards,
>  Walter
>
>
>
>
>

>  _______________________________________________
>  Help-octave mailing list
>  https://mailman.cae.wisc.edu/listinfo/help-octave

_______________________________________________
Help-octave mailing list
```
```