solve() only gives one of infinitely many solutions.
조회 수: 3 (최근 30일)
이전 댓글 표시
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/145961/image.jpeg)
Hopefully the screenshot will make my question clear. From what I can tell by looking at the documentation for the solve() function, this application of solve is Supposed to give a parametrization for All solutions to x*y=1, but I only get one.
There are no additional assumptions on my variables x,y. Code in the screenshot was immediately preceded by clearing all variables.
Arthur
댓글 수: 0
답변 (2개)
Zoltán Csáti
2014년 11월 4일
Your mistake is that you applied == instead of =. Do this one:
solution = solve('x*y=1','x','y');
Sean de Wolski
2014년 11월 4일
The problem is that you're asking for a solution for both variables. Instead, solve for one at a time:
solve(x*y==1,x)
ans =
1/y
댓글 수: 2
Sean de Wolski
2014년 11월 4일
That's what it's doing: 1/y is the solution for all x given all y.
If you want to substitute in new values, use subs to do this.
subs(expr,old,new)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!