solve equation for a variable
조회 수: 2 (최근 30일)
이전 댓글 표시
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
채택된 답변
Anton Kogios
2023년 2월 28일
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
Anton Kogios
2023년 2월 28일
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.
추가 답변 (1개)
Torsten
2023년 2월 28일
편집: Torsten
2023년 2월 28일
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.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!