资源描述:
《实验2利用matlab解非线性.微分方程组.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验2利用matlab解(非)线性、微分方程(组)一、实验目的1、线性方程组的解法:直接求解法和迭代法;2、非线性方程以及非线性方程组的求解;3、微分方程的数值解。二、实验内容1、对于下列线性方程组:(1)请用直接法求解;>>x=ABx=2.12950.9712-0.3885(2)请用LU分解方法求解;>>A=[2,9,0;3,4,11;3,2,6];>>B=[13;6;6];[L,U]=lu(A);>>x=U(LB)x=2.12950.9712-0.3885(3)请用QR分解方法求解;>>A=[2,9,0;3,4,11;3,
2、2,6];>>B=[13;6;6];>>[Q,R]=qr(A);>>x=R(QB)x=2.12950.9712-0.3885(1)请用Cholesky分解方法求解。R=chol(A)???Errorusing==>cholMatrixmustbepositivedefinite2、设迭代精度为10-6,分别用Jacobi迭代法、Gauss-Serdel迭代法求解下列线性方程组,并比较此两种迭代法的收敛速度。A=[10,-1,0;-1,10,-2;0,-2,10];B=[9;7;5];[X,n]=jacobi(A,B,[0,0,0
3、]',1.0e-6)X=0.99370.93680.6874n=11[x,n]=gauseidel(A,B,[0,0,0]',1.0e-6)x=0.99370.93680.6874n=73、求解非线性方程在2附近的根。functionfx=funx(x)fx=x+x*exp(-x)-10Z=fZ=9.9995zero('funx',2)4、求下列非线性方程组在(0.5,0.5)附近的数值解。functionq=myfun(x)q(1)=cos(x(1))+x(2)*exp(x(1))-2;q(2)=sin(x(2))+x(1)*ex
4、p(x(2))-2;x=fsolve('myfun',[0.5,0.5]',optimset('Display','off'))x=0.80870.58335、通过画图方法描述某非刚性体的运动方程的微分方程,其初始条件为。functiondy=rigid(t,y)dy=zeros(3,1);dy(1)=y(2)*y(3);dy(2)=-y(1)*y(3);dy(3)=-0.51*y(1)*y(2);[t,y]=ode45('rigid',[0;12],[0,1,1])plot(t,y(:,1),'-',t,y(:,2),'*',t,
5、y(:,3),'+')6、求二阶微分方程,,在时的数值图解。functiondx=ff(t,x)dx=[x(2);-t*x(2)+x(1)*exp(t)+3*sin(2*t)];x0=[0.8;0];[t,x]=ode45('ff',[0,2],x0);>>y=x(:,1);dy=x(:,2);plot(t,y,t,dy)