2、性方程组为:Ax=b或AX=B求解命令是:x=AbX=AB2、超定方程组:对于超定方程,在MATLAB中,利用左除命令寻求它的最小二乘解,其调用格式是:x=AbA*x并不是精确的等于b,但它们的差值小于原始数据的测量误差。3、不定方程组:解不唯一,MATLAB将寻求一个基本解,其中至多只有m个非零元素。5.1.2矩阵分解MATLAB中几种常用的矩阵分解方法,相关的函数见下表:命令功能说明cholcholesky分解对称正定矩阵的分解,用于求解方程组lu矩阵LU分解将矩阵采用LU分解,直接求解线性方程组qr正交三角分解将矩阵分解为正交矩阵或
3、酉矩阵和上三角矩阵5.1.2矩阵分解Cholesky分解的函数chol的调用格式为:R=chol(X):X是对称正定矩阵,R是上三角阵(对角线为正),使得R’*R=X,若X是非正定的,将给出错误信息。[R,p]=chol(X):不会给出错误信息,若X是正定的,p等于0,R同上;若X不是正定的,则p为正整数,R是上三角矩阵,它的阶数为q=p-1,Cholesky分解允许对线性方程组A*x=b进行如下替换:R’*R*x=b由于左除算子可以处理三角矩阵,因此可以得出:x=R(R’b)一、Cholesky分解5.1.2矩阵分解二、LU分解函数lu的调
4、用格式:[L,U]=lu(A):U是上三角矩阵,L是“心理上”的下三角阵,实际上,它是下三角阵和置换矩阵的乘积,结果使得:A=L*U[L,U,P]=lu(A):L是下三角矩阵,上三角矩阵U和置换矩阵P,使得:P*A=L*ULU分解允许对线性方程A*x=b进行如下计算:x=U(Lb)LU分解或Gaussian消去法,可以将任何方阵表示为一个下三角矩阵L和上三角矩阵U的乘积,即:A=LU5.1.2矩阵分解三、正交分解正交分解或QR分解,将方阵或矩形矩阵A分解为一个正交矩阵Q和一个上三角矩阵R的乘积,即:A=QR或AP=QR函数qr的用法如下:[
5、Q,R]=qr(X):上三角矩阵R和正交矩阵Q,使得:X=Q*R(R与X同维)[Q,R,E]=qr(X):置换矩阵E,使得:X*E=Q*R[Q,R]=qr(X,0)和[Q,R,E]=qr(X,0):其中,E是一个置换向量,使得:Q*R=X(:,E)。§5.2非线性数值计算5.2.1非线性函数最小值点1、求单变量函数最小值点求单变量函数最小值点的函数是:fminbnd,其调用格式是:[x,fval,exitflag,output]=fminbnd(fun,x1,x2,options,p1,p2,…)fun是被计算最小值点的单变量函数(目标函数)名
6、称字符串;x1、x2是目标函数自变量的取值范围;p1、p2,…是向目标函数传递的附加参数;options是一个结构类型的变量,用于指定算法的优化参数。该结构的内容用函数optimset进行定义,若没有优化参数要设置,可以在options的位置用“[]”作为占位符。5.2.1非线性函数最小值点1、求单变量函数最小值点Display:显示的层次,off不显示输出内容,iter显示每次迭代的输出,final只显示最后一次的输出;MaxFunEvals:所允许的函数的最大求值次数;MaxIter:所允许的最大迭代数;TolX:终止迭代的容差值函数fmin
7、bnd使用了结构options的四个域,它们的含义如下:[x,fval,exitflag,output]=fminbnd(fun,x1,x2,options,p1,p2,…)输出参数:x是fun的最小值点;fval是目标函数在x处的值;exitflag描述函数fminbnd退出的情况,大于0表示函数收敛到了解x,等于0表示达到了所允许的函数最大求值次数。output是一个结构变量,包含了计算的信息,它共有三个域:5.2.1非线性函数最小值点output.algorithm:使用的算法;output.funcCount:函数求值次数;output.
8、iterations:迭代次数。[x,fval,exitflag,output]=fminbnd(fun,x1,x2,options,p