help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Symbolica package warning: Using rat() heuristics for double-precisi


From: Oliver Heimlich
Subject: Re: Symbolica package warning: Using rat() heuristics for double-precision input (is this what you wanted?)
Date: Fri, 17 Feb 2017 12:28:58 +0100
User-agent: K-9 Mail for Android

Am 17. Februar 2017 12:00:50 MEZ schrieb Stephen Biggs <address@hidden>:
>Hi,
>
>I am using the symbolic package (so include `pkg load symbolic` before
>the
>following commands if necessary). If I run:
>
>    syms x
>    fsym = x * cos(x)
>    fsymder = diff(fsym)
>    vpa(subs(fsymder, x, 3.141592654), 8)
>
>Then I get the following:
>
>    warning: Using rat() heuristics for double-precision input (is this
>what you wanted?)
>    warning: called from
>        sym at line 256 column 9
>        subs at line 118 column 7
>    ans = (sym) -1.0000000
>
>So the answer is correct but there is that warning about rat()
>heuristics.
>How can I fix it so that the warning is not given. NB: I would rather
>**fix** the code so that the warning is not raised rather than just
>supressing the warning with `warning('off', '<warning_id>')`. However,
>if
>the former is not possible, then I will accept the latter but I need to
>know the warning ID.
>
>Many thanks,
>Steve

I guess the warning is caused by your numeric literal 3.141592654 in the code.

In Octave this would normally result in an approximation of this value in 
double precision. However, the symbolic package detects this and suggests that 
you should explicitly create a symbolic value for 3.141592654 with the desired 
conversion semantics that you intend. Do you want to use the exact decimal 
value 3.141592654 or do you want to use an approximation?

You can get the desired warning id with the lastwarn function (use it with 2 
output arguments).

Oliver



reply via email to

[Prev in Thread] Current Thread [Next in Thread]