mathematica求微分方程组数值解
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 00:40:51
4^3=6476^(1/3)=(64+12)^3=4(1+3/16)^(1/3)设f(x)=x^(1/3)f'(x)=(1/3)/x^(2/3)f(76)=f(64+12)=f(64)+△y≈4+dy
你有可能是在修改的过程中,不小心重复使用或改动了某个全局变量,最后导致结果出现异常.我用你写的算法(没有修改),跑出来的就是你想要的结果.建议你下次在nb写好以后保存,然后完全退出Mathematic
……仔细一看,你写的是Dsolve啊喂,应该是DSolve,Mathematica是区分大小写的,边界条件里的中括号也错成小括号了.改完了再试试.再问:改好了,能解。但是解到后来就变成如图这种情况了&
data={{0.25,15.},{0.5,32.},{0.75,38.},{1.,41.},{1.5,41.},{2.,40.},{2.5,35.},{3.,35.},{4.,25.},{5.,20
可以使用Assumptions,Assuming和$Assumptions来给出参数的假设条件.例:Integrate[2*b*√(1-x^2/a^2),{x,-b,h-b},Assumptions-
当t>=0或t不是实数时,可以得到前面的结果.
格式上的错误是,大括号有一对就可以了,不需要把初始条件和微分方程分割开来.然后,即使改了也是解不了的……要不是这个没有解析解,要不就是mathematica还不会解这个方程的解析解.(mathemat
f(x)≈f(x0)+f'(x0)(x-x0)=>当x绝对值很小时(1+x)^(1/n)≈1+x/n设函数f(x)=x^(-5),x0=1024,x=1010,x-x0=-12;f(1010)=f(1
eqns={x'[t]+y[t]==Cos[t],y'[t]==-x[t]+Sin[t]};sol=DSolve[eqns,{x,y},t]
/.斜杠点,表示规则替换的意思,a+x+y/.x->y就是把前面a+x+y中的x替换成y,就跟你做代数题的时候,把这个变量代入那个方程一样,这个是mathematica特有的功能,可以帮你完成很多推导
首先,是NDSolve而不是NDsolve,Mathematica是区分大小写的.其次……其实你看看警告信息就该明白的——方程过定了,也就是,你给的方程数目过多了(两个未知数你给了三个方程),试着去掉
好像没有.你可以转写成y',y''型的再用NSolve.当然,也可以用函数D表示导数(包括偏导数),我想dy,dx形式的转写成用函数D表示要比转写成y',y''型方便.函数D可以在帮助查到.
你之前错将x[0]==x0写成过x[0]=x0吧.这导致了变量赋值.先执行一下Clear[x]再执行你的代码.
这样行不行再问:果然是大神啊!!请问,一个=和两个==有什么不同呢,之前没用过mathematica,一直用matlab,但是这次要求解析解,所以第一次尝试,很多语法都不太懂,谢谢啦~~
这样?:N[Solve[x-3xE^x+1==0,x,Reals],7]
把参数1的函数形式作用到参数2的列表的每一个第一层的元素上,建议多用F1看自带帮助,那才是最好的教材
DSolve对偏微分方程的求解力是比较有限的.当然终究还是要实际尝试.如果解不出来就用NDSolve吧.
是求逐差吧^_^#1[[2 ;; Length[#1]]] - #1[[1 ;; Length[#1] - 1]]&nb
发给你了,请注意查收
绘制由NDSolve求出的微分方程数值解曲线的命令Plot[Evaluate[y[x]/.solution],{x,a,b}]具体如:Plot[Evaluate[y[x]/.NDSolve[{y'[x