Solve (a*B) + (c*D) = E without the Symbolic Toolbox
조회 수: 4 (최근 30일)
이전 댓글 표시
Solve (a*B) + (c*D) = E without the Symbolic Toolbox
where, B, D, & E are all known.
If the Symbolic Toolbox was available it would looke like this:
syms a c
eqn = ((a*B) + (c*D)) / E == 1;
x = solve( eqn );
Any help would be greatly appreciated.
(Available toolboxes include: Image Processing, Signal Processing, & Statistical and Machine Learning
댓글 수: 0
채택된 답변
Star Strider
2020년 9월 25일
This would seem to be homework, and for homework we only give guidance and hints.
I would set it up as an implicit equation (so it equals 0), and use fsolve. To do this, ‘a’ and ‘c’ would have to be parameterized as ‘p(1)’ and ‘p(2)’, and you would have to code it as an anonymous function. .
추가 답변 (3개)
Walter Roberson
2020년 9월 25일
((a*B) + (c*D)) / E == 1
((a*B) + (c*D)) == 1 * E
a*B + c*D == E
a*B == E - c*D
a == (E-c*D) / B
a == E/B - D/B * c
a == (-D/B) * c + (E/B)
Parameterized:
c = t
a = (-D/B) * t + (E/B)
You have one equation in two variables; you are not going to be able to solve for both variables simultaneously.
댓글 수: 0
Ivo Houtzager
2020년 9월 25일
편집: Ivo Houtzager
2020년 9월 25일
A = E*pinv([B; D]);
a = A(1);
c = A(2);
댓글 수: 0
Steven Lord
2020년 9월 26일
This is a generalization of Cleve's simplest impossible problem. Cleve's has B = 1/2, D = 1/2, E = 3.
댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!