蕿实验3 方程和方程组的求解蚆一、实验目的芃熟悉MATLAB中关于求解方程和方程组的各种命令,掌握利用MATLAB进行线性方程组、非线性方程、、相关知识螆在MATLAB中,由函数solve()、null()、fsolve(),fzero等来解决线性方程(组)和非线性方程(组)的求解问题,其具体格式如下:蚄X=solve(‘eqn1’,’eqn2’,…,’eqnN’,’var1’,’var2’,…,’varN’)螃X=fsolve(fun,x0,options)莁函数solve用来解符号方程、方程组,以及超越方程,’eqnN’为方程组中的第N个方程,’varN’(A)则用来解线性方程组AX=O的基础解系,实际是求系数矩阵A的零空间,在null函数中可加入参数’r’,,可以判定方程组是否有解,,,:求解方程的MATLAB程序为:X=solve(‘x^2-x-6=0’,’x’)羆结果为:X=3,-2蒆羂例2:求解方程组的程序为:袈肆[X,Y]=solve('x^2+y-6=0','y^2+x-6=0','x','y')袆结果为:X=2,-3,1/2-1/2*21^(1/2),1/2+1/2*21^(1/2)莀 Y=2,-3,1/2+1/2*21^(1/2),1/2-1/2*21^(1/2)羁肆肃例3:求解方程组 的程序为:膂蚀clear膆formatrat蒄A=[5,0,4,2;1,-1,2,1;4,1,2,0;1,1,1,1]袄B=[3;1;1;0]葿X=A\:求方程组的通解的程序为:芆clear羄formatrat芁A=[1,2,2,1;2,1,-2,-2;1,-1,-4,-3]蒅C=null(A,'r')%:C=蒂 25/3肀-2-4/3薅 10螄 01膃接着,用命令:衿symsk1k2衿X=k1*C(:,1)+k2*C(:,2)膅求出的通解为:X=蚁[2*k1+5/3*k2]袁[-2*k1-4/3*k2]罿[k1]薅[k2]莃蚀聿例5:求方程组的通解的程序为:羆clear螁formatrat荿A=sym('[1,2,2,1;2,1,-2,-2;1,-1,-4,-3]')腿b=sym('[1;2;2]')膃B=[A,b]薃n=length(A(1,:))膈RA=rank(eval(A))芈RB=rank(eval(B))薄if(RA==RB&RA==n)羁X=eval(A\B)%在方程组满秩时,求出唯一解膁elseif(RA==RB&RA<n)芈C=eval(A\b)%在方程组不满秩时,求出特解羅D=null(eval(A),‘r’)%求出矩阵A的零空间的基,即方程组的基础解系蚃symsk1k2羀X=k1*D(:,1)+k2*D(:,2)+C%求出方程组的全部解莈else莆fprintf('NoSolutionfortheEquations')——函数fsolve蒈薈例6:求
实验方程和方程组的求解 来自淘豆网www.taodocs.com转载请标明出处.