printing complete mathematical equation
Mostrar comentarios más antiguos
Hello All,
I am working with symbolic functions in live editor mode. What I want to do is that as I am calculating a function, I want the mathematical equation to be completely shown. I mean the right hand side of the equation be printed and left hand side will be calcualated and then printed.
syms m(t) n(t)
A=10*cos(m)+5*sin(n)
diff(A,t)
for example, for above equation I want it to be shown as:
Is there a way to do this?
Respuestas (2)
syms m(t) n(t) A(t)
eqn = A==10*cos(m)+5*sin(n)
deqn = diff(eqn,t)
4 comentarios
ali mohseni
el 16 de Dic. de 2022
Editada: ali mohseni
el 16 de Dic. de 2022
Outside of the LiveScript (and MATLAB Answers), the best MATLAB can do is text formatting using pretty(). Fortunately for you, you are using the Live Editor, which can format nicely.
In each case, when you have variable = value and no semi-colon then LiveScript does not format the variable name nicely. For example,
syms A_1
A_2 = A_1
Observe how the left side is completely unformatted but the right side is formatted.
In order to display a formatted left side, you could create an equation using == and display the equation... and ignore the fact that it displays the name of the equation as well as the nicely formatted display.
syms M K X(t) L(t)
Lfun = L(t);
L = M*diff(X,t)^2/2+K*X^2
A1 = simplify(diff(L,diff(X,t)));
DLDX = diff(diff(Lfun,t),diff(X,t));
DLDX == A1
But notice the left side is 0. MATLAB noticed that that L(t) is not dependent on X(t) and so decided the derivative is 0.
So what can you do? Well, you can use displayFormula which will allow you to compose the form for the derivative without evaluating the derivative.
ali mohseni
el 16 de Dic. de 2022
Editada: ali mohseni
el 16 de Dic. de 2022
syms M K X(t) L(t)
L = M*diff(X,t)^2/2+K*X^2
S = "m*diff(L,X)=1"
displayFormula(S, sym([]), sym([])) %no substitutions
I don't know exactly what you mean.
syms M K X(t) %Physical Parameters
dX = diff(X,t);
L= M*dX^2/2+K*X^2
A1 = diff(L,dX)
A2 = diff(diff(L,X),t)
A3 = diff(L,X)
3 comentarios
ali mohseni
el 16 de Dic. de 2022
Editada: ali mohseni
el 16 de Dic. de 2022
You can create forms. It might take more work to get them pretty.
syms M X(t)
RHS = M*diff(diff(X(t),t),t);
S = "diff(diff(L,diff(X(t),t)),t) = RHS"
displayFormula(S, sym('RHS'), RHS)
Categorías
Más información sobre Common Operations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!









