input variable in evalin

6 visualizzazioni (ultimi 30 giorni)
kman
kman il 31 Ott 2017
Commentato: Walter Roberson il 31 Ott 2017
y=double(evalin(symengine, 'binomial(2634,1)*binomial(1360*125-2634, 125-1)/binomial(1360*125, 125)'))
The above gives sume number y. but instead of 1 I want variable x in the above equation.
function y=f(x)
y=double(evalin(symengine, 'binomial(2634,x)*binomial(1360*125-2634, 125-x)/binomial(1360*125, 125)'))
end
Of course this gives an error. How can I make function using the input variable x? Thank you.

Risposta accettata

Birdman
Birdman il 31 Ott 2017
x=sym('x');
y=evalin(symengine, 'binomial(2634,x)*binomial(1360*125-2634, 125-x)/binomial(1360*125, 125)','x');
y=double(vpa(subs(y,x,1)))
  5 Commenti
Birdman
Birdman il 31 Ott 2017
Hi Stephen,
I did not recommend him to use eval function. Thank you for your attention once more.
Walter Roberson
Walter Roberson il 31 Ott 2017
There are some symbolic tasks that still need evalin(symengine) or feval(symengine), but those are somewhat advanced tasks.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!