solve equation for a variable
8 views (last 30 days)
Show older comments
SETH SCHREINER
on 28 Feb 2023
Commented: Anton Kogios
on 28 Feb 2023
I'm sure this sort of thing has been posted numerous times, but I can't find anything that works for me for whatever reason. I need to solve an equation for a variable, and I can't remember how to do this. It's been a while since I've used matlab. I need to solve for t numerically. This is the last thing I tried:
v = 2.42;
si_f235 = 577E-24;
N_235 = 780.63E18;
phi = 3E13;
si_a235 = 101E-24;
si_a238 = 2.73E-24;
N_238 = 21.52E21;
n = 1.5;
eqn = @(x) v*si_f235*N_235(1-si_f235*phi*x)/(si_a235*N_235*(1-si_a235*phi*x)+si_a238*N_238*(1-si_a238*phi*x))==n;
t = vpasolve(eqn , x)
it's just telling me that x is an unrecognized variable
0 Comments
Accepted Answer
Anton Kogios
on 28 Feb 2023
This works for me (you were also missing an * in your equation):
v = 2.42;
si_f235 = 577E-24;
N_235 = 780.63E18;
phi = 3E13;
si_a235 = 101E-24;
si_a238 = 2.73E-24;
N_238 = 21.52E21;
n = 1.5;
syms x
eqn = v*si_f235*N_235*(1-si_f235*phi*x)/(si_a235*N_235*(1-si_a235*phi*x)+si_a238*N_238*(1-si_a238*phi*x))==n;
t = vpasolve(eqn , x)
3 Comments
Anton Kogios
on 28 Feb 2023
Yes sorry, this requires the Symbolic Math Toolbox, which is very helpful for these sorts of problems. You could of course always follow Torsten's advice in his answer.
More Answers (1)
Torsten
on 28 Feb 2023
Edited: Torsten
on 28 Feb 2023
You don't need a toolbox for this.
Take a piece of paper and a pencil, multiply the equation by the denominator of the left-hand side, collect terms with x on one side and other terms on the other side, factor out x on the one side and solve for x.
It's just like solving 3*x + 5 = 7*x - 4 for x.
See Also
Categories
Find more on Particle & Nuclear Physics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!