2016-05-31 23 views
1

私はMaximaを使用していくつかの基本的な物理問題を解決しようとしていますが、問題が発生しています。Maximaで物理的な問題を象徴的に解決する

T2の解決策として)600を生成するコードを作成しますが、空のリスト([])を返します。

solve([ 
    (P1*V1)/T1 = (P2*V2)/T2, 
    V1 = V2, 
    P1 = 100000, 
    T1 = 300, 
    P2 = 200000 
    ], [T2]); 

私は何が欠けていますか? (これに似た他の多くの問題も試みましたが、すべて失敗するようです。)

私はこの特定の数値を数値的に解くことができることを知っていますが、答えは正確でありたいと思います。このような問題解決することができ:(。ソリューションは(T1*P2)/P1する必要があります)

solve([ 
    (P1*V1)/T1 = (P2*V2)/T2, 
    V1 = V2 
    ], [T2]); 

答えて

2

それについて移動するには、いくつかの異なる方法があります。 (1)まずは式に値を代入し、式を解いてみましょう:

(%i1) eqn : (P1*V1)/T1 = (P2*V2)/T2 $ 
(%i2) myvalues : [V1 = V2,P1 = 100000,T1 = 300,P2 = 200000] $ 

(%i3) subst (myvalues, eqn); 
           1000 V2 200000 V2 
(%o3)       ------- = --------- 
           3   T2 
(%i4) solve (%, T2); 
(%o4)        [T2 = 600] 

(2)一般的に方程式を解いて解に代入します。

(%i5) solve (eqn, T2); 
             P2 T1 V2 
(%o5)       [T2 = --------] 
             P1 V1 
(%i6) subst (myvalues, %); 
(%o6)        [T2 = 600] 

(3)変数を一時的に変数に代入して式を解く。

(%i7) ev (solve (eqn, T2), myvalues); 
(%o7)        [T2 = 600] 

または、同等に(この製剤は、かなり頻繁に見られます):

(%i8) solve (eqn, T2), V1 = V2,P1 = 100000,T1 = 300,P2 = 200000; 
(%o8)        [T2 = 600] 

(2)おそらくそれについて移動するための最も一般的な方法です。 (1)と(3)は、変数がすでに時間が割り当てられた値を持っているという意味で多かれ少なかれ同等である。solveは方程式を見る。それはしばしばsolveが方程式を解決しやすくすることができます。

solveに加えて、方程式を解くにはto_poly_solveをご覧ください。 (解決に十分な "ダミー" 変数)を含め、そのままロバートDodierの答えを追加し、醜い

+0

ありがとう、私はあなたがより詳細に提案した関数を見ていきます。方程式として値を取るようには設計されていませんでした。 – kuruczgyurci

0

も動作します:

(%i2) solve([(P1*V1)/T1 = (P2*V2)/T2, V1 = V2, P1 = 100000, T1 = 300, P2 = 200000], [T2, P1, T1, P2, V1]); 
(%o2) [[T2 = 600, P1 = 100000, T1 = 300, P2 = 200000, V1 = V2]] 

(%i4) solve([(P1*V1)/T1 = (P2*V2)/T2, V1 = V2], [T2, V1]); 
            P2 T1 
(%o4)      [[T2 = -----, V1 = V2]] 
            P1 

を確かにロバートDodierさんが優れています、これには何らかの欠点があるかどうかはわかりません。

+0

ありがとうございます。これは本当に面白いです。このように '解決する 'ことが何らかの理由でありますか? – kuruczgyurci

+0

@ kuruczgyurci、分かりません。しかし、私は、手動入力では 'solve(,)'、 'solve()'、 'solve([、...、]、[、.. 。、]) '。第2の形式は、に変数が1つだけ含まれている場合、 "を省略することができる"場合の第1の形式です。つまり、すべてのケースで、数式には数多くの変数があります。マニュアルはそのようなステートメントを作っていない(私は思う)が、ヘッダーはその必要性を暗示している。また、私が思い出すことのできる例もあります - あなたは非常に素晴らしい[Maxima by Example](http://web.csulb.edu/~woollett/)ページを見てみてください –

関連する問題