春季学期MATLAB期末作业学院:机电工程学院专业:机械制造设计及其自动化学号:班号:姓名:2013年春季学期MATLAB 课程考查题姓名:学号:学院:机电学院专业:机械制造一、必答题:1.matlab常见的数据类型有哪些?各有什么特点? 常量:具体不变的数字变量:会根据已知条件变化的数字字符串:由单引号括起来的简单文本复数:含有复数的数据2.MATLAB中有几种帮助的途径?(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器;(2)help命令:在命令窗口键入“help”命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息;(3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数(4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数。
注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。
3.Matlab常见的哪三种程序控制结构及包括的相应的语句?1.顺序结构:数据输入A=input(提示信息,选项)数据输出disp(X)数据输出fprintf(fid,format,variables)暂停pause 或pause(n)2.选择结构:If语句:if expression (条件)statements1(语句组1)elsestatements2(语句组2)EndSwitch 语句:switch expression (表达式)case value1 (表达式1)statement1(语句组1)case value2 (表达式2)statement2(语句组2)... ...case valuem (表达式m)statementm(语句组m)otherwisestatement (语句组)end3.循环结构:For循环:for variable=expression(循环变量)statement(循环体)endWhile循环:while expression (条件<循环判断语句>)statement(循环体)end4.命令文件与函数文件的主要区别是什么?命令文件:不接受输入参数,没有返回值,基于工作空间中的数据进行操作,自动完成需要花费很多时间的多步操作时使用。
函数文件:可以接受输入参数,可以有返回值,默认时,文件中参数的作用范围只限于函数内部,扩展MATLAB语言功能时使用。
5.什么是全局变量和局部变量?全局变量:作用域是在整个MATLAB工作空间,即全程有效,所有函数都可以对其进行存取和修改,定义全局变量是函数之间传递信息的手段。
局部变量:函数文件变量一般是局部变量,与其他函数和matlab工作空间是隔离的。
即在一个函数文件中定义的变量不能被另一个函数文件引用。
如果在若干函数中,把某个变量定义为全局变量,那么这些函数可以共用这个变量。
6.数据插值和曲线拟合区别?曲线拟合研究的是如何寻找平滑曲线以最好的表现带噪声的测量数据,但不要求拟合曲线穿过这些测量数据点;插值是研究如何平滑的估算出基准数据之间的其他点的函数值,所以插值所得曲线一定要穿过基准数据。
7.数值运算与符号运算的区别?数值运算:1. 其运算的元素是数值;2. 在运算过程中必须先对变量进行赋值,然后才能参加运算;3. 其结果以数值形式出现。
符号运算:1. 其运算的元素是符号;2. 在运算过程中无须对变量进行赋值就可参加运算;但是必须先定义符号变量;3. 其结果以符号形式出现。
8.GUI开发环境中提供了哪些方便的工具?各有什么用途?布局编辑器(Layout Edtor)——在图形窗口中创建及布置图形对象;几何排列工具(Alignment Tool)——调整各对象之间的几何关系和位置;属性查看器(Property Inspector)——查询并设置对象的属性值;对象浏览器(Object Browser)——用于获得当前Matlab窗口中图形对象句柄的分级排列;菜单编辑器(Menu Editor)——建立和编辑主菜单和图形对象鼠标右键菜单Tab顺序编辑器(Tab Order Editor)——用于设置当用户按下键盘上的Tab 键时,对象被选中的先后顺序。
9.简述Simulink建立子系统的两种方法及其子系统封装的4个选项1、使用Subsystems模块库中的Subsystem模块建立子系统,首先构成系统的整体模型,然后编辑空的子系统内的模块。
(注意,对于多输入与多输出子系统而言,需要使用Sources模块库中的In1输入虚模块与Sinks模块库中的Out1输出虚模块来实现。
)2、首先选择能够完成一定功能的一组模块,然后选择Simulink模型创建编辑器中Edit菜单下的Create Subsystem,即可建立子系统并将这些模块封装(到此子系统中,Simulink自动生成子系统的输入与输出端口。
)3、Icon项Parameters Initialization标签页Documentation标签页10.分别采用函数fix、floor、ceil和round对A=[ -1.95,-1.25,1.45,1.85]取整,并说明这些取整函数的区别。
fix函数:结尾取整Ceil函数:向上取整Floor函数:向下取整Round函数:四舍五入11.求A=[1,2,3;4,5,6;7,8,9]矩阵的秩,迹,特征值和特征向量、范数和方阵的条件数;并求A和a= magic(5)矩阵行列式,逆矩阵和伪逆矩阵,并说明逆矩阵和伪逆矩阵区别。
A=[1,2,3;4,5,6;7,8,9];rank=rank(A)trace=trace(A)[V,D]=eig(A)norm=norm(A)cond=cond(A)结果:rank = 2trace = 15V =-0.2320 -0.7858 0.4082-0.5253 -0.0868 -0.8165-0.8187 0.6123 0.4082D =16.1168 0 00 -1.1168 00 0 -0.0000norm =16.8481cond =3.8131e+16A=[1,2,3;4,5,6;7,8,9]a=magic(5)detA=det(A)invA=inv(A)pinvA=pinv(A) deta=det(a) inva=inv(a) pinva=pinv(a)如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵A‘同型的矩阵B,使得:A·B·A=A B·A·B=B此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。
12.已知:a=6; A=pascal(4); B=randn(4);求A*B,A.*B, B/A,B./A, B\A, B.\A ,A.^a,A^a,并且说明数组和矩阵在上述运算中的区别。
a=6; A=pascal(4); B=randn(4);A*BA.*BB/AB./AB\AB.\AA.^aA^aans =-3.3843 -0.7710 0.2884 -0.4321-5.7672 -3.9198 1.6239 1.0912-6.7793 -10.8330 4.2172 4.3328-4.9821 -23.2219 8.3812 9.9203ans =-1.0689 0.3252 -0.1022 -0.8649-0.8095 -1.5099 -0.7243 -0.1202-2.9443 4.1109 1.9152 -1.64881.4384 -6.8461 3.1286 12.5541ans =-5.7707 9.4959 -6.2804 1.48630.3558 -3.1462 2.7419 -0.7610-18.5572 32.8440 -23.1637 5.932716.6463 -34.1498 25.8257 -6.8838ans =-1.0689 0.3252 -0.1022 -0.8649-0.8095 -0.3775 -0.0805 -0.0075-2.9443 0.4568 0.0532 -0.01651.4384 -0.4279 0.0313 0.0314ans =-0.6348 -1.6245 -2.9494 -4.6346-1.1688 -2.9031 -5.9575 -10.77621.7679 6.3637 16.2994 33.0876-1.0201 -0.9924 -1.6780 -3.3918ans =-0.9356 3.0751 -9.7807 -1.1562-1.2353 -2.6493 -12.4251 -133.1057-0.3396 2.1893 18.7966 -60.65050.6952 -2.3371 31.9633 31.8620ans =1 1 1 11 64 729 40961 729 46656 10000001 4096 1000000 64000000ans =1200089 4011200 9133680 172222404011200 13407257 30529056 575649769133680 30529056 69516457 13107897617222240 57564976 131078976 247160297数组运算是指数组对应元素之间的运算,也称点运算.矩阵的乘法、乘方和除法有特殊的数学含义,并不是数组对应元素的运算,所以数组乘法、乘方和除法的运算符前特别加了一个点。
(1)对于乘法、乘方和除法等三种运算,矩阵运算与数组运算的运算符及含义都不同:矩阵运算按线性变换定义,使用通常符号;数组运算按对应元素运算定义,使用点运算符;(2)数与矩阵加减、矩阵除法在数学是没有意义的,在MATLAB中为简便起见,定义了这两类运算13.分别采用不循环语句和循环语句For和while计算级数:S=1+6+62+63+···+633,并且说明循环语句For和while之间的区别。
While 语句s=0;i=0;while i<34s=s+6^i;i=i+1;endSFor 语句:s=0;for i=(0:1:33)s=s+6^i;endS不循环语句:i=(0:1:33);sum(6.^i)for 和while 的区别:while 循环语句与for 循环语句不同的是,前者是以条件的满足与否来判断循环是否结束的,而后者则是以执行次数是否达到指定值来判断的。