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

 Réponse acceptée

John D'Errico
John D'Errico le 17 Nov 2021

0 votes

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 commentaires

Aji Bowo
Aji Bowo le 17 Nov 2021
I have tried tried format long before but didnt get the same like this. What is the use of that g in the end??
John D'Errico
John D'Errico le 17 Nov 2021
Modifié(e) : John D'Errico le 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by