Format the left hand side of a symbolic expression in a Live Script
6 次查看(过去 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!