Matlab习题及复习要点
1. Matlab的英文组成;程序和变量的命名规则;
在MATLAB语言中是区分字母大小的,也就是说,大写字母和小写字母代表的东西是不同的。
2.Matlab中注释、关键词等的显示颜色;如何设置当前路径、如何设置搜索路径(例如第一次上机练习过的,新建的“D:\\temp”目录中有脚本文件,若要能在命令窗口输入abc执行则..);
3.熟悉Matlab中的几种数据类型(int8、double、logical等);
4.在MATLAB中计算数学公式(如三角函数、对数、开根号等)的表达;
5.掌握数组的几个操作(裁剪、扩增、eye、zeros等)、对角阵指令、均匀分布随即向量指令;数组中行和列的分隔符;
6. 在循环结构中的几个命令:break、continue等;
7. 已知字符'A'、'Z'、'a'、'z'的ASCII码分别为65、90、97、122,str1为全为大写字母的字符串,采用什么命令可将该字符串转换成小写。 8. 在MATLAB中求解线性方程组Ax?b可采用什么指令;
9. 掌握基本运算符,例如*、.*、/、./、^、.^ 的区别 10.读懂逻辑表达式,会写出逻辑表达式的结果(0或1)
11. 掌握集中循环结构,尤其if..elseif…else…end和swich…case结构的语法,要准确。
12. 会编写分段函数的程序; x和y满足如下关系:
编写函数y=f(x),用于计算上述分段函数。
13. 绘图时采用的几个命令的掌握:hold on、plot、plot3 14*.用语句[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 3 Y =
-2 -2 -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 -1 -1
0 0 0 0 0 0 0
1 1 1 1 1 1 1 2 2 2 2 2 2 2
15*. 创建一个范围为[-π, π]、数据点个数为50的向量x的指令为,以该向量x为横坐标绘制正弦曲线的指令为。
16*. 掌握基本的画图命令,会编写简单的绘图程序。
思考题:已知几个点的坐标a1(-1,0)、a2(0,1)、a3(1,2)、a4(3,-2),求一条三次曲线通过这四个点,编写程序完成计算,要求显示出多项式的系数,并用plot函数画出曲线
第一讲 概 论
1. 简述matlab基本特点。(分)
交互式操作界面;高效的数值计算功能;演算式语言;可视化输出;代码、数据文件的集成管理环境;支持用户界面开发,自定义创建工具(GUIDE);丰富的外部接口——支持C/C++、Java、Excel/Word、Ansys,COM、DDE(动态数据交换)和ActiveX……。
2. 简述matlab的基本功能。(分)
数学计算;开发工具;数据可视化;交互式图形编辑;自成一派的算法开发编程语言和环境;图形用户界面开发环境——GUIDE;开放性、可扩展性强;专业应用工具箱;Simulink 动态仿真环境。 3. 填空(1分)
命令后以分号(;)结尾,不显示运行结果。 命令后无符号或逗号(,)结尾,显示运行结果。 一行输入多条命令,可用逗号(,)分隔;
若一行很长需换行时,加续行符(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) 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. 请写出计算代码
a?4b; sqrt(a+4*b); lg(a+b); log10(a+b);
ea?b; exp(a+b);或e^(a+b); Sin(a+b2); sin(a+b^2); 5. 给出以下计算结果 4<5; 1 4>5; 0 4==20; 0 4~=20; 1 4<5&&4>5; 0
第三讲 数组
1. 生成一个3*3随机矩阵,将其对角线元素的值加1。(写出代码)
rand(3)+eye(3)
1. 生成一个元素值在1和10之间的3*3随机矩阵,将其重新排列,使得:(1)每列按降序排列;(2)每行按降序排列。
(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随机矩阵,判断其元素是否大于。(写出代码)rand(3,4)>
4. 有a=3,B=[4,3;7,5],C=[8,9;7,6],D=[4,7;12,8],写出如下式子的计算结果:
(1)~(aC&B (10)已知A为如下4*4矩阵: 则运行B=A([1:2],[1:2])后,B为 2 行 2 列矩阵,其值为__[1 2;5 6]_______。 (5) 能够产生4阶单位矩阵的表达式 eye(4) 。 (13) MATLAB中产生对角元素为1,2,3,4,5的对角矩阵可用指令 diag(1:5) ,产生5个元素值在区间[1,5]上的均匀分布的随机向量可用指令 4*rand(1,5)+1 。 (15) 创建一个范围为[-2π, 2π]、数据点个数为50的向量x的指令为 linspace(-2*pi,2*pi,50) ,以该向量x为横坐标绘制正弦曲线的指令为 plot(x,sin(x)) 。 (16)b=round(rand(3)*10)round为四舍五入函数 b = 8 7 5 3 2 10 7 1 3 求共轭转置矩阵的指令为B’ Ones(n) 返回N*N全为1的矩阵 arr = 1 2 3 4 3 4 5 6 1 2 3 4 >> length(arr) ans = 4 返回二维数组最大的那一维数 >> size(arr) ans = 3 4 返回矩阵的行数和列数