MATLAB语言及应用-第三章.ppt

上传人:tia****nde 文档编号:12806177 上传时间:2020-05-25 格式:PPT 页数:35 大小:390.50KB
返回 下载 相关 举报
MATLAB语言及应用-第三章.ppt_第1页
第1页 / 共35页
MATLAB语言及应用-第三章.ppt_第2页
第2页 / 共35页
MATLAB语言及应用-第三章.ppt_第3页
第3页 / 共35页
点击查看更多>>
资源描述
第3章MATLAB在现代科学计算中的应用,MATLAB语言及应用,数据处理与多项式计算数据统计与分析数值插值曲线拟合多项式计算函数的最大值与最小值,第3章MATLAB在现代科学计算中的应用,数据统计与分析1.求矩阵最大和最小元素(1)求向量的最大最小元素y=max(X)返回向量X的最大元素存入y。y,I=max(X)返回向量X的最大元素存入y,最大元素的序号存入I。,第3章MATLAB在现代科学计算中的应用,(2)求矩阵的最大和最小元素max(A)返回一个行向量,向量的第i个元素是A矩阵的第i列上的最大元素。Y,U=max(A)返回两个行向量,Y向量记录A的每列的最大元素,U向量记录每列最大元素的行号。max(A,dim)dim取1或2。dim取1时,该函数和max(A)完全相同。dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大元素。,第3章MATLAB在现代科学计算中的应用,(3)两个向量或矩阵对应元素的比较U=max(A,B)A,B是两个同型的向量或矩阵。结果U是与A,B同型的向量或矩阵,U的每个元素等于A,B对应元素的较大者。U=max(A,n)n是一个标量。结果U是与A同型的向量或矩阵,U的每个元素等于A对应元素和n中的较大者。min函数的用法和max完全相同。,第3章MATLAB在现代科学计算中的应用,例1求矩阵A的每行及每列的最大和最小元素,并求整个矩阵的最大和最小元素。命令如下:A=13,-56,78;25,63,-235;78,25,563;1,0,-1;max(A,2)%求每行最大元素min(A,2)%求每行最小元素max(A)%求每列最大元素min(A)%求每列最小元素max(max(A)%求整个矩阵的最大元素min(min(A)%求整个矩阵的最小元素,第3章MATLAB在现代科学计算中的应用,2.求矩阵的平均值和中值求矩阵和向量元素的平均值的函数是mean,求中值的函数是median。它们的调用方法和max函数完全相同。3.矩阵元素求和与求积矩阵和向量求和与求积的基本函数是sum和prod,其使用方法和max类似。,第3章MATLAB在现代科学计算中的应用,例2求矩阵A的每行元素的乘积和全部元素的乘积。命令如下:A=1,2,3,4;5,6,7,8;9,10,11,12;S=prod(A,2)prod(S)%求A的全部元素的乘积,第3章MATLAB在现代科学计算中的应用,4.矩阵元素累加和与累乘积MATLAB中,使用cumsum和cumprod函数能方便地求得向量和矩阵元素的累加和与累乘积向量,函数的用法和sum及prod相同例3求向量X=(1!,2!,3!,10!)。命令如下:X=cumprod(1:10),第3章MATLAB在现代科学计算中的应用,5.标准方差MATLAB中,提供了计算数据序列的标准方差的函数std。对于向量X,std(X)返回一个标准方差。对于矩阵A,std(A)返回一个行向量,它的各个元素便是矩阵A各列的标准方差。std函数的一般调用格式为:std(A)例3产生86阶的正态分布随机数矩阵R,求其各列的平均值和标准方差,并求全体的平均值和标准方差。,第3章MATLAB在现代科学计算中的应用,6.元素排序MATLAB中对向量X是排序函数是sort(X),函数返回一个对X中的元素按升序排列的新向量。sort函数也可以对矩阵A的各列(或行)重新排序,其调用格式为:Y,I=sort(A,dim)其中dim指明对A的列还是行进行排序,若dim=1,则按列排,若dim=2,则按行排。Y是排序后的矩阵,而I记录Y中的元素在A中位置。,第3章MATLAB在现代科学计算中的应用,例4对矩阵做各种排序。命令如下:A=1,-8,5;4,12,6;13,7,-13;sort(A)%对A的每列按升序排序-sort(-A,2)%对A的每行按降序排序X,I=sort(A)%对A按列排序,并将每个元素所在行号送矩阵I,第3章MATLAB在现代科学计算中的应用,数值插值1.一维数值插值interp1函数调用格式为:Y1=interp1(X,Y,X1,method)函数根据X、Y的值,计算函数在X1处的值。X、Y是两个等长的已知向量,分别描述采样点和样本值,X1是一个向量或标量,描述欲插值的点,Y1是一个与X1等长的插值结果。method是插值方法,允许的取值有linear(线性插值)、nearest(最近插值)、spline(三次样条插值)、cubic(三次多项式插值),缺省值是linear。,第3章MATLAB在现代科学计算中的应用,例5用不同的插值方法计算sin(x)在/2点的值。这是一维插值问题。在MATLAB命令窗口,输入命令:X=0:0.2:pi;Y=sin(X);%给出X、Yinterp1(X,Y,pi/2)%用缺省方法计算sin(/2)interp1(X,Y,pi/2,nearest)%最近方法计算sin(/2)interp1(X,Y,pi/2,linear)%线性方法计算sin(/2)interp1(X,Y,pi/2,spline)%三次样条方法计算sin(/2)interp1(X,Y,pi/2,cubic)%三次多项式方法计算sin(/2),第3章MATLAB在现代科学计算中的应用,MATLAB中有一个专门的三次样条插值函数Y1=spline(X,Y,X1),其功能及使用方法与函数Y1=interp1(X,Y,X1,spline)完全相同。,第3章MATLAB在现代科学计算中的应用,2.二维数值插值MATLAB中,提供了解决二维插值问题的函数。其调用格式为:Z1=interp2(X,Y,Z,X1,Y1,method)其中X、Y是两个向量,分别描述两个参数的采样点,Z是与参数采样点对应的采样变量的样本值,X1、Y1是两个向量或标量,描述欲插值的点。method的取值与一维插值函数相同。,第3章MATLAB在现代科学计算中的应用,例6设Z=x2+y2,对Z函数在(0,1)(0,2)区域内进行插值。命令如下:x=0:0.1:10;y=0:0.2:20;X,Y=meshgrid(x,y);Z=X.2+Y.2;interp2(x,y,Z,0.5,0.5)%对函数在(0.5,0.5)点进行插值interp2(x,y,Z,0.50.6,0.4)%对函数在(0.5,0.4)点和(0.6,0.4)点进行插值interp2(x,y,Z,0.50.6,0.40.5)%对函数在(0.5,0.4)点和(0.6,0.5)点进行插值interp2(x,y,Z,0.50.6,0.40.5)%对函数在(0.5,0.4),(0.6,0.4),(0.5,0.5)和(0.6,0.5)点进行插值,第3章MATLAB在现代科学计算中的应用,3.三维数值插值对三维函数插值的函数是interp3,其使用方法和interp2相同。其调用格式为:W1=interp3(X,Y,Z,W,X1,Y1,Z1,method)函数返回三维插值结果。其中X、Y、Z是三个向量,分别描述三个参数的采样点,W是与参数采样点对应的采样变量的样本值,X1、Y1、Z1是三个向量或标量,描述欲插值的点。method是插值方法,可选,其缺省值是line。method的取值与一、二维插值函数相同。,第3章MATLAB在现代科学计算中的应用,曲线拟合MATLAB中,提供了解决使用最小二乘法进行曲线拟合的函数。调用格式为:P,S=polyfit(X,Y,m)函数根据采样点X和采样点函数值Y,产生一个m次多项式P及其在采样点的误差向量S。其中X、Y是两个等长的向量,P是一个长度为m+1的向量。,第3章MATLAB在现代科学计算中的应用,例7用一个5次多项式在区间0,2内逼近函数sin(x)。命令如下:X=linspace(0,2*pi,50);Y=sin(X);P,S=polyfit(X,Y,5)%得到5次多项式的系数和误差plot(X,Y,k*,X,polyval(P,X),k-),第3章MATLAB在现代科学计算中的应用,多项式计算1.多项式的建立已知一个多项式的全部根X求多项式系数的函数是poly(X),该函数返回以X为全部根的一个多项式P,当X是一个长度为m的向量时,P是一个长度为m+1的向量。2.多项式求根求多项式p(x)的根的函数是roots(P),这里,P是p(x)的系数向量,该函数返回方程p(x)=0的全部根(含重根,复根)。,第3章MATLAB在现代科学计算中的应用,3.多项式求值求多项式p(x)在某点或某些点的函数值的函数是polyval(P,x)。若x为一数值,则求多项式在该点的值;若x为向量或矩阵,则对向量或矩阵中的每个元素求其多项式的值。,第3章MATLAB在现代科学计算中的应用,例8已知一个多项式,计算:(1)计算f(x)=0的全部根。(2)由方程f(x)=0的根构造一个多项式g(x),并与f(x)进行对比。(3)计算f(5)、f(7.8)、f(9.6)、f(12.3)的值。,第3章MATLAB在现代科学计算中的应用,命令如下:P=3,0,4,-5,-7.2,5;X=roots(P)%求方程f(x)=0的根G=poly(X)%求多项式g(x)X0=5,7.8,9.6,12.3;f=polyval(P,X0)练习:把1开5次方,并求其全部5个根。,第3章MATLAB在现代科学计算中的应用,4.多项式的四则运算(1)多项式的加减法(2)多项式的乘法函数conv(P1,P2)用于求多项式P1和P2的乘积。(3)多项式的除法函数Q,r=deconv(P1,P2)用于对多项式P1和P2作除法运算。其中Q返回多项式P1除以P2的商式,r返回P1除以P2的余式。这里,Q和r仍是多项式系数向量。deconv是conv的逆函数,即有P1=conv(P2,Q)+r。,第3章MATLAB在现代科学计算中的应用,例9设有两个多项式,计算:(1)求f(x)+g(x)、f(x)-g(x)。(2)求f(x)g(x)、f(x)/g(x)。,第3章MATLAB在现代科学计算中的应用,在MATLAB命令窗口,输入命令:f=3,-5,2,-7,5,6;g=3,5,-3;g1=0,0,0,g;f+g1%求f(x)+g(x)f-g1%求f(x)-g(x)conv(f,g)%求f(x)*g(x)Q,r=deconv(f,g)%求f(x)/g(x),商式送Q,余式送r。,第3章MATLAB在现代科学计算中的应用,5.多项式的导函数对多项式求导数的函数是:p=polyder(P)求多项式P的导函数p=polyder(P,Q)求P*Q的导函数p,q=polyder(P,Q)求P/Q的导函数,导函数的分子存入p,分母存入q。,第3章MATLAB在现代科学计算中的应用,函数的最大值与最小值MATLAB中用于求最小值的函数是:fmin(f,a,b)求单变量函数f(x)在区间(a,b)上的最小值。fmins(F,X0)求多变量函数F(x)在估计值X0附近的最小值点。,第3章MATLAB在现代科学计算中的应用,MATLAB没有专门提供求函数最大值点的函数,但只要注意到-f(x)在区间(a,b)上的最小值点就是f(x)在(a,b)的最大值点,所以fmin(-f,a,b)返回函数f(x)在区间(a,b)上的最大值。例10求函数f(x)在区间(-10,1)和(1,10)上的最小值点。,第3章MATLAB在现代科学计算中的应用,首先建立函数文件fx.m:functionf=f(x)f=x-1/x+5;return再在MATLAB命令窗口,输入命令:fmin(fx,-10,-1)%求函数在区间(-10,-1)内的最小值点fmin(f,1,10)%求函数在区间(1,10)内的最小值点。注意函数名f不用加,第3章MATLAB在现代科学计算中的应用,例11设有函数f(x,y,z),求函数f在(0.5,0.5,0.5)附近的最小值。,第3章MATLAB在现代科学计算中的应用,建立函数文件fxyz.m:functionf=f(u)x=u(1);y=u(2);z=u(3);f=x+y.2./x/4+z.2./y+2./z;return在MALAB命令窗口,输入命令:U=fmins(fxyz,0.5,0.5,0.5)%求函数的最小值点fxyz(U)%求函数的最小值,第3章MATLAB在现代科学计算中的应用,练习:1求多项式在2.25处的值。polyval(P,x)2求代数方程的所有根。X=roots(P),第3章MATLAB在现代科学计算中的应用,thankyou!,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!