《《matlab程序设计》复习资料.doc》由会员分享,可在线阅读,更多相关《《matlab程序设计》复习资料.doc(14页珍藏版)》请在金锄头文库上搜索。
1、Matlab习题及复习要点1 Matlab的英文组成;程序和变量的命名规则;在MATLAB语言中是区分字母大小的,也就是说,大写字母和小写字母代表的东西是不同的。2Matlab中注释、关键词等的显示颜色;如何设置当前路径、如何设置搜索路径(例如第一次上机练习过的,新建的“D:temp”目录中有脚本文件abc.m,若要能在命令窗口输入abc执行则.);3熟悉Matlab中的几种数据类型(int8、double、logical等);4在MATLAB中计算数学公式(如三角函数、对数、开根号等)的表达;5掌握数组的几个操作(裁剪、扩增、eye、zeros等)、对角阵指令、均匀分布随即向量指令;数组中行
2、和列的分隔符;6. 在循环结构中的几个命令:break、continue等;7. 已知字符A、Z、a、z的ASCII码分别为65、90、97、122,str1为全为大写字母的字符串,采用什么命令可将该字符串转换成小写。8. 在MATLAB中求解线性方程组可采用什么指令;9. 掌握基本运算符,例如*、.*、/、./、. 的区别10.读懂逻辑表达式,会写出逻辑表达式的结果(0或1)11. 掌握集中循环结构,尤其if.elseifelseend和swichcase结构的语法,要准确。12. 会编写分段函数的程序;x和y满足如下关系:编写函数y=f(x),用于计算上述分段函数。13. 绘图时采用的几个
3、命令的掌握:hold on、plot、plot314*用语句x, y=meshgrid(a:b)构建网格数据,例子如下:示例一:x=-3:1:3;y=-2:1:2;X,Y=meshgrid(x,y);这里meshgrid(x,y)的作用是分别产生以向量x为行,向量y为列的两个大小相同的矩阵,其中x的行是从-3开始到3,每间隔1记下一个数据,并把这些数据集成矩阵X;同理y的列则是从-2到2,每间隔1记下一个数据,并集成矩阵Y。即X=-3 -2 -1 0 1 2 3-3 -2 -1 0 1 2 3-3 -2 -1 0 1 2 3-3 -2 -1 0 1 2 3-3 -2 -1 0 1 2 3Y =
4、-2 -2 -2 -2 -2 -2 -2-1 -1 -1 -1 -1 -1 -10 0 0 0 0 0 01 1 1 1 1 1 12 2 2 2 2 2 215*. 创建一个范围为-, 、数据点个数为50的向量x的指令为?,以该向量x为横坐标绘制正弦曲线的指令为?。16*. 掌握基本的画图命令,会编写简单的绘图程序。思考题:已知几个点的坐标a1(-1,0)、a2(0,1)、a3(1,2)、a4(3,-2),求一条三次曲线通过这四个点,编写程序完成计算,要求显示出多项式的系数,并用plot函数画出曲线第一讲概 论1. 简述matlab基本特点。(0.5分)交互式操作界面;高效的数值计算功能;演
5、算式语言;可视化输出;代码、数据文件的集成管理环境;支持用户界面开发,自定义创建工具(GUIDE);丰富的外部接口支持C/C+、Java、Excel/Word、Ansys,COM、DDE(动态数据交换)和ActiveX。2. 简述matlab的基本功能。(0.5分)数学计算;开发工具;数据可视化;交互式图形编辑;自成一派的算法开发编程语言和环境;图形用户界面开发环境GUIDE;开放性、可扩展性强;专业应用工具箱;Simulink 动态仿真环境。3. 填空(1分)命令后以分号(;)结尾,不显示运行结果。命令后无符号或逗号(,)结尾,显示运行结果。一行输入多条命令,可用逗号(,)分隔;若一行很长需
6、换行时,加续行符(3小数点 )注释文字以百分号(%)开始所有符号一定要在英文状态下输入4. 如何将当前路径设置为d:mydir?如何将d:mydir添加进搜索路径?(1分)5. 请写出如下操作的命令:(2分)清屏:clc;删除工作空间的变量a:clear a;清空工作空间:clear 或clear all;删除命令行:esc;查询函数sin的帮助文档:help sin;1. 分别用直接输入法和存储变量法求1+cos(pi)*(2+2i)。直接输入法:1+cos(pi)*(2+2i);存储变量法:a=cos(pi);b=2+2i;c=1+a+b;2. a=int8(100),b=int8(50)
7、a+b=127;a-b=50;a-3b=-27;2a-b=77;a/3b=1;3. a=int8(10),b=int16(10),a+b=?(出错)4. 请写出计算代码; sqrt(a+4*b);(a+b); log10(a+b); exp(a+b);或e(a+b);Sin(a+b2); sin(a+b2);5. 给出以下计算结果45; 04=20; 04=20; 145; 0第三讲 数组1. 生成一个3*3随机矩阵,将其对角线元素的值加1。(写出代码)rand(3)+eye(3)1. 生成一个元素值在1和10之间的3*3随机矩阵,将其重新排列,使得:(1)每列按降序排列;(2)每行按降序排列
8、。(1) sort(rand(3)*10,descend)(2) sort(rand(3)*10,2,descend)2. 令a=3,x=2,1;3,2,y=4,5;6,7,写出如下式子的计算结果:(1)a.x=9,3;27,9; (2)x.a=8,1;27,8; (3)x.y=16,1;729,128.3. 生成3*4随机矩阵,判断其元素是否大于0.5。(写出代码)rand(3,4)0.54. 有a=3,B=4,3;7,5,C=8,9;7,6,D=4,7;12,8,写出如下式子的计算结果:(1)(aC&BD=0,0;0,0;(3)C length(arr) ans = 4 返回二维数组最大的
9、那一维数 size(arr) ans = 3 4 返回矩阵的行数和列数第四讲 字符串1. 生成包含内容为“Hefei University of Technology”字符串str,并显示其内容(仅显示内容,不显示字符串名称)。2. 生成一个两行的字符串,第一行内容为“Hefei University of Technology”,第二行内容为“Welcome!”3. 写出:str=k,int2str(1),=rand和eval(str)的运行结果。4. 定义一个2*2的单元数组A,并令A(2,2)为一3*3的随机二维数组,并显示A(2,2)的内容。5. 创建一个结构体,并将存入如下数据:1)
10、name:liuying,height:170;2)name:liyi,height:165.第四讲 字符串1. 生成包含内容为“Hefei University of Technology”字符串str,并显示其内容(仅显示内容,不显示字符串名称)。str=Hefei University of Technology;disp(str);2. 生成一个两行的字符串,第一行内容为“Hefei University of Technology”,第二行内容为“Welcome!”str=char(Hefei University of Technology,Welcome!);3. 写出:str=
11、k,int2str(1),=rand和eval(str)的运行结果。 k1=0.81744. 定义一个2*2的单元数组A,并令A(2,2)为一3*3的随机二维数组,并显示A(2,2)的内容。A(2,2)=rand(3);A2,25. 创建一个结构体,并将存入如下数据:1)name:liuying,height:170;2)name:liyi,height:165.person=struct(name,liuying,liyi,height,170,165)第五讲 绘图1. 绘制下列图像,并标出标题、坐标轴注释以及图例。(1) y=x*sin(x),0x10*pi;(2) 三维曲线:z=x2+6
12、xy+y2+6x+2y-1,-10x10,-10y10.2. 编写程序,该程序在同一窗口中绘制函数在0,2*pi之间的正弦曲线和余弦曲线,步长为pi/10,线宽为4个像素,正弦曲线设置为蓝色实线,余弦曲线设置为红色虚线(思考两条曲线交点处,用红色星号标记,如何实现)。第五讲 绘图1. 绘制下列图像,并标出标题、坐标轴注释以及图例。(1) y=x*sin(x),0x10*pi;x=0:pi/10:10*pi;y=x.*sin(x);plot(x,y);title(y=x*sin(x);xlabel(x);ylabel(y=x*sin(x);legend(y=x*sin(x);(2) 三维曲线:z=x2+6xy+y2+6x+2y-1,-10x10,-10y10.x=-10:0.1:10;y=-10:0.1:10;z=x.2+6.*x.*y+6.*x+2.*y-1;plot3(x,y,z);title(z=x2+6*x.*y+6*x+2*y-1);xlabel(x);ylabel(y);zlabel(z=x2+6*x.*y+6*x+2*y-1);legend(z=x2+6*x.*y+6*x+2*y-1);2. 编写程序,该程序在同一窗口中绘制函数在0,2*pi之间的正弦曲线和余弦曲线,步长为p