フィルターのクリア

Order terms in symbolic poly converted to string

58 ビュー (過去 30 日間)
Ethan Duckworth
Ethan Duckworth 2024 年 7 月 17 日 23:56
コメント済み: Ethan Duckworth 2024 年 7 月 18 日 10:55
Is there a way to control the order of the terms in a symbolic polynomial that has been converted to string?
E.g. the following
syms x
T=taylor(exp(x),order=3);
string(T)
results in
ans = "x + x^2/2 + 1"
and I would rather have it as 1+x+x^2/2 or the reverse order. I'll be putting this in the title of a plot so if there is some other way to automatically get the correct order in the title that would work equally as well.

採用された回答

Liam Ivers
Liam Ivers 2024 年 7 月 18 日 1:13
編集済み: Liam Ivers 2024 年 7 月 18 日 1:17
Use the sympref function to change the display of the symbolic polynomial:
I noticed that the string function does not update with this change(A = "x + x^2/2 + 1"), but it does if you use the latex command (B = '1+x+\frac{x^2}{2}') which may look better for plot headings.
syms x
T=taylor(exp(x),order=3)
sympref('PolynomialDisplayStyle','ascend')
A = string(T)
B = latex(T)
titletext = ("$" + latex(T) + '$')
title(titletext,Interpreter='latex')
  2 件のコメント
Sam Chak
Sam Chak 2024 年 7 月 18 日 1:36
@Ethan Duckworth, Consider trying this "what-you-see-is-what-you-get" direct approach.
sympref("PolynomialDisplayStyle", "ascend");
syms x
T = taylor(exp(x), order=3)
T = 
titletext = ("$" + latex(T) + '$');
fplot(T), grid on
title(titletext, Interpreter='latex')
Ethan Duckworth
Ethan Duckworth 2024 年 7 月 18 日 10:55
Weird that string(T) doesn't preserve the order of the terms, but that latex(T) does!

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

その他の回答 (1 件)

James Tursa
James Tursa 2024 年 7 月 18 日 1:26
編集済み: James Tursa 2024 年 7 月 18 日 1:50
Brute force if you need the string for some reason?
syms x
ex = taylor(exp(x),order=3)
ex = 
[C,T] = coeffs(ex)
C = 
T = 
terms = fliplr(C.*T)
terms = 
n = numel(terms);
s = char(terms(1));
for k=2:n
c = char(terms(k));
if( c(1)=='-' )
s = [s ' - ' c(2:end)];
else
s = [s ' + ' c];
end
end
s
s = '1 + x + x^2/2'
  1 件のコメント
Ethan Duckworth
Ethan Duckworth 2024 年 7 月 18 日 10:54
Wholy cow! That works, but the shorter approach by @Liam Ivers is the one I accepted.

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

カテゴリ

Help Center および File ExchangeSymbolic Math Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by