数值计算 .ppt
《数值计算 .ppt》由会员分享,可在线阅读,更多相关《数值计算 .ppt(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关于数值计算关于数值计算 现在学习的是第1页,共44页主要内容主要内容5.1 线性代数5.2 函数分析5.3 数据拟合5.4 插值和样条5.5 常微分方程的数值解现在学习的是第2页,共44页5.1 线性代数线性代数 一、LU分解 1.LU分解 一个矩阵可以分解为一个上三角矩阵和一个下三角矩阵的乘积,称之为LU分解。LU分解是用高斯主元消去法实现的,通常要对主元位置进行交换,主元交换的方法是将被分解矩阵左乘一个由01构成的行交换阵。【调用格式】L,U,P=lu(X)对矩阵X进行LU分解,并进行主元交换L,U=lu(X)对矩阵X进行LU分解,无主元交换 *L通常不是下三角 【说明】X为被分解的矩阵
2、,L为主对角元素为1的下三角矩阵,U为上三角矩阵,P为行交换矩阵。现在学习的是第3页,共44页5.1 线性代数线性代数2.行列式和求逆行列式和求逆矩阵的行列式和求逆可以通过矩阵的行列式和求逆可以通过LU分解的方法求解,分解的方法求解,Matlab提供了相关函数。提供了相关函数。【调用格式调用格式】d=det(X)求矩阵求矩阵X的行列式的行列式 Y=inv(X)求矩阵求矩阵X的逆矩阵的逆矩阵现在学习的是第4页,共44页5.1 线性代数线性代数 二、特征值和特征向量二、特征值和特征向量 对于求解矩阵的特征值和特征向量,对于求解矩阵的特征值和特征向量,Matlab提供了提供了eig函数。函数。【调用
3、格式调用格式】D=eig(A)计算矩阵计算矩阵A的特征值,的特征值,d为特征值构成的向量为特征值构成的向量 V,D=eig(A)计算矩阵计算矩阵A的特征值对角阵的特征值对角阵D和特征向量矩阵和特征向量矩阵V V,D=eig(A,nobalance)当当矩阵矩阵A中有与截断误差近似中有与截断误差近似的数值,的数值,用本指令(误差为用本指令(误差为e-14数量级)数量级)现在学习的是第5页,共44页三、奇异值分解三、奇异值分解1.矩阵的奇异值分解任意矩阵A可进行奇异值分解,即存在酉矩阵U和V,使下面等式成立其中 称为矩阵的奇异值。5.1 线性代数线性代数12(,.,)TpUAVSdiag12,.,
4、p【调用格式】s=svd(A)求矩阵A的奇异值,s为由奇异值构成的向量U,S,V=svd(A)矩阵A的奇异值分解现在学习的是第6页,共44页5.1 线性代数线性代数2.矩阵结构特征的奇异值描述 矩阵的奇异值可以描述矩阵的结构特征。有关矩阵结构特征的MATLAB 函数有如下几种。r=rank(A,tol)在指定容差tol下,求矩阵A的秩。tol可以省略。Z=null(A)求矩阵A的零空间。V=orth(A)求矩阵A的值空间。n=norm(A)求矩阵A的2范数。n=norm(A,p)求矩阵A的各种范数。c=cond(X,p)求矩阵A的条件数,p可以省略。theta=subspace(A,B)求A和
5、B矩阵所张子空间的夹角。B=pinv(A,tol)在指定容差tol下,求矩阵A的广义逆,tol可以省略。现在学习的是第7页,共44页5.1 线性代数线性代数 四、线性方程组的解四、线性方程组的解形如形如 的线性方程组中的线性方程组中独立方程的个数独立方程的个数等于等于独立未知参数的个数称为恰定方程;独立未知参数的个数称为恰定方程;独立方程的个数独立方程的个数大于大于独立未知参数的个数称为超定方程;独立未知参数的个数称为超定方程;独立方程的个数独立方程的个数小于小于独立未知参数的个数称为欠定方程。独立未知参数的个数称为欠定方程。Axb46313234952310 xyzxyzxyz4631323
6、49xyzxyz46132395210 xyxyxy现在学习的是第8页,共44页5.1 线性代数线性代数1.左除运算符法左除运算符法 对于对于一般的非奇异矩阵一般的非奇异矩阵A,可以求得唯一数值解。欠定方程和超定方程,可以求得唯一数值解。欠定方程和超定方程,可以获得最小二乘解。可以获得最小二乘解。x=Ab 2.广义逆法广义逆法如果用左除运算符求解的时候出现提示矩阵如果用左除运算符求解的时候出现提示矩阵A为非奇异为非奇异的警告或者解中的警告或者解中出现出现Nan,则可以采用广义逆法。,则可以采用广义逆法。x=pinv(A)*b3.符号计算法符号计算法 可以求得方程组的符号解,对于欠定方程可以求得
7、具有自由变量的解。可以求得方程组的符号解,对于欠定方程可以求得具有自由变量的解。现在学习的是第9页,共44页5.1 线性代数线性代数例例5.1.3 求以下求以下3个方程组的解个方程组的解 46313234952310 xyzxyzxyz463132349xyzxyz46132395210 xyxyxyI:II:III:现在学习的是第10页,共44页5.2 函数分析函数分析 一、函数的零点一、函数的零点1.多项式的根多项式的根 通过通过roots函数来求取多项式全部的根。函数来求取多项式全部的根。【调用格式调用格式】r=roots(p)多项式求根函数,求取多项式的全部多项式求根函数,求取多项式的
8、全部根根【说明说明】p为多项式的为多项式的系数行向量系数行向量,r为多项式所有为多项式所有根构成的列向量根构成的列向量现在学习的是第11页,共44页5.2 函数分析函数分析2.一元函数零点【调用格式】x,fval,exitflag,output=fzero(fun,x0,options)完整调用格式 x=fzero(fun,x0)一元函数零点的最简调用格式 【说明】fzero只能求得x0附近的单个零点,不能求取函数的所有零点。输入变量fun表示一元函数,可以是字符串、内联函数或者函数句柄。输入变量x0为零点的初始猜测值(自变量值)。如果x0为标量,则求距离x0最近的那个零点;如果x0=a,b,
9、要求fun(a)和fun(b)异号,此时求自变量在a,b区间内的零点。现在学习的是第12页,共44页5.2 函数分析函数分析 输入变量options为优化迭代选项,是一个结构体。输出变量x为零点处的自变量值,输出变量fval为零点处的函数值。输出变量exitflag表示函数中止计算的条件。若exitflag0表示找到零点后退出。()1 12.5sin(23.4)tf tet 0t 例5.2.1 求函数在区间内的所有零点。现在学习的是第13页,共44页5.2 函数分析函数分析【调用格式】x,fval,exitflag,output=fsolve(fun,x0,options)完整格式x=fsol
10、ve(fun,x0)多元非线性方程求解的最简格式【说明】fun表示自变量为向量的函数,可以是字符串、内联函数、函数句柄。输入变量x0为零点的初始猜测向量(自变量值)。输出变量x为零点处的自变量值,输出变量fval为零点处的函数值。1212122020 xxxxexxe125,5xx 例5.2.2 求方程组在附近的解。3.多元函数的零点多元函数的精确零点可以用fsolve函数求取,必须提供零点的大致位置才能进行数值搜索。现在学习的是第14页,共44页5.2 函数分析函数分析 二、函数的极值点Matlab提供了3个求极值点的函数,其输入输出参数的定义和 fsolve函数基本相同。1.求一元函数fu
11、n在自变量(x1,x2)区间的最小值 x,fval,exitflag,output=fminbnd(fun,x1,x2,options)2.用单纯形法求多元函数fun在自变量向量x0附近的极小值点 x,fval,exitflag,output=fminsearch(fun,x0,options)3.用拟牛顿法求多元函数fun在自变量向量x0附近的极小值点 x,fval,exitflag,output=fminunc(fun,x0,options)222(,)100()(1)f x yyxx1.2,1xy 例5.2.3 求二元函数在附近的极小值。现在学习的是第15页,共44页5.2 函数分析函数
12、分析三、数值微分三、数值微分数值导数和微分是基于差分定义的,对原始数据的数值导数和微分是基于差分定义的,对原始数据的采样间隔采样间隔依赖很大,依赖很大,如果原始数据含有噪声,则数值导数结果没有什么价值,因此尽量避免求如果原始数据含有噪声,则数值导数结果没有什么价值,因此尽量避免求数值导数。数值导数。Matlab中用中用diff函数求相邻数据间的数值差分。函数求相邻数据间的数值差分。【调用格式调用格式】DX=diff(X)求求X相邻元素的一阶差分,即后一个元素减去当前元素相邻元素的一阶差分,即后一个元素减去当前元素DX=diff(X,n)求求X相邻元素的相邻元素的n阶差分阶差分DX=diff(X
13、,n,dim)在在dim指定的维上,求指定的维上,求X相邻元素的相邻元素的n阶差分阶差分现在学习的是第16页,共44页5.2 函数分析函数分析【说明】如果X是向量,差分是相邻元素相减;如果X是矩阵,差分是相邻 行间对应元素相减。差分数据DX元素的个数要比被操作数X少一个。DX只是差分数据,如果相邻数据点之间的步长为DH,则DX./DH为 导数数据。()sinf xx(0,2)例5.2.4 绘制函数的导函数在区间的曲线。现在学习的是第17页,共44页5.2 函数分析函数分析四、数值积分四、数值积分数值积分分为开型积分和闭型积分,二者的区别在于是否计算积分数值积分分为开型积分和闭型积分,二者的区别
14、在于是否计算积分区间端点处的函数值。区间端点处的函数值。Matlab提供的数值积分函数有些适用于开型积分提供的数值积分函数有些适用于开型积分和闭型积分,有些只能用于闭型积分。积分计算可以采用本节介绍的相和闭型积分,有些只能用于闭型积分。积分计算可以采用本节介绍的相关函数,也可以采用样条积分法,还可以采用符号积分方法。关函数,也可以采用样条积分法,还可以采用符号积分方法。1.一元函数的数值积分一元函数的数值积分求一元函数数值积分的函数有很多,每个函数采用不同的数值算法,求一元函数数值积分的函数有很多,每个函数采用不同的数值算法,各有优缺点,精度和运算速度也不尽相同。各有优缺点,精度和运算速度也不
15、尽相同。本节只介绍最常用的数值积分函数本节只介绍最常用的数值积分函数quadl。【调用格式】q=quadl(fun,a,b,tol,trace)采用递推自适应Lobatto法计算一元函数的积分现在学习的是第18页,共44页5.2 函数分析函数分析【说明】fun为被积函数,可以用字符串、内联函数和函数M文件的函数 句柄表示,且被积函数表达式要按照数组运算规则来编写。通常积分变量采用字母x。a和b为积分变量的积分上下限,为常数数值。tol为绝对误差,是一个标量,可以省略。trace为跟踪标志,当trace为非零值时,随积分进程会 逐点画出被积函数。返回值q为数值积分的结果。230125dxxx现在
16、学习的是第19页,共44页形如 的闭型二重数值积分的函数为dblquad【调用格式】q=dblquad(fun,x1,x2,y1,y2,tol,method)2.二重数值积分2211(,)yxyxfxy d xd y【说明】fun为被积函数,可以用字符串、内联函数和函数M文件的函数句柄 表示。积分变量用x,y表示,x为内重积分变量,y为外重积分变量。x2和x1是变量x的积分上下限,y2和y1是变量y的积分上下限。method表示选用的积分算法,可以省略,确是算法的 是quad,还可以选则quadl或者用户自定义的积分 算法M函数文件的函数句柄。本函数无法计算内重积分上下限为函数表达式的情况。(
17、,)f xy5.2 函数分析现在学习的是第20页,共44页求形如 的闭型三重数值积分的函数为triplequad。【调用格式】q=triplequad(fun,x1,x2,y1,y2,z1,z2,tol,method)3.三重数值积分222111(,)zyxzyxf x y z dxdy dz【说明】fun为被积函数 ,可以用字符串、内联函数和函数M文件的函数句 柄表示。积分变量用x,y,z表示,从内到外积分变量依次为x,y,z。x2和x1是变量x的积分上下限,y2和y1是变量y的积分 上下限,z2和z1是变量z的积分上下限。其他事项同函数dblquad。(,)f xyz5.2 函数分析例5.
18、2.6 计算定积分11100(sin()cos()yxzx dx dy dz 现在学习的是第21页,共44页5.3 数据拟合数据拟合已知某些离散的原始数据,建立一个曲线方程,让它以最佳的方已知某些离散的原始数据,建立一个曲线方程,让它以最佳的方式反映原始数据的变化趋势,尽量避免出现局部的波动,这种方法称式反映原始数据的变化趋势,尽量避免出现局部的波动,这种方法称为拟合。不要求拟合曲线经过所有的原始数据。最佳方式通常是指用为拟合。不要求拟合曲线经过所有的原始数据。最佳方式通常是指用拟合得到的数学模型计算出来的计算数据和原始数据之间的误差的平拟合得到的数学模型计算出来的计算数据和原始数据之间的误差
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值计算 数值 计算
限制150内