solve() "Unable to find explicit solution"
조회 수: 14 (최근 30일)
이전 댓글 표시
Using solve for an equation is not working and I'm not sure why. This has an explicit solution but it doesn't work. What am I missing?
syms g m L s Y(s)
solve(- m*(s - s^2*Y(s) + 1)*L^2 + g*m*Y(s)*L == 0,Y(s))
댓글 수: 0
채택된 답변
Dyuman Joshi
2023년 10월 13일
solve() expects the 2nd input to be an array of symbolic variable(s), where as you have defined Y as a symbolic function.
If you want to get the output as a function of "s", define it accordingly -
syms g m L s Z
Y(s) = solve(- m*(s - s^2*Z + 1)*L^2 + g*m*Z*L == 0,Z)
추가 답변 (2개)
Walter Roberson
2023년 10월 13일
(I am absolutely positive I had already answered this, but there is no trace of that...)
solve() cannot solve for functions. You will need to substitute a symbolic variable for the function. For example,
syms g m L s Y(s) Ys
eqn = - m*(s - s^2*Y(s) + 1)*L^2 + g*m*Y(s)*L == 0;
solve( subs(eqn, Y(s), Ys), Ys)
참고 항목
카테고리
Help Center 및 File Exchange에서 Assumptions에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!