微分方程的数值解 Mathematic
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/13 07:44:16
(C+2*x+C*x*atan(x))/(C*x+C*atan(x)+2*x^2+C*x^2*atan(x)+2)
dsolve('x^2*D2y+4*x*Dy+2*y=0','y(1)=2','Dy(1)=-3','x') ans 
结果:代码:clearallclcf=@(x,y)([y(2); 0.357*y(1)-0.1905*y(1)*y(2)]);[x,Y]=ode45(f,[0100]
请参考ode45函数的用法将所求值设为终值即可
二位差值倒很好办,可是要得到具体的函数是啥因为过于复杂,写出来也很难看.你还是弄个函数,给定具体值然后求出特定点的值关于二维插值,高版本matlab里面有.自己写也非常简单的没有的话问我要吧
初值不够呀,应该有四个,题目能不能贴出来?
……一定要用matlab吗,只会mathematica的路过.而且啊,你一面说要求方程的数值解,一面又只给一个全是字母系数的方程,你是要怎样……再问:呃,abcdef都是常量,可以随便假定的,就赋1、
function[x,y]=Classical_RK4(odefun,xspan,y0,h,varargin)x=xspan(1):h:xspan(2);y(1)=y0;fork=1:length(x
ode中的1是你给的初值即t=-1时候的值,而不是当t=0的时候的值
你这个属于边值问题.得用打靶算法.如果想简单,你令一个变量为x=y-2001,就变成正常的微分方程.
这个方程可以求符号解啊,虽然答案里用到了特殊函数,但是稍微带入下具体数值求个数值解也是可以的:eqn=r'[t]^2==cr[t]^2+2k^2r[t]-h^2/r[t];DSolve[eqn,r[t
y=dsolve('x*(D2y)+(1-2)*(Dy)+y=0','y(0)=0','Dy(0)=0','x')y=C6*x*besselj(2,2*x^(1/2))
首先建立vdp1.m文件functiondx=vdp1(t,x)dx=zeros(2,1);dx(1)=x(2);dx(2)=(10000*x+(96.321*exp(-t/378.47108)+28
trapz函数可以对只知道离散数值的函数做积分,示意:trapz(ts,ys);
这个方程最简单的方法是用shootingmethod.可wiki之.主要就假设一个y(a1),然后看,y'(a2)是否等于b2.可以用matlab写两个小函数,一个用在ode45(fun1),然后y(
设u=积分(0~x)ydx,那么原来方程就是u''=-0.04u'^2-sin(u)+0,44u''(0)=0,u'=3,u(0)=0(积分上下界都为0)再问:����������룬��ʤ�м����
改动:functionS=history(t)S=ones(3,1);改为S=ones(4,1);OVER!PS.多翻翻help!
这不是一个问题吧再问:解微分方程得出解就是一个矩阵,对解的操作就是对矩阵的处理对么?那ode45的解咋看?我自己解x,y的二阶微分方程组,发现有4列数据,如何确定x,y,求教学啊。再答:二阶微分方程组
这问题,好汗啊.楼主,能问问你问这问题的目的么?我自己是学统计的,本科数学,也学过numericalanalysisforPDE.不过我没想过他们有什么关系.
NDSolve里的语法错了,是{t,0,10}而不是{t,10};另外对于常微分方程,所需的边界条件数目,为它的最高阶导数的阶数,并且边界的导数阶数要小于方程的阶数.也就是说你这里的条件多了一个,把那