MATLAB语言及其应用课件CH06matlab数值计算.ppt
《MATLAB语言及其应用课件CH06matlab数值计算.ppt》由会员分享,可在线阅读,更多相关《MATLAB语言及其应用课件CH06matlab数值计算.ppt(41页珍藏版)》请在三一办公上搜索。
1、第6章MATLAB数值计算,曹 霞 2012.03,遮学趟渊魁氦肚擒孜郝街又玛五曳容翌啪航采卞炯桶苦屏捎谰夷凸萨顺府MATLAB语言及其应用课件CH06 matlab数值计算Matlab,6.1数据处理与多项式计算6.2数值微积分6.3常微分方程的数值求解6.4非线性方程的数值求解,妙犹程箱尧鸿疙兼挚贮癌农坯键枚炸序亡腑紧虾痰编庸勋宵忍郧混寨淀管MATLAB语言及其应用课件CH06 matlab数值计算Matlab,5.1 数据处理与多项式计算,5.1.1 数据统计与分析1.求矩阵最大和最小元素(1)求向量的最大最小元素y=max(X)返回向量X的最大元素存入y。y,I=max(X)返回向量X
2、的最大元素存入y,最大元素的序号存入I。(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行上的最大元素。,沮防液踞令稼坟呀卡兑权褂织渠谁宛亩宅抓屑助池肮樊两袍贬呕哭夸四捉MATLAB语言及其应用课件CH06 matlab数值计算Matlab,(3)两个向量或矩阵对应元素的比较U=max(A,B)A,B是两个
3、同型的向量或矩阵。结果U是与A,B同型的向量或矩阵,U的每个元素等于A,B对应元素的较大者。U=max(A,n)n是一个标量。结果U是与A同型的向量或矩阵,U的每个元素等于A对应元素和n中的较大者。min函数的用法和max完全相同。,玉冗翟揍眺浦罪缴薄厚振计珐囱煤问亢墙扭勃狠啦偶被赫虹苛溃诺氓镣顾MATLAB语言及其应用课件CH06 matlab数值计算Matlab,例6.1 求矩阵A的每行及每列的最大和最小元素,并求整个矩阵的最大和最小元素。命令如下:A=13,-56,78;25,63,-235;78,25,563;1,0,-1;max(A,2)%求每行最大元素min(A,2)%求每行最小元
4、素max(A)%求每列最大元素min(A)%求每列最小元素max(max(A)%求整个矩阵的最大元素min(min(A)%求整个矩阵的最小元素,程雏抒剂候妻踪裴质婆谦酗宿涂施秦珠迷抖缅撞景呆荤瘁透匈妄晒箕帧吮MATLAB语言及其应用课件CH06 matlab数值计算Matlab,2.求矩阵的平均值和中值求矩阵和向量元素的平均值的函数是mean,求中值的函数是median。它们的调用方法和max函数完全相同。3.矩阵元素求和与求积矩阵和向量求和与求积的基本函数是sum和prod,其使用方法和max类似。,狐说谍逆诛榔屋屉君庚搅下毙喻窒锡谋盈法拳丁稽房哈盼升镶痒防遁迟咸MATLAB语言及其应用课件
5、CH06 matlab数值计算Matlab,例6.2求矩阵A的每行元素的乘积和全部元素的乘积。命令如下:A=1,2,3,4;5,6,7,8;9,10,11,12;S=prod(A,2)prod(S)%求A的全部元素的乘积4.矩阵元素累加和与累乘积MATLAB中,使用cumsum和cumprod函数能方便地求得向量和矩阵元素的累加和与累乘积向量,函数的用法和sum及prod相同例6.3求向量X=(1!,2!,3!,10!)。命令如下:X=cumprod(1:10),橙幼握羌咖辛表跺货就谊奉近烛喳敝革雨赁过永儒酉用妒境箍墙功龟擎壳MATLAB语言及其应用课件CH06 matlab数值计算Matla
6、b,5.标准方差MATLAB中,提供了计算数据序列的标准方差的函数std。对于向量X,std(X)返回一个标准方差。对于矩阵A,std(A)返回一个行向量,它的各个元素便是矩阵A各列或各行的标准方差。std函数的一般调用格式为:std(A,FLAG,dim)其中dim取1或2。当dim=1时,求各列元素的标准方差;当dim=2时,则求各行元素的标准方差。FLAG取0或1。,胺荡阅慧逝且端振迟送锐紧关排捞慨粘誊具岭舵硼艇搓茨塔馋邪苑掷阳凡MATLAB语言及其应用课件CH06 matlab数值计算Matlab,6.元素排序MATLAB中对向量X是排序函数是sort(X),函数返回一个对X中的元素按
7、升序排列的新向量。sort函数也可以对矩阵A的各列(或行)重新排序,其调用格式为:Y,I=sort(A,dim)其中dim指明对A的列还是行进行排序,若dim=1,则按列排,若dim=2,则按行排。Y是排序后的矩阵,而I记录Y中的元素在A中位置。,兹驱徒蒙掉捡嘉栋妈亥掀长吭同双趾怕壹卯膘庸询鳃胰踌咬券蕾皆瘸颇亭MATLAB语言及其应用课件CH06 matlab数值计算Matlab,例6.4对矩阵做各种排序。命令如下:A=1,-8,5;4,12,6;13,7,-13;sort(A)%对A的每列按升序排序-sort(-A,2)%对A的每行按降序排序X,I=sort(A)%对A按列排序,并将每个元素
8、所在行号送矩阵I,栅贱沈丝烫堆霹辽司濒呼逝展争硼剐彭怪肾系从警遵鼻窗墓金膝亏懊枣象MATLAB语言及其应用课件CH06 matlab数值计算Matlab,6.1.2 数值插值1.一维数值插值interp1函数调用格式为:Y1=interp1(X,Y,X1,method)函数根据X、Y的值,计算函数在X1处的值。X、Y是两个等长的已知向量,分别描述采样点和样本值,X1是一个向量或标量,描述欲插值的点,Y1是一个与X1等长的插值结果。method是插值方法,允许的取值有linear(线性插值)、nearest(最近插值)、spline(三次样条插值)、cubic(三次多项式插值),缺省值是line
9、ar。,惯租舔祥彭武判昆敢衙近夺北躲匀寂屯钥跃谈剧脱肠聂您杜匀殴眉艘栓耀MATLAB语言及其应用课件CH06 matlab数值计算Matlab,例6.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)%用三
10、次样条方法计算sin(/2)interp1(X,Y,pi/2,cubic)%用三次多项式方法计算sin(/2)MATLAB中有一个专门的三次样条插值函数Y1=spline(X,Y,X1),其功能及使用方法与函数Y1=interp1(X,Y,X1,spline)完全相同。,哪枝签吊炎渍罐赛驶氟忽美辙衍缺萍盂扳呈忌压瓶利帮叔仪吁屹虞跌合恨MATLAB语言及其应用课件CH06 matlab数值计算Matlab,例6.6 已知检测参数f随时间t的采样结果,用数值插值法计算t=2,7,12,17,22,17,32,37,42,47,52,57时f的值。这是一个一维数值插值问题,命令如下:T=0:5:65
11、;X=2:5:57;F=3.2015,2.2560,879.5,1835.9,2968.8,4136.2,5237.9,6152.7,.6725.3,6848.3,6403.5,6824.7,7328.5,7857.6;F1=interp1(T,F,X)%用线性方法插值F1=interp1(T,F,X,nearest)%用最近方法插值F1=interp1(T,F,X,spline)%用三次样条方法插值F1=interp1(T,F,X,cubic)%用三次多项式方法插值,般塑述佣族叠警喳升瞩籍魁纹兴寄独遵间号疯衍连务烘桶缓拍襟间夜瓷再MATLAB语言及其应用课件CH06 matlab数值计算Ma
12、tlab,2.二维数值插值MATLAB中,提供了解决二维插值问题的函数。其调用格式为:Z1=interp2(X,Y,Z,X1,Y1,method)其中X、Y是两个向量,分别描述两个参数的采样点,Z是与参数采样点对应的采样变量的样本值,X1、Y1是两个向量或标量,描述欲插值的点。method的取值与一维插值函数相同。,褥八页坦谐册袒个掸坍臭馅粕涝镍是填狞鸯佑拢吕歼叮您搐涕你捌尤席腕MATLAB语言及其应用课件CH06 matlab数值计算Matlab,例6.7设Z=x2+y2,对Z函数在(0,1)(0,2)区域内进行插值。命令如下:x=0:0.1:10;y=0:0.2:20;X,Y=meshgr
13、id(x,y);Z=X.2+Y.2;interp2(x,y,Z,0.5,0.5)%对函数在(0.5,0.5)点进行插值interp2(x,y,Z,0.5 0.6,0.4)%对函数在(0.5,0.4)点和(0.6,0.4)点进行插值interp2(x,y,Z,0.5 0.6,0.4 0.5)%对函数在(0.5,0.4)点和(0.6,0.5)点进行插值interp2(x,y,Z,0.5 0.6,0.4 0.5)%对函数在(0.5,0.4),(0.6,0.4),(0.5,0.5)和(0.6,0.5)点进行插值,泡拄味怖繁甩浪货耗弊汹锁检质蕴谓毁相撕夯雨矣乘辉逮镀窗缠证曲痕楞MATLAB语言及其应用课
14、件CH06 matlab数值计算Matlab,3.三维数值插值对三维函数插值的函数是interp3,其使用方法和interp2相同。其调用格式为:W1=interp3(X,Y,Z,W,X1,Y1,Z1,method)函数返回三维插值结果。其中X、Y、Z是三个向量,分别描述三个参数的采样点,W是与参数采样点对应的采样变量的样本值,X1、Y1、Z1是三个向量或标量,描述欲插值的点。method是插值方法,可选,其缺省值是 line。method的取值与一、二维插值函数相同。,滥雾授羹寸耍委疡娜仅悸翻膨梯司案警翠送酉习幻陇鹅蜂琉谎咖粉魂诱茧MATLAB语言及其应用课件CH06 matlab数值计算M
15、atlab,6.1.3 曲线拟合MATLAB中,提供了解决使用最小二乘法进行曲线拟合的函数。调用格式为:P,S=polyfit(X,Y,m)函数根据采样点X和采样点函数值Y,产生一个m次多项式P及其在采样点的误差向量S。其中X、Y是两个等长的向量,P是一个长度为m+1的向量。,退寿爆钉酿疮岔氏琐咙影竹桅脓帆嵌倚散孔熄破绞扛芭株除纯灾渺腰签哑MATLAB语言及其应用课件CH06 matlab数值计算Matlab,例6.8 用一个5次多项式在区间0,2内逼近函数sin(x)。命令如下:X=linspace(0,2*pi,50);Y=sin(X);P,S=polyfit(X,Y,5)%得到5次多项式
16、的系数和误差plot(X,Y,k*,X,polyval(P,X),k-),乎徽愤船得牢蜒滦碑辞壁匆铅胖挽猛气肺炙讣墅溢陨忘嚼运质枯翔脂翟靠MATLAB语言及其应用课件CH06 matlab数值计算Matlab,6.1.4 多项式计算1.多项式的建立 已知一个多项式的全部根X求多项式系数的函数是poly(X),该函数返回以X为全部根的一个多项式P,当X是一个长度为m的向量时,P是一个长度为m+1的向量。2.多项式求根求多项式p(x)的根的函数是roots(P),这里,P是p(x)的系数向量,该函数返回方程p(x)=0的全部根(含重根,复根)。3.多项式求值求多项式p(x)在某点或某些点的函数值的
17、函数是polyval(P,x)。若x为一数值,则求多项式在该点的值;若x为向量或矩阵,则对向量或矩阵中的每个元素求其多项式的值。,御睁键刨疹挺蚊券荚蛊婴墨圃坛猫冬且尹念拭峡漠司尤奠凶件琉另捐宦打MATLAB语言及其应用课件CH06 matlab数值计算Matlab,例6.9 已知一个多项式,计算:(1)计算f(x)=0 的全部根。(2)由方程f(x)=0的根构造一个多项式g(x),并与f(x)进行对比。(3)计算f(5)、f(7.8)、f(9.6)、f(12.3)的值。命令如下:P=3,0,4,-5,-7.2,5;X=roots(P)%求方程f(x)=0的根G=poly(X)%求多项式g(x)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 语言 及其 应用 课件 CH06matlab 数值 计算
链接地址:https://www.31ppt.com/p-5277276.html