(完整版)安徽师范大学《计算方法》实验课程序+答案(数学专业)二_第1页
(完整版)安徽师范大学《计算方法》实验课程序+答案(数学专业)二_第2页
(完整版)安徽师范大学《计算方法》实验课程序+答案(数学专业)二_第3页
(完整版)安徽师范大学《计算方法》实验课程序+答案(数学专业)二_第4页
(完整版)安徽师范大学《计算方法》实验课程序+答案(数学专业)二_第5页
免费预览已结束,剩余9页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

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

4、ort、 long、 short e、 long e、 hex、+、 bank、 rat 也有compact或loose,它给出了一个较紧缩或较宽松的输出格 式,但弁不影响数值输出格式.例3设b = 1 + 1/3 ,先定义格式,然后在屏幕上显示b:format short 得 1.33334位小数14format long 得 1.3333333333333314 位小数4位小数format short e 得 1.3333e + 000format long e得 1.333333333333333e + 00015 位小数format hex得3ff555555555555516 进制数

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

6、(x)求反正弦,即sin 1 x .acos(x)求反余弦,即cos 1 x .sec(x)求正割x,即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的最小公倍数,也

7、能用于决定最小 公因子 .第二节MATLAB 的矩阵的建立与运算矩阵是 MATLAB 数据存储的基本单元,而矩阵的运算是MATLAB 语言的核心,几乎一切运算均是以对矩阵的操作为基础的 .一、矩阵的建立1. 直接输入法从键盘上输入矩阵是最方便、最常用的创建数.规则如下:值矩阵的方法,尤其适合较小的简单矩阵输入矩阵时要以“ ”为其标识符号, 矩阵的所有元素必须都在中括号内.矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔.矩阵大小不需要预先定义 矩阵元素可以是运算表达式若 " " 中无元素表示空矩阵例 4>> A=12 3; 4 5 6; 7 8 9

8、A=2. 利用“: ”生成矩阵( 1) 生成等距的行向量,如>> a=1:0.5:4 a=Columns 1 through 711.522.533.542)截取指定矩阵中的部分生成新矩阵,如>> B=A (1:2, : )B=即矩阵 B 是例 4 中 A 矩阵的前两行生成.3. 外部文件读入法以文件的形式存储,适合大型矩阵输入读入形式>> Load+文件名Load 函数将会从文件名所指定的文件中读取数据,并将输入的数据赋给以文件名命名的变量,如果不给定文件名,则将自动认为matlab.mat 文件为操作对象,如果该文件在 MATLAB 搜索路径中不存在时,

9、系统将会报错.4. 特殊矩阵的生成命令集 71 矩阵、零矩阵、单位矩阵和随机矩阵ones (n) 建立一个nx n的1矩阵.ones (m , n)建立一个 mx n的1矩阵.ones (size(A) 建立一个和矩阵A 同样大小的1 矩阵 .zeros(n) 建立一个n x n的0矩阵.zeros(m , n)建立一个 m x n的0矩阵.zeros(size(A) 建立一个和矩阵A 同样大小的0 矩阵 .eye(n)建立一个nXn的单位矩阵.eye(m, n)建立一个 mx n的单位矩阵.eye(size(A) 建立一个和矩阵A 同样大小的单位矩阵.rand产生在01之间均匀分布的随机数;

10、每调用一次给一个新的数值.rand + i*rand 产生一个复数随机数.rand(n)产生一个nXn的矩阵,其元素为01之间均匀分布的随机数.rand(m , n) 产生一个 mXn的矩阵,其元素为01之间 均匀分布的随机数.二、矩阵的运算MATLAB 中的大多数运算可以直接对矩阵应用.除了算术运算+、*、葭/、外,还有用于转置和共轲的运算符(撇号:实数时为转置 ,复数时为共轭转置, 复数时 转置为. ) 、关系运算符和逻辑运算符.1. 除法 在 MATLAB 中,有两个矩阵除法的符号,左除和右除 / . 如果 A 是一个非奇异方阵,那么A B 和 B / A 对应 A的逆与B的左乘a 1B

11、和右乘ba 1,即分别等价于命令i n v ( A ) *B 和 B* i n v ( A ).2. 元素操作算术运算算术运算也可以元素与元素逐次进行.参与运算的矩阵维数要相同.如果运算是由一点进行的,那么这个运算实行的是元素方式,称为数组运算或 点运算.对于加法和减法,数组运算(点运算)和矩阵运算没有差别.数组运算(点运算)符是:+ .*./. .八例 5 >> A=12 3; 4 5 6; 7 8 9; B=ones(3); C=A.*BC=1234567893. 关系运算符MATLAB 有用于比较矩阵的六个关系运算符,也可以对矩阵与一个标量进行比较,即矩阵中的每个元素与标量进

12、行比较.关系运算符如下:<小于< = 小于等于>大于> = 大于等于= = 等于 = 不等于关系运算符比较对应的元素,产生一个仅包含1 和 0 的具有相同维数的矩阵.其元素是:1 比较结果是真0 比较结果是假在一个表达式中,算术运算符优先级最高,其次是关系运算符,最低级别是逻辑运算符.圆括号可以改变其顺序.4. 逻辑运算符在 MATLAB 中有四种逻辑运算符:& 与 ; | 或; 非; xor 异或;逻辑运算符的运算优先级最低.在一个表达式中,关系运算符和算术运算符的运算级别要高于逻辑运算符.x o r和or之间的差别在于:表达式中至少有一个是真, 那么o r

13、是真; x o r 是表达式中有一个是真但不能两者均为真时才为真.运算符 & 和 |比较两个相同维数的矩阵,它也能使一个标量与一个矩阵进行比较.逻辑运算符是按元素比较的.零元素表示逻辑值假, 任何其他值的元素表示逻辑值真.其结果是一个包含1 和 0的矩阵 .命令集 8 逻辑运算符A & B返回一个与A和B相同维数的矩阵.在这个矩阵中,A 和 B 对应元素都为非零时,则对应项为1 ;有一个为零的项则为0.A | B 返回一个与A 和 B 相同维数的矩阵. 在这个矩阵中,A 和 B 对应元素只要有一个为非零,则对应项为1;两个矩阵对应元素均为零时,则对应项为0.A 返回一个与A 和

14、 B 相同维数的矩阵.在这个矩阵中,A对应元素是零时,则对应项为1; A 对应元素是非零时,则对应项为0.xor(A, B) 返回一个与A和B相同维数的矩阵.在这个矩阵中,如果A和B均为零或均为非零时,则对应项为 0;如果A或B是非零但不是两者同时为非零时,则对应项为1.练习题1.在计算机上,求下列表达式的值. w 应(1 0.34245 10 6);x(2 a ce2)/tan(b c)a,其中 a3.5,b 5,c9.8;abcy2 a2(1 )b(0.8333 )a, 其中 a3.32,b7.9;44 z 2e2tln(t Ti_t2") ?其中 t 2 ;cos x y| s

15、in 780/ d c /TT u ,其中 x 1 2i, y 3 V17x y2.完成下列操作,观察结果: 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 34 5 67 8 9 A sin( pi),2*cos( pi/3);5* pi, exp(2)3.1已知 A 11112 11, B 1 3 1,求2 AB-2A , AB-BA,A.*B,B.*A ,A 1B B 1A .4. x 2 1 3i ,求 y -e

16、2xln(x 币x2) 50,6525. D2341326100.778 0455655032D2 , D.* D , D,A 29.5454 3.146.x = (1,1,1,1),y = (2,3,4,5)',求 xy , yx .7.完成下列操作并观察结果 ones(6), ones(5,6), ones(6,5)罗 zeros(4), zeros(3,4), zeros(4,3) eye(5), eye(4,5), eye(5,4) x rand i rand , A rand (3), B rand (3,4) hilb(3), hilb(4) ,invhilb (3)toeplitz (x) x 1 2 3 4 5, y 5 4 3 2 1,T toeplitz (x, y) ,SA compan(x), B compan(y) vander(x) ,vander(y) C=ones(4),zeros(4);eye(4),rand(4) C=ones(4),zeros(4);eye(4),rand(5)8. 建立向量x (1:3),y (1:0,5:3) ,z (4: 0.5:0)w lin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论