MATLAB Answers

how to create symbolic function?

1 view (last 30 days)
I need to transform the following function to the symbolic form to evaluate it with arbitrary precision.
Z(N,Thetas) = prod((1 - exp(-(N:-1:2).*Thetas))./(1 - exp(-Thetas)),2)
where Thetas is matrix M x N-1 of the positive real numbers. So the expected result is vector Z (M x 1). I am not able to rewrite function Z to symbolic form and than evaluated it by vpa() command.
Any idea how to effectively solve it?

Accepted Answer

Michal Kvasnicka
Michal Kvasnicka on 30 Oct 2017
Edited: Michal Kvasnicka on 30 Oct 2017
function Z=symZ(N,Thetas,Ndigit)
Thetas = sym(Thetas);
Zsym = prod((1 - exp(-(N:-1:2).*Thetas))./(1 - exp(-Thetas)),2);
Z = vpa(Zsym,Ndigit);

More Answers (1)

Alfonso Salas-Cruz
Alfonso Salas-Cruz on 9 May 2021
how evaluate an symbolic expresion?
  1 Comment
Michal Kvasnicka
Michal Kvasnicka on 9 May 2021
use the "vpa" command:
Z = vpa(Zsym,Ndigit);

Sign in to comment.


Community Treasure Hunt

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

Start Hunting!