首页数学计算数学MATLAB基础与应用 09 MATLAB习题与答案.docx

09 MATLAB习题与答案.docx

页数:14页文件大小:191.6 KB来源: MATLAB基础与应用ppt课件

本课件按MATLAB基础与应用各章顺序汇编配套练习题,题型包括选择题、填空题、程序阅读题与上机操作题,覆盖软件环境、数值与字符串、数组与矩阵、符号计算、程序控制流、文件操作与图形图像处理等知识点,可用于课后自测与上机训练。

第一章习题页,含四道选择题与四道简答题及六道上机操作题,覆盖MATLAB环境与基本操作
第二、三章习题页,含变量命名、字节数、关系逻辑表达式等选择题与字符串操作题
第三、四、五章习题页,含矩阵多项式操作题与符号积分微分求解题
查看本课件的文字版(共 14 页,供检索与复制)

第1页:第一章习题

Matlab基础与应用 第一章习题

  • 1.选择题(1)已知函数的功能但不确切知道函数名,可使用的搜索命令是。A.lookfor B.demo C.help D.helpwin
  • (2)MATLAB命令中清空 workspace 的是。A.clc B.clear C.edit D.clf
  • (3)MATLAB中 Inf 或 inf 表示。A.0 B.∞ C.1 D.-1
  • (4)MATLAB表现计算结果所用的缺省变量名是。A.ans B.pi C.NaN D.eps

2.简答题

  • (1)MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?
  • (2)与其他计算机语言相比较,MATLAB语言突出的特点是什么?
  • (3)MATLAB系统由哪些部分组成?
  • (4)如何设置当前目录和搜索路径?在当前目录上的文件和在搜索路径上的文件有什么区别?

3.操作题

  • (1)将MATLAB安装到电脑上,注意选择组件
  • (2)查看已经安装好的MATLAB中有哪些工具箱
  • (3)列出符号数学工具箱(Symbolic Math Toolbox)中的所有函数
  • (4)找出函数 det 的帮助文本
  • (5)在命令窗口启动M文件编辑/调试器
  • (6)在命令窗口键入「help」命令,查看帮助主题

第2页:第二、三章习题

第二章习题

  • 1.选择题(1)下列变量名中哪个是合法的。A.char_1 B.x*y C.x\y D.end
  • (2)执行语句 x=55 后,MATLAB为变量x分配的存储空间大小为。A.2字节 B.4字节 C.6字节 D.8字节
  • (3)执行语句 y=66 后,变量y的类型为。A.int8 B.int16 C.single D.double
  • (4)下列整数类型中不能参与任何运算的是。A.int8 B.int16 C.int32 D.int64
  • (5)设已执行语句 x=3>2; y=x>0,下面表达式中错误的是。A.x+y B.x-y C.x*y D.x/y
  • (6)「x是小于10的非负数」用MATLAB表达式可写为。A.0≤x<10 B.0<=x & x<10 C.0≤x Or x<10 D.0=<x Or x<10
  • (7)设A=3.8,B=4,I=6,则语句 J=A+B\I 执行后变量J的值为。A.4 B.5 C.4.8 D.5.3

2.简答题

  • (1)简述MATLAB中表达式由哪些组成
  • (2)简述MATLAB中运算符有哪些
  • (3)简述MATLAB中数据类型有哪些

3.操作题

  • (1)创建字符串「MATLAB」并在命令窗口中显示
  • (2)将字符串「MATLAB」中的大写字母转化成小写字母
  • (3)已知 A=‘ilovematlab’、B=‘matlab’,找出B在A中的位置
  • (4)由 A=‘ilovematlab’、B=‘matlab’ 形成 C=‘ilovematlabmatlab’

第三章习题 1.选择题

  • (1)在 sin(x) 运算中,x 是。A.角度 B.弧度 C.随机 D.矩阵
  • (2)A、B均为矩阵,则 A.+B 与哪个结果相同。A.A+B B.A-B C.A.*B D.A./B
  • (3)下列数组写法中错误的是。A.[1:9] B.1:9 C.[1:2:9;2:2:8] D.[1:3;4:6;7:9]
  • (4)设有数组定义 x=[1,2,3,4,5,6]、y=x',下列表达式中正确的是。A.y+x B.y-x C.y./x D.y*x
  • (5)已输入方阵A的数据,计算A的特征值命令为。A.det(A) B.diag(A) C.inv(A) D.eig(A)

第3页:第三、四、五章习题

第三章习题 2.简答题

  • (1)有几种建立矩阵的方法?各有什么优点?
  • (2)在进行算术运算时,数组运算和矩阵运算各有什么要求?
  • (3)数组运算和矩阵运算的运算符有什么区别?
  • (4)「左除」与「右除」有什么区别?

3.操作题

  • (1)将 (x-6)(x-3)(x-8) 展开为系数多项式的形式
  • (2)求解多项式 x3-7x2+2x+40 的根
  • (3)求解在 x=8 时多项式 (x-1)(x-2)(x-3)(x-4) 的值
  • (4)计算多项式乘法 (x2+2x+2)(x2+5x+4)
  • (5)产生一个100×5的矩阵,矩阵的每一行都是[1 2 3 4 5]
  • (6)产生一个1×10的随机矩阵,大小位于(-5,5),并按从大到小的顺序排列
  • (7)设 y=cos[0.5+((3sinx)/(1+x2))],把 x=0~2π 间分为101点,画出以x为横坐标、y为纵坐标的曲线

第四章习题

  • 1.选择题(1)键入命令 syms x; y=int(6*x^4) 的结果是。A.6/5*x^5 B.6x^5/5 C.1.2x^5 D.1.2*x^4
  • (2)键入命令 syms x; y=diff(3*x^4) 的结果是。A.12*x^3 B.12x^3 C.12*x^2 D.3*4*x^3
  • (3)要查询工作空间中变量x的相关信息,可用命令。A.whos x B.clear x C.dir x D.edit x
  • (4)求符号矩阵A的行列式值的命令为。A.det(A) B.trace(A) C.inv(A) D.lu(A)
  • (5)求解符号方程 at2+b*t+c=0 的函数为。A.solve B.dsolve C.diff D.int

2.简答题

  • (1)简述三大计算机数学语言的特点
  • (2)简述MATLAB中数值计算与符号计算的区别与联系
  • (3)Symbolic Math Toolbox 中常见的函数有哪些,如何使用

3.操作题

  • (1)表达多项式 f(x)=x3+2x2+5x-3,并令 x=t+3 将 f(x) 替换成 t 的函数
  • (2)求极限 lim(3x+6x)1/x(x→∞)
  • (3)求导数:由 arctan(y/x)=ln(x+y) 确定的隐函数
  • (4)求积分 ∫eaxsinbx·sincx dx
  • (5)用符号运算的方法求和式 ∑3i 的精确值
  • (6)求函数 f(t)=e-t+e2t 的 Laplace 变换
  • (7)求函数 f(x)=x2(x-2π)2 的 Fourier 变换
  • (8)求方程组 x12-x2-1=0、(x1-2)2+(x2-0.5)2-1=0 的解
  • (9)求方程 y″-2y′-3y=0 的解
  • (10)求矩阵 b=[4 2 1;5 8 1;3 7 6] 的准确行列式及逆矩阵

第五章习题 1.选择题

  • (1)执行语句 for x=1:2:10, disp(x), end,循环体将执行几次。A.10次 B.5次 C.1次 D.0次
  • (2)在循环结构中跳出循环但继续下次循环的命令为。A.return B.break C.continue D.keyboard

第4页:第五、六、七章习题

第五章习题 2.简答题

  • (1)简述 for 循环和 while 循环各自优缺点
  • (2)简述 if 选择和 switch 选择各自优缺点

3.操作题

  • (1)分别使用 for 循环、while 循环计算 k=∑2i(i=0..63)
  • (2)采用搜寻法寻找给定4×4矩阵中最小的元素以及它的位置
  • (3)写出计算级数 S=1+x+x2+…+xn 前 n+1 项和的命令序列,取 n=500、x=π/5

第六章习题 1.选择题

  • (1)函数首部格式为 function [out1,out2]=myfunc(in1,in2),不正确的调用格式是。A.[x,y]=myfunc() B.myfunc(a,b) C.[x,y]=myfunc(a) D.x=myfunc(a,b)

2.简答题

  • (1)M脚本文件和M函数文件的主要区别

3.操作题

  • (1)编写程序实现 f(n)=f(n-1)+f(n-2)(f(1)=1、f(2)=2)
  • (2)设计函数 random0 产生[0,1)均匀分布的随机数,一个输入参数n时生成 n×n 随机数组,两个输入参数n、m时生成 n×m 随机数组
  • (3)编写程序允许输入一个星期中某一天的字符串,用 switch 结构转化为相应数字(星期天为第一天、星期六为最后一天),输入不在七个字符串内时输出提示信息
  • (4)把变量 A=[1 2 3;4 5 6;7 8 9] 写到文件 output.xls 中
  • (5)A是 m×n 矩阵,编写程序算出A中有多少个零元素
  • (6)向量 A=[a1,a2,…,an],编写程序找出A中的最小元素
  • (7)conv() 可计算两个多项式的积,编写函数 convs() 实现任意多个多项式的积,调用格式为 A=convs(P,Q,R,…)
  • (8)编写函数用龙格-库塔方法求初值问题 y′=x-y(0≤x≤1)、y(0)=1、h=0.1 的数值解
  • (9)判断数列 ∑1/i - ln n 的敛散性
  • (10)不调用 min,编写函数返回输入的三个数中的最小值

第5页:第六、七、八章习题

第六章习题 3.操作题(续)

  • (11)编写函数,当输入一个向量时返回其伴随矩阵
  • (12)编写函数,当输入矩阵个数低于或等于五时返回其和,大于五时返回其乘积
  • (13)已知数据 (1,7.8)、(2,12.1)、(3,16.6)、(4,21.1),用最小二乘法求逼近函数 y=ax+b
  • (14)编写函数根据输入的一组数产生 Vandermonde 矩阵

第七章习题 1.选择题

  • (1)语句 x=-1:0.1:1; plot([x+i*exp(-x.^2);x+i*exp(-2*x.^2);x+i*exp(-4*x.^2)]') 绘制。A.1条曲线 B.3条曲线 C.21条曲线 D.0条曲线
  • (2)把一个图形显示在图像窗口的 m×n 个子图像中的第 p 个位置的函数是。A.plot B.ezplot C.subplot D.plot3

2.简答题

  • (1)简述MATLAB中能处理的图形类型有哪些

3.操作题

  • (1)在同一图上分别用红色实线和绿色虚线绘制 y1=sin(x) 和 y2=cos(x) 在[0,4π]的曲线,用星号*标出两条曲线的交点并建立图例
  • (2)分别在同一图形窗的不同子图绘制 y=sin(t)sin(9t) 与 y=sin(t)sin(9t)
  • (3)绘制曲线 y=x3+x+1,x 的取值范围为[-5,5]
  • (4)用 ezplot 命令绘制函数 f(x)=sin x / x 的图形
  • (5)画图 y=sinx/x,x∈[-2,2]

第八章习题 1.简答题

  • (1)简述 Simulink 一般建模过程
  • (2)简述 Simulink 求解器的种类,如何进行选择

2.操作题

  • (1)搭建模型模拟三路信号的频分复用,各路采用不同的调制方法,显示复用前后信号频谱变化
  • (2)建立一个调频发射机中立体声基带信号的产生模型
  • (3)调幅中波收音机的接收频率段为550~1605kHz,中频为465kHz,试对超外差式中波收音机建模,要求接收范围可调
  • (4)建模验证周期信号可由单频正、余弦信号叠加而成,并在合成波形中说明吉布斯效应
  • (5)对 BPSK、DBPSK 两种调制解调系统建模,通过观察眼图并用MATLAB命令画出信噪比曲线图,比较两种调制方法的性能

第6页:参考答案(第一至三章)

参考答案 第一章

  • 1.(1)A (2)B (3)B (4)A

2.

  • (1)在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的 Close 按钮,一个是可以使窗口成为独立窗口的 Undock 按钮;点击 Undock 按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的 view 菜单中选择 Dock… 菜单项就可以将独立的窗口重新放置到桌面上
  • (2)MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点
  • (3)MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成
  • (4)当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的 file 菜单中的 Set Path 菜单项来完成;在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上

第二章

  • 1.(1)A (2)D (3)D (4)D (5)D (6)B (7)D

2.

  • (1)所谓表达式是指一个或多个运算的组合,它是由运算符和括号将各运算元素(包括常量、变量、函数、数组元素)连结起来的一个有值的式子
  • (2)算术表达式运算符、关系表达式运算符、逻辑表达式运算符
  • (3)MATLAB定义了六种数据类型,分别是 char(字符)、double(双精度数值)、sparse(稀疏数据)、storage(存储型)、cell(单元数组)、struct(结构数组)

3.

>> disp('MATLAB') >> lower('MATLAB') >> A='ilovematlab'; B='matlab'; strfind(A,B) >> A='ilovematlab'; B='matlab'; strcat(A,B)

第三章 1.(1)B (2)A (3)C (4)D (5)D

2.

  • (1)可以用四种方法建立矩阵:①直接输入法,优点是输入方法方便简捷;②通过M文件建立矩阵,适用于建立尺寸较大的矩阵且易于修改;③由函数建立,可以由MATLAB的内部函数建立一些特殊矩阵;④通过数据文件建立,可以调用由其他软件产生的数据

第7页:参考答案(第三、四章)

第三章 2.(续)

  • (2)进行数组运算的两个数组必须有相同的尺寸;进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a与b相乘(a*b)时必须满足a的列数等于b的行数
  • (3)在加、减运算时数组运算与矩阵运算的运算符相同;乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如 a*b 为矩阵乘、a.*b 为数组乘
  • (4)在通常情况下,左除 x=a\b 是 a*x=b 的解,右除 x=b/a 是 x*a=b 的解,一般情况下 a\b ≠ b/a

3.

(1)>> a=[6 3 8]; pa=poly(a); ppa=poly2sym(pa) (2)>> r=[1 -7 2 40]; p=roots(r); (3)>> p=poly([1 2 3 4]); polyvalm(p,8) (4)>> c=conv([1 2 2],[1 5 4]) (5)>> a=[]; a(:,1)=ones(100,1); a(:,2)=2*ones(100,1); a(:,3)=3*ones(100,1); a(:,4)=4*ones(100,1); a(:,5)=5*ones(100,1); (6)>> 10*rand(1,10)-5; sort(ans) (7)>> x=linspace(0,2*pi,101); y=cos[0.5+((3*sin(x))./(1+x.^2))]; plot(x,y)

第四章 1.(1)A (2)A (3)A (4)A (5)A

2.

  • (2)和数值计算一样,算法也是符号计算的核心。符号计算比数值计算可以继承的数学遗产更为丰富,两者是解决科学和技术发展中问题的两种不同计算方法:符号计算可以得到问题精确的完备解,但计算量大且表达形式庞大;数值计算可以快速处理很多实际应用中的问题,但一般只能得到近似的局部解,处理病态问题时收敛往往较慢容易出错
  • (3)常用函数有三角函数、反三角函数、极限、积分、微分、级数等

3.

(1)>> syms x t; f=x^3+2*x^2+5*x-3; subs(f,x,(t+3)/t-5) (2)>> syms x; f=(3^x+6^x)^(1/x); limit(f,x,inf) (3)>> syms x y; f=atan(y/x)-log(x+y); -diff(f,x)/diff(f,y) (4)>> syms a b c x; int(exp(a*x)*sin(b*x)*sin(c*x)) (5)>> syms i; symsum(3^i,i,0,20) (6)>> syms t; f=exp(-t)+exp(2*t); laplace(f) (7)>> syms x; f=x^2*(x-2*pi)^2; fourier(f)

第8页:参考答案(第四、五章)

第四章 3.(续)

(8)>> syms i; symsum(3^i,i,0,20) (9)>> syms t; f=exp(-t)+exp(2*t); laplace(f) (10)>> b=sym([4,2,1;5,8,1;3,7,6]); det(b), inv(b)

第五章 1.(1)B (2)C

2.

  • (1)在 for 循环中,循环控制变量的初始化和修改都放在语句头部分,形式较简洁,且特别适用于循环次数已知的情况;在 while 循环中,循环控制变量的初始化一般放在 while 语句之前,修改一般放在循环体中,形式上不如 for 语句简洁,但比较适用于循环次数不易预知的情况(用某一条件控制循环)。两种形式各有优点,但它们在功能上是等价的,可以相互转换
  • (2)主要区别在于 switch 中的 case 部分的参数只可以是整数类型的数据,并且只可以是常数,不可以是结构或变量,也不可以使用 if(CC>9 || *DD==NULL) 之类比较复杂的表达式;switch 的优点在于使用起来比较直观,容易看出是并列的判断;多重 if 尤其是数目比较多时代码很难阅读,适合于多区域的嵌套判断

3.

(1)s=0; for i=0:100, s=s+2^i; end s=0; i=0; while i<=100, s=s+2^i; end (2)s=a(1); for i=1:16, if a(i)<=a(1), s=a(i); end, end

第9页:参考答案(第五、六章)

第五章 3.(续)

(3)>> n=0:500; x=pi/5; S=sum(x.^n)

第六章 1.(1)C

3.

(1)function y=f(n) if n>=3 y=f(n-1)+f(n-2); elseif n==2 y=2; else y=1; end (2)function y=f(n,m) if nargin==1 m=n; elseif nargin==0|nargin>2 error('wrong number of input arguments'); end y=rand(n,m)
(3)>> in=input('请输入星期','s') switch in case Sunday, disp(1) case monday, disp(2) case tuesday, disp(3) case wednesday, disp(4) case Thursday, disp(5)

第10页:参考答案(第六章 续)

(3续)case friday, disp(6) case Saturday, disp(7) end (4)>> a=[1 2 3;4 5 6;7 8 9]; XLSWRITE('d:\matlab7\work\output.xls',a,'A1:I1') (5)function s=f(a) [m,n]=size(a); s=0; for i=1:m*n if a(i)==0, s=s+1; end end (6)function s=f(a) n=length(a); s=a(1); for i=1:n if a(i)<s, s=a(i); end end (7)function y=f(varargin) y=1; for i=1:length(varargin) y=conv(y,varargin{i}); end (8)>> x1=0; y1=1; n=10; h=0.1; function y=longge(h,n,x1,y1) x=[x1,zeros(1,n+1)]; y=[y1,zeros(1,n+1)];

第11页:参考答案(第六章 末)

(8续)for i=1:n+1 k1=wei(x(i),y(i)); k2=wei(x(i)+h/2,y(i)+0.5*k1*h); k3=wei(x(i)+h/2,y(i)+0.5*k2*h); k4=wei(x(i)+h,y(i)+k3*h); y(i+1)=y(i)+(k1+2*k2+2*k3+k4)*h/6; end y=y(1:1:n+1); function z=wei(x,y) z=x-y; (9)>> syms m n, limit(symsum(1/m,m,1,n)-log(n),n,inf) (10)function y=f(a,b,c) if (a<b)&(a<c), y=a; elseif (a>b)&(b<c), y=b; else y=c; end (11)>> compan(A) (12)function y=f(varargin) if length(varargin)<=5 y=[]; for i=1:length(varargin), y=y+varargin{i}; end else y=1; for i=1:length(varargin), y=y*varargin{i}; end end

第12页:参考答案(第六、七章)

(13)>> x=[1,2,3,4]'; y=[7.8,12.1,16.6,21.1]'; A=[ones(4,1),x]; A\y (14)>> vander(c)

第七章 1.(1)B (2)C

3.

(1)>> x=linspace(0,4*pi,100); y1=sin(x); y2=cos(x); plot(x,y1,'r-',x,y2,'g:'), gtext (2)funtool (3)>> x=linspace(-5,5,100); y=x.^3+x+1; plot(x,y) (4)>> syms x; f=sin(x); ezplot(f,[-pi,pi]) (5)>> x=linspace(-2,2,100); y=sin(x)./x; plot(x,y) (6)>> ezplot('x-sin(x)-1',[0,2])

第八章 一.简答题

  • 1 Simulink一般建模过程分为:启动Simulink,打开Simulink库浏览器,打开模型编辑器,挑选模块,连接模块画框图,设置模块和配置参数,运行模型,保存模型
  • 2 略

第13页:参考答案(第八章)

二.操作题

  • (1)搭建模型模拟三路信号的频分复用,各路采用不同的调制方法,显示复用前后信号频谱变化
  • (2)建立一个调频发射机中立体声基带信号的产生模型
  • (3)调幅中波收音机的接收频率段为550~1605kHz,中频为465kHz,试对超外差式中波收音机建模,要求接收范围可调
  • (4)建模验证周期信号可由单频正、余弦信号叠加而成,并在合成波形中说明吉布斯效应

可采用MATLAB与Simulink结合,用单频正弦波合成周期为4、幅度高度为1的周期方波。需将 Sine Wave 中的参数「Amplitude」「Frequency」「Phase」分别设置成「Am」「Fr」「P」,然后编写M文件如下:

% n为谐波编号,m为谐波的个数 % Am为信源模块中信号幅度向量,Fr为频率向量 m=(n-1)/2+1; Am=zeros(1,m); Fr=zeros(1,m); P=ones(1,m)*pi/2; for i=1:m Am(i)=sinc((2*i-1)/2); Fr(i)=2*pi*(2*i-1)/4; end

先在命令窗口给出谐波编号n,然后运行M文件,最后运行模型。

(5)对 BPSK、DBPSK 两种调制解调系统建模,通过观察眼图并用MATLAB命令画出信噪比曲线图,比较这两种调制方法的性能。

第14页:参考 Help中的BERTool

参见 Help 的 Contents 中的 Communication Toolbox / User’s Guide / BERTool: A Bit Error Rate Analysis GUI / Preparing Simulink Models for Use with BERTool。

顶部目录