2016-09-26 11 views
1

Ich versuche, einfache Ungleichungen mit Matlab zu lösen und stecken geblieben.Lösen von Ungleichungen in Matlab

solve(x^2>0,x) 


ans = 
-1 
1 

solve(x^2>5,x) 


ans = 
5^(1/2)+1 
-5^(1/2)-1 

was völlig falsch ist. Was ist das Problem? Meine Matlab Version ist R2014b.

Antwort

0

Wenn Sie eine Gleichung sind zu lösen, zum Beispiel x^2 == 1, dann suchen Sie nach bestimmten Punkte, das heißt die Punkte x=1 und x=-1. Zum Glück gibt MATLAB genau das zurück:

>> syms x 
>> solve(x^2 == 1, x) 
ans = 
-1 
    1 

Jetzt suchen Sie nach Lösungen für eine Ungleichheit. Sie wollen wirklich nicht alle Punkte finden, für die die Ungleichheit gilt, da dies in Ihrem Fall unendlich viele sind. In Bezug auf solve in der Dokumentation angegeben, die 'ReturnConditions' Flagge wird die Bedingungen, unter denen die (Un-) Gleichheit gilt machen solve zurückzukehren.

>> syms x 
>> S = solve(x^2>0,x, 'ReturnConditions', true) 
>> S.conditions 
ans = 
x < 0 
0 < x 

oder für das zweite Beispiel

>> syms x 
>> S = solve(x^2 > 5, x,'ReturnConditions',true) 
>> S.conditions 
ans = 
    5^(1/2) < x 
x < -5^(1/2) 
Verwandte Themen