# Output vector in the polyval

1 view (last 30 days)
Aji Bowo on 17 Nov 2021
Edited: John D'Errico on 17 Nov 2021
A quick question. How do I make this so that the value in the array is not factor out. This is my code
p=[1 0 0 0 0 -5 3 21];
x=[10 15 20];
poly_value=polyval(p,x)
poly_value = 1×3
1.0e+09 * 0.0100 0.1709 1.2800
What I mean is how can get rid of that 10^9 and instead i want the output to be what it is in the array

John D'Errico on 17 Nov 2021
format long g
p=[1 0 0 0 0 -5 3 21];
x=[10 15 20];
poly_value=polyval(p,x)
poly_value =
9999551 170858316 1279998081
##### 2 CommentsShowHide 1 older comment
John D'Errico on 17 Nov 2021
From the help for format...
format LONG Scaled fixed point format with 15 digits for double
and 7 digits for single.
format LONGG Best of fixed or floating point format with 15
digits for double and 7 digits for single.
If the double precision numbers fit into 15 digits, it will try to display them without exponents. At some point, it gives up.
format long g
X = 1.2345678901234*10.^(-20:5:20)'
X =
1.2345678901234e-20
1.2345678901234e-15
1.2345678901234e-10
1.2345678901234e-05
1.2345678901234
123456.78901234
12345678901.234
1.2345678901234e+15
1.2345678901234e+20
But even then, it is not factoring out the exponent.
format long
X = 1.2345678901234*10.^(-20:5:20)'
X =
1.0e+20 *
0.000000000000000
0.000000000000000
0.000000000000000
0.000000000000000
0.000000000000000
0.000000000000001
0.000000000123457
0.000012345678901
1.234567890123400
See that format long does what you do not wish to see happen.