《数学建模电子教案》由会员分享,可在线阅读,更多相关《数学建模电子教案(160页珍藏版)》请在金锄头文库上搜索。
1、数学建模数学建模电子教案电子教案重庆邮电大学重庆邮电大学数理学院数理学院沈世云沈世云第一节第一节 MATLAB简介简介n什么是什么是 MATLAB?nMATLAB能干什么能干什么?n掌握掌握MATLABn应用实例应用实例重庆邮电大学重庆邮电大学-数学建模数学建模学习MATLABn什么是什么是 MATLAB?nMATLAB能干什么能干什么?n掌握掌握MATLABn应用实例应用实例重庆邮电大学重庆邮电大学-数学建模数学建模什么是MATLAB?1.MATLAB代表MATrixLABoratoryn它的首创者是美国新墨西哥大学计算机系的系主任它的首创者是美国新墨西哥大学计算机系的系主任Cleve Cl
2、eve MolerMoler博士,他在教授线性代数课程发现其他博士,他在教授线性代数课程发现其他语言很不方便,篇构思开发了语言很不方便,篇构思开发了MATLABMATLAB。最初采用最初采用FORTRANFORTRAN语言编写,语言编写,2020世纪世纪8080年代后出现了年代后出现了MATLABMATLAB的的第二版,全部采用第二版,全部采用C C语言编写语言编写. .n19841984年年MolerMoler博士和一批数学家及软件专家创建了博士和一批数学家及软件专家创建了MathWorksMathWorks公司,专门开发公司,专门开发MATLABMATLAB。n19931993年出现了微机
3、版,到年出现了微机版,到20032003年是年是6.56.5版版重庆邮电大学重庆邮电大学-数学建模数学建模2.一种演草纸式的科学计算语言3.MATLAB是一高性能的技术计算语言.n强大的数值计算和工程运算功能n符号计算功能n强大的科学数据可视化能力n多种工具箱重庆邮电大学重庆邮电大学-数学建模数学建模MATLAB能干什么?MATLAB可以进行:n数学计算、算法开发、数据采集n建模、仿真、原型n数据分析、开发和可视化n科学和工程图形应用程序的开发,包括图形用户界面的创建。MATLAB广泛应用于:n数值计算、图形处理、符号运算、数学建模、系统辨识、小波分析、实时控制、动态仿真等领域。重庆邮电大学重
4、庆邮电大学-数学建模数学建模掌握MATLABMATLAB的构成:的构成:nMATLAB开发环境:进行应用研究开发的交互式平台开发环境:进行应用研究开发的交互式平台nMATLAB 数学与运算函数库:用于科学计算的函数数学与运算函数库:用于科学计算的函数nMATLAB 语言:进行应用开发的编程工具语言:进行应用开发的编程工具n图形化开发:二维、三维图形开发的工具图形化开发:二维、三维图形开发的工具n应用程序接口应用程序接口 (API):用于与其他预言混编用于与其他预言混编n面向专门领域的工具箱:小波工具箱、神经网络工具面向专门领域的工具箱:小波工具箱、神经网络工具箱、信号处理工具箱、图像处理工具箱
5、、模糊逻辑工箱、信号处理工具箱、图像处理工具箱、模糊逻辑工具箱、优化工具箱、鲁棒控制工具箱等几十个不同应具箱、优化工具箱、鲁棒控制工具箱等几十个不同应用的工具箱。用的工具箱。重庆邮电大学重庆邮电大学-数学建模数学建模开发环境 包括:命令窗口、图形窗口、编辑窗口、包括:命令窗口、图形窗口、编辑窗口、帮助窗口。帮助窗口。重庆邮电大学重庆邮电大学-数学建模数学建模命令窗口n可在提示符后输入交互式命令可在提示符后输入交互式命令 n结果会自动的产生结果会自动的产生n例如:例如:MATLAB prompt () and cursor (|)command (typed at prompt)MATLAB o
6、utput重庆邮电大学重庆邮电大学-数学建模数学建模图形窗口在窗口中输入:nPlot(1,2,4,9,16,1,2,3,4,5)nMATLAB划出如下图形:编辑窗口n用来创建和修改M-files(MATLAB脚本)帮助窗口重庆邮电大学重庆邮电大学-数学建模数学建模TheMATLABLanguageMATLAB 语言的特点语言的特点nMatlab的基本数据单元是不需指定维数的矩阵。的基本数据单元是不需指定维数的矩阵。nMatlab的的所所有有计计算算都都是是通通过过双双精精度度进进行行的的,在在内存中的数都是双精度的。内存中的数都是双精度的。ndouble 是一个双精度浮点数,每个存储的双是一个
7、双精度浮点数,每个存储的双精度数用精度数用64位。位。nchar用于存储字符,每个存储的字符用用于存储字符,每个存储的字符用16位。位。 重庆邮电大学重庆邮电大学-数学建模数学建模程序程序M文件与文件与m函数函数图形显示图形显示流程控制流程控制其它输出其它输出函数函数语句语句变量变量各种运算符各种运算符MATLAB的程序构成:的程序构成:重庆邮电大学重庆邮电大学-数学建模数学建模常变量及其命名规则常变量及其命名规则n变量名可以有数字、字母、下划线构成;变量名可以有数字、字母、下划线构成;n变量的首字符必须是字母;变量的首字符必须是字母;n区分变量名的大小写区分变量名的大小写n每个变量名最长只能
8、包含每个变量名最长只能包含19个字符。个字符。重庆邮电大学重庆邮电大学-数学建模数学建模一.矩阵:1.矩阵的建立与表示法:在命令窗口中输入:A=1,2,3;4,5,6;7,8,9可以得到:A = 1 2 3 4 5 6 7 8 9若要显示整行或整列,则可以用(:)冒号来表示。冒(:)代表矩阵中行(ROWS)或列(COLUMNS)的全部。例如执行命令:A(:,2),就会显示第2列的全部,结果为: ans = 2 5 8重庆邮电大学重庆邮电大学-数学建模数学建模n其他特殊矩阵的生成方法:1)、eye (m,n)或eye (m) 产生m*n 或m*m的单位矩阵。例如: eye (3,4)与eye (
9、3)分别产生如下矩阵: 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 12)、zeros (m,n) 或zeros (m) 产生m*n 或m*m 的零矩阵。例如:zeros (3,4)与zeros (3)分别产生如下矩阵: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0重庆邮电大学重庆邮电大学-数学建模数学建模3)、ones (m,n) 或ones (m) 产生m*n或m*m的全部元素为1的矩阵。例如:ones (3,4)与ones(3)分别产生如下矩阵: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
10、1 1 1 12.常用矩阵函数:1)、d=eig (A) 返回矩阵A的特征值所组成的列向量;v,d=eig (A) 返回分别由矩阵A的特征向量和特征值(以其为主对角线元素,其余元素为零)的两个矩阵。例如执行命令:v,d=eig (A)结果为:重庆邮电大学重庆邮电大学-数学建模数学建模v = d = 0.2320 0.7858 0.4082 16.1168 0 0 0.5253 0.0868 -0.8165 0 -1.1168 0 0.8187 -0.6123 0.4082 0 0 -0.0000其中v (:,i)为d (i,i)所对应的特征向量。2)、det (A)计算行列式A的值。例如:de
11、t (A)结果为: ans = 0重庆邮电大学重庆邮电大学-数学建模数学建模3)、expm (A) 对矩阵A求幂。例如:expm (A) 结果为:ans = 1.0e+006 * 1.1189 1.3748 1.6307 2.5339 3.1134 3.6929 3.9489 4.8520 5.75524)、inv (A)求矩阵A的逆。例如:inv (A) 结果为:Warning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 2.055969e-018.ans = 1.0e+016
12、 *-0.4504 0.9007 -0.4504 0.9007 -1.8014 0.9007 -0.4504 0.9007 -0.4504重庆邮电大学重庆邮电大学-数学建模数学建模5)、orth (A) 返回对应于A的正交化矩阵。例如:orth (A) 结果为: ans = 0.2148 0.8872 0.5206 0.2496 0.8263 -0.38796)、poly (A)若A为一矩阵,则返回A的特征多项式。例如:poly (A)结果为:ans = 1.0000 -15.0000 -18.0000 -0.0000若A为一向量,则返回以A的元素为根的特征多项式。例如:r=1,2,3; p=
13、 poly (r) 结果为:p = 1 -6 11 -67)、rank (A) 计算矩阵A的秩。例如:r=rank (A) 结果为:r = 2重庆邮电大学重庆邮电大学-数学建模数学建模3.矩阵的四则运算符号:加“+”减“”乘“*”除“/”共轭转置“”非共轭转置“.”例如:b=1+2i;3+4ib = 1.0000 + 2.0000i 3.0000 + 4.0000ibans = 1.0000 - 2.0000i 3.0000 - 4.0000ib.ans = 1.0000 + 2.0000i 3.0000 + 4.0000i重庆邮电大学重庆邮电大学-数学建模数学建模4.矩阵分解:1)、q,r=
14、qr (A) 将矩阵A做正交化分解,使得A=q*r。q为单位矩阵(unitary matrix),其范数(norm)为1。r为对角化的上三角矩阵。例如: q,r=qr(A) q = -0.1231 0.9045 0.4082 -0.4924 0.3015 -0.8165 -0.8616 -0.3015 0.4082 r = -8.1240 -9.6011 -11.0782 0 0.9045 1.8091 0 0 -0.0000 norm(q) ans = 1.0000重庆邮电大学重庆邮电大学-数学建模数学建模2)、L,U=lu (A) 将矩阵A做对角线分解,使得A=L*U,L为下三角矩阵(lo
15、wer triangular matrix),U为上三角矩阵(upper triangular matrix)。例如:L,U=lu(A) L = 0.1429 1.0000 0 0.5714 0.5000 1.0000 1.0000 0 0 U = 7.0000 8.0000 9.0000 0 0.8571 1.7143 0 0 0.0000重庆邮电大学重庆邮电大学-数学建模数学建模二、多项式:多项式是用向量形式来表示,从最右边算起,第一个为0阶系数,第二个为1阶系数,依次类推。例如一个一元三次多项式:4x3+3x2+2x+1用4 3 2 1来表示。1.多项式的运算:1)、乘:conv指令执行
16、多项式的相乘运算,指令格式为:z=conv (x,y)例如: x=1 3 5; y=2 4 6; z=conv(x,y) z = 2 10 28 38 30重庆邮电大学重庆邮电大学-数学建模数学建模如果要对两个以上的多项式进行相乘,以重复使用conv指令,例如:(x,y同上)conv(conv(x,y),x) ans = 2 16 68 172 284 280 1502)、分解:与1)相反,用deconv指令,其指令格式为:z,r=deconv (x,y)表示x除以y商为z,余数为r。例如: z,r=deconv(z,x) z = 2 4 6 r = 0 0 0 0 0重庆邮电大学重庆邮电大学
17、-数学建模数学建模3)、求根:roots指令用于求多项式的根。例如:fx=1 3 2; rootoffx=roots(fx) rootoffx = -2 -14)、polyval (p,x) 计算多项式p在x出的值,其中x可以是点或向量或矩阵。例如: p = 1 -6 11 -6; x=1; p1=polyval (p,x)结果为: p1 = 0x=1,2,3; p2=polyval (p,x)结果为: p2 = 0 0 0重庆邮电大学重庆邮电大学-数学建模数学建模 x=A; p3=polyval (p,x) 结果为: p3 = 0 0 0 6 24 60 120 210 3365)、poly
18、der (p) 求p的微分多项式。例如:p=1 -6 11 -6; dp=polyder(p) dp = 3 -12 11重庆邮电大学重庆邮电大学-数学建模数学建模6)、r,p,k=residue (x,y) 求x/y的部分因式分解。若多项式x,y都没有重根,则可把x/y的比值表示为x/y=r1/(s-p1)+r2/ (s-p2)+.+rn/ (s-pn)+ks例如用residue指令求x/(x2+3x+2)的部分因式分解:x=1 0; y=1 3 2; r,p,k=residue(x,y) r = 2 -1p = -2 -1 k = 重庆邮电大学重庆邮电大学-数学建模数学建模n当输入三个参数
19、r,p,k时,该函数又会生成原来的函数。例如:?x,y=residue(r,p,k) x = 1 0 y = 1 3 2重庆邮电大学重庆邮电大学-数学建模数学建模三符号变量、符号表达式、抽象函数:函数sym用于生成符号变量和符号表达式,如:x=sym(x) a=sym(alpha)分别创建变量x, alpha f=sym(a*x2+b*x+c)创建变量表达式f,但要注意此式并没有自动创建变量a, b, c, x。可以用函数syms对多个变量同时定义,如:syms a b c x函数sym也可以用来表示确定的函数,如f=sym (f(x) 生成函数f (x) 。重庆邮电大学重庆邮电大学-数学建模
20、数学建模四常见符号计算:1.微分:diff是求微分最常用的函数。其输入参数既可以是函数表达式,也可以是符号矩阵。Diff (f, x, n)表示对f关于x求n阶导数。例如:1).下面程序段将生成表达式sin (ax),并分别对其中的x和a求导。 ?syms a x ?f=sin(a*x); ?df=diff(f,x) df = cos(a*x)*a ?dfa=diff(f,a) dfa = cos(a*x)*x重庆邮电大学重庆邮电大学-数学建模数学建模2)、若输入参数为矩阵,将对矩阵中的每个元素求导。?syms a x ?A=-sin(a*x),sin(a*x);cos(a*x),cos(a*
21、x) A = -sin(a*x), sin(a*x) cos(a*x), cos(a*x) ?dy=diff(A,x) dy = -cos(a*x)*a, cos(a*x)*a -sin(a*x)*a, -sin(a*x)*a重庆邮电大学重庆邮电大学-数学建模数学建模3)、可用函数jacobian来计算Jacobi矩阵。?syms r l f ?x=r*cos(l)*cos(f); ?y=r*cos(l)*sin(f); ?z=r*sin(l); ?J=jacobian(x;y;z,r l f) J = cos(l)*cos(f), -r*sin(l)*cos(f), -r*cos(l)*si
22、n(f) cos(l)*sin(f), -r*sin(l)*sin(f), r*cos(l)*cos(f) sin(l), r*cos(l), 0 重庆邮电大学重庆邮电大学-数学建模数学建模2.积分:用函数int来求符号表达式的积分。命令格式为: int (f, r, x0, x1)其中f为所要积分的表达式,r为积分变量,若为定积分,则x0,x1为积分上下限。例: ?sym x; ?sym k real ?f=exp(-(k*x)2) f = exp(-k2*x2) ?int(f,x,-inf,inf) ans = signum(k)/k*pi(1/2)重庆邮电大学重庆邮电大学-数学建模数学建
23、模3.级数求和:函数用于对符号表达式求和。例:?syms k; ?s1=symsum(1/k2,1,inf) s1 = 1/6*pi2重庆邮电大学重庆邮电大学-数学建模数学建模4.极限:用函数limit来求表达式的极限。函数limit的常用调用格式:n数学表达式命令格式nLimit (f ),或limit (f , x )n Limit (f , x , a) ,或limit (f , a ) n Limit (f , x , a , left)nLimit (f , x , a , right)重庆邮电大学重庆邮电大学-数学建模数学建模5.化简:1)、collect (f ) 将表达式中相同
24、次幂的项合并,也可以再输入一个参数指定以哪个变量的幂次合并。2)、expand ( f ) 将表达式展开。3)、horner ( f )将表达式转换为嵌套格式。4)、factor ( f ) 将表达式分解因式,并且分解后的多项式的所有系数都为有理数。5)、simplify ( f )利用函数规则对表达式进行化简。重庆邮电大学重庆邮电大学-数学建模数学建模重庆邮电大学重庆邮电大学-数学建模数学建模第二节第二节MATLAB的的程序设计程序设计 重庆邮电大学重庆邮电大学-数学建模数学建模1 脚本文件和函数文件脚本文件和函数文件11 M脚本文件脚本文件 对于一些比较简单的问题对于一些比较简单的问题 ,
25、在指令窗中直接输入指令计算,在指令窗中直接输入指令计算 。 对于复杂计算,采用脚本文件(对于复杂计算,采用脚本文件(Script file)最为合适最为合适 。 MATLAB只是按文件所写的指令执行只是按文件所写的指令执行 。 M脚本文件的特点是:脚本文件的特点是: 脚本文件的构成比较简单,只是一串按用户意图排列而成的脚本文件的构成比较简单,只是一串按用户意图排列而成的(包括控制流向指令在内的)(包括控制流向指令在内的)MATLAB指令集合。指令集合。 脚本文件运行后脚本文件运行后 ,所产生的所有变量都驻留在,所产生的所有变量都驻留在 MATLAB基基本工作空间本工作空间(Base works
26、pace)中。)中。只要用户不使用清除指只要用户不使用清除指令(令(clear),), MATLAB指令窗不关闭,这些变量将一直保指令窗不关闭,这些变量将一直保存在存在基本工作空间基本工作空间中中。M文件有两种形式文件有两种形式 :脚本文件(脚本文件(Script File)和函数文件和函数文件(Function File )。)。这两种文件的扩展名,均为这两种文件的扩展名,均为“ . m” 。重庆邮电大学重庆邮电大学-数学建模数学建模1 脚本文件和函数文件(续脚本文件和函数文件(续1)12 M函数文件函数文件 与脚本文件不同与脚本文件不同 ,函数文件犹如一个,函数文件犹如一个“黑箱黑箱”,把
27、一些数据,把一些数据送进并经加工处理,再把结果送出来。送进并经加工处理,再把结果送出来。 MATLAB提供的函数指令大部分都是由函数文件定义的。提供的函数指令大部分都是由函数文件定义的。 M函数文件的特点是:函数文件的特点是: 从形式上看从形式上看 ,与脚本文件不同,与脚本文件不同 ,函数文件的笫一行总是以,函数文件的笫一行总是以 “function”引导的引导的“函数申明行函数申明行”。从运行上看从运行上看 ,与脚本文件运行不同,与脚本文件运行不同 ,每当函数文件运行,每当函数文件运行, MATLAB就会专门为它开辟一个临时工作空间,称为就会专门为它开辟一个临时工作空间,称为函数函数工作空间
28、工作空间( Function workspace) 。当执行文件最后一条。当执行文件最后一条指令时指令时 ,就结束该函数文件的运行,同时该临时函数空间,就结束该函数文件的运行,同时该临时函数空间及其所有的中间变量就立即被清除。及其所有的中间变量就立即被清除。 MATLAB允许使用比允许使用比 “标称数目标称数目 ”较少的输入输出宗量,较少的输入输出宗量,实现对函数的调用实现对函数的调用 。重庆邮电大学重庆邮电大学-数学建模数学建模1 脚本文件和函数文件(续脚本文件和函数文件(续2)13 M文件的一般结构文件的一般结构 由于从结构上看由于从结构上看 ,脚本文件只是比函数文件少一个,脚本文件只是比
29、函数文件少一个“函数申函数申明行明行”,所以只须描述清楚函数文件的结构,所以只须描述清楚函数文件的结构 。 典型典型 M函数文件的结构如下函数文件的结构如下 : 函数申明行:位于函数文件的首行,以关键字函数申明行:位于函数文件的首行,以关键字 functio 开头,开头,函数名以及函数的输入输出宗量都在这一行被定义。函数名以及函数的输入输出宗量都在这一行被定义。 笫一注释行:紧随函数申明行之后以笫一注释行:紧随函数申明行之后以%开头笫一注释行。该开头笫一注释行。该行供行供lookfor关键词查询和关键词查询和 help在线帮助使用在线帮助使用 。 在线帮助文本区在线帮助文本区 :笫一注释行及其
30、之后的连续以:笫一注释行及其之后的连续以%开头的所开头的所有注释行构成整个在线帮助文本。有注释行构成整个在线帮助文本。 编写和修改记录:与在线帮助文本区相隔一个编写和修改记录:与在线帮助文本区相隔一个“空空”行,也行,也以以%开头,标志编写及修改该开头,标志编写及修改该M文件的作者和日期等文件的作者和日期等 。 函数体:为清晰起见,它与前面的注释以函数体:为清晰起见,它与前面的注释以“空空”行相隔。行相隔。重庆邮电大学重庆邮电大学-数学建模数学建模2 函数调用和参数传递函数调用和参数传递21 局部变量和全局变量局部变量和全局变量 局部(局部(Local)变量:它存在于函数空间内部的中间变量,变
31、量:它存在于函数空间内部的中间变量,产生于该函数的运行过程中,其影响范围也仅限于该函数本产生于该函数的运行过程中,其影响范围也仅限于该函数本身身 。 全局(全局(Global)变量:通过变量:通过 global 指令,指令,MATLAB也允许几也允许几个不同的函数空间以及基本工作空间共享同一个变量,这种被个不同的函数空间以及基本工作空间共享同一个变量,这种被共享的变量称为全局变量。共享的变量称为全局变量。22 函数调用函数调用 在在MATLAB中,调用函数的常用形式是:中,调用函数的常用形式是:输出参数输出参数1,输出参数输出参数2, = 函数名函数名(输入参数输入参数1,输入参数输入参数2,
32、 ) 函数调用可以嵌套,一个函数可以调用别的函数,甚至调函数调用可以嵌套,一个函数可以调用别的函数,甚至调用它自己用它自己 (递归调用)。(递归调用)。重庆邮电大学重庆邮电大学-数学建模数学建模2 函数调用和参数传递(续)函数调用和参数传递(续)23 参数传递参数传递 MATLAB在函数调用上有一个与众不同之处在函数调用上有一个与众不同之处 :函数所传递的:函数所传递的参数具有可调性参数具有可调性 。 传递参数数目的可调性来源于如下两个传递参数数目的可调性来源于如下两个MATLAB永久变量:永久变量: 函数体内的函数体内的 nargin 给出调用该函数时的输入参数数目。给出调用该函数时的输入参
33、数数目。 函数体内的函数体内的 nargout 给出调用该函数时的输出参数数目。给出调用该函数时的输出参数数目。 只要在函数文件中包括这两个变量,就可以知道该函数文件只要在函数文件中包括这两个变量,就可以知道该函数文件调用时的输入参数和输出参数数目。调用时的输入参数和输出参数数目。 值得注意:值得注意:nargin、 nargout 本身都是函数本身都是函数,不是变量,所不是变量,所以用户不能赋值,也不能显示。以用户不能赋值,也不能显示。 “变长度变长度”输入输出宗量:输入输出宗量:varargin 、 varrgout。具有接受具有接受 “任意多输入任意多输入” 、返回、返回“任意多输出任意
34、多输出”的能力的能力 。 跨空间变量传递:跨空间变量传递:evalin。(参考(参考 : circle .m,am1.m)重庆邮电大学重庆邮电大学-数学建模数学建模23 MATLAB的程序结构和控制流的程序结构和控制流231 程序结构程序结构 循环结构:循环结构: MATLAB提供两种循环方式。提供两种循环方式。 顺序结构顺序结构 分支结构:分支结构: ifelseend 。forend 循环和循环和while-end循环。循环。232 程序流控制程序流控制 常用指令:常用指令:return,echo,input,pause,keyboard,break。 switch-case 结构。结构。
35、 try-catch 结构。结构。 警示指令:警示指令:error, warning 。重庆邮电大学重庆邮电大学-数学建模数学建模23 MATLAB的程序结构和控制流(续)的程序结构和控制流(续)233 图形用户界面(图形用户界面(GUI)编程编程 现代的主流应用程序已经从命令行的交互方式转变为以图现代的主流应用程序已经从命令行的交互方式转变为以图形界面为主的交互方式,这主要是由于它给用户带来了操作形界面为主的交互方式,这主要是由于它给用户带来了操作和控制的方便与灵活性。和控制的方便与灵活性。(面向对象编程)(面向对象编程) MATLAB能够以比较简单的方式实现一系列的图形界面功能够以比较简单
36、的方式实现一系列的图形界面功能。通过对控件、菜单属性的设置和能。通过对控件、菜单属性的设置和 Callback 的编写,就能的编写,就能够满足大多数用户的需求。够满足大多数用户的需求。 控件的控件的 Callback 属性属性: Callback 属性的取值是字符串,可属性的取值是字符串,可以是某个以是某个M文件名或一小段文件名或一小段MATLAB语句语句。当用户激活控件当用户激活控件对象(对象(例例如如 :在控件对象图标上单击鼠标左键:在控件对象图标上单击鼠标左键 )时,应用程)时,应用程序就运行序就运行 Callback 属性定义的子程序。属性定义的子程序。 菜单的菜单的 Callback
37、 属性属性: Callback 属性的取值是字符串,可属性的取值是字符串,可以是某个以是某个M文件名或一小段文件名或一小段MATLAB语句语句。当用户激活菜单当用户激活菜单对象时,若没有子菜单就运行对象时,若没有子菜单就运行 Callback 属性定义的子程序。属性定义的子程序。若有,先运行若有,先运行 Callback 属性定义的子程序,再显示子菜单。属性定义的子程序,再显示子菜单。重庆邮电大学重庆邮电大学-数学建模数学建模24 M文件的调试文件的调试 编写编写 M文件时,错误(文件时,错误(Bug)在所难免。错误有两种:语法在所难免。错误有两种:语法(Syntax)错误和运行(错误和运行(
38、Run-time)错误。错误。 语法错误是指变量名、函数名的误写,标点符号的缺、漏等。语法错误是指变量名、函数名的误写,标点符号的缺、漏等。对于这类错误,通常能在运行时发现,终止执行,并给出相应对于这类错误,通常能在运行时发现,终止执行,并给出相应的错误原因以及所在行号。的错误原因以及所在行号。 运行错误是算法本身引起的,发生在运行过程中。相对语法运行错误是算法本身引起的,发生在运行过程中。相对语法错误而言,运行错误较难处理错误而言,运行错误较难处理 。尤其是。尤其是M函数文件,它一旦运函数文件,它一旦运行停止,其中间变量被删除一空,错误很难查找。行停止,其中间变量被删除一空,错误很难查找。
39、有两种调试方法:直接调试法和工具调试法。有两种调试方法:直接调试法和工具调试法。重庆邮电大学重庆邮电大学-数学建模数学建模24 M文件的调试(续文件的调试(续1) 直接调试法:可以用下面方法发现某些运行错误。直接调试法:可以用下面方法发现某些运行错误。 在在M文件中,将某些语句后面的分号去掉,文件中,将某些语句后面的分号去掉, 迫使迫使M文件输文件输出一些中间计算结果,以便发现可能的错误。出一些中间计算结果,以便发现可能的错误。 在适当的位置,添加显示某些关键变量值的语句(包括使在适当的位置,添加显示某些关键变量值的语句(包括使用用 disp 在内)。在内)。 利用利用 echo 指令,使运行
40、时在屏幕上逐行显示文件内容。指令,使运行时在屏幕上逐行显示文件内容。echo on 能显示能显示M脚本文件;脚本文件;echo FunNsme on 能显示名为能显示名为FunNsme 的的M函数文件。函数文件。 在原在原M脚本或函数文件的适当位置,增添指令脚本或函数文件的适当位置,增添指令 keyboard 。 keyboard 语句可以设置程序的断点语句可以设置程序的断点 。 通过将原通过将原M函数文件的函数申明行注释掉,可使一个中间函数文件的函数申明行注释掉,可使一个中间变量难于观察的变量难于观察的M函数文件变为一个所有变量都保留在基函数文件变为一个所有变量都保留在基本工作空间中的本工作
41、空间中的M脚本文件。脚本文件。重庆邮电大学重庆邮电大学-数学建模数学建模第三节第三节 优化问题解法优化问题解法重庆邮电大学重庆邮电大学-数学建模数学建模一、无约束优化问题重庆邮电大学重庆邮电大学-数学建模数学建模二、线性规划问题重庆邮电大学重庆邮电大学-数学建模数学建模三、非线性规划问题重庆邮电大学重庆邮电大学-数学建模数学建模重庆邮电大学重庆邮电大学-数学建模数学建模重庆邮电大学重庆邮电大学-数学建模数学建模重庆邮电大学重庆邮电大学-数学建模数学建模第四节第四节图形处理图形处理重庆邮电大学重庆邮电大学-数学建模数学建模 基基 本本 绘绘 图图 函函 数数1plot,plot3建立向量或矩阵的
42、图形2Loglogx、y轴都取对数标度建立图形3Semilogxx轴用于对数标度,y轴线性标度绘制图形4Semilogyy轴用于对数标度,x轴线性标度绘制图形5Title给图形加标题6Xlabel,Ylabel给x,y轴加标记7Text在图形指定的位置上加文本字符串8gtext在鼠标的位置上加文本字符串9grid打开网格线重庆邮电大学重庆邮电大学-数学建模数学建模 绘绘 图图 入入 门门1plot的基本调用格式2对於变化剧烈的函数,可用fplot来进行较精确的绘图3对符号函数作图可用ezplot重庆邮电大学重庆邮电大学-数学建模数学建模特殊二(三)维绘图函数1bar(x,y)(barh(x,y
43、),bar3,bar3h)直方(水平)图2comet(x,y)(comet3)建立彗星流动图3errorbar(x,y,l,u)图形加上误差范围4polar(theta,rho)极坐标图5hist(y,x)向量统计的直方图,其中y为要统计的。当x为标6量时,x指定了统计的区间数;当x为向量时,以该向量中7各元素为中心进行统计,区间数等于x向量的长度。6rose(theta)极坐标频数累计柱状图重庆邮电大学重庆邮电大学-数学建模数学建模9fill实心图7stairs(x,y)阶梯图8stem(x,y,fill)针状图11compass罗盘图10feather羽毛图12quiver,quiver3
44、向量场图,通常与contour(),gradient()13配合使用.13pie,pie3饼图重庆邮电大学重庆邮电大学-数学建模数学建模绘绘 制制 三三 维维 曲曲 面面mesh(z)语句给出矩阵语句给出矩阵Z元素的三消隐图,元素的三消隐图,surf和和mesh的的用法相似。为了方便测试立体绘图,用法相似。为了方便测试立体绘图,MATLAB提供了一个提供了一个peaks函数,可产生一个凹凸有致的曲面,包函数,可产生一个凹凸有致的曲面,包 含了三个局部含了三个局部极大点及三个局部极小点,极大点及三个局部极小点, 要画出此函数的最快方法即是直要画出此函数的最快方法即是直接键入接键入peaks. 三
45、维三维函数还有meshc(),meshz(),surfc(),surfl(),contourf(),waterfall()等.重庆邮电大学重庆邮电大学-数学建模数学建模第五节第五节 解方程解方程重庆邮电大学重庆邮电大学-数学建模数学建模一 般 的 代 数 方 程 函数solve用于求解一般代数方程的根,假定S为符号表达式,命令solve (S)求解表达式等于0的根,也可以再输入一个参数指定未知数。例: syms a b c x S=a*x2+b*x+c; solve(S)ans = 1/2/a*(-b+(b2-4*a*c)(1/2) 1/2/a*(-b-(b2-4*a*c)(1/2)b=sol
46、ve(S,b) b = -(a*x2+c)/x重庆邮电大学重庆邮电大学-数学建模数学建模线 性 方 程 组 线性方程组的求解问题可以表述为:给定两个矩阵A和B,求解满足方程AX=B或XA=B的矩阵X。方程AX=B的解用X=AB或X=inv (A)*B表示;方程XA=B的解用X=B/A或X=B*inv (A)表示。不过斜杠和反斜杠运算符计算更准确,占用内存更小,算得更快。 线 性 微 分 方 程 函数dsolve用于线性常微分方程(组)的符号求解。在方程中用大写字母D表示一次微分,D2,D3分别表示二阶、三阶微分,符号D2y相当于y关于t的二阶导数。 函数dsolve 的输出方式 格式 说明y=
47、dsolve (Dyt=y0*y ) 一个方程,一个输出参数u,v=dsolve (Du=v,Dv=u) 两个方程,两个输出 参数S=dsolve (Df=g,Dg=h,Dh=-2*f ) 方程组的解以S.f S.g S.h 结构数组的形式输出结果:u=tg(t-c) 解解输入命令:y=dsolve(D2y+4*Dy+29*y=0,y(0)=0,Dy(0)=15,x)结果为:y=3e-2xsin(5x)解解输入命令:x,y,z=dsolve(Dx=2*x-3*y+3*z,Dy=4*x-5*y+3*z,Dz=4*x-4*y+2*z,t);x=simple(x)%将x化简y=simple(y)z=
48、simple(z)结果为:x=(c1-c2+c3+c2e-3t-c3e-3t)e2ty=-c1e-4t+c2e-4t+c2e-3t-c3e-3t+(c1-c2+c3)e2tz=(-c1e-4t+c2e-4t+c1-c2+c3)e2t 非 线 性 微 分 方 程 t,x=solver(f,ts,x0,options)ode45ode23ode113ode15sode23s由待解方程写成的m-文件名ts=t0,tf,t0、tf为自变量的初值和终值函数的初值ode23:组合的2/3阶龙格-库塔-芬尔格算法ode45:运用组合的4/5阶龙格-库塔-芬尔格算法自变量值函数值用于设定误差限(缺省时设定相对
49、误差10-3,绝对误差10-6),命令为:options=odeset(reltol,rt,abstol,at),rt,at:分别为设定的相对误差和绝对误差.1、在解n个未知函数的方程组时,x0和x均为n维向量,m-文件中的待解方程组应以x的分量形式写成. 2、使用Matlab软件求数值解时,高阶微分方程必须等价地变换成一阶微分方程组.注意注意:解解: 令 y1=x,y2=y11、建立m-文件vdp1000.m如下: function dy=vdp1000(t,y) dy=zeros(2,1); dy(1)=y(2); dy(2)=1000*(1-y(1)2)*y(2)-y(1); 2、取t0
50、=0,tf=3000,输入命令:T,Y=ode15s(vdp1000,03000,20);plot(T,Y(:,1),-)3、结果如图解解 1、建立m-文件rigid.m如下: function dy=rigid(t,y) dy=zeros(3,1); dy(1)=y(2)*y(3); dy(2)=-y(1)*y(3); dy(3)=-0.51*y(1)*y(2);2、取t0=0,tf=12,输入命令: T,Y=ode45(rigid,0 12,0 1 1); plot(T,Y(:,1),-,T,Y(:,2),*,T,Y(:,3),+)3、结果如图图中,y1的图形为实线,y2的图形为“*”线,
51、y3的图形为“+”线.第六节第六节回归分析回归分析一:一元线性与非线性回归分析引例:钢材消费量与国民收入的关系一元回归模型与回归分析MATLAB软件实现简介一元非线性回归模型 实验为了研究钢材消费量与国民收入之间的关系,在统计年鉴上查得一组历史数据。引例:钢材消费量与国民收入的关系 年份196419651966197819791980消费(吨)698872988144627362825收入(亿)109712841502294831553372试分析预测若1981年到1985年我国国民收入以4.5%的速度递增,钢材消费量将达到什么样的水平?钢材消费量-试验指标(因变量)Y;国民收入-自变量x;建
52、立数据拟合函数y =E(Y|x)=f(x);作拟合曲线图形分析。问题分析:钢材消费量y与国民收入x的散点图y=a+bx回归分析是研究变量间相关关系的一种统计分析。特点:试验指标(因变量)是随机变量。图形解释:y =E(Y|x)=f(x)假设:f(x)=ax+bxx0E(Y|x0)y0x1E(Y|x1)假设:(y =E(Y|x)=f(x))1)Y是一个正态随机变量,即Y服从正态分布,并且有方差D(Y)=2。2)根据观测值作的散点图,观察出函数f(x)是线性形式还是非线性形式。回归模型及回归分析1、一元线性回归模型、一元线性回归模型或需要解决的问题: 1) 在回归模型中如何估计参数a、b和2?知识
53、介绍 2) 模型的假设是否正确?需要检验。3)利用回归方程对试验指标y进行预测或控制?参数估计设观测值为(xi,yi)(i=1,2,n),代入模型中,yi=a +bxi+i解出的参数记为则回归方程:最小二乘法:回归模型的假设检验提出问题:1、相关系数检验|r|1|r|1,线性相关|r|0,非线性相关模型:Y=a +bx+H0的拒绝域为:()-11|0r(n-2)-r(n-2)2、F-检验法平方和分解公式:记为实测值 估计值残差值,剩余平方和,越小越好认为线性回归效果好预测与控制给定的自变量x0,给出E(y0)的点估计量: y0的置信度为(1)%的预测区间为: 设y在某个区间(y1, y2)取值
54、时,应如何控制x的取值范围,这样的问题称为控制问题。 小结:或模型1、估计参数a,b,2;2、检验模型正确与否;(即b0)3、预测或控制; 已知数据已知数据(x(xi i, , y yi i)(i)(i =1,2, =1,2,n), ,n), 如何利用如何利用MATLABMATLAB软件实现以上的统计计算?软件实现以上的统计计算?MATLAB软件实现使用命令regress实现一元线性回归模型的计算b=regress(Y,X)或 b,bint,r,rint,stats=regress(Y,X,alpha)回归系数a,b以及它们的置信区间残差向量e=Y-Y及它们的置信区间相关系数R2,F-统计量和
55、与0对应的概率p。残差及其置信区间可以用rcoplot(r,rint)画图。默认值是0.05引例求解引例求解输入:输入:(hg1.m)x=1097 1284 1502 1394 1303 1555 1917 2051 2111 2286 2311 2003 2435 2625 2948 3155 3372;y=698 872 988 807 738 1025 1316 1539 1561 1765 1762 1960 1902 2013 2446 2736 2825;X=ones(size(x),x,pause c,cint,r,rint,stats=regress(y,X,0.05),pau
56、sercoplot(r,rint)输出:c=-460.5282(参数a)0.9840(参数b)cint=-691.8478-229.2085(a的置信区间)0.87791.0900(b的置信区间)r=79.124869.1244-29.3788-104.1112-83.5709-44.5286-109.7219-18.5724-55.6100-23.8029-51.4019449.6576-33.4128-109.36515.816092.1364-32.3827(残差向量)rint=(略)(参见残差分析图)stats=0.9631(R2)391.2713(F)0.0000(P0)第第12个数
57、据点个数据点异常,可删出异常,可删出预测x1(1)=3372;(hgy1.m)for i=1:5 x1(i+1)=1.045*x1(i);%未来五年国民收入以4.5%的 速度递增 y1(i+1)=-460.5282+0.9840*x1(i+1);%钢材的预 测值endx1,y1结果x1=3372.03523.73682.33848.04021.24202.1y1=3006.83162.93325.93496.33674.4如果从数据的散点图上发现y与x没有直线关系,又如何计算?例如,试分析年龄与运动(旋转定向)能力年龄17192123252729第1人第2人20.4825.1326.1530.
58、026.120.319.3524.3528.1126.331.426.9225.721.3假设模型 一元多项式回归在matlab 软件中用命令polyfit实现。如前面的例子,具体计算如下:输入: (phg1.m)x1=17:2:29;x=x1,x1;y=20.48 25.13 26.15 30.0 26.1 20.3 19.35 24.35 28.11 26.3 31.4 26.92 25.7 21.3;p,S=polyfit(x,y,2);p 注意:x,y向量的维数要一致。向量的维数要一致。S是一个数据结构,是一个数据结构,用于其它函数的计算。用于其它函数的计算。计算y的拟合值:输入:Y,
59、delta=polyconf(p,x,S);Y结果: Y= 22.5243 26.0582 27.9896 28.3186 27.0450 24.1689 19.6904 22.5243 26.0582 27.9896 28.3186 27.0450 24.1689 19.6904拟合效果图:用polytool(x,y,2)还可以得到一个交互式画面。ExportParametersParametersCIPredictionPredictionCIResidualsAll在在工作空间中,输入工作空间中,输入yhat,回车,得到预测值。回车,得到预测值。实验内容1、确定企业年设备能力与年劳动生产
60、率的关系某市电子工业公司有14个所属企业,各企业的年设备能力与年劳动生产率统计数据如下表。试分析企业年设备能力与年劳动生产率的关系。若该公司计划新建一个设备能力为9.2千瓦/人的企业,估计劳动生产率将为多少?企业设备能力(千瓦/人劳动生产率企业设备能力劳动生产率12.86.784.89.822.86.994.910.633.07.2105.210.742.97.3115.411.153.48.4125.511.863.98.8136.212.174.09.1147.012.4一矿脉有13个相邻样本点,人为地设定一个原点,现测得各样本点与原点的距离x,与该样本点处某种金属含量y的一组数据如下:2
61、、测定某矿脉的金属含量xy23457810106.42109.2109.58109.5110109.93110.49xy111415151819110.59110.6110.9110.76111111.2试建立合适的回归模型。(首先画散点图)二,多元线性与非线性回归分析引例:某建材公司的销售量因素分析多元线性回归模型MATLAB软件实现简介多元非线性回归模型 实验1)了解回归分析的基本原理;2)掌握MATLAB的实现方法;3)练习用回归分析方法解决实际问题;实验目的某建材公司对某年20个地区的建材销售量Y(千方)、推销开支、实际帐目数、同类商品竞争数和地区销售潜力分别进行了统计。试分析推销开支
62、、实际帐目数、同类商品竞争数和地区销售潜力对建材销售量的影响作用。试建立回归模型,且分析哪些是主要的影响因素。引例:某建筑材料公司的销售量因素分析 设:推销开支x1 实际帐目数x2 同类商品竞争数x3 地区销售潜力x4 12345678910111213141516171819205.52.58.03.03.02.98.09.04.06.55.55.06.05.03.58.06.04.07.57.0315567503871305642736044503955704050625910812781212585111261010611119986916151781041671264414681311
63、79.3200.1163.2200.1146.0177.730.9291.9160.0339.4159.686.3237.5107.2155.0201.4100.2135.8223.3195.0x1x2x3x4y1111.11111X=寻找关系:y=E(Y|x1,x2,x3,x4)=f(x1,x2,x3,x4)模型:假设:1、因变量Y是随机变量,并且它服从正态分布;2、f(x1,x2,x3,x4)是线性函数(非线性);2、多元线性回归模型模型要解决的问题可归纳为以下几个方面:1)在回归模型中如何估计参数i(i=0,1,m)和2?2)模型的假设(线性)是否正确?3)判断每个自变量xi(i=1,m
64、)对Y的影响是否显著?4)利用回归方程对试验指标Y进行预测或控制?知识介绍参数估计 假 设 有 n个 独 立 观 测 数 据(xi1,xi2,xim,yi),i=1,2,n,要确定回归系数由最小二乘法求解结果y的估计值:拟合误差e=yy称为残差,残差平方和统计分析1、是的线性最小方差无偏估计2、3、残差平方和Q,由此得2的无偏估计4、对Y的样本方差S2进行分解回归模型的假设检验构造F-统计量及检验H0的拒绝域:注意:注意:衡量y与x1,x2,xm相关程度的指标可以定义复相关系数R,R的值越接近于1,它们的相关程度越密切。回归系数的检验主要判断每个自变量xi对y的影响是否显著。由此可得MATLA
65、B软件实现b=regress(Y,X)或 b,bint,r,rint,stats=regress(Y,X,alpha)1、使用命令regress实现多元线性回归回归系数0,1,m以及它们的置信区间残差向量e=Y-Y及它们的置信区间相关系数R2,F-统计量和与F对应的概率p。引例求解:输入:(jzhui.m)x1=5.5 2.5 8 3 8 6 4 7.5 7;(20维)维)x2=31 55 67 55 70 40 50 62 59;x3=10 8 12 11 11 9 9;x4=8 6 9 16 8 13 11;y=79.3 200.1 135.8 223.3 195;X=ones(size(
66、x1),x1,x2,x3,x4;b,bint,r,rint,stats=regress(y,X)计算结果:(输出)b = 191.9158 -0.7719 3.1725 -19.6811 -0.4501 0 1 2 3 4bint = 103.1071 280.7245(系数的置信区间)系数的置信区间)r = -6.3045 -4.2215 8.4422 23.4625 3.3938rint=(略)略)stats = 0.9034(R2) 35.0509(F) 0.0000(p)Q = r*r2= Q/(n-2) = 537.2092 (近似)近似) 残差向量分析图如何分析四个因素x1,x2,
67、x3,x4对试验指标Y的作用大小?使用逐步回归方法。在MATLAB软件中使用以下命令:stepwise(X,y,inmodel,alfha)如上例,输入:如上例,输入: X=x1,x2,x3,x4; stepwise(X,y,1,2,3)模型中均方差历模型中均方差历史数据记载表史数据记载表参参变量数变量数据分析表据分析表经过观察,得到各种情况下的均方差对比:变量组合x1,x2x1,x3x1,x4x2,x3x2,x4x3,x4RMSE5351.96 61.77 23.96 52.96 44.75变量组合x1,x2x3x1,x2x4x1,x3x4x2,x3x4x1,x2x3,x4RMSE 24.6
68、5 54.43 45.86 24.64 25.39最佳回归方程范例:某化学反应问题这是一个非线性回归模型的实例这是一个非线性回归模型的实例 1、问题、问题为为了了研研究究三三种种化化学学元元素素:氢氢、n 戊戊烷烷和和异异构构戊戊烷烷与与生生成成物物的的反反应应速速度度Y(%)之之间间的的关关系系,经经试试验验测测定定得得到到某某些些数数据据。试试建建立立非非线线性性回回归归模模型型,并并进进行行统计分析。统计分析。2、假设及建模、假设及建模 在各因素与指标在各因素与指标(因变量因变量)之间的信息之间的信息“一无所知一无所知”的情况下,假设模型的情况下,假设模型Y = f (x1,x2,x3)
69、+中的函数中的函数f 是多项式形式,即是多项式形式,即 y = b 0+ b 1 x 1 + b2x 2+ b 3 x 3+ (linearterms) b12 x 1x 2+ b 13x 1 x3+ b23 x2 x3+(interactionterms) b11 x 12+ b 22 x22 + b33 x 32+ (quadraticterms) N(0,2)在MATLAB软件下,实现二次多项式回归分析的命令:rstool(X,y,model,alpha)(它将产生一个交互式的界面)linear:(缺省)y=0+1x1+mxmpurequadratic:y=0+1x1+mxm+j=1to
70、mj*xj2interaction:y=0+1x1+mxm+1jkmjkxjxkquadratic(完全二次,以上模型之和)其中model有以下四种选择:loadreaction(调出数据)Whos(查看数据名称及大小)NameSizeBytesClassbeta5x140doublearraymodel1x612chararrayrate13x1104doublearrayreactants13x3312doublearrayxn3x1060chararrayyn1x1326chararray三个三个自变量自变量因变量因变量YX=reactants;y=rate;rstool(X,y,qua
71、dratic)ExportParametersRMSEResidualsAllLinearPureQuadraticInteractionsFullQuadraticUserSpecified在工作空间可以分别给出在工作空间可以分别给出参数估计值、残差平方和、残差向量参数估计值、残差平方和、残差向量。假定由实际问题背景分析知经验公式为:MATLAB实现实现 非线性回归nlintool(X,y,model,beta)以M-文件形式建立模型模型中未知参数向量2)一般的非线性模型及拟合建立M函数文件(hougen.m);执行(hgy3.m)nlinfit(X,y,hougen,beta)nlinto
72、ol(X,y,hougen,beta,0.01)要辩识的参数MATLAB2、某公司出口换汇成本分析对经营同一类产品出口业务的公司进行抽样调查,被调查的13家公司,其出口换汇成本与商品流转费用率资料如下表。试分析两个变量之间的关系,并估计某家公司商品流转费用率是6.5%的出口换汇成本。实验内容公司出口换汇成本人民币元/美元商品流转费用率(%)公司出口换汇成本人民币元/美元商品流转费用率(%)12345671.401.201.001.901.302.401.404.205.307.103.706.203.504.8089101112131.602.001.001.601.801.405.504.1
73、05.004.003.406.90第六节第六节 数据分析与统计数据分析与统计 常 用 数 据 分 析 函 数 corrcoef(x)-求相关函数; cov(x)-协方差矩阵; cross(x,y)-向量的向量积; diff(x)-计算元素之间差; dot(x,y)-向量的点积; gradient(z,dx,dy)-近似梯度; histogram(x)-直方图和棒图; max(x), max(x,y)-最大分量; mean(x)-均值或列的平均值; min(x), min(x,y)-最小分量; prod(x)-列元素的积; rand(x)-均匀分布随机数; rands(x)-正态分布随机数; s
74、ort(x)-按升序排列; std(x)-列的标准偏差; sum(x)-各列的元素和; subspace(A,B)-两个子空间之间的夹角。 常 用 统 计 函 数一、参数估计(1)N,X=hist(data,k) 将区间min(data),max(data)分为k个区间(缺省为10),返回数据data落在每一个区间的频度数N和每一个区间的中点X。(2)h=normplot(x)显示数据矩阵x的正态概率图,如果数据来自于正态分布,则图形显示出直线性形态,而其他概率分布分布函数显示出曲线形态。(3)h=weibplot(x) 显示数据矩阵x的weibull概率图,如果数据来自于weibull分布,
75、则图形显示出直线性形态,而其他概率分布分布函数显示出曲线形态。 (4)muhat,sigmahat,muci,sigamaci=normfit(x) muhat,sigmahat,muci,sigamaci=normfit(x,alpha) 对于正态分布,命令muhat,sigmahat,muci,sigamaci=normfit(x,alpha)在置信度(1-alpha)下估计数据x的参数,muhat,sigmahat,muci,sigamaci=normfit(x)在置信度0.95下估计数据x的参数,返回值muhat是x的均值,sigmahat是方差,muci是均值的置信区间,sigmac
76、i是方差的置信区间。(5)muhat,muci=expfit(x,alpha)估计指数分布的均值及其(1-alpha)置信区间。(6)lambdahat,lambdaci=poissfit(x,alpha)估计泊松分布的lambda及其(1-alpha)置信区间。(7)phat,pci=weibfit(data,alpha)估计weibull分布参数。二、假设检验 (1)h,sig,ci=ztest(x,m,sigma,alpha,tail) h,sig,ci=ztest(x,m,sigma,alpha) h,sig,ci=ztest(x,m,sigma) 已知数据x的方差的情况下,命令h,s
77、ig,ci=ztest(x,m,sigma,alpha,tail)使用z-检验检验数据x的关于均值的某一假设是否成立,sigma为方差,1-alpha为置信度,检验的假设取决于tail的取值。tail=0,检验假设“x的均值等于m”;tail=1,检验假设“x的均值大于m”;tail= -1,检验假设“x的均值小于m”。缺省的tail为0,alpha为0.05。返回h=1,表示拒绝假设,h=0表示不可以拒绝假设,sig为假设成立的概率,ci为均值的1-alpha置信区间。(2)h,sig,ci=ttest(x,m, alpha,tail) h,sig,ci=ttest(x,m,alpha) h
78、,sig,ci=ttest(x,m) 在不知数据x的方差的情况下,命令h,sig,ci=ztest(x,m,alpha,tail)使用t-检验检验数据x的关于均值的某一假设是否成立,1-alpha为置信度,检验的假设取决于tail的取值。tail=0,检验假设“x的均值等于m”;tail=1,检验假设“x的均值大于m”;tail= -1,检验假设“x的均值小于m”。缺省的tail为0,alpha为0.05。返回h=1,表示拒绝假设,h=0表示不可以拒绝假设,sig为假设成立的概率,ci为均值的1-alpha置信区间。(3)h,sig,ci=ttest2(x,y, alpha,tail) h,s
79、ig,ci=ttest2(x,y, alpha) h,sig,ci=ttest2(x,y) 命令h,sig,ci=ttest2(x,y, alpha,tail)使用t-检验检验数据x,y的关于均值的某一假设是否成立,1-alpha为置信度,检验的假设取决于tail的取值。tail=0,检验假设“x的均值等于y的均值”;tail=1,检验假设“x的均值大于y的均值”;tail= -1,检验假设“x的均值小于y的均值”。缺省的tail为0,alpha为0.05。返回h=1,表示拒绝假设,h=0表示不可以拒绝假设,sig为假设成立的概率,ci为均值的1-alpha置信区间。三、方差分析(1)p=an
80、ova1(x) 用单因素方差分析法判断矩阵x的各列所代表的随机变量是否具有相同的均值。返回值p是x的各列所代表的随机变量具有相同均值的概率。 (2)p=anova2(x,group) 矩阵x的各列代表不同的样本,将x每group行分成一组,命令p=anova2(x,group)用双因素方差分析法对矩阵x的每一列判断其各组数据是否具有相同的均值。返回值p是一个与数据矩阵x列数相同的行矩阵,其第i列为x的第i列各组数据均值相同的概率。四、概率和临界值计算及随机数的产生 (1)p=function(x,mu,sigma),计算相应的随机变量的分布函数在x处的函数值,其中function指normcd
81、f, betacdf, binocdf, expcdf, gamcdf, poisscdf, unicdf, weibcdf。 (2)x=function(p,mu,sigma),计算相应的随机变量的概率p处的临界值,其中function指norminv, betainv, binoinv, expinv, gaminv, poissinv, uniinv, weibinv。 (3)x=function(mu,sigma,m,n),产生相应的随机数矩阵,其中function指normrnd, binornd, exprnd, gamrnd, poissrnd, unirnd, weibrnd。
82、以上函数的详细使用方法请参见统计工具箱中相应函数的说明。五、回归分析(1)b,bint,r,rint,stats=regress(y,x),其中b是回归方程中的参数估计值,bint是b的置信区间,r和rint分别表示残差及残差对应的置信区间。stats包含三个数字,分别是相关系数,F统计量及对应的概率p值。 (2)recplot(r,rint)作残差分析图 (3)rstool(x,y)一种交互式方式的句柄命令。第七节第七节插值与拟合插值与拟合多项式的拟合多项式的拟合(PolynomialFitting)又称为曲线拟合(CurveFitting),其目的就是在众多的样本点中进行拟合,找出满足样本
83、点分布的多项式。所用指令为polyfit,指令格式为:p=polyfit(x,y,n),其中x与y为样本点向量,n为所求多项式的阶数,p为求出的多项式。多项式的插值(1)一维插值interp1(x,y,x0,method),其中x,y分别表示为数据点的横、纵坐标向量,x0为需要插值的横坐标数据(或数组)。而method为可选参数,对应于四种方法,可从以下四个值中任选一个:nearest-最近邻点插值linear-线性插值spline-三次样条插值cubic-立方插值其中nearest是缺省值。(2)二维插值interp2(x,y,z,xi,yi,method),其中x和y是自变量。X是m维向量
84、,指明所给数据网格点的横坐标,y是n维向量,指明所给数据网格点的纵坐标,z是mxn维矩阵,标明相应于所给数据网格点的函数值。向量xi,yi是给定的网格点的横坐标和纵坐标,指明函数zi=interp2(x,y,z,xi,yi,method)返回在网格(xi,yi)处的函数值。method为可选参数,选取方法同一维。注意:向量x,y的分量值必须是单调递增的。Xi和yi应是方向不同的向量。即一个是行向量,另一个是列向量。船在船在该海域会搁浅吗?该海域会搁浅吗?水道水深测量数据(单位:英尺)x129.0140.0103.588.0185.5195.0105.5Y7.5141.523.0147.022.
85、5137.585.5Z4868688X157.5107.577.081.0162.0162.0117.5Y-6.5-81.03.056.5-66.584.0-33.5Z9988949一、问题分析:假设:该海域海底是平滑的。由于测量点是散乱分布的,先在平面上作出测量点的分布图,在利用二维插值方法补充一些点的水深,然后作出海底曲面图和等高线图,并求出水深小于5的海域范围。二、问题求解:1、作出测量点的分布图:2、作出海底地貌图3、危险区域海底地貌图4、危险区域平面图薄膜渗透率的测定薄膜渗透率的测定一、假设1、薄膜两侧的溶液始终是均匀的,即在任何时刻膜两侧的每一处溶液的浓度都是相等的2、当两溶液的浓
86、度不一致时,物质的分子穿透薄膜总是从高浓度溶液向低浓度溶液扩散3、通过单位面积膜分子扩散的速度与膜两侧溶液的浓度差成正比4、薄膜是双向同性的即物质从膜的任何一侧向另一侧渗透的性能是相同的二、符号说明三、建模考察时段t,t+t薄膜两侧容器中该物质质量的变化。以容器A为例,在该时段物质质量的增加量为:另一方面从B侧渗透至A侧的该物质质量为:由质量守恒定律有:由此得:又整个容器中含有该物质的质量应该不变,所以有下式:即所以在利用初始条件得的最小值点(K,a,b),其中:四、模型求解(秒)1002003004005004.544.995.355.655.90(秒)60070080090010006.106.266.396.506.59此时极小化的函数为:用Matlab软件进行计算