实验01讲评、参考答案讲评未交实验报告的同学名单批改情况:问题1:不仔细,式子中出错。
问题2:提交的过程不完整。
问题3:使用语句尾分号(;)不当,提交的过程中不该显示的结果显示。
问题4:截屏窗口没有调整大小。
附参考答案:实验01 MATLAB 运算基础(第2章 MATLAB 数据及其运算)一、实验目的1. 熟悉启动和退出MATLAB 的方法。
2. 熟悉MATLAB 命令窗口的组成。
3. 掌握建立矩阵的方法。
4. 掌握MATLAB 各种表达式的书写规则以及常用函数的使用。
二、实验内容1. 数学表达式计算先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
1.1 计算三角函数122sin 851z e=+(注意:度要转换成弧度,e 2如何给出) 示例:点击Command Window 窗口右上角的,将命令窗口提出来成悬浮窗口,适当调整窗口大小。
命令窗口中的执行过程:《MATLAB 软件》课内实验王平1.2 计算自然对数221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦(提示:clc 命令擦除命令窗口,clear 则清除工作空间中的所有变量,使用时注意区别,慎用clear 命令。
应用点乘方)命令窗口中的执行过程:1.3 求数学表达式的一组值0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--L提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。
命令窗口中的执行过程:1.4 求分段函数的一组值2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 提示:用逻辑表达式求分段函数值。
命令窗口中的执行过程:1.5 对工作空间的操作接着显示MATLAB当前工作空间的使用情况并保存全部变量提示:用到命令who, whos, save, clear, load,请参考教材相关内容。
命令窗口中的执行过程:>> who %显示当前工作空间中的变量名Your variables are:a t x z1 z2 z3 z4>> whos %显示当前工作空间中的变量名及信息Name Size Bytes Class Attributesa 1x61 488 doublet 1x6 48 doublex 2x2 64 double complexz1 1x1 8 doublez2 2x2 64 double complexz3 1x61 976 double complexz4 1x6 48 double>> save varfile %生成文件varfile.mat,并将当前工作空间的变量存入其中>> clear all %清除当前工作空间中的全部变量>> who>> whos>> load varfile %将文件varfile.mat装入>> whoYour variables are:a t x z1 z2 z3 z4>> whosName Size Bytes Class Attributesa 1x61 488 double t 1x6 48 double x 2x2 64 double complex z1 1x1 8 double z2 2x2 64 double complex z3 1x61 976 double complex z4 1x6 48 double >>2. 矩阵运算与数组运算已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦2.1 矩阵加、减和数乘运算A+6*B 和A-B+I (其中I 为单位矩阵。
注意:如何得到单位矩阵) 命令窗口中的执行过程:2.2 矩阵乘积和点乘积A*B和A.*B命令窗口中的执行过程:2.3 矩阵的乘方和点乘方A^3和A.^3命令窗口中的执行过程:2.4 矩阵的右除和左除A/B及B\A命令窗口中的执行过程:2.5 拼接矩阵成大的矩阵[A,B]和[A([1,3],:);B^2]命令窗口中的执行过程:3. 矩阵乘积、矩阵的子矩阵设有矩阵A 和B123453166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦3.1 求矩阵A 和B 的乘积求它们的乘积并赋给C 。
(提示:可简化A 的输入,用冒号表达式、reshape 、矩阵转置)命令窗口中的执行过程:3.2 求矩阵C的子矩阵将矩阵C的右下角3×2子矩阵赋给D。
命令窗口中的执行过程:3.3 查看MATLAB工作空间的使用情况命令窗口中的执行过程:4. 完成下列数据操作4.1 求[100,999]之间能被21整除的数的个数提示:先利用冒号表达式,再利用find和length函数。
命令窗口中的执行过程:4.2 建立一个字符串向量,删除其中的大写字母提示:利用find函数和空矩阵。
命令窗口中的执行过程:三、实验提示1.1 计算三角函数提示122sin 851z e=+(注意:度要转换成弧度,e 2如何给出) 提示1:示例:点击Command Window 窗口右上角的,将命令窗口提出来成悬浮窗口,适当调整窗口大小。
命令窗口中的执行过程:提示2:e 2的表示请查表“2.3 常用数学函数及其含义”。
用exp(2)。
1.2 计算自然对数提示221ln(1)2z x x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ 提示1:clc 命令擦除命令窗口,clear 则清除工作空间中的所有变量,使用时注意区别,慎用clear 命令。
提示2:ln 和开方的表示请查“表2.3 常用数学函数及其含义”。
用log, sqrt 。
提示3:x 2是数组运算。
用x.^2或x.*x 。
提示4:i 为复数的虚数单位(j 也是)。
若将i 作变量则其虚数单位无效,恢复用clear i 。
慎用i, j 做变量。
1.4 求分段函数的一组值提示2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 提示:用逻辑表达式求分段函数值。
提示1: 参考例2.4。
提示2:对于第1个分段条件表达式 0 ≤ t < 1,有以下结果:对于第2、3个分段条件表达式,有类似的结果。
于是,可以得到:分段函数值=第1个表达式*第1个分段条件表达式+第2个表达式*第2个分段条件表达式+第3个表达式*第3个分段条件表达式+…注意:分段区间是不重叠的。
对于在定义区间中任给的变量值,它只满足一个分段条件表达式(值为1),其它不满足(值为0),满足的对应项的值是其表达式的值,不满足的对应项值为0。
代入本题得:z4=t^2*(t>=0&&t<1)+(t^2-1)*(t>=1&&t<2)+(t^2+2*t+1)*(t>=2&&t<3)继续做下去可以完成本题。
若变量取100个值,求对应的函数值,还按这种方法来求做就有问题啦。
MATLAB提供了一种简单的方法:t不是一个个取值,而是把所有值放到t中成一个行向量,表达式自动逐个将t中的值代入表达式计算,得到对应的一组函数值。
实现这种功能需要将上面的表达式中的乘方号(^)和乘号(*)前加点(.),即改成(.^)和(.*),相当于循环,它不同于线性代数中相应的矩阵乘方(^)和乘法(*)运算。
用冒号表达式更简单:以下是分解式:至此,能理解表达式的计算结果了吗?1.5 对工作空间的操作提示接着显示MATLAB当前工作空间的使用情况并保存全部变量提示1:用到命令who, whos, save, clear, load,请参考教材相关内容。
步骤:查看工作空间;保存工作空间;清除工作空间;再查看工作空间;装入工作空间;再查看工作空间。
2.1 矩阵加、减和数乘运算提示A+6*B和A-B+I(其中I为单位矩阵。
注意:如何得到单位矩阵)提示1:3阶单位矩阵用eye(3)或eye(3,3)。
4. 完成下列数据操作4.1 求[100,999]之间能被21整除的数的个数提示提示:先利用冒号表达式,再利用find和length函数。
提示1:步骤:用冒号表达式把[100,999]之间的整数放在一个向量里(如A);用mod求得一个向量(如B),使A中能被21整除的数在B中对应位置为1,B的其它位置为0;用find求得B中不为0的元素的序号,放入一个向量中(如K);显示A中对应K的元素;%即能被21整除的数用length显示K的元素个数。
%即能被21整除的数的个数4.2 建立一个字符串向量,删除其中的大写字母提示提示:利用find函数和空矩阵。
提示1:利用find函数和空矩阵。
注意使用关系运算、逻辑运算。
注意!本题中大写字母所在位置是随机的,要用关系运算和逻辑运算,以及find找到它们所在位置的序号。
提示2:四、教程:第2章 MATLAB数据及其运算2.1 MATLAB数据的特点 p17矩阵是MATLAB最基本、最重要的数据对象。
MATLAB的大部分运算或命令都是在矩阵(复数域上)运算的意义下执行的。
标量对应仅含一个元素的矩阵。
数值数据双精度数占64位,转换函数double单精度数占32位,转换函数single带符号整数转换函数int8,int16,int32无符号整数转换函数uint8,uint16,uint32字符数据转换函数char结构体类型(Structure)单元类型(Cell)逻辑型非0为true,0为false2.2 变量及其操作 2.2.1变量与赋值1.变量命名➢ 以字母开头,后接字母、数字或下划线的字符序列,最多63个字符。
➢ 区分字母的大小写。
MATLAB 提供的标准函数名以及命令名必须用小写字母。
2.赋值语句(1) 变量=表达式(2) 表达式(值赋给预定义变量ans )其中,表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。
例2.1 计算表达式的值 p180x ,然后显示出结果。
其中,pi 和i 都是MATLAB 预先定义的变量,分别代表圆周率π和虚数单位。
3. 预定义变量 p18表2.1 常用的预定义变量及其含义预定义变量有特定的含义,应尽量避免重新赋值。
2.2.2 变量的管理p191.内存变量的显示与删除显示工作空间中驻留的变量名清单及信息命令:删除工作空间中的变量命令:clear 变量名工作空间窗口专门用于内存变量的管理。