scientific notation convertion of coefficients of a polynomial
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
MINATI PATRA
el 27 de En. de 2024
Comentada: Dyuman Joshi
el 31 de En. de 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;
%% 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 comentarios
Walter Roberson
el 31 de En. de 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)
Respuesta aceptada
Más respuestas (2)
VBBV
el 27 de En. de 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
f = vpa(f,2)
something like this
1 comentario
Dyuman Joshi
el 27 de En. de 2024
Editada: Dyuman Joshi
el 27 de En. de 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.
Steven Lord
el 30 de En. de 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
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
0 comentarios
Ver también
Categorías
Más información sobre Symbolic Math Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!