質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

2401閲覧

複雑な方程式を解くのに向くプログラミング言語

calphad

総合スコア10

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/04/11 02:16

前提・実現したいこと

下記の方程式を解きたい

ここに質問の内容を詳しく書いてください。
プログラミング初心者です.
研究の過程で複雑な方程式を複数解く必要があるためpythonをはじめましたが,計算に時間がかかりすぎて?解けません.
下記の方程式を解くために必要なコード?もしくはプログラミング言語を教えてください.

■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

エラーメッセージ

Last login: Thu Apr 11 10:59:24 on ttys000
Kenta:~ kenta$ cd sample
Kenta:sample kenta$ python3 calc.py

該当のソースコード

import sympy

x_LAVNB = sympy.var('x_LAVNB') #LAVES中のNB濃度
y_1NB = sympy.var('y_1NB') #LAVES相中の第一格子のサイトフラクション

f_y_1NB = -(-5947.6102436y_1NB + 5947.6102436)/(-y_1NB + 1)2 - 4(-8921.4153654x_LAVNB - 5947.6102436y_1NB + 2973.8051218)/(-3x_LAVNB - 2y_1NB + 1)**2 - 786616.046190204 + 50762.3424sympy.log(1073) + 23790.4409744/(-3x_LAVNB - 2y_1NB + 1) + 11895.2204872/(-y_1NB + 1) + 23790.4409744/(3x_LAVNB - 2y_1NB) - 4(8921.4153654x_LAVNB - 5947.6102436y_1NB)/(3x_LAVNB - 2y_1NB)**2 + 5947.6102436/y_1NB

print(sympy.solve(f_y_1NB, y_1NB))

ソースコード

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tiitoi

2019/04/11 02:33

> 複雑な方程式を複数解く必要があるため 解析解が必要なのでしょうか? sympy は解析解を求めるためのライブラリなので、数値解でよいのであれば、numpy を使えば高速に計算できます。
calphad

2019/04/11 02:46

ありがとうございます. 解析解が無理なら数値解でも構いません.その場合numpyが有効なんですね. 実践してみます.助かりました.
tiitoi

2019/04/11 03:04

数値解の場合、方程式が1本しかないので、2変数のうち、1変数は実際に値を入れないと解けませんね。 1変数の方程式になれば、あとは f=0 となる点を探す問題なので、scipy の optimize.fsolve などで解けます。(複数解がある場合はそのうちの1つだけしか見つけられないかもしれせんが) https://www.monte-carlo-note.com/2017/04/How-to-solve-equation-with-python.html
calphad

2019/04/11 03:42

なるほど,変数があると実際の空間に点が打てないんですね. 情報提供感謝します.scipyのoptimizeについて調べてみます. ありがとうございます.
guest

回答1

0

f_y_1NBの中に5947.6102436/y_1NBが含まれています。
solveはy_1NBが0のときの解を求めようとするはずなので、0割になるような...?

投稿2019/04/30 20:15

otolab

総合スコア765

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問