Substitute symbolic expression into matrix

2 visualizzazioni (ultimi 30 giorni)
I would like to evaluate a symbolic matrix for certain values. Unfortunately, I cannot find a way for Matlab to show the analytically correct solution, instead I get very long fractions as a result.
For example, I have a matrix B and a variable a:
syms a B
B=[sin(a)^2; cos(a)^2]
a=sym(atan(2))
To insert a into the matrix B I use subs:
B=subs(B)
Matlab outputs the following expression as a result:
cos(1246538638225297/1125899906842624)^2
sin(1246538638225297/1125899906842624)^2
Is there a way to output the analytical solution?
For example, the command below will produce the exact result of 1/5:
sym(cos(atan(2))^2)
ans = 1/5
Thanks for the help!

Risposta accettata

madhan ravi
madhan ravi il 17 Lug 2020
sym(double(subs(B)))

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by