ImageVerifierCode 换一换
格式:DOCX , 页数:39 ,大小:143.74KB ,
资源ID:13356806      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13356806.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(全国数模竞赛优秀论文.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

全国数模竞赛优秀论文.docx

1、全国数模竞赛优秀论文一、基础知识 1.1 常见数学函数函 数 名数 学 计 算 功 能函 数 名数 学 计 算 功 能abs(x)实数的绝对值或复数的幅值floor(x)对x朝-方向取整acos(x)反余弦arcsingcd(m,n)求正整数m和n的最大公约数acosh(x)反双曲余弦arccoshimag(x)求复数x的虚部angle(x)在四象限内求复数 x 的相角lcm(m,n)求正整数m和n的最小公倍数asin(x)反正弦arcsinlog(x)自然对数(以为底数)asinh(x)反双曲正弦arcsinhlog10(x)常用对数(以10为底数)atan(x)反正切arctanreal(

2、x)求复数x的实部atan2(x,y)在四象限内求反正切rem(m,n)求正整数m和n的m/n之余数atanh(x)反双曲正切arctanhround(x)对x四舍五入到最接近的整数ceil(x)对x朝+方向取整sign(x)符号函数:求出x的符号conj(x)求复数x的共轭复数sin(x)正弦sincos(x)余弦cossinh(x)反双曲正弦sinhcosh(x)双曲余弦coshsqrt(x)求实数x的平方根: exp(x)指数函数 tan(x)正切tanfix(x)对x朝原点方向取整tanh(x)双曲正切tanh如:输入 x=-4.85 -2.3 -0.2 1.3 4.56 6.75,则

3、: ceil(x)= -4 -2 0 2 5 7 fix(x) = -4 -2 0 1 4 6 floor(x) = -5 -3 -1 1 4 6 round(x) = -5 -2 0 1 5 71.2 系统的在线帮助1 help 命令:1.当不知系统有何帮助内容时,可直接输入help以寻求帮助: help(回车)2.当想了解某一主题的内容时,如输入: help syntax (了解Matlab的语法规定)3.当想了解某一具体的函数或命令的帮助信息时,如输入: help sqrt (了解函数sqrt的相关信息)2 lookfor命令现需要完成某一具体操作,不知有何命令或函数可以完成,如输入:

4、lookfor line (查找与直线、线性问题有关的函数)1.3 常量与变量系统的变量命名规则:变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合。此外,系统内部预先定义了几个有特殊意义和用途的变量,见下表:特殊的变量、常量取 值ans用于结果的缺省变量名pi圆周率的近似值(3.1416)eps数学中无穷小(epsilon)的近似值(2.2204e - 016)inf无穷大,如 1/0 = inf (infinity)NaN非数,如 0/0 = NaN (Not a Number),inf / inf = NaNi,j虚数单位:i = j =1 数值型向量(

5、矩阵)的输入1任何矩阵(向量),可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔;行与行之间用分号(;)分隔。所有元素处于一方括号( )内;例1: Time = 11 12 1 2 3 4 5 6 7 8 9 10 X_Data = 2.32 3.43;4.37 5.982系统中提供了多个命令用于输入特殊的矩阵:函数功 能函数功 能compan伴随阵toeplitzToeplitz矩阵diag对角阵vanderVandermonde矩阵hadamardHadamard矩阵zeros元素全为0的矩阵hankelHankel矩阵ones元素全为1的矩阵invhilbHil

6、bert矩阵的逆阵rand元素服从均匀分布的随机矩阵kronKronercker张量积randn元素服从正态分布的随机矩阵magic魔方矩阵eye对角线上元素为1的矩阵pascalPascal矩阵meshgrid由两个向量生成的矩阵上面函数的具体用法,可以用帮助命令help得到。如:meshgrid(x,y)输入 x=1 2 3 4; y=1 0 5; X,Y=meshgrid(x, y),则X = Y = 1 2 3 4 1 1 1 1 1 2 3 4 0 0 0 0 1 2 3 4 5 5 5 5目的是将原始数据x,y转化为矩阵数据X,Y。2 符号向量(矩阵)的输入1用函数 sym定义符号

7、矩阵:函数sym实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制。只需将方括号置于单引号中。例2: sym_matrix = sym(a b c;Jack Help_Me NO_WAY) sym_matrix = a, b, c Jack, Help_Me, NO_WAY2用函数syms定义符号矩阵先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵。例3: syms a b c ; M1 = sym(Classical); M2 = sym( Jazz); M3 = sym(Blues); A = a b c; M1, M2,

8、 M3;sym(2 3 5)A = a, b, c Classical, Jazz, Blues 2, 3, 51.4 数组(矩阵)的点运算运算符:+(加)、-(减)、./(右除)、.(左除)、.(乘方),例4: g = 1 2 3 4;h = 4 3 2 1; s1 = g + h, s2 = g.*h, s3 = g.h, s4 = g.2, s5 = 2.h1.5 矩阵的运算运算符:+(加)、-(减)、*(乘)、/(右除)、(左除)、(乘方)、(转置)等;常用函数:det(行列式)、inv(逆矩阵)、rank(秩)、eig(特征值、特征向量)、rref(化矩阵为行最简形)例5: A=2

9、0 1;1 3 2; B=1 7 1;4 2 3;2 0 1; M = A*B % 矩阵A与B按矩阵运算相乘 det_B = det(B) % 矩阵A的行列式 rank_A = rank(A) % 矩阵A的秩 inv_B = inv(B) % 矩阵B的逆矩阵 V,D = eig(B) % 矩阵B的特征值矩阵V与特征向量构成的矩阵D X = A/B % A/B = A*B-1,即XB=A,求X Y = BA % BA = B-1*A,即BY=A,求Y上机练习(一):1练习数据和符号的输入方式,将前面的命令在命令窗口中执行通过;2输入A=7 1 5;2 5 6;3 1 5,B=1 1 1; 2 2

10、 2; 3 3 3,在命令窗口中执行下列表达式,掌握其含义:A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A2 A.2 B/A B./A3输入C=1:2:20,则C(i)表示什么?其中i=1,2,3,10;4查找已创建变量的信息,删除无用的变量;5欲通过系统做一平面图,请查找相关的命令与函数,获取函数的帮助信息。二、编程2.1 无条件循环当需要无条件重复执行某些命令时,可以使用for循环:for 循环变量t=表达式1 : 达式2 : 表达式3 语句体end说明:表达式1为循环初值,表达式2为步长,表

11、达式3为循环终值;当表达式2省略时则默认步长为1;for语句允许嵌套。例6: 如:矩阵输入程序生成34阶的Hiltber矩阵。 m=input(矩阵行数:m=); for i=1 : 3 n= input(矩阵列数:n=); for j=1 : 4 for i=1:m H(i,j)=1/(i+j-1); for j=1:n end disp(输入第,num2str(i),行,第, num2str(j),列元素) end A(i, j) = input ( ) end end 2.2 条件循环1) if-else-then语句if-else-then语句的常使用三种形式为:(1) if 逻辑表达

12、式 (3) if 逻辑表达式1 语句体 语句体1end elseif 逻辑表达式2 语句体2(2) if 逻辑表达式1 elseif 逻辑表达式3 语句体1 else else 语句体2 语句体nend end 2) while循环语句while循环的一般使用形式为:while 表达式 语句体end例7:用二分法计算多项式方程= 0在0,3内的一个根。 解:a = 0;fa = -inf;b = 3;fb = inf;while b-a eps*b x =(a+b)/2; fx = x3-2*x-5; if sign(fx)= sign(fa) a =x;fa = fx; else b = x

13、;fb = fx; endendx运行结果为:x = 2.09455151481542332.3 分支结构若需要对不同的情形执行不同的操作,可用switch 分支语句:switch 表达式(标量或字符串) case 值1 语句体1 case 值2 语句体2 otherwise 语句体nend说明:当表达式不是“case”所列值时,执行otherwise语句体。2.4 建立M文件将多个可执行的系统命令,用文本编辑器编辑后并存放在后缀为 .m 的文件中,若在MATLAB命令窗口中输入该m-文件的文件名(不跟后缀.m!),即可依次执行该文件中的多个命令。这个后缀为.m的文件,也称为Matlab的脚本

14、文件(Script File)。注意:文件存放路径必须在Matlab能搜索的范围内。2.5 建立函数文件对于一些特殊用户函数,系统提供了一个用于创建用户函数的命令function,以备用户随时调用。1格式:function 输出变量列表=fun_name(输入变量列表) 用户自定义的函数体2函数文件名为:fun_name,注意:保存时文件名与函数名最好相同;3存储路径:最好在系统的搜索路径上。4. 调用方法:输出参量=fun_name (输入变量)例8:计算s = n!,在文本编辑器中输入:function s=pp(n);s=1;for i=1:n s=s*i;ends;在MATLAB命令窗

15、口中输入:s=pp(5) 结果为s = 120上机练习(二):1编写程序,计算1+3+5+7+(2n+1)的值(用input语句输入n 值)。2编写分段函数 的函数文件,存放于文件ff.m中,计算出,的值。三、矩阵及其运算3.1 矩阵的创建1.加、减运算运算符:“”和“”分别为加、减运算符。运算规则:对应元素相加、减,即按线性代数中矩阵的“十”、“一”运算进行。例3-1 在Matlab编辑器中建立m文件:LX0701.m A=1, 1, 1; 1, 2, 3; 1, 3, 6B=8, 1, 6; 3, 5, 7; 4, 9, 2AB=A+BA-=A-B在Matlab命令窗口建入LX0701,则

16、结果显示:A+B=9 2 74 7 105 12 8AB=-7 0 -5-2 -3 -4-3 -6 42.乘法运算符:*运算规则:按线性代数中矩阵乘法运算进行,即放在前面的矩阵的各行元素,分别与放在后面的矩阵的各列元素对应相乘并相加。(1)两个矩阵相乘例3-2 在Mtalab编辑器中建立M文件:LX0702.mX= 2 3 4 5 1 2 2 1;Y=0 1 1 1 1 0 0 0 1 1 0 0;Z=X*Y存盘在命令行中建入LX0702,回车后显示:Z= 8 5 6 3 3 3 (2)矩阵的数乘:数乘矩阵上例中:a=2*X则显示:a =4 6 8 102 4 4 2(3)向量的点乘(内积):

17、维数相同的两个向量的点乘。命令:dot 向量点乘函数例:X=-1 0 2;Y=-2 -1 1;Z=dot(X, Y)则显示:Z =4还可用另一种算法:sum(X.*Y)ans= 4(4)向量叉乘在数学上,两向量的叉乘是一个过两相交向量的交点且垂直于两向量所在平面的向量。在Matlab中,用函数cross实现。命令 cross 向量叉乘函数例3-3 计算垂直于向量(1, 2, 3)和(4, 5, 6)的向量。在Mtalab编辑器中建立M文件:LX0703.m a=1 2 3; b=4 5 6; c=cross(a,b)结果显示: c= -3 6 -3可得垂直于向量(1, 2, 3)和(4, 5,

18、 6)的向量为(-3, 6, -3)(5)混合积混合积由以上两函数实现:例3-4 计算向量a=(1, 2, 3)、b=(4, 5, 6)和c=(-3, 6, -3) 的混合积在Matlab编辑器中建立M文件:LX0704.ma=1 2 3; b=4 5 6; c=-3 6 -3;x=dot(a, cross(b, c)结果显示:x = 54注意:先叉乘后点乘,顺序不可颠倒。3.矩阵的除法Matlab提供了两种除法运算:左除()和右除(/)。一般情况下,x=ab是方程a*x =b的解,而x=b/a是方程x*a=b的解例:a=1 2 3; 4 2 6; 7 4 9b=4; 1; 2;x=ab则显示

19、:x=-1.5000 2.00000.5000如果a为非奇异矩阵,则ab和b/a可通过a的逆矩阵与b阵得到: ab = inv(a)*b b/a = b*inv(a)4.矩阵乘方运算符:运算规则:(1)当A为方阵,p为大于0的整数时,AP表示A的P次方,即A自乘P次;p为小于0的整数时,AP表示A-1的P次方。(2)当A为方阵,p为非整数时,则其中V为A的特征向量,为特征值矩阵5.矩阵的转置运算符:运算规则:与线性代数中矩阵的转置相同。6.矩阵的逆矩阵例3-5 求的逆矩阵方法一:在Matlab编辑器中建立M文件:LX07051.m A=1 2 3; 2 2 1; 3 4 3; inv(A)或A

20、(-1)则结果显示为 ans = 1.0000 3.0000 -2.0000 -1.5000 -3.0000 2.5000 1.0000 1.0000 -1.0000方法二:由增广矩阵进行初等行变换在Matlab编辑器中建立M文件:LX07052.m B=1, 2, 3, 1, 0, 0; 2, 2, 1, 0, 1, 0; 3, 4, 3, 0, 0, 1;C=rref(B) %化行最简形X=C(:, 4:6)在Matlab命令窗口建入LX07052,则显示结果如下:C = 1.0000 0 0 1.0000 3.0000 -2.0000 0 1.0000 0 -1.5000 -3.0000

21、 2.5000 0 0 1.0000 1.0000 1.0000 -1.0000X = 1.0000 3.0000 -2.0000 -1.5000 -3.0000 2.5000 1.0000 1.0000 -1.0000这就是A的逆矩阵。7.方阵的行列式命令: det 计算行列式的值例3-6 计算上例中A的行列式的值在Matlab编辑器中建立M文件:LX0706.mA=1 2 3; 2 2 1; 3 4 3;D=det(A)则结果显示为D = 23.2 符号矩阵的运算1.符号矩阵的四则运算Matlab 5.x 抛弃了在4.2版中为符号矩阵设计的复杂函数形式,把符号矩阵的四则运算简化为与数值矩阵

22、完全相同的运算方式,其运算符为:加(),减()、乘()、除(/、)等或:符号矩阵的和(symadd),差(symsub),乘 (symmul)。例3-7 ;C=B-AD=ab则显示:C=x-1/x 1-1/(x+1)x+2-1/(x+2) -1/(x+3)D=-6*x-2*x3-7*x2 1/2*x3+x+3/2*x2 6+2*x3+10*x2+14*x -2*x2-3/2*x-1/2*x32.其他基本运算符号矩阵的其他一些基本运算包括转置()、行列式(det)、逆(inv)、秩(rank)、幂()和指数(exp和expm)等都与数值矩阵相同3.符号矩阵的简化符号工具箱中提供了符号矩阵因式分解

23、、展开、合并、简化及通分等符号操作函数。(1)因式分解命令:factor 符号表达式因式分解函数格式:factor(s)说明:s为符号矩阵或符号表达式。常用于多项式的因式分解例3-8 将x 9-1分解因式在Matlab命令窗口建入syms x factor(x9-1)则显示:ans = (x-1)*(x2+x+1)*(x6+x3+1)例3-9 问入取何值时,齐次方程组有非0解解:在Matlab编辑器中建立M文件:LX0709.msyms k A=1-k -2 4;2 3-k 1;1 1 1-k; D=det(A) factor(D)其结果显示如下:D =-6*k+5*k2-k3ans = -k

24、*(k-2)*(-3+k)从而得到:当k=0、k=2或k=3时,原方程组有非0解。(2)符号矩阵的展开命令 expand 符号表达式展开函数格式:expand(s)说明:s为符号矩阵或表达式。常用在多项式的因式分解中,也常用于三角函数,指数函数和对数函数的展开中例3-10 将(x+1)3、sin(x+y)展开在Matlab编辑器中建立M文件:LX0710.m syms x yp=expand(x+1)3)q=expand(sin(x+y)则结果显示为p = x3+3*x2+3*x+1q = sin(x)*cos(y)+cos(x)*sin(y)(3)同类式合并命令:Collect 合并系数函数

25、格式:Collect(s,v) 将s中的变量v的同幂项系数合并。Collect(s) s 矩阵或表达式,此命令对由命令findsym函数返回的默认变量进行同类项合并。(4)符号简化命令:simple或simplify 寻找符号矩阵或符号表达式的最简型格式:Simple(s) s 矩阵或表达式说明:Simple(s)将表达式s的长度化到最短。若还想让表达式更加精美,可使用函数Pretty。格式:Pretty(s) 使表达式s更加精美例3-11 计算行列式的值。在Matlab编辑器中建立M文件:LX0711.msyms a b c d A=1 1 1 1;a b c d;a2 b2 c2 d2;a

26、4 b4 c4 d4;d1=det(A)d2=simple(d1) %化简表达式d1pretty(d2) %让表达式d2符合人们的书写习惯则显示结果如下: d1 =b*c2*d4-b*d2*c4-b2*c*d4+b2*d*c4+b4*c*d2-b4*d*c2-a*c2*d4+a*d2*c4+a*b2*d4-a*b2*c4-a*b4*d2+a*b4*c2+a2*c*d4-a2*d*c4-a2*b*d4+a2*b*c4+a2*b4*d-a2*b4*c-a4*c*d2+a4*d*c2+a4*b*d2-a4*b*c2-a4*b2*d+a4*b2*cd2 =(-d+c)*(b-d)*(b-c)*(-d+

27、a)*(a-c)*(a-b)*(a+c+d+b)(-d+c)(b-d)(b-c)(-d+a)(a-c)(a-b)(a+c+d+b)例3-12 设, 求矩阵X,使满足:AXB = C在Matlab编辑器中建立M文件:LX0712.mA=1 2 3;2 2 1;3 4 3;B=2,1;5 3;C=1 3;2 0;3 1;X=AC/B则结果显示如下:X = -2.0000 1.0000 10.0000 -4.0000 -10.0000 4.0000例3-13 计算在Matlab编辑器中建立M文件:LX0713.m syms tA =cos(t) -sin(t); sin(t), cos(t);B=s

28、ympow(A, 5) %计算A的5次幂C=simple(B) %化简pretty(C)则显示结果如下B = cos(t)*(cos(t)*(cos(t)*(cos(t)2-sin(t)2)-2*sin(t)2*cos(t)-sin(t)*(sin(t)*(cos(t)2-sin(t)2)+2*cos(t)2*sin(t)-sin(t)*(sin(t)*(cos(t)*(cos(t)2-sin(t)2)-2*sin(t)2*cos(t)+cos(t)*(sin(t)*(cos(t)2-sin(t)2)+2*cos(t)2*sin(t), cos(t)*(cos(t)*(-2*cos(t)2*sin(t)-sin(t)*(cos(t)2-sin(t)2)-sin(t)*(cos(t)*(cos(t)2-sin(t)2)-2*sin(t)2*cos(t)-sin(t)*(sin(t)*(-2*cos(t)2*sin(t)-sin(t)*(cos(t)2-sin(t)2)+cos(t)*(cos(t)*(cos(t)2-sin(t)2

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2