用matlab求解微分方程组的数值解,原题是这样的,y''-y-x=0,初值是y(0)=0,y'(0)=1,要求用欧拉法求解数值解
问题描述:
用matlab求解微分方程组的数值解,原题是这样的,y''-y-x=0,初值是y(0)=0,y'(0)=1,要求用欧拉法求解数值解
原题是这样的,y''-y-x=0,初值是y(0)=0,y'(0)=1,要求用欧拉法求解数值解
,步长h=0.1,在[0,0.5]上
答
可以提供两种方法:1:迭代法,通过自变量步长推进求解,有一定的算法.2:MATLAB符号运算的自带函数dsolve,可以求出解符号表达式,用自变量的域代替就行了.y=dsolve('D2y-3*Dy=x^2','Dy(0)=1','y(1)=0','x');如果要求-...欧拉法求解欧拉法就是差分法,首先要给定定义域,然后离散定义域,给定边界条件,然后可以用显示推进或隐式迭代出每一个步长的Y值。一般可以先降阶,将二阶降到一阶。显式一班有如下形式:for i=1:ny 1= y + h*feval(f,t,y); % evaluate slope= feval(f,t,y);t = t + h;tF(i+1,:) = t; % store new values in arrays tF, yFyF(i+1,:) = y.'; % Note: y values are stored as ROW of array yF end隐式有for i=1:nx=?while abs(temp-y)>0.001y=f(x)temp=yendend