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!