资源描述:
《第8章 MATLAB方程数值求解_习题答案.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第8章MATLAB方程数值求解习题8一、选择题1.下列方法中与线性方程组求解无关的是()。CA.左除B.矩阵求逆C.矩阵转置D.矩阵分解2.对于系数矩阵A的阶数很大,且零元素较多的大型稀疏矩阵线性方程组,非常适合采用()求解。BA.直接法B.迭代法C.矩阵求逆D.左除3.已知函数文件fx.m:functionf=fx(x)f=2*x.^2+5*x-1;则求f(x)=2x2+5x-1=0在x0=-2附近根的命令是()。DA.z=fzero(fx,0.5)B.z=fzero(@fx,0.5)C.z=fzero(fx,-2);D.z=fze
2、ro(@fx,-2);4.已知:fx=@(x)2*x.^2+5*x-1;则求f(x)=2x2+5x-1=0在x0=-2附近根的命令是()。CA.z=fzero(fx,0.5)B.z=fzero(@fx,0.5)C.z=fzero(fx,-2);D.z=fzero(@fx,-2);5.下列选项中不能用于求常微分方程数值解的函数是()。AA.ode10B.ode23C.ode45D.ode113二、填空题1.线性方程组的求解方法可以分为两类,一类是,另一类是。前者是在没有舍入误差的情况下,通过有限步的初等运算来求得方程组的解;后者是先给定
3、一个解的,然后按照一定的算法不断用变量的旧值递推出新的值。直接法,迭代法,初始值2.MATLAB用函数来求单变量非线性方程的根。对于非线性方程组,则用函数求其数值解。fzero,fsolve3.用数值方法求解常微分方程的初值问题,一般都是用系列函数,包括ode23、ode45等函数,各有不同的适用场合。ode4.ode23、ode45等函数是针对一阶常微分方程组的,对于高阶常微分方程,需先将它转化为一阶常微分方程组,即。状态方程三、应用题31.分别用矩阵除法以及矩阵分解求线性方程组的解。(1):矩阵除法:A=[2,3,5;3,7,4;
4、1,-7,1];B=[10,3,5];%B是行向量x=AB'%将B变成列向量矩阵分解:A=[2,3,5;3,7,4;1,-7,1];B=[10,3,5];%B是行向量[L,U]=lu(A);x=U(LB')(2):和上面的程序一样。2.求下列方程的根。(1)在x0=0.5附近的根。(2)在x0=1.5附近的根。(1):先建立函数文件:functionf=xt6_11_1(x)f=x-sin(x)/x;再输入程序:fzero('xt6_11_1',0.5)(2):先建立函数文件:functionf=xt6_11_2(x)f=((s
5、in(x))^2)*exp(-0.1*x)-0.5*abs(x);再输入程序:fzero('xt6_11_2',1.5)3.求非线性方程组在(0.5,0.5)附近的数值解。3先建立函数文件:functionF=xt6_12(X)x=X(1);y=X(2);F(1)=x-0.6*sin(x)-0.3*cos(y);F(2)=y-0.6*cos(x)+0.3*sin(y);再输入程序:x=fsolve('xt6_12',[0.5,0.5],optimset('Display','off'))4.求常微分方程的数值解。5.洛伦兹(Loren
6、z)模型的状态方程表示为:取σ=10,ρ=28,β=8/3,且初值为x1(0)=x2(0)=0,x3(0)=ε,ε为一个小常数,假设ε=10-10,求解该微分方程,并绘制出时间响应曲线与相平面曲线。(1)建立Lorenz模型的函数文件lorenz.m。functionxdot=lorenz(t,x)xdot=[-8/3,0,x(2);0,-10,10;-x(2),28,-1]*x;(2)解微分方程组。>>x0=[0,0,eps]';>>[t,x]=ode23(@lorenz,[0,100],x0);(3)绘制系统相平面图,如图所示。>
7、>plot3(x(:,1),x(:,2),x(:,3));>>axis([10,40,-20,20,-20,20]);3Lorenz模型相平面图3