




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2021-11-2机械工业出版社Page 1【学习目标】l掌握常用的插值函数和拟合函数的用法l会用MATLAB求各类微积分l掌握各种线性方程组和非线性方程组的求 解方法,并用MATLAB实现l会用PDETOOL求解偏微分方程l了解最优化问题及常用的函数2021-11-2机械工业出版社Page 2 数据插值数据插值10.1 曲线拟合曲线拟合10.2 微积分微积分 10.3 线性方程组求解线性方程组求解10.4 非线性方程组求解非线性方程组求解10.5 微分方程求解微分方程求解10.6 最优化问题最优化问题10.72021-11-2机械工业出版社Page 3数据插值是函数逼近的一种重要方法,根据数
2、据插值是函数逼近的一种重要方法,根据数据的分布规律,找到一个函数表达式可以数据的分布规律,找到一个函数表达式可以连接已知的各点,并用这一函数表达式预测连接已知的各点,并用这一函数表达式预测两点之间任意位置上的函数值,经常用于科两点之间任意位置上的函数值,经常用于科学与工程研究领域。最简单的插值法是多项学与工程研究领域。最简单的插值法是多项式插值法,采用式插值法,采用MATLAB,既可以利用其提,既可以利用其提供的插值函数,也可以利用编程来实现数据供的插值函数,也可以利用编程来实现数据的插值。的插值。 2021-11-2机械工业出版社Page 41)一维插值函数)一维插值函数interp1 MA
3、TLAB中通常用于一维数据插值(表格查找)中通常用于一维数据插值(表格查找)的函数是的函数是interp1,常用的语法形式及描述如下:,常用的语法形式及描述如下: yi = interp1(x,Y,xi) 或或yi = interp1(Y,xi)yi = interp1(x,Y,xi,method)yi = interp1(x,Y,xi,method,extrap)yi = interp1(x,Y,xi,method,extrapval)pp = interp1(x,Y,method,pp) 2021-11-2机械工业出版社Page 5method:用特定的方法插值,可取的值有:用特定的方法插
4、值,可取的值有nearest(最邻近插值)、(最邻近插值)、linear(分段线性插(分段线性插值,默认取值)、值,默认取值)、spline(样条插值)、(样条插值)、pchip(分段三次厄密多项式插值,可用(分段三次厄密多项式插值,可用pchip函数取代函数取代)、)、cubic(同(同pchip)和)和v5cubic(MATLAB 5中的三次多项式插值,不能用于外插);如果中的三次多项式插值,不能用于外插);如果x非等间距划分,则用非等间距划分,则用spline方法;方法; 2021-11-2机械工业出版社Page 6 extrap:对超出范围的插值点进行外插:对超出范围的插值点进行外插
5、extrapval:对超出范围的插值点返回标量:对超出范围的插值点返回标量 extrapval,常取,常取NaN和和0 pp:用指定的方法产生:用指定的方法产生Y的分段多项式形式(的分段多项式形式( ppform)。其中,)。其中,method可取可取3)中除)中除 v5cubic外的任一种;外的任一种;pp可由函数可由函数 ppval估计估计 函数函数interp1的功能及其各参数之间的关系如下图的功能及其各参数之间的关系如下图所示。所示。2021-11-2机械工业出版社Page 72021-11-2机械工业出版社Page 82)快速一维线性插值函数)快速一维线性插值函数interp1q i
6、nterp1q在对非均匀划分的数据进行插值时要比在对非均匀划分的数据进行插值时要比interp1快,因为它对输入不做检查。快,因为它对输入不做检查。interp1q用线用线性插值方法对数据进行插值,其语法形式为:性插值方法对数据进行插值,其语法形式为: yi = interp1q(x,Y,xi) x必须是单调增加的列向量必须是单调增加的列向量 Y必须是一个列向量或一个行数为必须是一个列向量或一个行数为x的长度的矩阵的长度的矩阵 xi必须是一个列向量必须是一个列向量 2021-11-2机械工业出版社Page 93)用)用FFT方法的一维插值函数方法的一维插值函数interpft interpft
7、用用FFT(快速傅里叶变换)方法进行一(快速傅里叶变换)方法进行一维数据插值,即先将维数据插值,即先将x用用FFT方法转换到频域,然方法转换到频域,然后再以更多的点转换回时域。语法形式为:后再以更多的点转换回时域。语法形式为: y = interpft(x,n); y = interpft(x,n,dim) x为长度为为长度为m的向量,且采样间隔为的向量,且采样间隔为dx时,则时,则y的的 采样间隔为采样间隔为dy=dx*m/n,此时,此时,n必须大于等于必须大于等于m x为一个矩阵时,为一个矩阵时,interpft对对x按列进行数据插值按列进行数据插值 ,返回矩阵,返回矩阵y的行数为的行数为
8、n,列数与,列数与x的列数相等的列数相等 dim:interpft对对x按指定维数进行操作按指定维数进行操作 2021-11-2机械工业出版社Page 101)二维插值函数)二维插值函数interp2如果已知点集是三维空间中的点,则相应的插值如果已知点集是三维空间中的点,则相应的插值问题即是二维数据插值(表格查找)。问题即是二维数据插值(表格查找)。MATLAB中用于二维数据插值的函数是中用于二维数据插值的函数是interp2,其常用的,其常用的语法形式及描述如下:语法形式及描述如下: ZI = interp2(X,Y,Z,XI,YI) 或或ZI = interp2(Z,XI,YI)ZI =
9、interp2(Z,ntimes)ZI = interp2(X,Y,Z,XI,YI,method)ZI = interp2(.,method, extrapval) 2021-11-2机械工业出版社Page 11X、Y:必须是严格单调的和具有栅格格式,一:必须是严格单调的和具有栅格格式,一般由函数般由函数meshgrid产生,假定产生,假定Z的大小为的大小为m, n,X、Y省略时,默认为省略时,默认为X=1:n,Y=1:m XI、YI:若为矩阵,返回:若为矩阵,返回【XI(i, j),YI(i, j)】处的处的Z值,对超出范围的插值点返回值,对超出范围的插值点返回NaN;若为行向量;若为行向量
10、xi和列向量和列向量yi,默认执行命令,默认执行命令“meshgrid(xi, yi)” ntimes:在任意两元素之间插入插值点以扩展:在任意两元素之间插入插值点以扩展Z,反复,反复ntimes次,省略时默认为次,省略时默认为1 method:指定插值方法,取值有:指定插值方法,取值有nearest、linear和和spline(cubic和和spline相同),要相同),要求求X和和Y必须单调,并且通常是由必须单调,并且通常是由meshgrid函数函数产生的栅格格式产生的栅格格式 2021-11-2机械工业出版社Page 12extrapval:对超出已知点集:对超出已知点集(X, Y)的
11、插值点执行的插值点执行外插操作,对任意不是由外插操作,对任意不是由X或或Y给出的给出的XI或或YI值,值,返回的返回的ZI=extrapval。此时,必须给。此时,必须给method参数参数赋值,默认为赋值,默认为linear 函数函数interp2的功的功能及其各参数之间能及其各参数之间的关系如右图所示的关系如右图所示 2021-11-2机械工业出版社Page 132)三维插值函数)三维插值函数interp3 interp3的语法形式、实现的功能及参数的说明的语法形式、实现的功能及参数的说明和二维插值函数和二维插值函数interp2类似,读者可通过类似,读者可通过MATLAB的帮助系统了解。
12、的帮助系统了解。interp3的常用语法形的常用语法形式如下:式如下: VI = interp3(X,Y,Z,V,XI,YI,ZI)VI = interp3(V,ntimes)VI = interp3(.,method,extrapval) 2021-11-2机械工业出版社Page 14用函数用函数interp1(方法分别采用(方法分别采用linear、nearest、spline和和cubic)对正弦函数进行一维插值。)对正弦函数进行一维插值。 clc;clear all;close all;t=0:10;y=sin(t);tt=0:.25:10;y1=interp1(t,y,tt);y2=
13、interp1(t,y,tt,nearest);y3=interp1(t,y,tt,spline);y4=interp1(t,y,tt,cubic);plot(t,y,o,tt,y1,-,tt,y2,-,tt,y3,:,tt,y4,-.);xlabel(t); ylabel(sin(t);title(对正弦信号进行一维插值对正弦信号进行一维插值);axis(-0.5 10.5 -1.2 1.2);legend(original data,linear,nearest,spline,cubic); 2021-11-2机械工业出版社Page 15012345678910-1-0.8-0.6-0.4
14、-0.200.20.40.60.81tsin(t)对 正 弦 信 号 进 行 一 维 插 值 original datalinearnearestsplinecubic2021-11-2机械工业出版社Page 16用函数用函数interp1(方法分别采用(方法分别采用linear、nearest、spline和和cubic)对正弦函数进行一维外插运算。)对正弦函数进行一维外插运算。 clc;clear all;close all;t=0:10;y=sin(t);tt=0:.25:15;y1=interp1(t,y,tt,linear,extrap);y2=interp1(t,y,tt,near
15、est,extrap);y3=interp1(t,y,tt,spline,extrap);y4=interp1(t,y,tt,cubic,extrap);plot(t,y,o,tt,y1,-,tt,y2,-,tt,y3,:,tt,y4,-.);xlabel(t); ylabel(sin(t); title(对正弦信号进行一维外插对正弦信号进行一维外插);legend(original data,linear,nearest,spline,cubic); 2021-11-2机械工业出版社Page 17051015-6-4-202468101214tsin(t)对 正 弦 信 号 进 行 一 维
16、外 插 original datalinearnearestsplinecubic2021-11-2机械工业出版社Page 18用函数用函数interpft对一个类三角信号进行对一个类三角信号进行5倍一倍一维插值。维插值。 clc;clear all;close all;y=0 .5 1 1.5 2 1.5 1 .5 0 -.5 -1 -1.5 -2 -1.5 -1 -.5 0;N=length(y);L=5;M=N*L;x=0:L:L*N-1;xi=0:M-1;yi=interpft(y,M);plot(x,y,o,xi,yi,*);legend(Original data,Interpol
17、ated data); 2021-11-2机械工业出版社Page 190102030405060708090-2-1.5-1-0.500.511.52 Original dataInterpolated data2021-11-2机械工业出版社Page 20二维插值函数二维插值函数interp2的应用:对的应用:对peaks函数进行函数进行二维插值。二维插值。 clc;clear all;close all;X,Y=meshgrid(-3:.25:3);Z=peaks(X,Y);XI,YI=meshgrid(-3:.125:3);ZI=interp2(X,Y,Z,XI,YI);mesh(X,Y
18、,Z);hold on;mesh(XI,YI,ZI+15);hold off;axis(-3 3 -3 3 -5 20); 2021-11-2机械工业出版社Page 21-3-2-10123-202-5051015202021-11-2机械工业出版社Page 22三维插值函数三维插值函数interp3的应用的应用 clc;clear all;close all;x,y,z,v=flow(10); xi,yi,zi=meshgrid(.1:.25:10, -3:.25:3, -3:.25:3);vi=interp3(x,y,z,v,xi,yi,zi);slice(xi,yi,zi,vi,6 9.
19、5,2,-2 .2);shading flat; 2021-11-2机械工业出版社Page 230246810-4-2024-3-2-101232021-11-2机械工业出版社Page 24与数据插值类似,曲线拟合也是数据分析中的常用与数据插值类似,曲线拟合也是数据分析中的常用方法,它依据一个区间或一个区域上的有限采样点方法,它依据一个区间或一个区域上的有限采样点值,构造一个近似函数(曲线)值,构造一个近似函数(曲线)S来描述这组数据来描述这组数据的内在规律。与数据插值要求逼近函数在采样点与的内在规律。与数据插值要求逼近函数在采样点与被逼近函数相等不同,曲线拟合不要求拟合函数严被逼近函数相等不
20、同,曲线拟合不要求拟合函数严格通过所有数据点,而使拟合函数与数据的总体误格通过所有数据点,而使拟合函数与数据的总体误差最小。曲线拟合常采用的最优标准是最小二乘原差最小。曲线拟合常采用的最优标准是最小二乘原理,所构造的函数是一个次数小于插值节点个数的理,所构造的函数是一个次数小于插值节点个数的多项式。曲线拟合在工程应用和科学研究中都有非多项式。曲线拟合在工程应用和科学研究中都有非常广泛的应用。常广泛的应用。 2021-11-2机械工业出版社Page 25在在MATLAB中,多项式用由多项式系数(从最高中,多项式用由多项式系数(从最高阶次到最低阶次排列)构成的行向量来表示。例如阶次到最低阶次排列)
21、构成的行向量来表示。例如:MATLAB中的向量中的向量p=1 2 3 4 5代表的多项式为代表的多项式为 432( )2345p xxxxx=+特殊地,如果多项式中某些项的系数为特殊地,如果多项式中某些项的系数为0,则在向,则在向量中用量中用0表示,不能省略。例如:多项式表示,不能省略。例如:多项式 53( )527p xxx=-+在在MATLAB中可以用向量中可以用向量p=5 0 -2 0 0 7表示表示 2021-11-2机械工业出版社Page 261)求多项式的根)求多项式的根 已知多项式的系数向量求解多项式的根由函数已知多项式的系数向量求解多项式的根由函数roots完成,其语法形式为:
22、完成,其语法形式为: r=roots(c) c:一个行向量;:一个行向量;r:一个列向量,其元素是:一个列向量,其元素是c代表的多项式的根代表的多项式的根 2)由多项式的根创建多项式)由多项式的根创建多项式 多项式的创建由函数多项式的创建由函数poly完成,其语法形式为完成,其语法形式为p = poly(A) 或或p = poly(r) A:一个:一个n行行n列的矩阵,此时列的矩阵,此时p是一个长为是一个长为n+1的行向量的行向量 ,其元素为,其元素为A的特征多项式的系数;的特征多项式的系数;r:一个列向量,此时:一个列向量,此时p是一个行向量,其元素是以是一个行向量,其元素是以r的元的元 素
23、为根的多项式的系数素为根的多项式的系数 2021-11-2机械工业出版社Page 27 A =1 2 3;4 5 6;7 8 0 A = 1 2 3 4 5 6 7 8 0 p=poly(A) p = 1.0000 -6.0000 -72.0000 -27.0000 r=roots(p) r = 12.1229 -5.7345 -0.3884 pp=poly(r) pp = 1.0000 -6.0000 -72.0000 -27.0000 2021-11-2机械工业出版社Page 283)多项式求值)多项式求值 求多项式在某个参数下的值由函数求多项式在某个参数下的值由函数polyval完完成,
24、其常用的语法形式为:成,其常用的语法形式为: y = polyval(p,x) 功能:返回功能:返回p代表的多项式在代表的多项式在x的每一个元素处的的每一个元素处的值,值,x可以是一个向量或矩阵。可以是一个向量或矩阵。若求多项式在参数为某个方阵时的值,则可由函若求多项式在参数为某个方阵时的值,则可由函数数polyvalm完成,语法形式为:完成,语法形式为: Y = polyvalm(p,X) X必须为一个方阵,函数将必须为一个方阵,函数将X作为一个整体代入多项式求值作为一个整体代入多项式求值 2021-11-2机械工业出版社Page 29 X = pascal(4)X = 1 1 1 1 1
25、2 3 4 1 3 6 10 1 4 10 20 p = poly(X)p = 1.0000 -29.0000 72.0000 -29.0000 1.0000 r1=polyval(p,X)r1 = 1.0e+004 * 0.0016 0.0016 0.0016 0.0016 0.0016 0.0015 -0.0140 -0.0563 0.0016 -0.0140 -0.2549 -1.2089 0.0016 -0.0563 -1.2089 -4.3779 r2=polyvalm(p,X)r2 = 1.0e-010 * -0.0013 -0.0063 -0.0104 -0.0242 -0.00
26、48 -0.0218 -0.0360 -0.0798 -0.0115 -0.0512 -0.0822 -0.1812 -0.0229 -0.0973 -0.1560 -0.3410 2021-11-2机械工业出版社Page 304)多项式的运算)多项式的运算多项式的运算有乘法、除法、微分、部分分式展多项式的运算有乘法、除法、微分、部分分式展开等,分别由函数开等,分别由函数conv、deconv、polyder和和residue完成,常用的语法形式为:完成,常用的语法形式为: w = conv(u,v)q,r = deconv(v,u)k = polyder(p) 或或k = polyder(a
27、,b)r,p,k = residue(b,a) 或或 b,a = residue(r,p,k) 2021-11-2机械工业出版社Page 31功能:功能:conv计算向量计算向量u和和v的卷积,代数学上等同的卷积,代数学上等同于于u和和v代表的两个多项式的乘积;代表的两个多项式的乘积;deconv用长除用长除法从法从v中解卷积出中解卷积出u,代数学上即为多项式相除,代数学上即为多项式相除,返回的向量返回的向量q和和r分别表示商和剩余多项式,关系分别表示商和剩余多项式,关系式为式为v=conv(u,q)+r;polyder计算向量计算向量p或向量或向量a和和b代表的多项式的导数;代表的多项式的导
28、数;r,p,k = residue(b,a)求多项式的部分分式展开形式,求多项式的部分分式展开形式,b,a = residue(r,p,k)将由将由r、p和和k描述的部分分式形式转描述的部分分式形式转换为整体分式形式。其中:换为整体分式形式。其中: 2021-11-2机械工业出版社Page 32b、a:代表下式中分子多项式的系数和分母多项式:代表下式中分子多项式的系数和分母多项式的系数的系数 121231121231( )( )mmmmnnnnb sb sb sbb sa sa sa sa sa-+-+=+r、p、k:代表下述部分分式的留数向量、极点向:代表下述部分分式的留数向量、极点向量和直
29、接项系数向量量和直接项系数向量 1212( )( )( )nnrrrb sk sa sspspsp=+-2021-11-2机械工业出版社Page 33在在MATLAB命令窗口按下面步骤输入指令并运行命令窗口按下面步骤输入指令并运行1)输入向量)输入向量b和和a代表两个多项式;代表两个多项式; b = 5 3 -2 7; a = -4 0 8 3; 2)计算两个多项式的乘积;)计算两个多项式的乘积; q,r = deconv(c,b)q = -4 0 8 3r = 1.0e-014 *0 0 0 0 0.2220 0.4441 0.4441 c=conv(b,a)c = -20 -12 48 1
30、1 -7 50 21 3)用多项式)用多项式c除以多项式除以多项式b; 2021-11-2机械工业出版社Page 344)求两个多项式乘积的导数;)求两个多项式乘积的导数; d=polyder(b,a)d = -120 -60 192 33 -14 50 5)将二多项式构成的分式转化为部分分式形式;)将二多项式构成的分式转化为部分分式形式; r, p, k = residue(b,a)r = -1.4167 -0.6653 1.3320p = 1.5737 -1.1644 -0.4093k = -1.2500 2021-11-2机械工业出版社Page 356)将)将5)的部分分式形式转换为整体
31、分式形式。)的部分分式形式转换为整体分式形式。 bb,aa = residue(r,p,k)bb = -1.2500 -0.7500 0.5000 -1.7500aa = 1.0000 -0.0000 -2.0000 -0.7500 向量向量bb和和aa是以向量是以向量a的第一个元素为基准的第一个元素为基准做归一化的结果。做归一化的结果。 2021-11-2机械工业出版社Page 36当曲线拟合所构造的拟合函数是多项式形式的函数当曲线拟合所构造的拟合函数是多项式形式的函数时,即为多项式曲线拟合。时,即为多项式曲线拟合。MATLAB中用于多项式中用于多项式曲线拟合的函数是曲线拟合的函数是poly
32、fit,常用的语法形式为:,常用的语法形式为: p = polyfit(x,y,n) p是长为是长为n+1的行向量,代表如下所示的的行向量,代表如下所示的n阶多项式阶多项式p(x),p(x(i)能在最小均方意义上拟合能在最小均方意义上拟合y(i)。 1121( )nnnnp xp xp xp xp-+=+2021-11-2机械工业出版社Page 37多项式曲线拟合函数多项式曲线拟合函数polyfit的应用。的应用。 本例是对误差函数的拟合,误差函数的定义如下本例是对误差函数的拟合,误差函数的定义如下202erf( )xtxedtp-=误差函数是一个界限函数,而多项式则是极大函数误差函数是一个界
33、限函数,而多项式则是极大函数。因此,对误差函数的拟合并不一定能达到理想的。因此,对误差函数的拟合并不一定能达到理想的效果,如下所示。效果,如下所示。 2021-11-2机械工业出版社Page 38clc;clear all;close all;x=(0:0.1:2.5); % 产生离散数据点并构造拟合函数产生离散数据点并构造拟合函数 %y=erf(x); p=polyfit(x,y,6);f=polyval(p,x); % 计算拟合函数在原始数据点处的值并计算拟合函数在原始数据点处的值并作比较作比较 %table=x y f y-fx=(0:0.1:5); % 重新产生原始数据并求拟合函数在这
34、些重新产生原始数据并求拟合函数在这些 数据点处的值数据点处的值 %y=erf(x);f=polyval(p,x);plot(x,y,o,x,f,-); % 画图观察拟合效果画图观察拟合效果 %legend(原始数据原始数据,拟合曲线拟合曲线);axis(0 5 0 2); 2021-11-2机械工业出版社Page 39MATLAB命令窗口里的运行结果如下:命令窗口里的运行结果如下: table = 0 0 0.0004 -0.0004 0.1000 0.1125 0.1119 0.0006 0.2000 0.2227 0.2223 0.0004 0.3000 0.3286 0.3287 -0.
35、0001 0.4000 0.4284 0.4288 -0.0004 0.5000 0.5205 0.5209 -0.0004 0.6000 0.6039 0.6041 -0.0002 0.7000 0.6778 0.6778 0.0000 0.8000 0.7421 0.7418 0.0003 0.9000 0.7969 0.7965 0.0004 1.0000 0.8427 0.8424 0.0003 1.1000 0.8802 0.8800 0.00022021-11-2机械工业出版社Page 40 1.2000 0.9103 0.9104 -0.0000 1.3000 0.9340 0.
36、9342 -0.0002 1.4000 0.9523 0.9526 -0.0003 1.5000 0.9661 0.9664 -0.0003 1.6000 0.9763 0.9765 -0.0002 1.7000 0.9838 0.9838 0.0000 1.8000 0.9891 0.9889 0.0002 1.9000 0.9928 0.9925 0.0003 2.0000 0.9953 0.9951 0.0002 2.1000 0.9970 0.9969 0.0001 2.2000 0.9981 0.9982 -0.0001 2.3000 0.9989 0.9991 -0.0003 2.
37、4000 0.9993 0.9995 -0.0002 2.5000 0.9996 0.9994 0.0002 2021-11-2机械工业出版社Page 4100.511.522.533.544.5500.20.40.60.811.21.41.61.82 原 始 数 据拟 合 曲 线2021-11-2机械工业出版社Page 42微积分是高等数学中研究函数的微分、积分以及有关概念和微积分是高等数学中研究函数的微分、积分以及有关概念和应用的数学分支。它是数学的一个基础学科,内容包括积分应用的数学分支。它是数学的一个基础学科,内容包括积分、函数极限、级数求和、函数极限、级数求和、Taylor幂级数展开
38、、幂级数展开、Fourier级数级数展开、常微分方程等问题的直接求解。数值积分可用于计算展开、常微分方程等问题的直接求解。数值积分可用于计算解析定义的函数的积分,也可以计算以列表形式给出的函数解析定义的函数的积分,也可以计算以列表形式给出的函数的积分,是一种十分基础而且重要的运算;而很多和方程有的积分,是一种十分基础而且重要的运算;而很多和方程有关的数值计算,如插值与拟合、方程求根和微分方程求解都关的数值计算,如插值与拟合、方程求根和微分方程求解都涉及微分的计算。涉及微分的计算。MATLAB的符号数学工具箱提供了求各的符号数学工具箱提供了求各类积分和微分的函数,能够帮助工程师们解决工程应用中的
39、类积分和微分的函数,能够帮助工程师们解决工程应用中的各种求导和积分问题。各种求导和积分问题。 2021-11-2机械工业出版社Page 431)不定积分)不定积分MATLAB的符号数学工具箱提供了用于计算积分的函数的符号数学工具箱提供了用于计算积分的函数int,它既可以计算不定积分,也可以计算定积分。,它既可以计算不定积分,也可以计算定积分。int用于计用于计算不定积分的语法形式为:算不定积分的语法形式为: int(expr) 或或int(expr,v) 功能:计算功能:计算expr(符号变量,由(符号变量,由symvar定义)定义)的不定积分或关的不定积分或关于符号标量于符号标量v的的不定积
40、分。不定积分。 syms x; int(-2*x/(1 + x2)2)ans = 1/(x2 + 1) syms x z; int(x/(1+z2),z)ans = x*atan(z) 2021-11-2机械工业出版社Page 442)定积分)定积分 函数函数int用于计算定积分的语法形式如下:用于计算定积分的语法形式如下: int(expr,a,b) 或或int(expr,v,a,b) 功能:计算功能:计算expr在在a,b上的定积分或上的定积分或在在a,b上关于上关于v的的定积分,定积分,a和和b为为符号标量或双精度符号标量或双精度标量。标量。 syms x; int(x*log(1+x)
41、,0,1)ans = 1/4 int(1/(x3),1,inf)ans = 1/2 syms x t; int(2*x,sin(t),1)ans = cos(t)2 2021-11-2机械工业出版社Page 453)二重积分)二重积分 MATLAB提供了计算二重积分的函数提供了计算二重积分的函数dblquad,常,常用的语法形式为:用的语法形式为: q=dblquad(fun,xmin,xmax,ymin,ymax)q=dblquad(fun,xmin,xmax,ymin,ymax,tol)q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method) 功能:调用函
42、数功能:调用函数quad计算函数计算函数fun(x,y)在由在由xmin,xmax,ymin,ymax确定的矩形上的二重积分。确定的矩形上的二重积分。 tol:用指定的精度:用指定的精度tol代替默认精度代替默认精度610-method:代替默认方法:代替默认方法quad,取值为,取值为quadl或自定义的或自定义的与与quad和和quadl有相同调用次序的函数。有相同调用次序的函数。 2021-11-2机械工业出版社Page 464)三重积分)三重积分 MATLAB提供了计算三重积分的函数提供了计算三重积分的函数triplequad,常用,常用的语法形式为:的语法形式为: triplequa
43、d(fun,xmin,xmax,ymin,ymax,zmin,zmax)triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol, method) 功能:调用函数功能:调用函数triplequad计算函数计算函数fun(x,y)在由在由xmin,xmax,ymin,ymax,zmin,zmax确定的矩形上的三重确定的矩形上的三重积分。积分。 tol:用指定的精度:用指定的精度tol代替默认精度代替默认精度610-method:代替默认方法:代替默认方法tri
44、plequad,取值为,取值为quadl或自或自定义的与定义的与quad和和quadl有相同调用次序的函数。有相同调用次序的函数。 2021-11-2机械工业出版社Page 471)导数)导数MATLAB的符号数学工具箱提供了求各类导数的函数的符号数学工具箱提供了求各类导数的函数diff,常用的语法形式为:常用的语法形式为: diff(expr) 或或diff(expr, v)diff(expr, n) 或或diff(expr, v, n) 功能:求功能:求expr的导数、关的导数、关于于v的导数、的导数、n(正整数(正整数)阶导数和关于)阶导数和关于v的的n(正整数)阶导数。正整数)阶导数。
45、 diff(sin(x2)ans = 2*x*cos(x2) diff(t6,6)ans = 720 2021-11-2机械工业出版社Page 482)多元函数的偏导数)多元函数的偏导数多元函数的偏导数也可以由函数多元函数的偏导数也可以由函数diff实现。已知函数实现。已知函数f(x,y),若要求若要求 ,则可以用下面的代码实现:,则可以用下面的代码实现:( , )mnmnf x yxy+抖diff(diff(f,x,m),y,n) 或或diff(diff(f,y,n),x,m) diff(sin(x*t2),t)ans = 2*t*x*cos(t2*x) diff(diff(3*x3*y2+
46、sin(x*y),x),y)ans = cos(x*y) + 18*x2*y - x*y*sin(x*y) 2sin()xtt轾犏臌2323sin()x yxyx y轾+犏臌抖2021-11-2机械工业出版社Page 493)隐函数的导数)隐函数的导数隐函数的导数也可由函数隐函数的导数也可由函数diff实现。已知隐函数实现。已知隐函数 12(,)0nf xxx= =求求 可以用下面的代码实现:可以用下面的代码实现: d/dijxx-diff(f,xj)/diff(f,xi) sin0yxeyx e+-=ddyx已知隐函数已知隐函数 ,下面的代码用以计算导,下面的代码用以计算导数数 syms x
47、 y; f=exp(y)+y*sin(x)-exp(x); -diff(f,x)/diff(f,y) ans = (exp(x) - y*cos(x)/(exp(y) + sin(x) 2021-11-2机械工业出版社Page 504)参数方程的导数)参数方程的导数参数方程的导数也可以由函数参数方程的导数也可以由函数diff实现。已知参数方程实现。已知参数方程 ( )( )xg tyf t = ,求,求 可以用下面的代码实现:可以用下面的代码实现: d / dyxdiff(f,t)/diff(g,t) 已知已知 sin(1cos )xttytt =- 右面的代码用以计算右面的代码用以计算 d
48、/ dyx syms t; x=t*sin(t); y=t*(1-cos(t); diff(y,t)/diff(x,t)ans = (t*sin(t) - cos(t) + 1)/ (sin(t) + t*cos(t) 2021-11-2机械工业出版社Page 51MATLAB符号数学工具箱提供了计算函数极限的函数符号数学工具箱提供了计算函数极限的函数limit,常用的语法形式为:常用的语法形式为: limit(expr,x,a) 或或limit(expr,a) 或或limit(expr)limit(expr,x,a,left) 或或limit(expr,x,a,right) 功能:计算函数功
49、能:计算函数expr当当xa时时的双向极限、当默认变量趋向的双向极限、当默认变量趋向于于a时的双向极限、当默认变量时的双向极限、当默认变量趋向于趋向于0时的双向极限、当时的双向极限、当x从从左边趋向于左边趋向于a时的极限和当时的极限和当x从从右边趋向于右边趋向于a时的极限。时的极限。 syms x h a; limit(sin(x)/x)ans = 1 limit(1/x,x,0,right)ans = Inf limit(1/x,x,0,left)ans = -Inf v=(1+a/x)x,exp(-x); limit(v,x,inf)ans = exp(a), 0 2021-11-2机械工
50、业出版社Page 52MATLAB符号数学工具箱提供了求级数和的函数符号数学工具箱提供了求级数和的函数symsum,常用的语法形式为:,常用的语法形式为: r=symsum(expr) 或或r=symsum(expr,v)r=symsum(expr,a,b) 或或r=symsum(expr,v,a,b) 功能:计算符号表达式功能:计算符号表达式expr的级数,表达式的默认变量为由的级数,表达式的默认变量为由symvar定义的定义的defaultVar,其变化范围为,其变化范围为0defaultVar-1。 v:计算:计算expr的级数,变量的级数,变量v的变化范围为的变化范围为0v-1;a、b
51、:计算:计算expr的级数,默认变量的级数,默认变量defaultVar的变化范围的变化范围 为为ab;v、a、b:计算:计算expr的级数,变量的级数,变量v的变化范围为的变化范围为ab。 2021-11-2机械工业出版社Page 53 syms k x; symsum(k)ans = k2/2 - k/2 symsum(k2)ans = k3/3 - k2/2 + k/6 symsum(k2,0,10)ans = 385 symsum(xk/sym(k!),k,0,inf)ans = exp(x) 下面的代码用以求级数下面的代码用以求级数 10-=kii120-=kii1020=kk0!=
52、kkxk2021-11-2机械工业出版社Page 54MATLAB符号数学工具箱提供了用于泰勒级数展开的函数符号数学工具箱提供了用于泰勒级数展开的函数taylor,语法形式为:,语法形式为: taylor(f) 或或taylor(f,n) 或或taylor(f,a) 或或taylor(f,n,v) 或或taylor(f,n,v,a) 功能:将功能:将f展开为展开为5阶迈克劳林(阶迈克劳林(Maclaurin)多项式、)多项式、n-1阶的迈克劳林(阶的迈克劳林(Maclaurin)多项式()多项式(n为正整数)、关于为正整数)、关于a的的5阶泰勒级数(阶泰勒级数(a是一个实数)、关于是一个实数)
53、、关于v(表达式中的独(表达式中的独立变量)的立变量)的n-1阶迈克劳林多项式(阶迈克劳林多项式(v可以是一个字符串或可以是一个字符串或符号变量)和关于符号变量)和关于v-a的的n-1阶的泰勒级数(阶的泰勒级数(a可以是数值、可以是数值、字符或字符串,当字符或字符串,当a是字符或字符串时,是字符或字符串时,v不能省略)。不能省略)。 2021-11-2机械工业出版社Page 55解析函数解析函数f(x)关于关于x-a的泰勒级数表达式如下:的泰勒级数表达式如下: ()0( )( )()!=-mmmfaf xxam则,函数则,函数taylor的不同语法形式所得出的结果如下表所示的不同语法形式所得出
54、的结果如下表所示 2021-11-2机械工业出版社Page 56若函数若函数f是一个二元或多元函数(是一个二元或多元函数(f=f(x, y, )),则函数),则函数taylor的语法形式及得到的结果如下表所示。的语法形式及得到的结果如下表所示。 2021-11-2机械工业出版社Page 57下面的代码用以求下面的代码用以求 在采用函数在采用函数taylor的不同语的不同语法形式时的级数表达式。法形式时的级数表达式。 2xe syms x a; f=exp(x2); taylor(f)ans = x4/2 + x2 + 1 taylor(f,3)ans = x2 + 1 taylor(f,a)a
55、ns = exp(a2) + exp(a2)*(a - x)4*(2*a*(a/3 + 2*a*(a2/6 + 1/6) + (2*a2)/3 + 1/2) - xp(a2)*(a - x)5*(a/3 + 2*a*(a2/6 + 1/6) + 2*a*(2*a*(a/12 + 2*a*(a2/30 + 1/24) + a2/6 + 1/6) -exp(a2)*(a + 2*a*(2*a2)/3 + 1/2)*(a - x)3 - 2*a*exp(a2)*(a - x) + exp(a2)*(2*a2+ 1)*(a - x)2 taylor(f,3,1)ans = exp(1) + 2*exp
56、(1)*(x - 1) + 3*exp(1)*(x - 1)2 taylor(f,3,x,a)ans = exp(a2) - 2*a*exp(a2)*(a - x) + exp(a2)*(2*a2 + 1)*(a - x)2 2021-11-2机械工业出版社Page 58在自然科学和工程技术中,很多问题可归结在自然科学和工程技术中,很多问题可归结为求解线性方程组。采用为求解线性方程组。采用MATLAB,不仅可,不仅可以利用其提供的相关函数直接解决一些简单以利用其提供的相关函数直接解决一些简单的线性方程组,也可以通过简单的编程来解的线性方程组,也可以通过简单的编程来解决一些复杂的线性方程组。决一
57、些复杂的线性方程组。 2021-11-2机械工业出版社Page 59AxbxA b在在MATLAB中用直接法求解线性方程组中用直接法求解线性方程组用用“左除左除”符号符号“”实现,即实现,即 。,可以,可以下面的代码用直接法下面的代码用直接法求解如下方程组。求解如下方程组。 123412423412343413579 (a)26640 xxxxxxxxxxxxxx A=3 1 -4 1;1 -5 0 7; 0 2 1 1;1 6 -1 -4; b=13 -9 6 0; x=Abx = 43.6667 -17.0000 20.3333 -19.6667 2021-11-2机械工业出版社Page
58、60MATLAB中用于求逆矩阵的函数是中用于求逆矩阵的函数是inv。 下面的代码用矩阵求逆法求解上面的方程组(下面的代码用矩阵求逆法求解上面的方程组(a)。)。 b=13 -9 6 0; x=inv(A)*bx = 43.6667 -17.0000 20.3333 -19.6667 2021-11-2机械工业出版社Page 61矩阵分解法是指根据一定的原理,用某种算法将矩阵分解法是指根据一定的原理,用某种算法将方程组的系数矩阵分解为若干个矩阵的乘积,分方程组的系数矩阵分解为若干个矩阵的乘积,分解后的矩阵一般是某种特殊矩阵。常见的矩阵分解后的矩阵一般是某种特殊矩阵。常见的矩阵分解方法有:解方法有
59、:LU分解、分解、QR分解、分解、Cholesky分解、分解、Schur分解、分解、Hessenberg分解和奇异分解等。这分解和奇异分解等。这里只对里只对LU分解、分解、QR分解以及分解以及Cholesky稍加介绍稍加介绍,请读者通过,请读者通过MATLAB的帮助命令查看其他几种的帮助命令查看其他几种矩阵分解法的用法。矩阵分解法的用法。 2021-11-2机械工业出版社Page 621)LU分解分解 矩阵的矩阵的LU分解也叫三角分解,是将矩阵分解为一个变分解也叫三角分解,是将矩阵分解为一个变换下三角矩阵和一个上三角矩阵的乘积。只要矩阵是非奇换下三角矩阵和一个上三角矩阵的乘积。只要矩阵是非奇异
60、的,异的,LU分解总可以进行。分解总可以进行。 MATLAB提供了用于对矩阵进行提供了用于对矩阵进行LU分解的函数分解的函数lu,其,其常用的语法形式为:常用的语法形式为: L,U = lu(A) 或或 L,U,P = lu(A) U、L(行交换)(行交换)P、:上三角矩阵、变换下三角矩阵和置、:上三角矩阵、变换下三角矩阵和置 换矩阵。换矩阵。 经经LU分解后,线性方程组分解后,线性方程组 的解可记为:的解可记为:Axbx=U(Lb)或或x=U(LP*b)。 2021-11-2机械工业出版社Page 63下面的代码用下面的代码用LU分解法求解方程组(分解法求解方程组(a)。)。 A=3 1 -
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 修建建筑公司合同范例
- 亚马逊店铺转让合同范例
- 中文出口销售合同范例
- 公司工会工作年终总结模版
- 区块链技术在农业产品供应链中的应用及效果分析
- 产品联合运营合同范例
- 2025年学校教研工作总结模版
- 医疗AI在专科护理领域的创新实践案例分享
- 2025-2030年花皮小提包项目商业计划书
- 区块链赋能大数据打造智能商业生态
- 彩票店合伙协议书模板
- 2023年运城市中心医院招聘专业技术人考试真题
- 模具外贸业务合同范本
- 2024年湖北省武汉市中考语文试卷真题(含答案)
- 污泥运输合同范本协议书
- 2020-2024年安徽省初中学业水平考试中考化学试卷(5年真题+答案解析)
- 视频剪辑制作合同
- 人教版小学数学五年级下册期末测试卷有完整答案
- 【年加工500吨鲍鱼的综合加工生产工艺设计10000字(论文)】
- 2022年新高考全国I卷数学真题(解析版)
- 18文言文二则《囊萤夜读》公开课一等奖创新教学设计
评论
0/150
提交评论