# Format the left hand side of a symbolic expression in a Live Script

조회 수: 3(최근 30일)
Carlos Souto 2022년 3월 11일
편집: Paul 2022년 3월 13일
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?

댓글을 달려면 로그인하십시오.

### 답변(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)
ans =
##### 댓글 수: 3표시숨기기 이전 댓글 수: 2
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
S_p(omega, alpha) =
symdisp(S_p) % symfun input
S_p = omega^2 + alpha^2
S_p =
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!

Translated by