matlab实验指导书实验一 MATLAB运算基础及矩阵分析与处理一实验目的1.熟悉启动和退出MATLAB的方法。
2.熟悉MATLAB 命令窗口的组成。
3.掌握建立矩阵的方法。
4.掌握MATLAB各种表达式的书写规则以及常用函数的使用。
5. 掌握生成特殊矩阵的方法。
6. 掌握矩阵分析的方法。
7. 用矩阵求逆解线性方程组。
二实验仪器和设备装有以上计算机一台三实验原理MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。
它提供了各种矩阵的运算与操作,并有较强的绘图功能。
基本规则一般MATLAB命令格式为[输出参数1,输出参数2,……]= 输出参数用方括号,输入参数用圆括号如果输出参数只有一个可不使用括号。
%后面的任意内容都将被忽略,而不作为命令执行,一般用于为代码加注释。
可用↑、↓键来重现已输入的数据或命令。
用←、→键来移动光标进行修改。
所有MATLAB命令都用小写字母。
大写字母和小写字母分别表示不同的变量。
常用预定义变量,如pi 、Inf、NaN、ans矩阵的输入要一行一行的进行,每行各元素用空格或“,”分开,每行用“;”分开。
如123 A456789 MATLAB书写格式为A=[1 2 3 ;4 5 6 ;7 8 9] 在MATLABZ中运行如下程序可得到A矩阵a=[1 2 3;4 5 6;7 8 9] a =1 2 3 4 5 6 7 8 9需要显示命令的计算结果时,则语句后面不加“;”号,否则要加“;”号。
运行下面两种格式可以看出它们的区别:a=[1 2 3;4 5 6;7 8 9] a=[1 2 3;4 5 6;7 8 9]; a=1 2 3 不显示结果 4 5 6 7 8 9当输入语句过长需要换行时,应加上“…”后再回车,则可续行输入。
文件管理常用命令帮助命令MATLAB有很多命令,因此很不容易记忆。
使用HELP命令可以得到有关命令的屏幕帮助信息。
如在MATLAB环境下直接运行HELP命令就会在屏幕上给出MATLAB的基本命令以及相关的工具箱软件命令。
而下面的格式可以得到指定命令的帮助信息,和详细说明。
help 命令名 save 命令该命令存储定义的变量或演算结果,也可以用来存储指定的变量。
命令格式为save 文件名 [变量名表] [-append] [-ascii] what 命令该命令可以在当目录下显示MATLAB文件和MAT数据文件dir 命令显示当前目录下的所有文件. clear命令如果输入 calear a b c ,则表示清除工作空间中指定变量a,b,c;如果仅仅输入calear命令,则清除整个工作空间。
矩阵运算MATLAB具有强大的矩阵运算功能,这里我们只作简单介绍.在MATLAB中表示一个矢量要用方括号,而列矢量的输入只需在行矢量输入格式基础上加转置符“’”即可。
如x=[1 2 3;4 5 6] x =1 2 3 4 5 6而 x=[1 2 3;4 5 6]' (加转置符)x =1 42 53 6下面三条命令可以产生一个行矢量1 a=linspace(x,y,n)2 a=[x:n:y]第一条命令可以在线性空间产生一个值在x至y之间间隔点数为n的行矢量(一组数据)。
其行矢量的起始值是x, 终值为y, 点数为n。
第二条命令可以在对数空间产生一个值在10x至 10y之间等间隔的行矢量(一组数据)。
第三条命令产生x至y步长为n的行矢量。
但是, 三个命令之间存在差别,下面的例子可以说明这一点。
例1 x=logspace(0,5,6) x =1 10 100 1000 10000 100000 例2 x=linspace(0,10,11) x =0 1 2 3 4 5 6 7 8 9 10 例3 x=[0:1:10] x =0 1 2 3 4 5 6 7 8 9 10 通过上面三个例子可以看出例一, 例二中n代表选取的点数。
而在例三中n则表示步长. 注意它们的区别。
矩阵的加, 减, 乘, 除等, 和其它语言书写一样。
但要注意的是在运算符前面加有“.”则表示是数组运算,为对应元素的相应操作。
例4 请注意下面的不同情况.a=[1 2;3 4]; b=[2 2;2 2];c=a*b c=a.*bc = c =6624141468 c=a/b c=a./b c = c =+015 * - - 常见数学函数函数名 abs acos acosh asin asinh atan atan2 atanh ceil conj cos cosh exp fix 数学计算功能实数的绝对值或复数的幅值反余弦arcsinx 反双曲余弦arccoshx 反正弦arcsinx 反双曲正弦arcsinhx 反正切arctanx 在四象限内求反正切反双曲正切arctanhx 对x朝+∞方向取整求复数x的共轭复数余弦cosx 双曲余弦coshx 指数函数ex 对x朝原点方向取整函数名 floor imag log log10 real round sign sin sinh sqrt tan tanh 数学计算功能对x朝-∞方向取整求复数x的虚部自然对数常用对数求复数x的实部对x四舍五入到最接近的整数符号函数:求出x的符号正弦sinx 反双曲正弦sinhx 求实数x 的平方根:x 正切tanx 双曲正切tanhx gcd 求正整数m和n的最大公约数 angle 在四象限内求复数 x 的相角 lcm 求正整数m和n的最小公倍数 rem 求正整数m和n的m/n之余数例5:输入 x=[- - - ],则: ceil(x)= -4-2 0 2 5 7 fix(x) = -4 -2 0 14 6 floor(x) = -5 -3 -1 1 46 round(x) = -5 -2 0 1 5 7关系及逻辑运算关系运算允许常量(或矩阵中的元素与元素) 之间的比较. 如果比较结果为真,则答案为1, 否则为0. 常用的关系运算符如下: 大于, == 等于= 大于等于, ~= 不等于对于复数”==”和”~=”既比较实部也比较虚部, 而其它运算仅比较实部。
例6 比较 a=[5:1:15] 与 b=[1 2 8 8 7 10 12 11 1314 15] 中的对应元素是否相同,则运行下面程序a=[5:1:15];b=[1 2 8 8 7 10 12 11 13 14 15]; y=a= =by =0 0 0 1 0 1 0 0 1 11MATLAB有三个逻辑运算符.& 逻辑与 | 逻辑或~ 逻辑非在矩阵运算中,以上命令是将两个矩阵中的对应元素进行运算, 得到的结果是具有同样元素的矩阵。
例7 分别对下面两个矩阵进行逻辑运算.X=[0 1;1 0]; Y=[0 0;1 0];X&Y ans = 0 0 1 0 X|Yans = 0 1 1 0 ~X ans = 1 0 0 1 MATLAB在进行混合运算时, 其顺序为: 算术运算→关系比较→逻辑运算例8 计算 x&y+x>y 时, 程序首先执行x+y运算, 然后将相加结果与y比较,最后将比较结果和x作与运算,运行结果如下。
x=[0 1;1 0]; y=[0 0;1 0]; x&y+x>y ans = 0 1 1 0 四实验内容和步骤熟悉MATLAB语言编程环境。
在这一环境中,系统提供了许多编写,调试和执行MATLAB程序的便利工具。
熟悉变量、MATLAB基本数学函数使用,矩阵操作练习,主要包括矩阵的建立,算数运算,逻辑运算和关系运算。
1、先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
2sin85z11e21z2lnx1x22,其中12i2x5easinaln,a,,,,, z3221234413132,已知A34787,B203273657求下列表达式的值:A+6*B和A—B+I(其中I为单位矩阵) A*B和A.*B A^3和A.^3 A/B和B\\A[A,B]和[A([1,3],:);B^2]123467893,设有矩阵A和B,A111213141617181921222324求它们的乘积C。
5301617691015 ,B0234 209702541311将矩阵C的右下角3×2子矩阵赋给D。
查看MATLAB工作空间的使用情况。
4. 求[100,999]之间能被21整除的数的个数。
提示:先利用冒号表达式,再利用find和length函数。
5.下面是一个线性方程组:[1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6][x1 x2 x3]’=[ ]’。
求方程的解。
将方程右边向量元素b3改为,再求解,并比较b3的变化和解的相对变化。
A=[1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6]; >> b=[ ]'; >> x=inv(A)*b x =>> b2=[ ]';>> x2=inv(A)*b2 x2 =-五写出实验总结报告实验二选择结构程序设计一、实验目的1. 掌握建立和执行M文件的方法。
2. 掌握利用if语句实现选择结构的方法。
3. 掌握利用switch语句实现多分支选择结构的方法。
二、实验环境1.计算机2.装有以上计算机一台三实验原理1) if-else-then语句if-else-then语句的常使用三种形式为:(1) if 逻辑表达式(3) if 逻辑表达式1 语句体语句体1end elseif 逻辑表达式2 语句体2 (2) if 逻辑表达式 1 elseif 逻辑表达式 3 语句体 1 else else语句体2 语句体n end end2) switch 分支语句:switch 表达式 case 值1语句体1 case 值2语句体2 …otherwise 语句体n end说明:当表达式不是“case”所列值时,执行otherwise 语句体。
四、实验内容1. 求下列分段函数的值。
x2x6, yx25x6,x2x1x0且x30x10,x2且x3其他要求:用if语句实现,分别输出x= -, -, , , , , 时的y 值。
提示:x的值从键盘输入,可以是向量。
2. 输入一个百分制成绩,要求输出成绩等级A,B,C,D,E 。
其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:分别用if语句和switch语句实现。
3. 硅谷公司员工的工资计算方法如下:工作时数超过120小时者,超过部分加发15%。
工作时数低于60小时者,扣发700元。
其余按每小时84元计发。
试编程按输入的工号和该号员工的工时数,计算应发工资。