私はRunge-Kutta methodの4次を使って1次微分方程式をシミュレートしようとしていますが、それをプロットする際に問題があります。matplotlibを使ってPythonでプロットする?
#simulation of ode using 4th order rk method dy/dx=-2y+1.3e^-x,y(0)=5,h=0.01 from sympy import*
import math
import numpy as np
import matplotlib.pyplot as plt
h=0.01;
ti=0;
x=0;
n=0;
y=5;
def f(x,y):
return 1.3*math.exp(-x)-2*y
while x < 10:
k1=f(x,5);
k2=f(x+h/2,y+(h/2)* k1);
k3=f(x+h/2,y+(h/2)* k2);
k4=f(x+h,y+h*k3);
y=y+h/6*(k1+2*(k2+k3)+k4);
x=x+h;
plt.plot(x,y);
は、私は問題が原因のx、yの値たびにループの実行を更新するのであることを知っているが、誰かが(x、y)の全ての値をプロットする方法を説明できますか?
リスト(またはプロットによって2つのリスト)に(x、y)値を集めようとします。次に、データリストを1回プロットします。 – mhoff
私は@MichaelHoffを試してみましょう – Boris
たとえば、[このチュートリアル](https://bespokeblog.wordpress.com/2011/07/07/basic-data-plotting-with-matplotlib-part-2-lines-points-formatting) /)は、 'matplotlib.plot'と一緒にデータポイントを使用する方法を示しています。 – mhoff