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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

matlab基本函数.docx

1、matlab基本函数一,基础知识 1.1 常见数学函数 函 数 名 数 学 计 算 功 能 函 数 名 数 学 计 算 功 能 abs(x) 实数的绝对值或复数的幅值 floor(x) 对x朝-方向取整 acos(x) 反余弦arcsinx gcd(m,n)求正整数m和n的最大公约数 acosh(x) 反双曲余弦arccoshx imag(x) 求复数x的虚部 angle(x) 在四象限内求复数 x 的相角lcm(m,n)求正整数m和n的最小公倍数 asin(x) 反正弦arcsinx log(x) 自然对数(以e为底数) asinh(x) 反双曲正弦arcsinhx log10(x)常用对数

2、(以10为底数) atan(x) 反正切arctanx real(x) 求复数x的实部 atan2(x,y) 在四象限内求反正切 rem(m,n)求正整数m和n的m/n之余数 atanh(x) 反双曲正切arctanhx round(x)对x四舍五入到最接近的整数 ceil(x) 对x朝+方向取整 sign(x) 符号函数:求出x的符号 conj(x) 求复数x的共轭复数 sin(x) 正弦sinx cos(x) 余弦cosx sinh(x) 反双曲正弦sinhx cosh(x) 双曲余弦coshx sqrt(x) 求实数x的平方根:x exp(x) 指数函数 xetan(x) 正切tanx

3、fix(x) 对x朝原点方向取整 tanh(x) 双曲正切tanhx 如:输入 x=-4.85 -2.3 -0.2 1.3 4.56 6.75,则: 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 7 1.2 系统的在线帮助 1 help 命令: 1.当不知系统有何帮助内容时,可直接输入help以寻求帮助: help(回车) 2.当想了解某一主题的内容时,如输入: help syntax (了解Matlab的语法规定) 3.当想了解某一具体的函数或命令的

4、帮助信息时,如输入: help sqrt (了解函数sqrt的相关信息) 2 lookfor命令 现需要完成某一具体操作,不知有何命令或函数可以完成,如输入: 1 lookfor line (查找与直线,线性问题有关的函数) 1.3 常量与变量 系统的变量命名规则:变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合.此外,系统内部预先定义了几个有特殊意义和用途的变量,见下表: 特殊的变量,常量 取 值 ans 用于结果的缺省变量名 pi 圆周率的近似值(3.1416) eps 数学中无穷小(epsilon)的近似值(2.2204e - 016) inf 无穷大

5、,如 1/0 = inf (infinity) NaN 非数,如 0/0 = NaN (Not a Number),inf / inf = NaN i,j 虚数单位:i = j =1 1 数值型向量(矩阵)的输入 1.任何矩阵(向量),可以直接按行方式.输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔;行与行之间用分号(;)分隔.所有元素处于一方括号( )内; 例1: Time = 11 12 1 2 3 4 5 6 7 8 9 10 X_Data = 2.32 3.43;4.37 5.98 2.系统中提供了多个命令用于输入特殊的矩阵: 函数 功 能 函数 功 能 compan 伴随

6、阵 toeplitz Toeplitz矩阵 diag 对角阵 vander Vandermonde矩阵 hadamard Hadamard矩阵 zeros 元素全为0的矩阵 hankel Hankel矩阵 ones 元素全为1的矩阵 invhilb Hilbert矩阵的逆阵 rand 元素服从均匀分布的随机矩阵 kron Kronercker张量积 randn 元素服从正态分布的随机矩阵 magic 魔方矩阵 eye 对角线上元素为1的矩阵 pascal Pascal矩阵 meshgrid 由两个向量生成的矩阵 上面函数的具体用法,可以用帮助命令help得到.如:meshgrid(x,y) 输

7、入 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 21 2 3 4 5 5 5 5 目的是将原始数据x,y转化为矩阵数据X,Y. 2 符号向量(矩阵)的输入 1.用函数 sym定义符号矩阵: 函数sym实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制.只需将方括号置于单引号中. 例2: sym_matrix = sym(a b c;Jack Help_Me NO_WAY) sym_matrix = a, b, c Jack, Hel

8、p_Me, NO_WAY 2.用函数syms定义符号矩阵 先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵. 例3: syms a b c ; M1 = sym(Classical); M2 = sym( Jazz); M3 = sym(Blues); A = a b c; M1, M2, M3;sym(2 3 5) A = a, b, c Classical, Jazz, Blues 2, 3, 5 1.4 数组(矩阵)的点运算 运算符:+(加),-(减),./(右除),.(左除),.(乘方), 例4: g = 1 2 3 4;h = 4 3 2 1; s1 = g +

9、 h, s2 = g.*h, s3 = g.h, s4 = g.2, s5 = 2.h 1.5 矩阵的运算 运算符:+(加),-(减),*(乘),/(右除),(左除),(乘方),(转置)等; 常用函数:det(行列式),inv(逆矩阵),rank(秩),eig(特征值,特征向量),rref(化矩阵为行最简形) 3例5: A=2 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

10、 = 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 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./A 3.输入C=1:2:

11、20,则C(i)表示什么 其中i=1,2,3,10; 4.查找已创建变量的信息,删除无用的变量; 5.欲通过系统做一平面图,请查找相关的命令与函数,获取函数的帮助信息. 二,编程 2.1 无条件循环 当需要无条件重复执行某些命令时,可以使用for循环: for 循环变量t=表达式1 : 达式2 : 表达式3 语句体 end 说明:表达式1为循环初值,表达式2为步长,表达式3为循环终值;当表达式2省略时则默认步长为1;for语句允许嵌套. 例6: 如:矩阵输入程序 生成34阶的Hiltber矩阵. m=input(矩阵行数:m=); for i=1 : 3 n= input(矩阵列数:n=);

12、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 42.2 条件循环 1) if-else-then语句 if-else-then语句的常使用三种形式为: (1) if 逻辑表达式 (3) if 逻辑表达式1 语句体 语句体1 end elseif 逻辑表达式2 语句体2 (2) if 逻辑表达式1 elseif 逻辑表达式3 语句体1 else else 语句体2 语句体n end end

13、2) while循环语句 while循环的一般使用形式为: while 表达式 语句体 end 例7: 用二分法计算多项式方程= 0在0,3内的一个根. 523 xx解: 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;fb = fx; end end x 运行结果为:x = 2.0945515148154233 2.3 分支结构 若需要对不同的情形执行不同的操作,可用switch 分支语句: sw

14、itch 表达式(标量或字符串) 5case 值1 语句体1 case 值2 语句体2 otherwise 语句体n end 说明:当表达式不是case所列值时,执行otherwise语句体. 2.4 建立M文件 将多个可执行.的系统命令,用文本编辑器编辑后并存放在后缀为 .m 的文件中,若在MATLAB命令窗口中输入该m-文件的文件名(不跟后缀.m!),即可依次执行该文件中的多个命令.这个后缀为.m的文件,也称为Matlab的脚本文件(Script File). 注意:文件存放路径必须在Matlab能搜索的范围内. 2.5 建立函数文件 对于一些特殊用户函数,系统提供了一个用于创建用户函数的

15、命令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; end s; 在MATLAB命令窗口中输入:s=pp(5) 结果为s = 120 上机练习(二): 61.编写程序,计算1+3+5+7+(2n+1)的值(用

16、input语句输入n 值). 2.编写分段函数 的函数文件,存放于文件ff.m中,计算出, =其它021210)(xxxxxf)3( f)2(f, 的值. )(f三,矩阵及其运算 3.1 矩阵的创建 1.加,减运算 运算符:+和-分别为加,减运算符. 运算规则:对应元素相加,减,即按线性代数中矩阵的十,一运算进行. 例3-1 在Matlab编辑器中建立m文件:LX0701.m A=1, 1, 1; 1, 2, 3; 1, 3, 6 B=8, 1, 6; 3, 5, 7; 4, 9, 2 A+B=A+B A-B=A-B 在Matlab命令窗口建入LX0701,则 结果显示:A+B= 9 2 7

17、4 7 10 5 12 8 A-B= -7 0 -5 -2 -3 -4 -3 -6 4 2.乘法 运算符:* 运算规则:按线性代数中矩阵乘法运算进行,即放在前面的矩阵的各行元素,分别与放在后面的矩阵的各列元素对应相乘并相加. (1)两个矩阵相乘 例3-2 在Mtalab编辑器中建立M文件:LX0702.m X= 2 3 4 5 1 2 2 1; 7Y=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 10 2 4 4 2 (3)向

18、量的点乘(内积):维数相同的两个向量的点乘. 命令: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 -

19、3 可得垂直于向量(1, 2, 3)和(4, 5, 6)的向量为(-3, 6, -3) (5)混合积 8混合积由以上两函数实现: 例3-4 计算向量a=(1, 2, 3),b=(4, 5, 6)和c=(-3, 6, -3) 的混合积)cb(a 在Matlab编辑器中建立M文件:LX0704.m a=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的

20、解 例:a=1 2 3; 4 2 6; 7 4 9 b=4; 1; 2; x=ab 则显示:x= -1.5000 2.0000 0.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的特征向量,为特征值矩阵 1pnnp11VddVPA =Onn11ddO5.矩阵的转置 运算符: 运算规则:与线性代数中矩阵的转置相同.

21、96.矩阵的逆矩阵 例3-5 求的逆矩阵 =343122321A方法一:在Matlab编辑器中建立M文件:LX07051.m A=1 2 3; 2 2 1; 3 4 3; inv(A)或A(-1) 则结果显示为 ans = 1.0000 3.0000 -2.0000 -1.5000 -3.0000 2.5000 1.0000 1.0000 -1.0000 方法二:由增广矩阵进行初等行变换 =100343010122001321B在Matlab编辑器中建立M文件:LX07052.m B=1, 2, 3, 1, 0, 0; 2, 2, 1, 0, 1, 0; 3, 4, 3, 0, 0, 1; C

22、=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 2.5000 0 0 1.0000 1.0000 1.0000 -1.0000 X = 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

23、文件:LX0706.m A=1 2 3; 2 2 1; 3 4 3; D=det(A) 则结果显示为 D = 2 103.2 符号矩阵的运算 1.符号矩阵的四则运算 Matlab 5.x 抛弃了在4.2版中为符号矩阵设计的复杂函数形式,把符号矩阵的四则运算简化为与数值矩阵完全相同的运算方式,其运算符为:加(+),减(-),乘(),除(/,)等或:符号矩阵的和(symadd),差(symsub),乘 (symmul). 例3-7 );)3x/(1),2x/(1);1x/(1,x/1(symA+= )0,2x;1,x(symB+=; C=B-A D=ab 则显示: C= x-1/x 1-1/(x+

24、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*x3 2.其他基本运算 符号矩阵的其他一些基本运算包括转置(),行列式(det),逆(inv),秩(rank),幂()和指数(exp和expm)等都与数值矩阵相同 3.符号矩阵的简化 符号工具箱中提供了符号矩阵因式分解,展开,合并,简化及通分等符号操作函数. (1)因式分解 命令:factor 符号表达式因式分解函数 格式:factor(s) 说明:s为符号矩阵或符号表达式.常用于多项式的因式分解 例3-8 将x

25、 9-1分解因式 在Matlab命令窗口建入 syms x factor(x9-1) 则显示:ans = (x-1)*(x2+x+1)*(x6+x3+1) 例3-9 问入取何值时,齐次方程组 = +=+ +=+ 0)1(0)3(2042)1(321321321xxxxxxxxx有非0解 11解:在Matlab编辑器中建立M文件:LX0709.m syms k A=1-k -2 4;2 3-k 1;1 1 1-k; D=det(A) factor(D) 其结果显示如下: D = -6*k+5*k2-k3 ans = -k*(k-2)*(-3+k) 从而得到:当k=0,k=2或k=3时,原方程组有

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

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

28、a2 b2 c2 d2;a4 b4 c4 d4; d1=det(A) d2=simple(d1) %化简表达式d1 pretty(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*c d2 = (-d+c)*(b-d)*(b-c)*(-d+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 设, , =343122321A =3512B

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1