scientific notation convertion of coefficients of a polynomial
Show older comments
syms x
f = - 0.042440155 + 0.29476113*x + 0.47380563*x^2 - 0.17632127*x^3 + 0.038426007*x^4 - 0.005090693*x^5 + ...
0.00073686606*x^6 - 0.00024549191*x^7 + 0.000072758471*x^8 - 0.000017260649*x^9 + 0.0000048409949*x^10 - ...
0.0000014708831*x^11 + 0.00000037777292*x^12 - 0.000000086757727*x^13 + 0.000000020031646*x^14 - ...
4.1039434e-9*x^15 + 5.354131e-10*x^16 + 3.6711725e-12*x^17 - 1.9835736e-11*x^18 + 4.9956502e-12*x^19 - ...
7.3416852e-13*x^20 + 7.2822196e-14*x^21 - 4.9740077e-15*x^22 + 2.2607386e-16*x^23 - ...
6.1866125e-18*x^24 + 7.7315661e-20*x^25;
%% I want Matlab to convert all the coefficients of f(x) like: 7.7315661 e-20 (one digit before decimal and the exponential form with base 10 or e) and give me a modified f(x)
3 Comments
Dyuman Joshi
on 27 Jan 2024
Is the purpose to get the data in that particular format just for display? Or is it something else?
MINATI PATRA
on 27 Jan 2024
syms x
f = - 0.042440155 + 0.29476113*x + 0.47380563*x^2 - 0.17632127*x^3 + 0.038426007*x^4 - 0.005090693*x^5 + ...
0.00073686606*x^6 - 0.00024549191*x^7 + 0.000072758471*x^8 - 0.000017260649*x^9 + 0.0000048409949*x^10 - ...
0.0000014708831*x^11 + 0.00000037777292*x^12 - 0.000000086757727*x^13 + 0.000000020031646*x^14 - ...
4.1039434e-9*x^15 + 5.354131e-10*x^16 + 3.6711725e-12*x^17 - 1.9835736e-11*x^18 + 4.9956502e-12*x^19 - ...
7.3416852e-13*x^20 + 7.2822196e-14*x^21 - 4.9740077e-15*x^22 + 2.2607386e-16*x^23 - ...
6.1866125e-18*x^24 + 7.7315661e-20*x^25;
vpa(f, 8)
Accepted Answer
More Answers (2)
syms x
f = - 0.042440155 + 0.29476113*x + 0.47380563*x^2 - 0.17632127*x^3 + 0.038426007*x^4 - 0.005090693*x^5 + ...
0.00073686606*x^6 - 0.00024549191*x^7 + 0.000072758471*x^8 - 0.000017260649*x^9 + 0.0000048409949*x^10 - ...
0.0000014708831*x^11 + 0.00000037777292*x^12 - 0.000000086757727*x^13 + 0.000000020031646*x^14 - ...
4.1039434e-9*x^15 + 5.354131e-10*x^16 + 3.6711725e-12*x^17 - 1.9835736e-11*x^18 + 4.9956502e-12*x^19 - ...
7.3416852e-13*x^20 + 7.2822196e-14*x^21 - 4.9740077e-15*x^22 + 2.2607386e-16*x^23 - ...
6.1866125e-18*x^24 + 7.7315661e-20*x^25
f = vpa(f,2)
something like this
1 Comment
Dyuman Joshi
on 27 Jan 2024
Edited: Dyuman Joshi
on 27 Jan 2024
@VBBV, nice idea, however, it does not change the notation for all values, please see the coefficients of x^4, x^3, x^2, x^1 and x^0.
syms x
f = - 0.042440155 + 0.29476113*x + 0.47380563*x^2 - 0.17632127*x^3 + 0.038426007*x^4 - 0.005090693*x^5 + ...
0.00073686606*x^6 - 0.00024549191*x^7 + 0.000072758471*x^8 - 0.000017260649*x^9 + 0.0000048409949*x^10 - ...
0.0000014708831*x^11 + 0.00000037777292*x^12 - 0.000000086757727*x^13 + 0.000000020031646*x^14 - ...
4.1039434e-9*x^15 + 5.354131e-10*x^16 + 3.6711725e-12*x^17 - 1.9835736e-11*x^18 + 4.9956502e-12*x^19 - ...
7.3416852e-13*x^20 + 7.2822196e-14*x^21 - 4.9740077e-15*x^22 + 2.2607386e-16*x^23 - ...
6.1866125e-18*x^24 + 7.7315661e-20*x^25
c = coeffs(f, 'all') % or
[c, t] = coeffs(f)
Now you can do whatever formatting you want with c.
The 'all' option and/or the second input are useful if one of the powers of x is not present in f, as in this example:
f2 = x^3+2*x+3
c1 = coeffs(f2) % Missing the x^2 term and in a different order
c2 = coeffs(f2, 'all') % Including the x^2 term
[c3, t3] = coeffs(f2) % x^2 (and its coefficient) are not present in both c3 and t3
Categories
Find more on Christmas / Winter in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
