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

 Akzeptierte Antwort

Anton Kogios
Anton Kogios am 28 Feb. 2023

2 Stimmen

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)
t = 
47756908.067411697270732667471209

3 Kommentare

SETH SCHREINER
SETH SCHREINER am 28 Feb. 2023
it's giving me an error for syms x now
SETH SCHREINER
SETH SCHREINER am 28 Feb. 2023
oh i dont have the right toolbox apparently
Anton Kogios
Anton Kogios am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Torsten
Torsten am 28 Feb. 2023
Bearbeitet: Torsten am 28 Feb. 2023

0 Stimmen

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.

1 Kommentar

SETH SCHREINER
SETH SCHREINER am 28 Feb. 2023
I get how to do it on pencil and paper, but the equation gets rather tedious trying to separate out x from the other variables towards the end

Melden Sie sich an, um zu kommentieren.

Produkte

Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by