solve関数で簡単な数式を解く方法
4 ビュー (過去 30 日間)
古いコメントを表示
solve関数を使って
2a + 3b = 0
という方程式をa/bについて解きたいです。
つまり
a/b = -(3/2)
の形にしたいです。
以下が、matlab コードです。
clear; clc; close all;
syms a b
assume(a ~= 0)
assume(b ~= 0)
eqn=2*a+3*b==0
ans=solve(eqn,a/b)
これで解くと、ansが空になります。
原因と対処法を教えていただけましたら幸いです。
0 件のコメント
採用された回答
Atsushi Ueno
2021 年 9 月 28 日
原因:solve関数がシンボリック変数以外の引数を受け付けないから
対処法:solve関数の出力を個別にシンボリック変数で受け取り、後で計算式を解く
clear; clc; close all;
syms a b
assume(a ~= 0)
assume(b ~= 0)
eqn=2*a+3*b==0;
syms a2 b2
[a2, b2] = solve(eqn,a,b)
a2/b2
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で 特別な値 についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!