




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、关于数值计算 第一张,PPT共四十四页,创作于2022年6月主要内容5.1 线性代数5.2 函数分析5.3 数据拟合5.4 插值和样条5.5 常微分方程的数值解第二张,PPT共四十四页,创作于2022年6月5.1 线性代数 一、LU分解 1. LU分解 一个矩阵可以分解为一个上三角矩阵和一个下三角矩阵的乘积,称之为LU分解。LU分解是用高斯主元消去法实现的,通常要对主元位置进行交换,主元交换的方法是将被分解矩阵左乘一个由01构成的行交换阵。 【调用格式】L, U, P = lu(X) 对矩阵X进行LU分解,并进行主元交换L, U = lu(X) 对矩阵X进行LU分解,无主元交换 *L通常不是下
2、三角 【说明】X为被分解的矩阵,L为主对角元素为1的下三角矩阵,U为上三角矩阵,P为行交换矩阵。第三张,PPT共四十四页,创作于2022年6月5.1 线性代数2. 行列式和求逆矩阵的行列式和求逆可以通过LU分解的方法求解,Matlab提供了相关函数。【调用格式】 d = det(X)求矩阵X的行列式 Y = inv(X)求矩阵X的逆矩阵例5.1.1第四张,PPT共四十四页,创作于2022年6月5.1 线性代数 二、特征值和特征向量 对于求解矩阵的特征值和特征向量,Matlab提供了eig函数。【调用格式】 D=eig(A) 计算矩阵A的特征值,d为特征值构成的向量 V , D=eig(A) 计
3、算矩阵A的特征值对角阵D和特征向量矩阵V V , D=eig(A , nobalance) 当矩阵A中有与截断误差近似的数值,用本指令(误差为e-14数量级)例5.1.2第五张,PPT共四十四页,创作于2022年6月三、奇异值分解1.矩阵的奇异值分解任意矩阵A可进行奇异值分解,即存在酉矩阵U和V,使下面等式成立其中 称为矩阵的奇异值。5.1 线性代数【调用格式】s = svd(A) 求矩阵A的奇异值,s为由奇异值构成的向量U , S , V = svd(A) 矩阵A的奇异值分解第六张,PPT共四十四页,创作于2022年6月5.1 线性代数2.矩阵结构特征的奇异值描述 矩阵的奇异值可以描述矩阵的
4、结构特征。有关矩阵结构特征的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和B矩阵所张子空间的夹角。B = pinv(A, tol)在指定容差tol下,求矩阵A的广义逆,tol可以省略。第七张,PPT共四十四页,创作于2022年6月5.1 线性代
5、数 四、线性方程组的解形如 的线性方程组中独立方程的个数等于独立未知参数的个数称为恰定方程;独立方程的个数大于独立未知参数的个数称为超定方程;独立方程的个数小于独立未知参数的个数称为欠定方程。第八张,PPT共四十四页,创作于2022年6月5.1 线性代数1. 左除运算符法 对于一般的非奇异矩阵A,可以求得唯一数值解。欠定方程和超定方程,可以获得最小二乘解。 x=Ab 2. 广义逆法如果用左除运算符求解的时候出现提示矩阵A为非奇异的警告或者解中出现Nan,则可以采用广义逆法。x=pinv(A)*b3. 符号计算法 可以求得方程组的符号解,对于欠定方程可以求得具有自由变量的解。第九张,PPT共四十
6、四页,创作于2022年6月5.1 线性代数例5.1.3 求以下3个方程组的解 I: II:III: 第十张,PPT共四十四页,创作于2022年6月5.2 函数分析 一、函数的零点1. 多项式的根 通过roots函数来求取多项式全部的根。【调用格式】 r = roots(p)多项式求根函数,求取多项式的全部根【说明】 p为多项式的系数行向量,r为多项式所有根构成的列向量第十一张,PPT共四十四页,创作于2022年6月5.2 函数分析2.一元函数零点【调用格式】 x, fval, exitflag, output = fzero(fun, x0, options)完整调用格式 x = fzero(
7、fun, x0) 一元函数零点的最简调用格式 【说明】fzero只能求得x0附近的单个零点,不能求取函数的所有零点。输入变量fun表示一元函数,可以是字符串、内联函数或者函数句柄。输入变量x0为零点的初始猜测值(自变量值)。如果x0为标量,则求距离x0最近的那个零点;如果x0=a, b,要求fun(a)和fun(b)异号,此时求自变量在a, b区间内的零点。第十二张,PPT共四十四页,创作于2022年6月5.2 函数分析输入变量options为优化迭代选项,是一个结构体。输出变量x为零点处的自变量值,输出变量fval为零点处的函数值。输出变量exitflag表示函数中止计算的条件。 若exit
8、flag0表示找到零点后退出。例5.2.1 求函数在区间内的所有零点。 第十三张,PPT共四十四页,创作于2022年6月5.2 函数分析【调用格式】 x, fval, exitflag, output =fsolve(fun, x0, options) 完整格式x = fsolve (fun, x0)多元非线性方程求解的最简格式【说明】 fun表示自变量为向量的函数,可以是字符串、内联函数、函数句柄。 输入变量x0为零点的初始猜测向量(自变量值)。 输出变量x为零点处的自变量值,输出变量fval为零点处的函数值。例5.2.2 求方程组在附近的解。3.多元函数的零点多元函数的精确零点可以用fso
9、lve函数求取,必须提供零点的大致位置才能进行数值搜索。第十四张,PPT共四十四页,创作于2022年6月5.2 函数分析 二、函数的极值点Matlab提供了3个求极值点的函数,其输入输出参数的定义和 fsolve函数基本相同。 1. 求一元函数fun在自变量(x1,x2)区间的最小值 x, fval, exitflag, output = fminbnd(fun, x1, x2, options) 2. 用单纯形法求多元函数fun在自变量向量x0附近的极小值点 x, fval, exitflag, output = fminsearch (fun, x0, options) 3. 用拟牛顿法求
10、多元函数fun在自变量向量x0附近的极小值点 x, fval, exitflag, output = fminunc (fun, x0, options) 例5.2.3 求二元函数在附近的极小值。 第十五张,PPT共四十四页,创作于2022年6月5.2 函数分析三、数值微分数值导数和微分是基于差分定义的,对原始数据的采样间隔依赖很大,如果原始数据含有噪声,则数值导数结果没有什么价值,因此尽量避免求数值导数。Matlab中用diff函数求相邻数据间的数值差分。【调用格式】DX = diff(X) 求X相邻元素的一阶差分,即后一个元素减去当前元素DX= diff(X, n) 求X相邻元素的n阶差分
11、DX = diff(X, n, dim) 在dim指定的维上,求X相邻元素的n阶差分第十六张,PPT共四十四页,创作于2022年6月5.2 函数分析【说明】 如果X是向量,差分是相邻元素相减; 如果X是矩阵,差分是相邻 行间对应元素相减。 差分数据DX元素的个数要比被操作数X少一个。 DX只是差分数据,如果相邻数据点之间的步长为DH,则DX./DH为 导数数据。 例5.2.4 绘制函数的导函数在区间的曲线。第十七张,PPT共四十四页,创作于2022年6月5.2 函数分析四、数值积分数值积分分为开型积分和闭型积分,二者的区别在于是否计算积分区间端点处的函数值。Matlab提供的数值积分函数有些适
12、用于开型积分和闭型积分,有些只能用于闭型积分。积分计算可以采用本节介绍的相关函数,也可以采用样条积分法,还可以采用符号积分方法。1.一元函数的数值积分求一元函数数值积分的函数有很多,每个函数采用不同的数值算法,各有优缺点,精度和运算速度也不尽相同。 本节只介绍最常用的数值积分函数quadl。【调用格式】 q = quadl(fun, a, b, tol, trace)采用递推自适应Lobatto法计算一元函数的积分第十八张,PPT共四十四页,创作于2022年6月5.2 函数分析【说明】 fun为被积函数,可以用字符串、内联函数和函数M文件的函数 句柄表示,且被积函数表达式要按照数组运算规则来编
13、写。通常积分变量采用字母x。 a和b为积分变量的积分上下限,为常数数值。 tol为绝对误差,是一个标量,可以省略。 trace为跟踪标志,当trace为非零值时,随积分进程会 逐点画出被积函数。 返回值q为数值积分的结果。例5.2.5 求积分第十九张,PPT共四十四页,创作于2022年6月形如 的闭型二重数值积分的函数为dblquad【调用格式】 q = dblquad(fun, x1 ,x2, y1, y2, tol, method)2. 二重数值积分【说明】 fun为被积函数, 可以用字符串、内联函数和函数M文件的函数句柄 表示。积分变量用x,y表示, x为内重积分变量,y为外重积分变量。
14、 x2和x1是变量x的积分上下限,y2和y1是变量y的积分上下限。 method表示选用的积分算法,可以省略,确是算法的 是quad,还可以选则quadl或者用户自定义的积分 算法M函数文件的函数句柄。 本函数无法计算内重积分上下限为函数表达式的情况。5.2 函数分析第二十张,PPT共四十四页,创作于2022年6月求形如 的闭型三重数值积分的函数为triplequad。【调用格式】 q = triplequad(fun, x1 ,x2, y1, y2, z1, z2, tol, method)3. 三重数值积分【说明】 fun为被积函数 ,可以用字符串、内联函数和函数M文件的函数句 柄表示。积
15、分变量用x,y,z表示, 从内到外积分变量依次为x,y,z。 x2和x1是变量x的积分上下限,y2和y1是变量y的积分 上下限,z2和z1是变量z的积分上下限。 其他事项同函数dblquad。5.2 函数分析例5.2.6 计算定积分第二十一张,PPT共四十四页,创作于2022年6月5.3 数据拟合已知某些离散的原始数据,建立一个曲线方程,让它以最佳的方式反映原始数据的变化趋势,尽量避免出现局部的波动,这种方法称为拟合。不要求拟合曲线经过所有的原始数据。最佳方式通常是指用拟合得到的数学模型计算出来的计算数据和原始数据之间的误差的平方和最小,这种方式称为最小二乘。通常是已知曲线方程的形式(数学模型
16、的结构),根据原始数据来计算曲线方程的参数(数学模型的参数)。本节介绍Matlab中如何实现最小二乘拟合。第二十二张,PPT共四十四页,创作于2022年6月5.3 数据拟合一、多项式拟合多项式拟合是用一个n阶多项式模型去拟合原始数据的方法,需要计算的模型参数包括多项式的阶次和多项式的系数。Matlab提供了polyfit函数实现多项式拟合。【调用格式】 p = polyfit (x, y, n) 根据给定的数据(x,y),计算n阶拟合多项式的系数向量p ye = polyval (p, x) 计算自变量为x时多项式p的值(估计值)第二十三张,PPT共四十四页,创作于2022年6月 5.3 数据
17、拟合 【说明】多项式拟合一般不要超过5阶,否则计算误差变大。拟合多项式只在原始数据范围内可以保证精度,超出范围使用 拟合多项式无法保证预报的精度。 例5.3.1:已知五个数据点: 1,5.5,2,43,3,128,4,290,5,498, 试画出这五个点拟合的三次曲线。第二十四张,PPT共四十四页,创作于2022年6月二、最小二乘拟合1. 线性最小二乘拟合对于线性数学模型的参数估计,可以用形如Y=Ax+b的一阶多项式拟合来估计参数。某些非线性模型经过变量替换也可以转换为线性模型,也可以采用线性估计方法。【调用格式】a= lsqlin(Fun, a0, lb, ub, options, p1,
18、p2, . )a= lsqnonlin(Fun, a0)5.3 数据拟合第二十五张,PPT共四十四页,创作于2022年6月例5.3.2:对于非线性数学模型 ,其中a和b为模型参数, 采用变量替换将其转换为线性数学模型。解:对已知数学模型取自然对数有 令 则有的线性数学模型5.3 数据拟合第二十六张,PPT共四十四页,创作于2022年6月函数的功能是求取向量的值,使向量函数 满足输入参数Fun是被解函数,Fun是向量函数,其自变量a是向量。Fun可以用字符串、内联函数或者函数 M文件的函数句柄表示。2. 非线性最小二乘估计可以使用MATLAB提供的lsqnonlin函数实现非线性最小二乘估计。【
19、调用格式】 a, resnorm, residual, exitflag, output = lsqnonlin(Fun, a0, lb, ub, options, p1, p2, . ) a= lsqnonlin(Fun, a0)【说明】5.3 数据拟合第二十七张,PPT共四十四页,创作于2022年6月输入变量a0为向量,表示所求变量a的初始猜测值。输入变量lb表示所求变量a的下限,输入变量ub表示所求变量a的上限。如果没有上下限限制,可以用空矩阵表示,如果没有下限可以用-inf表示。从第六个输入变量开始的参数p1,p2等是向Fun函数传递的参数,其名字应该和定义Fun函数的输入变量名相一致
20、。输出变量a表示所求变量的值。如果将 构造为残差函数,且 为被估计参数向量,则lsqnonlin就变为求解非线性最小二乘估计的函数。5.3 数据拟合第二十八张,PPT共四十四页,创作于2022年6月例5.3.3 混凝土的抗压强度 随养护时间 的延长而增加,其数学模型为现将一批混凝土作成12个测试块,记录了养护时间x(日)及抗压强度y (kg/cm2)的数据,如表5.3.1 所示。试估计该数学模型的参数a1,a2,a3,a4。表5.3.1混凝土的抗压强度和养护时间的实测数据x234579121417212856y3542475359656873768286995.3 数据拟合第二十九张,PPT共
21、四十四页,创作于2022年6月5.4 插值和样条 曲线拟合是用带有噪声的“测量数据”构造出以某种方式最接近“真实数据”的曲线方程,因为测量数据包含噪声,所以不要求拟合曲线穿越所有测量数据。插值和拟合不同,插值认为原始数据是完全准确的,目的是用某种算法平滑的计算出这些原始数据之间的数据值。第三十张,PPT共四十四页,创作于2022年6月5.4 插值和样条 【调用格式】 yi = interp1(x, Y, xi, method) 计算插值点自变量为xi时的值yi pp = interp1(x, Y, method, pp) 用原始数据获取插值函数数据 yi = ppval(pp, xi) 计算插
22、值函数数据pp函数关系下的函数值【说明】输入变量x,Y是原始数据向量对。x的数据必须以单调方式排列。xi是插值点的自变量向量。yi为插值点自变量为xi时的计算值。输入变量method是插值方法,Matlab可以选择的插值方法包括: linear线性插值,缺省值。 cublic三次多项式插值 spline三次样条插值 nearst最临近插值一、 插值第三十一张,PPT共四十四页,创作于2022年6月5.4 插值和样条 例5.4.1 已知1900年到1990年间,每隔10年美国的人口数量的统计数据(单位:百万)依次为75.995,91.972, 105.711,123.203,131.669,15
23、0.697,179.323,203.212,226.505,249.633,求在1975年美国人口的数量,并绘制1900到1990年间每年的人口数量趋势图。 t = 1900:10:1990; p = 75.995 91.972 105.711 123.203 131.669 150.697 179.323 203.212 226.505 249.633;interp1(t,p,1975)interp1(t,p,2000) %无法计算自变量超出范围的插值,返回值为NaNpp=interp1(t,p,spline,pp); %求取人口的插值函数数据tt=1900:1990;yy=ppval(pp
24、,tt); %根据插值函数数据计算插值结果plot(t,p,o,tt,yy,b) %绘制插值函数的曲线第三十二张,PPT共四十四页,创作于2022年6月5.4 插值和样条二、样条 样条插值是常用的一种插值方法,其特点是精度高、最平滑,但是运算速度慢。经过样条插值后的曲线,除了在原始数据的端点外的其他数据点上都存在一阶和二阶导数,因此样条插值是非常平滑的。Matlab提供了专门用于样条的函数。【调用格式】 yy = spline(x,y,xx) 根据原始数据(x,y)计算xx的样条插值yy pp = spline(x,y) 根据原始数据(x,y)计算分段 样条函数数据pp dpp = fnder
25、(pp) 求PP形式的样条函数的不定积分 ipp = fnint(pp) 求PP形式的样条函数的导数第三十三张,PPT共四十四页,创作于2022年6月例5.4.2 设函数 ,用样条函数求和5.4 插值和样条dx=0.05; %设定采样时间间隔x=(0:dx:1)*pi; y=sin(x).*cos(x); %求采样点数据pp=spline(x,y); %求f(x)的样条函数ipp=fnint(pp); %求pp样条函数的不定积分,近似为f(x)的不定积分dpp=fnder(pp); %求pp样条函数的微分,近似为f(x)的微分ppval(ipp,1,2)*-1;1 %ppval(ipp,2)-
26、ppval(ipp,1),求定积分ppval(dpp,2) 第三十四张,PPT共四十四页,创作于2022年6月只含有一个自变量的微分方程称为常微分方程(ODE)。工程上的许多常微分方程或者没有解析解,或者求解析解困难太大,这时可以选择其数值解法。5.5 常微分方程的数值解一、ODE文件的编写格式MATLAB中求解常微分方程的数值解是通过将其变形为一阶向量微分方程来实现的。要编写表示一阶向量微分方程的函数M文件,实现 的微分计算,其基本格式为: function DY = Fun(t, Y)其中:输入变量t为时间变量,输入变量Y为列向量, 输出变量DY是Y的一阶导数。 第三十五张,PPT共四十四
27、页,创作于2022年6月5.5 常微分方程的数值解令 设常微分方程: 其初始条件为:设常微分方程: 其初始条件为:令第三十六张,PPT共四十四页,创作于2022年6月5.5 常微分方程的数值解常微分方程化成一阶向量微分方程时,某些向量微分方程的向量解的各个分量的量级差别较大,这对数值求解算法来说是很大的困难,这种问题称之为刚性(stiff)问题。MATLAB提供了很多常微分方程的解算函数,这些函数有些适用于刚性方程,有些适用于非刚性方程,并且其使用的数值算法和解算精度也各有不同,这些函数通称为solve解算指令。表5.5.1中列出了各个解算指令的名称、精度和适用范围。 二、solver解算指令
28、第三十七张,PPT共四十四页,创作于2022年6月5.5 常微分方程的数值解solve指令解题类型精 度适用场合ode45非刚性一步法,4、5阶龙格库塔法,中等精度大多数场合的首选算法ode23非刚性一步法,2、3阶龙格库塔法,精度低较低精度场合,e-3ode113非刚性多步法,Adams算法,高低精度均可ode45计算时间长时的替代ode23t适度刚性梯形法则算法,精度低适度刚性ode15s刚性多步法,中低精度ode45失败时候适用ode23s刚性一步法,2阶Rosenbrock算式,精度低低精度时,比ode15s有效ode23tb刚性梯形法则反向数值微分两阶段法,精度低低精度时,比ode15s有效表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年一级建造师《民航机场工程管理与实务》考前通关必练题库(含答案)
- 财务知识分享
- 专业英语 Unit 26教案学习资料
- (高清版)DB510100∕T 165-2015 蜡梅观赏苗木嫁接培育技术规程及质量分级
- 20252月淘宝直播间虚拟礼物分成运营结算协议
- 城市管理规范执法培训
- 幼儿园毕业横幅标语
- 《室内设计手绘快速表现》课件 第1-3章 概述、单体家具手绘表现、空间手绘表现
- 别墅包工建设合同范例
- 企业转让协议书范例
- 降低留置针静脉炎发生率持续质量改进课件
- 2024年10月自考03708中国近现代史纲要试题及答案含解析
- 全国戒毒医疗机构名单
- ICU 呼吸机相关性肺炎预防措施执行核查表
- 汽车吊检测保养记录
- LOTO上锁挂牌培训资料课件
- 市政工程安全台账表
- DB63-T 1800-2020盐湖卤水矿堤坝工程施工技术规范
- 航天模型的设计、制作与比赛课件
- 公路工程施工现场安全检查手册
- 高考倒计时60天课件
评论
0/150
提交评论