用mathematica解决微分方程
mathematica基础——解方程和微分方程(组) -
在解决微分方程后,您可能会遇到一些特殊情况,如无解或解法不可用的情况。Mathematica会以两种方式提示您:一种是直接显示输入的方程,另一种是明确表示无法解决该问题。解决微分方程的关键在于正确使用语法和理解各种函数的用途。Mathematica提供了多种解微分方程的方法,包括使用DSolve、DSolve[{eqn1,eqn2,还有呢?
解决常微分问题,命令是DSolve,举个例子:y ' = x 命令为:DSolve[y'[x] == x, y'[x], x] 按shift + enter 运行.结果为:{{y[x] -> x^2/2 + C[1]}}.可以照着这个例子解决自己需要的问题,按F1 可以按出帮助菜单,输入DSolve 搜索,可以看到更多例子,了解该命令的更多细节。
在解决微分方程后,您可能会遇到一些特殊情况,如无解或解法不可用的情况。Mathematica会以两种方式提示您:一种是直接显示输入的方程,另一种是明确表示无法解决该问题。解决微分方程的关键在于正确使用语法和理解各种函数的用途。Mathematica提供了多种解微分方程的方法,包括使用DSolve、DSolve[{eqn1,eqn2,还有呢?
解决常微分问题,命令是DSolve,举个例子:y ' = x 命令为:DSolve[y'[x] == x, y'[x], x] 按shift + enter 运行.结果为:{{y[x] -> x^2/2 + C[1]}}.可以照着这个例子解决自己需要的问题,按F1 可以按出帮助菜单,输入DSolve 搜索,可以看到更多例子,了解该命令的更多细节。
第一,求解微分定解问题是视问题不同是需要初始条件和边界条件的,你的这个,我试了下,补充两个初始条件的话即可解,当然可能还有其他可用的初始条件,你可以自己试试。第二,ParametricPlot这里,你在第一点之后,可以单独执行下y[t]/.solution试试,你会发现这样得到的是个列表。疑似参数绘图并不能这到此结束了?。
解方程:s = NDSolve[{y''[x] + Sin[x]^2 y'[x] + y[x] == Cos[x]^2, y[0] == 1, y'[0] == 0}, y, {x, -10, 10}]绘图:Plot[Evaluate[y[x] /. s], {x, -5, 5}, PlotRange -> All]
为什么Mathematica解微分方程有时会报错? -
如果重启了就正常了,那八成是你对某些参数赋了值没清空。仔细观察你的变量的颜色,如果某些本该是蓝色的变量显示为了黑色,那么,就要把它清掉。一个例子:x = 1;DSolve[{y'[x] == x, y[0] == 1}, y[x], {x}]Clear[x]DSolve[{y'[x] == x, y[0] == 1}, y[x], {x}]
的微分方程或方程组eqns,x为变量.DSolve [eqns,y,x],在纯函数的形式下求解NDSolve [eqns,y[x],{x,xmin,xmax}],求解常微分方程的数值解例如:解微分方程y ' (x)= ay(x) .In[1]:= DSolve[y’x] = =a y[x],y[x],x]Out[1]= }} Mathematica帮助里都有的,写得很详细还有呢?
请教在Mathematica 如何进行微分方程求解? -
{y -> Function[{x}, E^x C[1]]} E^x C[1]这里因为没有给初始条件,输出中含有未定常数C[1]。如果定了初始条件,比方说输入:sol = First[DSolve[{y'[x] - y[x] == 0, y[0] == 3}, y, x]]y[x_] = y[x] /. sol 输出:y -> Function[{x}, 3 E^x]} 3 说完了。
DSolve[eqn,y[x],x] 求解微分方程函数y[x]DSolve[eqn,y,x] 求解微分方程函数y DSolve[{eqn1,eqn2,…,{y1,y2,…},x] 求解微分方程组,
求mathematica解微分方程,为啥我解不出来? -
单独一个等号=在Mathematica(以及别的一些编程语言)里只是表示赋值,不表示相等。表示相等的要用==。改成下面这样就能解出来了。DSolve[y'[t] == -y[t]*1/ 50 E^(-5 t \[CapitalOmega]) (-11 + 10 E^((9 t \[CapitalOmega])/2) + E^(5 t \[CapitalOmega])) \[CapitalOmega]后面会介绍。
1 你的代码里混了中文标点。2 你的方程是热传导方程,它的解析解一般是级数解。Mathematica截止目前,是不用级数来表示方程的解的。(软件的这种处理方法可能和级数的收敛判定困难有关——Mathematica是个非常严谨的数学软件。)所以DSolve无法求解你的方程。3 退一步讲,即使你想补上a的具体数值,使用还有呢?