(Simple) How to solve basic equation

7 ビュー (過去 30 日間)
A
A 2014 年 11 月 25 日
回答済み: Amutha S 2020 年 12 月 16 日
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)

採用された回答

Star Strider
Star Strider 2014 年 11 月 25 日
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 件のコメント
A
A 2014 年 11 月 26 日
This is exactly what I needed, thank you very much! Appreciate the simplify function also.
Star Strider
Star Strider 2014 年 11 月 26 日
My pleasure!

サインインしてコメントする。

その他の回答 (1 件)

Amutha S
Amutha S 2020 年 12 月 16 日
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)

カテゴリ

Help Center および File ExchangeSymbolic Math Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by