MATLAB的常用应用总结

上传人:ni****g 文档编号:559513470 上传时间:2023-04-20 格式:DOC 页数:10 大小:109KB
返回 下载 相关 举报
MATLAB的常用应用总结_第1页
第1页 / 共10页
MATLAB的常用应用总结_第2页
第2页 / 共10页
MATLAB的常用应用总结_第3页
第3页 / 共10页
MATLAB的常用应用总结_第4页
第4页 / 共10页
MATLAB的常用应用总结_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《MATLAB的常用应用总结》由会员分享,可在线阅读,更多相关《MATLAB的常用应用总结(10页珍藏版)》请在金锄头文库上搜索。

1、7 MATLAB的应用7.1 MATLAB在数值分析中的应用插值与拟合是来源于实际、又广泛应用于实际的两种重要方法。随着计算机的不断发展及计算水平的不断提高,它们已在国民生产和科学研究等方面扮演着越来越重要的角色。下面对插值中分段线性插值、拟合中的最为重要的最小二乘法拟合加以介绍。分段线性插值所谓分段线性插值就是通过插值点用折线段连接起来逼近原曲线,这也是计算机绘制图形的基本原理。实现分段线性插值不需编制函数程序,MATLAB自身提供了内部函数in terpl其主要用法如下:in terp1(x,y,xi)维插值 yi=i nterp1(x,y,xi)对一组点(x,y)进行插值,计算插值点xi

2、的函数值。x为节点向量值,y为对应的节点函数值。如果y为矩阵,则插值对y的每一列进行,若 y的维数超出x或xi的维数,则 返回NaN。 yi=i nterp1(y,xi)此格式默认x=1: n , n为向量y的元素个数值,或等于矩阵y的size(y,1)。 yi=interp1(x,y,xi, method)method用来指定插值的算法。默认为线性算法。其值常用的可以是如下的字符串。n earest线性最近项插值。lin ear线性插值。spli ne三次样条插值。cubic三次插值。所有的插值方法要求x是单调的。x也可能并非连续等距的。正弦曲线的插值示例: x=0 :0.1:10; y=s

3、i n( x); xi=0 :0.25:10; yi=i nterp1(x,y,xi); plot(x,y, 0 ,xi,yi)则可以得到相应的插值曲线(读者可自己上机实验)。Matlab也能够完成二维插值的运算,相应的函数为in terp2,使用方法与in terpl基本相同,只是输入和输出的参数为矩阵,对应于二维平面上的数据点,详细的用法见Matlab联机帮助。最小二乘法拟合在科学实验的统计方法研究中,往往要从一组实验数据(xyj中寻找出自变量x和因 变量y之间的函数关系y=f(x)。由于观测数据往往不够准确,因此并不要求y=f(x)经过所有的点(Xi, yi),而只要求在给定点 人上误差

4、二f (人)- yi按照某种标准达到最小,通常一 2采用欧氏范数|计作为误差量度的标准。这就是所谓的最小二乘法。在MATLAB中实现最小二乘法拟合通常采用polyfit函数进行。函数polyfit是指用一个多项式函数来对已知数据进行拟合,我们以下列数据为例介绍 这个函数的用法: x=0 :0.1: 1 ; y=-0.4471.9783.286.167.087.347.669.569.489.3011.2 为了使用polyfit,首先必须指定我们希望以多少阶多项式对以上数据进行拟合,如果我们指定一阶多项式,结果为线性近似,通常称为线性回归。我们选择二阶多项式进行拟合。 P= polyfit (x

5、, y, 2)P=-9.810820.1293-0.0317函数返回的是一个多项式系数的行向量,写成多项式形式为:-9.8108x2为了比较拟合结果,我们绘制两者的图形: xi=linspace (0, 1, 100);%绘图的 X-轴数据。 Z=polyval (p, xi);%得到多项式在数据点处的值。当然,我们也可以选择更高幕次的多项式进行拟合,如10阶: p=polyfit (x, y, 10); xi=li nspace (0, 1,100); z=ployval (p, xi);读者可以上机绘图进行比较,曲线在数据点附近更加接近数据点的测量值了,但从整体上来说,曲线波动比较大,并不

6、一定适合实际使用的需要,所以在进行高阶曲线拟合时,“越高越好”的观点不一定对的。7.2符号工具箱及其应用在数学应用中,常常需要做极限、微分、求导数等运算,MATLAB称这些运算为符号运算。MATLAB的符号运算功能是通过调用符号运算工具箱(Symbolic Math Toolbox)内的工具实现,其内核是借用Maple数学软件的。MATLAB的符号运算工具箱包含了微积分运算、 化简和代换、解方程等几个方面的工具,其详细内容可通过 MATLAB系统的联机帮助查阅, 本节仅对它的常用功能做简单介绍。符号变量与符号表达式MATLAB符号运算工具箱处理的对象主要是符号变量与符号表达式。要实现其符号运

7、算,首先需要将处理对象定义为符号变量或符号表达式,其定义格式如下:格式1: sym (变量名 或 sym (表达式)功能:定义一个符号变量或符号表达式。例如: sym ( x) sym( x+1 )格式2: syms变量名1%定义变量x为符号变量功能:定义变量名1、变量2、变量名 n为符号变量。%定义表达式x+1为符号表达式 变量名2 变量名n例如: syms a b x t%定义a,b, x,t均为符号变量微积分运算1、极限格式:limit (f, t, a,lefght Or)功能:求符号变量t趋近a时,函数f的(左或右)极限。left表示求左极限,right表 示求右极限,省略时表示求一

8、般极限;a省略时变量t趋近0; t省略时默认变量为 x,若无x则寻找(字母表上)最接近字母 x的变量。3x例如:求极限lim i1的命令及结果为:X x丿 syms x t limit (1+2*t/x)A(3*x) , x, i nf)ans=exp(6*t)再如求函数x / |x|,当Xr 0时的左极限和右极限, 命令及结果为: syms x limit(x/abs(x), x, 0, limit(x/abs(x),x, 0,lefts =-1)riglahs = 12、导数格式: diff (f,t, n)功能: 求函数f对变量t的n阶导数。当n省略时,默认 n=1;当t省略时,默认变

9、量x,若无x时则查找字母表上最接近字母x的字母。例如:求函数f=a*xA2+b*x+c对变量x的一阶导数,命令及结果为 syms a b c x f=a*xA2+b*x+c; diff(f)ans=2*a*x+b求函数f对变量b的一阶导数(可看作求偏导),命令及结果为 diff(f,b)an s=x求函数f对变量x的二阶导数,命令及结果为 diff(f,2) an s=2*a3、积分格式:in t(f,t,a,b)功能:求函数f对变量t从a到b的定积分.当a和b省略时求不定积分;当t省略时,默 认变量为(字母表上)最接近字母x的变量。例如:求函数f=a*xA2+b*x+c对变量x不定积分,命令

10、及结果为 syms a b c x f=a*xA2+b*x+c; in t(f)ans=1/3*a*xA3+1/2*b*xA2+c*x求函数f对变量b不定积分,命令及结果为 in t(f,b)ans=a*xA2*b+1/2*bA2*x+c*b求函数f对变量x从1到5的定积分,命令及结果为 in t(f,1,5)ans=124/3*a+12*b+4*c4、级数求和格式: symsum (s,t,a,b)功能:求表达式 s中的符号变量t从第a项到第b项的级数和。例如: 求级数1/11/2 *1/3亠亠1/x的前三项的和,命令及结果为 symsum(1/x,1,3)an s=11/6化简和代换MAT

11、LAB符号运算工具箱中,包括了较多的代数式化简和代换功能,下面仅举出部分 常见运算。simplify利用各种恒等式化简代数式expand将乘积展开为和式factor把多项式转换为乘积形式collect合并同类项horner把多项式转换为嵌套表示形式例如:进行合并同类项执行 syms x collect(3*xA3-0.5*xA3+3*xA2) ans=5/2*xA3+3*xA2)进行因式分解执行 factor(3*xA3-0.5*xA3+3*xA2) ans=1/2*xA2*(5*x+6)解方程1、代数方程格式:solve (f,t)功能:对变量t解方程f=0 , t缺省时默认为x或最接近字母

12、x的符号变量。例如:求解一元二次方程f=a*x2+b*x+c的实根, syms a b c x f=a*xA2+b*x+c; solve (f,x)ans=1/2/a*(-b+(bA2-4*a*c)A (1/2)1/2/a*(-b-(bA2-4*a*c)A (1/2)2、微分方程格式:dsolve( s , si , s2 ,,x)其中s为方程;s1,s2,为初始条件,缺省时给出含任意常数c1,c2,的通解;x为自变量,缺省时默认为t。2例如:求微分方程 y =1亠y的通解 dsolve( Dy=1+yA2 )ans=tan (t+cl)7.3优化工具箱及其应用在工程设计、经济管理和科学研究等

13、诸多领域中,人们常常会遇到这样的问题:如何从一切可能的方案中选择最好、最优的方案,在数学上把这类问题称为最优化问题。这类问题很多,例如当设计一个机械零件时如何在保证强度的前提下使重量最轻或用量最省(当然偷工减料除外);如何确定参数,使其承载能力最高;在安排生产时,如何在现有的人力、设 备的条件下,合理安排生产,使其产品的总产值最高;在确定库存时如何在保证销售量的前提下,使库存成本最小;在物资调配时,如何组织运输使运输费用最少。这些都属于最优化 问题所研究的对象。MATLAB的优化工具箱被放在 toolbox目录下的optim子目录中,其中包括有若干个常 用的求解函数最优化问题的程序。MATLA

14、B的优化工具箱也在不断地完善。不同版本的MATLAB,其工具箱不完全相同。在MATLAB5.3版本中,对优化工具箱作了全面的改进。每个原有的常用程序都重新编制了一个新的程序。除fzero和fsolve外都重新起了名字。这些新程序使用一套新的控制算法的选项。与原有的程序相比,新程序的功能增强了。在 MATLAB5.3和6.0版本中,原有的优化程序(除fzero和fsolve夕卜)仍然保留并且可以使用, 但是它们迟早会被撤消的。鉴于上述情况,本书将只介绍那些新的常用的几个优化程序。线性规划问题MA TLAB的优化工具线性规划是最优化理论发展最成熟,应用最广泛的一个分支。在 箱中用于求解下述线性规划的问题min z = exs.t. Ax二b(线性不等式约束)Ax=bi(线性等式约束)LB乞xUB(有界约束)的函数是linprog,其主要格式为:x, fval, exitflag, output, lambda= linprog(c. A, b, A1, bl , LB, UB, xO, options)其中,linprog为函数名,中括号及小括号中所含的参数都是输入或输出变

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号