收藏 分销(赏)

安徽师范大学《计算方法》实验课程序+答案(数学专业)二.doc

上传人:精**** 文档编号:10446939 上传时间:2025-05-28 格式:DOC 页数:12 大小:147.01KB 下载积分:8 金币
下载 相关 举报
安徽师范大学《计算方法》实验课程序+答案(数学专业)二.doc_第1页
第1页 / 共12页
安徽师范大学《计算方法》实验课程序+答案(数学专业)二.doc_第2页
第2页 / 共12页


点击查看更多>>
资源描述
实验二 第2章 MATLAB数值计算功能 MATLAB强大的数值计算功能使其在诸多数学计算软件中傲视群雄,是MATLAB的基础.本章将简要介绍MATLAB的数据类型、矩阵的建立及运算. 第一节 MATLAB 的数据类型 MATLAB 的数据类型主要包括:数字、字符串、矩阵、单元型数据及结构型数据等,此处仅介绍几个常用类型. 一、MAT L A B中的变量与常量 不需要对所使用的变量进行事先声明,也不需要指定其类型,它会自动根据所赋予变量的值或所进行的操作来确定变量的类型.如果变量重新赋值将会用新值代替旧值并以新值类型代替旧值类型. n 例1 a=1;b=0.5;c=a*b,c=‘a*b’ n 变量的命名规则是: (1)变量名可以有63个字符.字母A~Z、a~z、数字和下划线‘_’都可以作为变量名,但第一个字符必须是一个字母; (2)变量名区分大小写,如矩阵a和A是不一样的; (3)变量名中不允许使用标点符号、空格、运算符; (4)预定义变量名也可以像一个变量名那样使用,但只有在变量由命令clear删除后才能恢复原意,所以,不主张这样使用; (5)MATLAB提供的标准函数及命令通常是用小写字母书写. n 例2 命令abs (A)给出了A的绝对值,但ABS(A)会导致在屏幕上显示错误信息. 二、 算术表达式及显示格式 在MATLAB中对十进制数,使用科学记数法可以书写十分大和十分小的数.例如1.23e-6,代表1.23×10-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、+、bank、rat 也有compact或loose,它给出了一个较紧缩或较宽松的输出格式,但并不影响数值输出格式. ■ 例3 设 b = 1 + 1/3,先定义格式,然后在屏幕上显示b: format short 得 1.3333 4位小数 format long 得 1.33333333333333 14位小数 format short e 得 1.3333e + 000 4位小数 format long e 得 1.333333333333333e + 000 15位小数 format hex 得 3ff5555555555555 16进制数 format + 得 + 正:+ format bank 得 1.33 美元和美分 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,即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 语言的核心, 几乎一切运算均是以对矩阵的操作为基础的. 一、矩阵的建立 1. 直接输入法 从键盘上输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小的简单矩阵.规则如下: n 输入矩阵时要以“[ ]”为其标识符号,矩阵的所有元素必须都在中括号内. n 矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔. n 矩阵大小不需要预先定义. n 矩阵元素可以是运算表达式. n 若"[ ]"中无元素表示空矩阵. n 例4 >> A=[1 2 3;4 5 6;7 8 9] A= 1 2 3 4 5 6 7 8 9 2. 利用“:”生成矩阵 (1) 生成等距的行向量,如 >> a=1:0.5:4 a= Columns 1 through 7 1 1.5 2 2.5 3 3.5 4 (2)截取指定矩阵中的部分生成新矩阵,如 >> B=A (1:2, : ) B= 1 2 3 4 5 6 即矩阵B是例4中A矩阵的前两行生成. 3. 外部文件读入法 以文件的形式存储,适合大型矩阵输入.读入形式 >> Load+文件名 n Load 函数将会从文件名所指定的文件中读取数据,并将输入的数据赋给以文件名命名的变量,如果不给定文件名,则将自动认为 matlab.mat 文件为操作对象,如果该文件 在 MATLAB 搜索路径中不存在时,系统将会报错. 4. 特殊矩阵的生成 命令集7 1矩阵、零矩阵、单位矩阵和随机矩阵 ones (n) 建立一个n×n的1矩阵. ones (m , n) 建立一个m×n的1矩阵. ones (size(A)) 建立一个和矩阵A同样大小的1矩阵. zeros(n) 建立一个n×n的0矩阵. zeros(m , n) 建立一个m×n的0矩阵. zeros(size(A)) 建立一个和矩阵A同样大小的0矩阵. eye(n) 建立一个n×n 的单位矩阵. eye(m, n) 建立一个m×n 的单位矩阵. eye(size(A)) 建立一个和矩阵A同样大小的单位矩阵. rand 产生在0~1之间均匀分布的随机数;每调用一次给一个新的数值. rand + i*rand 产生一个复数随机数. rand(n) 产生一个n×n的矩阵,其元素为0~1之间均匀分布的随机数. rand(m , n) 产生一个m×n的矩阵,其元素为0~1之间均匀分布的随机数. 二、矩阵的运算 MATLAB中的大多数运算可以直接对矩阵应用.除了算术运算+、-、*、^、/、\外,还有用于转置和共轭的运算符(撇号 ’:实数时为转置,复数时为共轭转置,复数时转置为 .’)、关系运算符和逻辑运算符. 1. 除法 在MATLAB中,有两个矩阵除法的符号,左除 \和右除/ .如果A是一个非奇异方阵,那么A \ B和B / A对应A的逆与B的左乘和右乘,即分别等价于命令 i n v ( A ) *B和B* i n v ( A ). 2. 元素操作算术运算 算术运算也可以元素与元素逐次进行.参与运算的矩阵维数要相同.如果运算是由一点进行的,那么这个运算实行的是元素方式,称为数组运算或点运算.对于加法和减法,数组运算(点运算)和矩阵运算没有差别.数组运算(点运算)符是: + - . * . / . \ . ^ n 例5 >> A=[1 2 3;4 5 6;7 8 9];B=ones(3); C=A.*B C= 1 2 3 4 5 6 7 8 9 3. 关系运算符 MATLAB有用于比较矩阵的六个关系运算符,也可以对矩阵与一个标量进行比较,即矩阵中的每个元素与标量进行比较. 关系运算符如下: < 小于 < = 小于等于 > 大于 > = 大于等于 = = 等于 ~ = 不等于 关系运算符比较对应的元素,产生一个仅包含 1和0的具有相同维数的矩阵.其元素是: 1 比较结果是真 0 比较结果是假 在一个表达式中,算术运算符优先级最高,其次是关系运算符,最低级别是逻辑运算符.圆括号可以改变其顺序. 4. 逻辑运算符 在MATLAB中有四种逻辑运算符: & 与 ;| 或;~ 非;xor 异或; 逻辑运算符的运算优先级最低.在一个表达式中,关系运算符和算术运算符的运算级别要高于逻辑运算符. x o r和o r之间的差别在于:表达式中至少有一个是真,那么 o r是真;x o r是表达式中有一个是真但不能两者均为真时才为真. 运算符&和|比较两个相同维数的矩阵,它也能使一个标量与一个矩阵进行比较.逻辑运算符是按元素比较的.零元素表示逻辑值假,任何其他值的元素表示逻辑值真.其结果是一个包含1和0的矩阵. 命令集8 逻辑运算符 A & B 返回一个与A和B相同维数的矩阵.在这个矩阵中, 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. 在计算机上,求下列表达式的值. ① ; ② ,其中; ③ , 其中; ④ ,其中 ; ⑤ ,其中 . 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 9] B=[1,2,3;4,5,6;7,8,9] C=[1 2 3 4 5 6 7 8 9] ⑤ 3. 已知 , 求 ① AB-2A , ② AB-BA,A.*B,B.*A , ③ . 4. ,求 . 5.,求 . 6.x = (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. 建立向量 ① ② 9. 完成下列命令,观察结果 ① a=[1:3;4:6;7:9],x=5;xa=x<=a ② b=[0 4 1;1 0 8;2 0 0];ab=a &b ③ n_b=~b 10. 计算P265 x=1;y(1)=x ; for k=1:15 x=1/(x+1); y(k)=x; end y 11. 计算P266 x=1;y(1)=x ; w=7/25; for k=1:10 x=w*x+(1-w)/(x+1); y(k)=x; end y 12. 练习format命令:对第1题练习各种输出格式. 12
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服