Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
集成以查找python中ODE的未知数_Python_Ode_Differential Equations - Fatal编程技术网

集成以查找python中ODE的未知数

集成以查找python中ODE的未知数,python,ode,differential-equations,Python,Ode,Differential Equations,我是python spyder的新手,正在从事一个项目,解决一些未知问题 我得到的信息是 y1(0)=0 y2(0)=1 dy1/dx=y2 dy2/dx=-y1 我想找到y1和y2,它们是 y1=sin y2=用数学方法求解的cos 如果你有答案,请描述你为什么选择你所选择的方法。。。我真的试图从整体上掌握编程 你所说的数学是什么意思? 数值求解非常简单 import numpy as np import matplotlib.pyplot as plt dt = 0.001 y1 =

我是python spyder的新手,正在从事一个项目,解决一些未知问题

我得到的信息是

y1(0)=0

y2(0)=1

dy1/dx=y2

dy2/dx=-y1

我想找到y1和y2,它们是

y1=sin

y2=用数学方法求解的cos


如果你有答案,请描述你为什么选择你所选择的方法。。。我真的试图从整体上掌握编程

你所说的数学是什么意思? 数值求解非常简单

import numpy as np
import matplotlib.pyplot as plt



dt = 0.001
y1 = [0]
y2 =[1]
tlist=[0]
for t in range(10000):
    nexty1 = y2[t]*dt + y1[t]
    nexty2 = -y1[t] * dt + y2[t]
    y1.append(nexty1)
    y2.append(nexty2)
    tlist.append((t+1)*dt)
tlist=np.array(tlist)
y1 = np.array(y1)
y2 = np.array(y2)
fig = plt.figure()
ax1 = fig.add_subplot(211)
ax1.plot(tlist,y1)
ax2 = fig.add_subplot(212)
ax2.plot(tlist,y2)
ax1.set_title('y1')
ax2.set_title('y2')

难道不是
dy1(t)/dt=y2(t)
dy2(t)/dt=-y1
y1=sin
y2=cos
?我建议对这个问题进行编辑,但如果不是这些,请随时恢复编辑。编程是实现您想要的东西的工具。你必须首先明白那是什么。您似乎被告知要使用ode,它是用于数值积分的。用数学方法解一个微分方程是没有意义的,而在这里解一些未知数似乎没有意义。你到底想要实现什么?你看过ode的文档了吗?基本上,我的教授一直给我项目,告诉我“学习并理解python”,但我不知道我在做什么。。。我真的不明白任何程序背后的逻辑,我正在尝试。。。他给出的问题写在上面,他希望我像您一样使用python打印初始函数y1和y2。。。有没有什么方法可以解释你是如何知道要做什么的,而不需要任何信息?好吧,编写任何程序的第一部分就是要知道你想做什么。我知道如何在原则上数值求解常微分方程(例如)。这是迄今为止最重要的(也是第一步)。当我有更复杂的问题要解决时,我常常在编写一个单词之前,在纸上写下我需要做的步骤列表。如果你不能为你的求解方法编写一个简化的一步一步的算法,你需要先弄清楚这一点。如果你不懂python或ODE,为什么要设置这个?因为这是我的教授希望我简单理解的东西,我从数学上理解微分方程。。我知道如何用那种方式解决它们。。。但是通过代码或你所能做的事情来解决它们。。。不一定是我的专业知识…我不知道你从哪里得到了数字211和212…?数字211和212是matplotlib api,用于在一个图形中创建两个绘图。因此,我指定一个2行1列的绘图,并选择第二个数字的绘图。我建议你花一个周末的时间学习一下numpy或vanilla python中的一些基本python教程,google会有很多资源。