scientific notation convertion of coefficients of a polynomial

4 ビュー (過去 30 日間)
MINATI PATRA
MINATI PATRA 2024 年 1 月 27 日
コメント済み: Dyuman Joshi 2024 年 1 月 31 日
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 件のコメント
MINATI PATRA
MINATI PATRA 2024 年 1 月 27 日
Yes, it is required for a particular sense. Actually I got the code from this format 3 years back but forgotten. That comand solved my purpose which vpa couldn't. That's why it is needed.
Walter Roberson
Walter Roberson 2024 年 1 月 31 日
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)
ans = 

サインインしてコメントする。

採用された回答

MINATI PATRA
MINATI PATRA 2024 年 1 月 27 日
FM = regexprep(char(vpa(f)),'([0-9]+\.[0-9]+)','${num2str(str2num($1),''%e'')}')
This is working.
  5 件のコメント
MINATI PATRA
MINATI PATRA 2024 年 1 月 31 日
@ Dyuman
Yes, I will use that expression as solution of ODE, nothing more with that.
Dyuman Joshi
Dyuman Joshi 2024 年 1 月 31 日
@Minati, Very well.

サインインしてコメントする。

その他の回答 (2 件)

VBBV
VBBV 2024 年 1 月 27 日
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 = 
f = vpa(f,2)
f = 
something like this
  1 件のコメント
Dyuman Joshi
Dyuman Joshi 2024 年 1 月 27 日
編集済み: Dyuman Joshi 2024 年 1 月 27 日
@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
Steven Lord 2024 年 1 月 30 日
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 = 
c = coeffs(f, 'all') % or
c = 
[c, t] = coeffs(f)
c = 
t = 
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
f2 = 
c1 = coeffs(f2) % Missing the x^2 term and in a different order
c1 = 
c2 = coeffs(f2, 'all') % Including the x^2 term
c2 = 
[c3, t3] = coeffs(f2) % x^2 (and its coefficient) are not present in both c3 and t3
c3 = 
t3 = 

カテゴリ

Help Center および File ExchangeConversion Between Symbolic and Numeric についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by