2016-09-01 41 views
1

Mathematicaは積分が肯定的か否定的かを私に教えてほしい。私は 'Refine'コマンドを使ってこれをやろうとしています。私が望んでいた結果を得ていなかったので、私は以下に私の仮定を簡素化:Mathematica:解くことができない積分で 'Refine'を使う

Clear[part1a, M, l, phi]; 
part1a = Integrate[D[M[q,P,k,phi,w,L,t,f,l,s,r,y,b,h,c],l], {phi, 1.5, Infinity}] 
Refine[part1a<0, {part1a<0}] 

関数M [Q、P、K、PHI、L、W、T、F、L、S、R 、y、b、h、c]が指定されていない場合、どちらもphiの値ではありません。私はMathematicaがこれが正しかったかどうか、それが前提であるかどうかを私に教えてくれない時に驚いた。

これはなぜでしょうか?このような積分を使って絞り込みを行う方法はありますか?より適切な別のコマンドがありますか?最終的に私は元々の仮定のリストを使いたいと思いますが、まずRefine [part1a < 0、{part1a < 0}がうまくいかない理由を理解する必要があるようです。

あなたはクリアpart1aと同じプロセスを行うと、それだけで正常に動作します:

Clear[part1a]; 
Refine[part1a<0, {part1a<0}] 

あなたは

Out= True 

答えて

0

を取得します私はあなたの本当の問題は未評価の積分はの一部として表示されていることであると仮定より大きい表現..(そうでなければ、それほど些細なことではない)。別のトリックは、最初のシンボルを使用して式を置き換えることです

Simplify[ part1a < 0, Assumptions -> {part1a < 0}] 

Simplify作品ということとにかく最初のノート

Refine[ (part1a /. part1a -> int) < 0, {int < 0}] 

+0

返事ありがとうございます。残念ながら、Simplify []を使用してもTrueまたはFalseが返されませんでした。関数をシンボルで置き換えることはできますが、実際の仮定のリストに戻すことはできません。 – cet

+0

簡略化を完了した後、シンボルを元の式に「置き換える」だけです。 – agentp

+0

ああ、これは私の問題を解決します。どうもありがとうございます!! – cet

関連する問題