(Simple) How to solve basic equation

4 visualizzazioni (ultimi 30 giorni)
A
A il 25 Nov 2014
Risposto: Amutha S il 16 Dic 2020
Wondering if someone can help me find the error in this simple code. I'm trying to solve for N in terms of b and bt.
sym b bt N
k = 1/24;
l = (b + 0.5)/(6 + 12*b);
m = (b^2 + b/2)/(2 + 4*b);
q = ( (-k+l+m) + bt*(-4*k+3*l+2*m) )/ (1 + 2*bt);
eqn = -1/336 - l/24 + (6/5)*l^2 + 3*m/10 + 2*m*l + (2/3)*m^2 - q/6 - bt*q/6 + (3*l*q + 2*m*q)*(1+bt) == 1/N;
s = solve(eqn, N)

Risposta accettata

Star Strider
Star Strider il 25 Nov 2014
In R2014b, you have to replace ‘sym’ with ‘syms’. Otherwise, all you need to do is to add collect and simplify calls to get a simplified result:
s = solve(eqn, N)
s = simplify(collect(s),'steps',10)
produces:
s =
10080/((1260*bt + 1680)*b^2 + (420*bt + 1596)*b + 35*bt + 54)
  2 Commenti
A
A il 26 Nov 2014
This is exactly what I needed, thank you very much! Appreciate the simplify function also.
Star Strider
Star Strider il 26 Nov 2014
My pleasure!

Accedi per commentare.

Più risposte (1)

Amutha S
Amutha S il 16 Dic 2020
sym b bt N
k = 1/24;
l = (b + 0.5)/(6 + 12*b);
m = (b^2 + b/2)/(2 + 4*b);
q = ( (-k+l+m) + bt*(-4*k+3*l+2*m) )/ (1 + 2*bt);
eqn = -1/336 - l/24 + (6/5)*l^2 + 3*m/10 + 2*m*l + (2/3)*m^2 - q/6 - bt*q/6 + (3*l*q + 2*m*q)*(1+bt) == 1/N;
s = solve(eqn, N)

Categorie

Scopri di più su Symbolic Math Toolbox in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by