Format the left hand side of a symbolic expression in a Live Script
7 ビュー (過去 30 日間)
古いコメントを表示
In a live script, the following code:
syms A_1 x alpha
N_phi = A_1*x*cos(alpha)
outputs the following:
N_phi =
Is there a simple way to format the left side of the equation so that the output is as follows?
0 件のコメント
回答 (1 件)
Walter Roberson
2022 年 3 月 11 日
No, there is no simple way to do that.
The closest you can get to that is to create an equation instead,
syms A_1 x alpha N_phi
N_phi == A_1*x*cos(alpha)
3 件のコメント
Walter Roberson
2022 年 3 月 12 日
syms A_1 x alpha N_phi
N_phi = A_1*x*cos(alpha);
disp(sym('N_phi') == N_phi)
Paul
2022 年 3 月 13 日
編集済み: Paul
2022 年 3 月 13 日
Very, very high ratio of utility to complexity. I've been looking for this
I'll note that for a symfun object it looks like str2sym has to be used.
syms S_p(omega)
S_p(omega) = 5*omega;
disp(str2sym('S_p(omega)') == S_p(omega))
Prototype function to work with a sym or symfun input
syms S_p(omega,alpha)
S_p(omega,alpha) = omega + alpha
symdisp(S_p) % symfun input
S_p = omega^2 + alpha^2
symdisp(S_p) % sym input
function symdisp(in)
rhs = in;
lhs = string(inputname(1));
args = argnames(in);
if ~isempty(args)
argstr = "(" + join(string(args),",") + ")";
else
argstr = "";
end
disp(str2sym(lhs + argstr) == rhs)
end
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!