필터 지우기
필터 지우기

SOLVE-ONLY one solution

조회 수: 8 (최근 30일)
SYML2nd
SYML2nd 2023년 2월 17일
댓글: Walter Roberson 2023년 2월 19일
I am trying to solve a system of two equations which I know they intersect in three points. I am using this code (which I simplified)
syms x y
[x_sol,y_sol] = solve(Eqn1,Eqn);
Why it displays only the first solution and not the three solutions?
  댓글 수: 2
Torsten
Torsten 2023년 2월 17일
Maybe if we knew the equations and the code you use, we could give an answer.
Torsten
Torsten 2023년 2월 19일
Use
[x_sol, y_sol] = vpasolve([a*exp(-b*x) == y, c*x^3 + d*x^2 + e*x + f == y], [x, y]);
instead of
[x_sol, y_sol] = solve([a*exp(-b*x) == y, c*x^3 + d*x^2 + e*x + f == y], [x, y]);

댓글을 달려면 로그인하십시오.

채택된 답변

Walter Roberson
Walter Roberson 2023년 2월 17일
solve() will return multiple solutions only if the equations are simultaneous multinomials -- though in some cases it is able to convert trig equations into internal polynomials.
It does not even return multiple solutions to equations involving exp() in terms of the LambertW function when those are available.
In all other cases, it will return a single closed-form solution if it can find one, and otherwise a single numeric solution.
In some cases, especially ones involving trig functions, it is able to compute parameterized additional solutions, if you request 'returnconditions', true
  댓글 수: 2
SYML2nd
SYML2nd 2023년 2월 19일
편집: SYML2nd 2023년 2월 19일
I tried but it does not work. Does it exists an other method (not using 'solve' maybe) that does not have this problem?
Thanks
Walter Roberson
Walter Roberson 2023년 2월 19일
You could try solving iteratively, solve one equation for one variable, substitute the result into the remaining equations, and so on. Depending on what the equations are like, you might find a step for which there are multiple solutions, in which case you can iterate over all of the possibilities, hoping that they will lead to valid solutions.
Unfortunately it does not take all that much before formulas are too complicated to make progress on.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Assumptions에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by