《MATLAB程序设计》复习资料.docx
- 文档编号:8736516
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:10
- 大小:32.36KB
《MATLAB程序设计》复习资料.docx
《《MATLAB程序设计》复习资料.docx》由会员分享,可在线阅读,更多相关《《MATLAB程序设计》复习资料.docx(10页珍藏版)》请在冰豆网上搜索。
《MATLAB程序设计》复习资料
Matlab习题及复习要点
1.Matlab的英文组成;程序和变量的命名规则;
在MATLAB语言中是区分字母大小的,也就是说,大写字母和小写字母代表的东西是不同的。
2.Matlab中注释、关键词等的显示颜色;如何设置当前路径、如何设置搜索路径(例如第一次上机练习过的,新建的“D:
\temp”目录中有脚本文件abc.m,若要能在命令窗口输入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中求解线性方程组
可采用什么指令;
9.掌握基本运算符,例如*、.*、/、./、^、.^的区别
10.读懂逻辑表达式,会写出逻辑表达式的结果(0或1)
11.掌握集中循环结构,尤其if..elseif…else…end和swich…case结构的语法,要准确。
12.会编写分段函数的程序;
x和y满足如下关系:
编写函数y=f(x),用于计算上述分段函数。
13.绘图时采用的几个命令的掌握:
holdon、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-10123
-3-2-10123
-3-2-10123
-3-2-10123
-3-2-10123
Y=
-2-2-2-2-2-2-2
-1-1-1-1-1-1-1
0000000
1111111
2222222
15*.创建一个范围为[-π,π]、数据点个数为50的向量x的指令为?
,以该向量x为横坐标绘制正弦曲线的指令为?
。
16*.掌握基本的画图命令,会编写简单的绘图程序。
思考题:
已知几个点的坐标a1(-1,0)、a2(0,1)、a3(1,2)、a4(3,-2),求一条三次曲线通过这四个点,编写程序完成计算,要求显示出多项式的系数,并用plot函数画出曲线
第一讲概论
1.简述matlab基本特点。
(0.5分)
交互式操作界面;高效的数值计算功能;演算式语言;可视化输出;代码、数据文件的集成管理环境;支持用户界面开发,自定义创建工具(GUIDE);丰富的外部接口——支持C/C++、Java、Excel/Word、Ansys,COM、DDE(动态数据交换)和ActiveX……。
2.简述matlab的基本功能。
(0.5分)
数学计算;开发工具;数据可视化;交互式图形编辑;自成一派的算法开发编程语言和环境;图形用户界面开发环境——GUIDE;开放性、可扩展性强;专业应用工具箱;Simulink动态仿真环境。
3.填空(1分)
命令后以分号(;)结尾,不显示运行结果。
命令后无符号或逗号(,)结尾,显示运行结果。
一行输入多条命令,可用逗号(,)分隔;
若一行很长需换行时,加续行符(3小数点…)
注释文字以百分号(%)开始
所有符号一定要在英文状态下输入
4.如何将当前路径设置为d:
\mydir?
如何将d:
\mydir添加进搜索路径?
(1分)
5.请写出如下操作的命令:
(2分)
清屏:
clc;
删除工作空间的变量a:
cleara;
清空工作空间:
clear或clearall;
删除命令行:
esc;
查询函数sin的帮助文档:
helpsin;
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.请写出计算代码
;sqrt(a+4*b);
(a+b);log10(a+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随机矩阵,判断其元素是否大于0.5。
(写出代码)rand(3,4)>0.5
4.有a=3,B=[4,3;7,5],C=[8,9;7,6],D=[4,7;12,8],写出如下式子的计算结果:
(1)~(a
(2)a>C&B (3)C<=D=[0,0;1,1]. (10)已知A为如下4*4矩阵: 则运行B=A([1: 2],[1: 2])后,B为2行2列矩阵,其值为__[12;56]_______。 (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= 875 3210 713 求共轭转置矩阵的指令为B’ Ones(n)返回N*N全为1的矩阵 arr= 1234 3456 1234 >>length(arr)ans=4返回二维数组最大的那一维数 >>size(arr)ans=34返回矩阵的行数和列数 第四讲字符串 1.生成包含内容为“HefeiUniversityofTechnology”字符串str,并显示其内容(仅显示内容,不显示字符串名称)。 2.生成一个两行的字符串,第一行内容为“HefeiUniversityofTechnology”,第二行内容为“Welcome! ” 3.写出: str=['k',int2str (1),'=rand']和eval(str)的运行结果。 4.定义一个2*2的单元数组A,并令A(2,2)为一3*3的随机二维数组,并显示A(2,2)的内容。 5.创建一个结构体,并将存入如下数据: 1)name: liuying,height: 170;2)name: liyi,height: 165. 第四讲字符串 1.生成包含内容为“HefeiUniversityofTechnology”字符串str,并显示其内容(仅显示内容,不显示字符串名称)。 str='HefeiUniversityofTechnology';disp(str); 2.生成一个两行的字符串,第一行内容为“HefeiUniversityofTechnology”,第二行内容为“Welcome! ” str=char('HefeiUniversityofTechnology','Welcome! '); 3.写出: str=['k',int2str (1),'=rand']和eval(str)的运行结果。 k1=0.8174 4.定义一个2*2的单元数组A,并令A(2,2)为一3*3的随机二维数组,并显示A(2,2)的内容。 A(2,2)={rand(3)};A{2,2} 5.创建一个结构体,并将存入如下数据: 1)name: liuying,height: 170;2)name: liyi,height: 165. person=struct('name',{'liuying','liyi'},'height',{170,165}) 第五讲绘图 1.绘制下列图像,并标出标题、坐标轴注释以及图例。 (1)y=x*sin(x),0 (2)三维曲线: z=x^2+6xy+y^2+6x+2y-1,-10 2.编写程序,该程序在同一窗口中绘制函数在[0,2*pi]之间的正弦曲线和余弦曲线,步长为pi/10,线宽为4个像素,正弦曲线设置为蓝色实线,余弦曲线设置为红色虚线(思考两条曲线交点处,用红色星号标记,如何实现)。 第五讲绘图 1.绘制下列图像,并标出标题、坐标轴注释以及图例。 (1)y=x*sin(x),0 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=x^2+6xy+y^2+6x+2y-1,-10 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=x^2+6*x.*y+6*x+2*y-1'); xlabel('x'); ylabel('y'); zlabel('z=x^2+6*x.*y+6*x+2*y-1'); legend('z=x^2+6*x.*y+6*x+2*y-1'); 2.编写程序,该程序在同一窗口中绘制函数在[0,2*pi]之间的正弦曲线和余弦曲线,步长为pi/10,线宽为4个像素,正弦曲线设置为蓝色实线,余弦曲线设置为红色虚线(思考两条曲线交点处,用红色星号标记,如何实现)。 clc; clear; x=[0: pi/1000: 2*pi]; y1=sin(x); y2=cos(x); plot(x,y1,'b'); holdon plot(x,y2,'r--'); fori=1: 1: length(x) delt=abs(y1(i)-y2(i)); ifdelt<=1e-10 holdon plot(x(i),y1(i),'r*'); end end 第六讲程序设计 1.编写程序计算 的值,其中x的值为-10到10之间,以0.5为步长,并绘出图形。 用两种方法实现。 2.编写一个函数randomn,该函数能够产生[-n,n]之间的任意整数。 第六讲程序设计 1.编写程序计算 的值,其中x的值为-10到10之间,以0.5为步长,并绘出图形。 用两种方法实现。 xth=0; forx=-10: 0.5: 10 xth=xth+1; X(xth)=x; ifx<0 y(xth)=-x^3+5; else y(xth)=x^3+5; end end 或 xth=0; forx=-10: 0.5: 10 xth=xth+1; nx=x<0; switchnx case1 y(xth)=-x^3+5; case0 y(xth)=x^3+5; end end 2.编写一个函数randomn,该函数能够产生[-n,n]之间的任意整数。 functiony=randomn(n) y=round(rem(random('Normal',0,1),1)*n); 或 functiony=randnn(n) y=round((-1+2*rand (1))*n); 第七讲数学运算 1.写出以下命令: 生成5阶魔术矩阵: 生成5阶单位阵: awake醒来awokeawaked/awoken生成以向量A为对角线元素的矩阵: 求矩阵B的对角阵: 2. 3.sew缝合sewedsewn/sewed写出求解如下非齐次线性方程组的代码: throw投/扔threwthrownAX=B; wake醒着woke/wakedwoke/waked/wokenXA=B; sow种植sowedsown/sowed 第七讲数学运算 1. 2.6.含有元音字母o/i的词,将o/i变成a。 如: sing—sang,give—gave,sit—sat,drink—drank写出以下命令: 生成5阶魔术矩阵: magic(5) 生成5阶单位阵: eye(5) build建造builtbuilt生成以向量A为对角线元素的矩阵: diag(A) awake醒来awokeawaked/awoken求矩阵B的对角阵: diag(B) 3.写出求解如下非齐次线性方程组的代码: spin旋转spun/spanspunAX=B;X=A\B prove证明provedproved/provenXA=B;X=B/A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB程序设计 MATLAB 程序设计 复习资料
![提示](https://static.bdocx.com/images/bang_tan.gif)