Substitute symbolic expression into matrix

2 views (last 30 days)
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!

Accepted Answer

madhan ravi
madhan ravi on 17 Jul 2020
sym(double(subs(B)))

More Answers (0)

Community Treasure Hunt

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

Start Hunting!