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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

MATLAB数值计算功能.docx

1、MATLAB数值计算功能实验二第2章 MATLAB数值计算功能MATLAB强大的数值计算功能使其在诸多数学计算软件中傲视群雄,是MATLAB的基础.本章将简要介绍MATLAB的数据类型、矩阵的建立及运算. 第一节 MATLAB 的数据类型MATLAB 的数据类型主要包括:数字、字符串、矩阵、单元型数据及结构型数据等,此处仅介绍几个常用类型.一、MAT L A B中的变量与常量不需要对所使用的变量进行事先声明,也不需要指定其类型,它会自动根据所赋予变量的值或所进行的操作来确定变量的类型.如果变量重新赋值将会用新值代替旧值并以新值类型代替旧值类型. 例1 a=1;b=0.5;c=a*b,c=a*b

2、 变量的命名规则是:(1)变量名可以有63个字符.字母AZ、az、数字和下划线_都可以作为变量名,但第一个字符必须是一个字母;(2)变量名区分大小写,如矩阵a和A是不一样的;(3)变量名中不允许使用标点符号、空格、运算符;(4)预定义变量名也可以像一个变量名那样使用,但函数只有在变量由命令clear删除后才能使用,所以,不主张这样使用; (5)MATLAB提供的标准函数及命令通常是用小写字母书写. 例2 命令abs (A)给出了A的绝对值,但ABS(A)会导致在屏幕上显示错误信息.二、 算术表达式及显示格式在MATLAB中对十进制数,使用科学记数法可以书写十分大和十分小的数.例如1.23E6,

3、代表1.2310-6 .MATLAB有算术运算符的扩展集,它们是:1) 幂;2) * 乘; / 右除(正常除); 左除;3) + 加; 减这是按序给出的运算,1)是最高优先级.在带相同优先级的运算符表达式中,按从左到右的顺序执行.圆括号( )能够用于改变优先级次序.两种不同的除法:对于数量右除 2 / 5得0 . 4与左除5 2是相同的,斜线号“靠着”的表达式或数字是分母.如a/(b+c)即为,而a(b+c)即为.命令集4 显示格式format defformat 将输出格式改为由defformat定义的格式,这类格式可以是如下之一:short、long、short e、long e、hex、

4、+、bank、rat也有compact或loose,它给出了一个较紧缩或较宽松的输出格式,但并不影响数值输出格式. 例3设 p = 1 + 1/3,先定义格式,然后在屏幕上显示p:format short 得 1.3333 4位小数format long 得 1.33333333333333 14位小数format short e 得 1.3333e + 00 4位小数format long e 得 1.333333333333333e + 00 15位小数format hex 得 3ff5555555555555 16进制数format + 得 + 正:+format bank 得 1.33

5、 美元和美分format rat 得 4/3 作为一个有理数三、数学函数命令集5 数学函数abs(x) 求x的绝对值,即 |x| .sign(x) 求x的符号,如果是正的得1;负的得1;零得0 .sqrt(x) 求x的平方根,即.exp(x) 求x的指数函数,即.log(x) 求x的自然对数,即lnx .log10(x) 求x以10为底的对数,即.sin(x) 求正弦x,x为弧度 .cos(x) 求余弦x,x为弧度.tan(x) 求正切x,x为弧度.cot(x) 求余切x,即1 / ( tanx),x为弧度.asin(x) 求反正弦,即.acos(x) 求反余弦,即.sec(x) 求正割x,即

6、1/(cosx) .csc(x) 求余割x,即1/(sinx) .命令集6 取整命令round(x) 求最接近x的整数.如果x是一个向量,则适用于所有元素.fix(x) 求0方向最接近x的整数.即负x向上四舍五入,正x向下四舍五入.floor(x) 求小于或等于x的最接近的整数.ceil(x) 求大于或等于x的最接近的整数.rem(x, y) 求整除x/y的余数.gcd(x, y) 求整数x和y的最大公因子.lcm(x,y) 求正整数x和y的最小公倍数,也能用于决定最小公因子.第二节 MATLAB的矩阵的建立与运算矩阵是 MATLAB 数据存储的基本单元,而矩阵的运算是 MATLAB 语言的核

7、心, 几乎一切运算均是以对矩阵的操作为基础的.一、矩阵的建立1. 直接输入法 从键盘上输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小的简单矩阵.规则如下: 输入矩阵时要以“ ”为其标识符号,矩阵的所有元素必须都在中括号内. 矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔. 矩阵大小不需要预先定义. 矩阵元素可以是运算表达式. 若 中无元素表示空矩阵. 例4 A=1 2 3;4 5 6;7 8 9 A= 1 2 3 4 5 6 7 8 92. 利用“:”生成矩阵(1) 生成等距的行向量,如 a=1:0.5:4 a= Columns 1 through 7 1 1.5

8、2 2.5 3 3.5 4 (2)截取指定矩阵中的部分生成新矩阵,如 B=A (1:2, : ) B= 1 2 3 4 5 6即矩阵B是例4中A矩阵的前两行生成.3. 外部文件读入法 以文件的形式存储,适合大型矩阵输入.读入形式 Load+文件名 Load 函数将会从文件名所指定的文件中读取数据,并将输入的数据赋给以文件名命名的变量,如果不给定文件名,则将自动认为 matlab.mat 文件为操作对象,如果该文件 在 MATLAB 搜索路径中不存在时,系统将会报错.4. 特殊矩阵的生成命令集7 1矩阵、零矩阵、单位矩阵和随机矩阵ones (n) 建立一个nn的1矩阵.ones (m , n)

9、建立一个mn的1矩阵.ones (size(A) 建立一个和矩阵A同样大小的1矩阵.zeros(n) 建立一个nn的0矩阵.zeros(m , n) 建立一个mn的0矩阵.zeros(size(A) 建立一个和矩阵A同样大小的0矩阵.eye(n) 建立一个nn 的单位矩阵.eye(m, n) 建立一个mn 的单位矩阵.eye(size(A) 建立一个和矩阵A同样大小的单位矩阵.rand 产生在01之间均匀分布的随机数;每调用一次给一个新的数值.rand + i*rand 产生一个复数随机数.rand(n) 产生一个nn的矩阵,其元素为01之间均匀分布的随机数.rand(m , n) 产生一个m

10、n的矩阵,其元素为01之间均匀分布的随机数.二、矩阵的运算MATLAB中的大多数运算可以直接对矩阵应用.除了算术运算+、*、/、外,还有用于转置和共轭的运算符(撇号 :实数时为转置,复数时为共轭转置,复数时转置为 .)、关系运算符和逻辑运算符.1. 除法 在MATLAB中,有两个矩阵除法的符号,左除 和右除/.如果A是一个非奇异方阵,那么A B和B / A对应A的逆与B的左乘和右乘,即分别等价于命令 i n v ( A ) *B和B* i n v ( A ). 2. 元素操作算术运算算术运算也可以元素与元素逐次进行.参与运算的矩阵维数要相同.如果运算是由一点进行的,那么这个运算实行的是元素方式

11、,称为数组运算或点运算.对于加法和减法,数组运算(点运算)和矩阵运算没有差别.数组运算(点运算)符是:+ . * . / . . 例5 A=1 2 3;4 5 6;7 8 9;B=ones(3); C=A.*BC= 1 2 3 4 5 6 7 8 93. 关系运算符MATLAB有用于比较矩阵的六个关系运算符,也可以对矩阵与一个标量进行比较,即矩阵中的每个元素与标量进行比较.关系运算符如下: 小于 大于 = 大于等于= = 等于 = 不等于关系运算符比较对应的元素,产生一个仅包含 1和0的具有相同维数的矩阵.其元素是:1 比较结果是真0 比较结果是假在一个表达式中,算术运算符优先级最高,其次是关

12、系运算符,最低级别是逻辑运算符.圆括号可以改变其顺序.4. 逻辑运算符在MATLAB中有四种逻辑运算符:& 与 ;| 或; 非;xor 异或;逻辑运算符的运算优先级最低.在一个表达式中,关系运算符和算术运算符的运算级别要高于逻辑运算符.x o r和o r之间的差别在于:表达式中至少有一个是真,那么 o r是真;x o r是表达式中有一个是真但不能两者均为真时才为真.运算符&和|比较两个相同维数的矩阵,它也能使一个标量与一个矩阵进行比较.逻辑运算符是按元素比较的.零元素表示逻辑值假,任何其他值的元素表示逻辑值真.其结果是一个包含1和0的矩阵.命令集8 逻辑运算符A & B 返回一个与A和B相同维

13、数的矩阵.在这个矩阵中, A和B对应元素都为非零时,则对应项为1;有一个为零的项则为0.A | B 返回一个与A和B相同维数的矩阵.在这个矩阵中, A和B对应元素只要有一个为非零,则对应项为1;两个矩阵对应元素均为零时,则对应项为0.A 返回一个与A和B相同维数的矩阵.在这个矩阵中,A对应元素是零时,则对应项为1;A对应元素是非零时,则对应项为0.xor(A, B) 返回一个与A和B相同维数的矩阵.在这个矩阵中,如果 A和B均为零或均为非零时,则对应项为 0;如果A或B是非零但不是两者同时为非零时,则对应项为1.练习题1. 在计算机上,求下列表达式的值. ; ,其中; , 其中; ,其中; ,

14、其中.2. 完成下列操作,观察结果: a=1:5,b=(1:5) y=0:pi/4:pi x=(0:0.2:3),y=exp(-x).* sin(x) A=1 2 3;4 5 6;7 8 9B=1,2,3;4,5,6;7,8,9C=1 2 3 4 5 6, 7 8 9 3. 已知 , 求 AB-2A , AB-BA,A.*B,B.*A , .4.,求 .5,求 .6x = (1,1,1,1),y = (2,3,4,5) ,求 .7完成下列操作并观察结果 C=ones(4),zeros(4);eye(4),rand(4) C=ones(4),zeros(4);eye(4),rand(5)8. 建

15、立向量 9. 完成下列命令,观察结果 a=1:3;4:6;7:9;x=5;xa=x w=sqrt(2)*(1+0.34245*10(-6)w = 1.4142 a=3.5; b=5; c=-9.8; x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2)/(tan(b+c)+a)x = 0.9829 a=3.32; b=-7.9; y=2*pi*(a2)*(1-pi/4)*b-(0.8333-pi/4)*a)y = -128.4271 t=2; z=1/2*exp(2*t)*log(t+sqrt(1+t2)z = 39.4099 x=1+2i; y=3-sqrt(17); u=(c

16、os(abs(x+y)-sin(78*pi/180)/(x+abs(y)u = -0.3488 + 0.3286i2. 完成下列操作,观察结果: a=1:5,b=(1:5)a = 1 2 3 4 5b = 1 2 3 4 5 y=0:pi/4:piy = 0 0.7854 1.5708 2.3562 3.1416 x=(0:0.2:3),y=exp(-x).*sin(x)x = 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 2.2000 2.4000 2.6000 2.8000 3.0000y =

17、 0 0.1627 0.2610 0.3099 0.3223 0.3096 0.2807 0.2430 0.2018 0.1610 0.1231 0.0896 0.0613 0.0383 0.0204 0.0070 A=1 2 3;4 5 6;7 8 9A = 1 2 3 4 5 6 7 8 9 B=1,2,3;4,5,6;7,8,9B = 1 2 3 4 5 6 7 8 9 C=1 2 3 4 5 6, 7 8 9C = 1 2 3 4 5 6 7 8 9 A=sin(pi),2*cos(pi/3);5*pi,-exp(2)A = 0.0000 1.0000 15.7080 -7.38913

18、. A=1 1 1;-1 1 1;1 -1 1; B=1 2 1;1 3 -1;2 1 4; A*B-2*Aans = 2 4 2 4 0 0 0 2 4 A*B-B*A,A.*B,B.*Aans = 4 4 0 5 -3 -1 -3 1 -1ans = 1 2 1 -1 3 -1 2 -1 4ans = 1 2 1 -1 3 -1 2 -1 4 inv(A)*B-inv(B)*Aans = Columns 1 through 2 3.7500 2.2500 -2.0000 -1.0000 -0.2500 1.2500 Column 3 1.2500 -2.0000 1.25004. x=2

19、1-3i;5 -0.65; y=1/2*exp(2*x)*log(x+sqrt(1+x2)y = 1.0e+004 * 0.0057 - 0.0007i 0.0049 - 0.0027i 1.9884 - 0.3696i 1.7706 - 1.0539i5. D=23 10 -0.778 0;41 -45 65 5;32 5 0 32;6 -9.54 54 3.14; D2,D.*D,D.2ans = 1.0e+003 * 0.9141 -0.2239 0.6321 0.0251 1.2080 2.7123 -2.6869 1.8707 1.1330 -0.2103 2.0281 0.1255

20、 1.4937 0.7293 -0.4552 1.6902ans = 1.0e+003 * 0.5290 0.1000 0.0006 0 1.6810 2.0250 4.2250 0.0250 1.0240 0.0250 0 1.0240 0.0360 0.0910 2.9160 0.0099ans = 1.0e+003 * 0.5290 0.1000 0.0006 0 1.6810 2.0250 4.2250 0.0250 1.0240 0.0250 0 1.02400.0360 0.0910 2.9160 0.00996. x=1,1,1,1;y=2,3,4,5; x*y,y*xans =

21、 14ans = 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 57完成下列操作并观察结果 ones(6),ones(5,6),ones(6,5)ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 zeros(4),zer

22、os(3,4),zeros(4,3)ans = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0ans = 0 0 0 0 0 0 0 0 0 0 0 0ans = 0 0 0 0 0 0 0 0 0 0 0 0 eye(5),eye(4,5),eye(5,4)ans = 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1ans = 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0ans = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 x=rand+i*rand,A=

23、rand(3),B=rand(3,4)x = 0.8180 + 0.6602iA = Columns 1 through 2 0.3420 0.5341 0.2897 0.7271 0.3412 0.3093 Column 3 0.8385 0.5681 0.3704B = Columns 1 through 2 0.7027 0.6946 0.5466 0.6213 0.4449 0.7948 Columns 3 through 4 0.9568 0.1730 0.5226 0.9797 0.8801 0.2714 hilb(3),hilb(4),invhilb(3)ans = 1.0000

24、 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000ans = Columns 1 through 3 1.0000 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000 0.2500 0.2000 0.1667 Column 4 0.2500 0.2000 0.1667 0.1429ans = 9 -36 30 -36 192 -180 30 -180 180 x=1 2 3 4 5; y=5 4 3 2 1; T=toeplitz(x,y),S=toeplitz(x)War

25、ning: First element of input column does not match first element of input row. Column wins diagonal conflict. In toeplitz at 21T = 1 4 3 2 1 2 1 4 3 2 3 2 1 4 3 4 3 2 1 4 5 4 3 2 1S = 1 2 3 4 5 2 1 2 3 4 3 2 1 2 3 4 3 2 1 2 5 4 3 2 1 A=compan(x),B=compan(y)A = -2 -3 -4 -5 1 0 0 0 0 1 0 0 0 0 1 0B =

26、-0.8000 -0.6000 -0.4000 -0.2000 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 0 vander(x),vander(y)ans = 1 1 1 1 1 16 8 4 2 1 81 27 9 3 1 256 64 16 4 1 625 125 25 5 1ans = 625 125 25 5 1 256 64 16 4 1 81 27 9 3 1 16 8 4 2 1 1 1 1 1 1 C=ones(4),zeros(4);eye(4),rand(4)C = Columns 1 through 5 1.0000 1.0000 1.00

27、00 1.0000 0 1.0000 1.0000 1.0000 1.0000 0 1.0000 1.0000 1.0000 1.0000 0 1.0000 1.0000 1.0000 1.0000 0 1.0000 0 0 0 0.0099 0 1.0000 0 0 0.1389 0 0 1.0000 0 0.2028 0 0 0 1.0000 0.1987 Columns 6 through 8 0 0 0 0 0 0 0 0 0 0 0 0 0.6038 0.7468 0.4186 0.2722 0.4451 0.8462 0.1988 0.9318 0.5252 0.0153 0.4660 0.2026 C=ones(4),zeros(4);eye(4),rand(5)? Error using = horzcatAll matrices on a row in the bracketed expression must have the same number of rows.8. 建立向量 x=(1:3),y=(1:0.5:3),z=(4:-0.5

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

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