Can Mathlab solve this

1 回表示 (過去 30 日間)
rob
rob 2013 年 9 月 3 日
コメント済み: Walter Roberson 2022 年 9 月 17 日
Can Mathlab solve this
x1^2 +2.x1 - 2.x2^2 -5.x2 =5
2.x1^2 -3.x1 +x2^2 +3.x2 =19
  2 件のコメント
Walter Roberson
Walter Roberson 2013 年 9 月 3 日
You know that has four solutions, right?
Walter Roberson
Walter Roberson 2013 年 9 月 3 日
Please read the guide to tags and retag this question.

サインインしてコメントする。

回答 (4 件)

Thomas
Thomas 2013 年 9 月 3 日
編集済み: Thomas 2013 年 9 月 3 日
Yes, look in the symbolic math toolbox http://www.mathworks.com/help/symbolic/solve.html
Go to the bottom of the page for examples

Shashank Prasanna
Shashank Prasanna 2013 年 9 月 3 日
You can solve a system of nonlinear equations using FSOLVE:
This will yield numerical solutions for x1 and x2
  3 件のコメント
rob
rob 2013 年 9 月 3 日
fsolve is all numerical not algabraic
Walter Roberson
Walter Roberson 2013 年 9 月 3 日
Correct, fsolve() is numeric not algebraic. However can you really make use of the algebraic solutions? For example one of the four solutions to the above system has x1 be
-349/140 + (1/5040) * (4860 * (112706532 + 2940 * 1239703701^(1/2))^(1/3) - 6 * (112706532 + 2940 * 1239703701^(1/2))^(2/3) - 754344) / (112706532 + 2940 * 1239703701^(1/2))^(1/3) - (1/90720) * ((4860 * (112706532 + 2940 * 1239703701^(1/2))^(1/3) - 6 * (112706532 + 2940 * 1239703701^(1/2))^(2/3) - 754344)/(112706532 + 2940 * 1239703701^(1/2))^(1/3))^(1/2) * 6^(1/2) * 36^(1/2) * 2^(1/2) * (((810* (112706532 + 2940 * 1239703701^(1/2))^(1/3) + 18^(1/3) * ((9392211 + 245 * 1239703701^(1/2))^2)^(1/3) + 62862) * ((4860 * (112706532 + 2940 * 1239703701^(1/2))^(1/3) - 6 * (112706532 + 2940 * 1239703701^(1/2))^(2/3) - 754344) / (112706532 + 2940 * 1239703701^(1/2))^(1/3))^(1/2) + 1764 * (112706532 + 2940 * 1239703701^(1/2))^(1/3)) * 18^(1/3) * ((112706532 + 2940 * 1239703701^(1/2))^(1/3) / (810 * (112706532 + 2940 * 1239703701^(1/2))^(1/3) - (112706532 + 2940 * 1239703701^(1/2))^(2/3) - 125724))^(1/2) * ((9392211 + 245 * 1239703701^(1/2))^2)^(1/3) * 6^(1/2) / (9392211 + 245 * 1239703701^(1/2)))^(1/2) + (1/30240) * (1620 * (112706532 + 2940 * 1239703701^(1/2))^(1/3) * ((4860 * (112706532 + 2940 * 1239703701^(1/2))^(1/3) - 6 * (112706532 + 2940 * 1239703701^(1/2))^(2/3) - 754344) / (112706532 + 2940 * 1239703701^(1/2))^(1/3))^(1/2) + 2 * ((4860 * (112706532 + 2940 * 1239703701^(1/2))^(1/3) - 6 * (112706532 + 2940 * 1239703701^(1/2))^(2/3) - 754344) / (112706532 + 2940 * 1239703701^(1/2))^(1/3))^(1/2) * 18^(1/3) * ((9392211 + 245 * 1239703701^(1/2))^2)^(1/3) + 125724 * ((4860 * (112706532 + 2940 * 1239703701^(1/2))^(1/3) - 6 * (112706532 + 2940 * 1239703701^(1/2))^(2/3) - 754344) / (112706532 + 2940 * 1239703701^(1/2))^(1/3))^(1/2) + 3528 * (112706532 + 2940 * 1239703701^(1/2))^(1/3)) * 6^(1/2) * ((112706532 + 2940 * 1239703701^(1/2))^(1/3) / (810 * (112706532 + 2940 * 1239703701^(1/2))^(1/3) - (112706532 + 2940 * 1239703701^(1/2))^(2/3) - 125724))^(1/2) * 18^(1/3) * ((9392211 + 245 * 1239703701^(1/2))^2)^(1/3) / (9392211 + 245 * 1239703701^(1/2))
Would your work seriously be affected if all those 112706532 where 112706533 instead? (That would make a difference in the 6th decimal place.)

サインインしてコメントする。


Roger Stafford
Roger Stafford 2013 年 9 月 3 日
It is useful to know how to solve such equations by hand rather than always depending on matlab. The trick is to eliminate either the x1^2 term or the x2^2 term by combining the equations appropriately. If we double the second equation and then add the equations, we get
5*x1^2-4*x1+x2 = 43
which can be solved for x2
x2 = -5*x1^2+4*x1+43
You can then substitute this value of x2 into either one of the original equations and get a fourth degree polynomial equation in x1. The four roots of this can be obtained with matlab's 'roots' program (we need matlab after all) and then corresponding values of x2 from these with the above equation.
  7 件のコメント
rob
rob 2013 年 9 月 4 日
I dont understand exactly I think lineair dependence is solvable like a +b +c =3 2a +2b - c =5 -a +b -3c = 9
but i was investigating only where the a b and c have a quadratic So a thousend by a thousend has a thousend unkowns of a and a^2 for all i know this is unsolvable and only in fsolve with numerical math.
Walter Roberson
Walter Roberson 2013 年 9 月 4 日
編集済み: Walter Roberson 2013 年 9 月 4 日
Suppose you had
a = b^2 + d
b = c^2
c = d^2
then a = d^8 + d, and that has no closed-form solution for d in terms of a. Therefore the generalized 3 x 3 or larger is not always resolvable to algebraic solutions. However, if the forms of the equations are constrained, so that one was not working with the generalized form, then it might be possible to find algebraic solutions; that would vary with the exact constraints.

サインインしてコメントする。


Edwin
Edwin 2022 年 9 月 17 日
solve('6/(1-x^2) =5/(1+x) - 3/(1-x)')
Check for incorrect argument data type or missing argument in call to function 'solve'.
  1 件のコメント
Walter Roberson
Walter Roberson 2022 年 9 月 17 日
syms x
solve(6/(1-x^2) == 5/(1+x) - 3/(1-x))
ans = 
Historically, solve() used to support character vectors like you show, but that changed around R2017b or so.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLinear Least Squares についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by