Matlab习题及解答.docx
《Matlab习题及解答.docx》由会员分享,可在线阅读,更多相关《Matlab习题及解答.docx(14页珍藏版)》请在冰豆网上搜索。
![Matlab习题及解答.docx](https://file1.bdocx.com/fileroot1/2022-11/26/c007ca69-b13d-4c7c-bc06-f52f53d69661/c007ca69-b13d-4c7c-bc06-f52f53d696611.gif)
Matlab习题及解答
第1章MATLAB入门
1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么?
MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。
1.2MATLAB系统由那些部分组成?
MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。
1.3安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?
在安装MATLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。
第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。
1.4MATLAB操作桌面有几个窗口?
如何使某个窗口脱离桌面成为独立窗口?
又如何将脱离出去的窗口重新放置到桌面上?
在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock……菜单项就可以将独立的窗口重新防止的桌面上。
1.5如何启动M文件编辑/调试器?
在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。
在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。
1.6存储在工作空间中的数组能编辑吗?
如何操作?
存储在工作空间的数组可以通过数组编辑器进行编辑:
在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。
1.7命令历史窗口除了可以观察前面键入的命令外,还有什么用途?
命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。
1.8如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?
当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的SetPath菜单项来完成。
在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。
1.9在MATLAB中有几种获得帮助的途径?
在MATLAB中有多种获得帮助的途径:
(1)帮助浏览器:
选择view菜单中的Help菜单项或选择Help菜单中的MATLABHelp菜单项可以打开帮助浏览器;
(2)help命令:
在命令窗口键入“help”命令可以列出帮助主题,键入“help函数名”可以得到指定函数的在线帮助信息;
(3)lookfor命令:
在命令窗口键入“lookfor关键词”可以搜索出一系列与给定关键词相关的命令和函数
(4)模糊查询:
输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数。
注意:
lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。
第2章MATLAB的基本数学功能
2.1在MATLAB中如何建立矩阵
,并将其赋予变量a?
2.2有几种建立矩阵的方法?
各有什么优点?
可以用四种方法建立矩阵:
2.3在进行算术运算时,数组运算和矩阵运算各有什么要求?
进行数组运算的两个数组必须有相同的尺寸。
进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a与b相乘(a*b)时必须满足a的列数等于b的行数。
2.4数组运算和矩阵运算的运算符有什么区别?
在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b为矩阵乘,a.*b为数组乘。
2.5计算矩阵
与
之和。
2.6求
的共轭转置。
2.7计算
与
的数组乘积。
2.8“左除”与“右除”有什么区别?
2.9对于
,如果
,
,求解X。
2.10已知:
,分别计算a的数组平方和矩阵平方,并观察其结果。
2.11
,
,观察a与b之间的六种关系运算的结果。
2.12
,在进行逻辑运算时,a相当于什么样的逻辑量。
2.13在sin(x)运算中,x是角度还是弧度?
2.14角度
,求x的正弦、余弦、正切和余切。
2.15用四舍五入的方法将数组[2.45686.39823.93758.5042]取整。
2.16矩阵
,分别对a进行特征值分解、奇异值分解、LU分解、QR分解及Chollesky分解。
2.17将矩阵
、
和
组合成两个新矩阵:
(1)组合成一个43的矩阵,第一列为按列顺序排列的a矩阵元素,第二列为按列顺序排列的b矩阵元素,第三列为按列顺序排列的c矩阵元素,即
(2)按照a、b、c的列顺序组合成一个行矢量,即
第3章MATLAB程序设计基础
3.1命令文件与函数文件的主要区别是什么?
3.2如何定义全局变量?
3.3如果x是一个结构型数组,如何观察其中的内容?
3.4if语句有几种表现形式?
3.5说明break语句和return语句的用法。
3.6有一周期为4的正弦波上叠加了方差为0.1的正态分布的随机噪声的信号,用循环结构编制一个三点线性滑动平均的程序。
(提示:
①用0.1*randn(1,n)产生方差为0.1的正态分布的随机噪声;②三点线性滑动平均就是依次取每三个相邻数的平均值作为新的数据,如x1
(2)=(x
(1)+x
(2)+x(3))/3,x1(3)=(x
(2)+x(3)+x(4))/3……)
t=0:
pi/50:
4*pi;
n=length(t);
y=sin(t)+0.1*randn(1,n);
ya
(1)=y
(1);
fori=2:
n-1
ya(i)=sum(y(i-1:
i+1))/3;
end
ya(n)=y(n);
plot(t,y,'c',t,ya,'r','linewidth',2)
3.7编制一个解数论问题的函数文件:
取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。
functionc=collatz(n)
%collatz
%Classic“3n+1”Ploblemfromnumbertheory
c=n;
whilen>1
ifrem(n,2)==0
n=n/2;
else
n=3*n+1;
end
c=[cn];
end
3.8有一组学生的考试成绩(见表),根据规定,成绩在100分时为满分,成绩在90~99之间时为优秀,成绩在80~89分之间时为良好,成绩在60~79分之间为及格,成绩在60分以下时为不及格,编制一个根据成绩划分等级的程序。
学生姓名
王
张
刘
李
陈
杨
于
黄
郭
赵
成绩
72
83
56
94
100
88
96
68
54
65
Name=['王','张','刘','李','陈','杨','于','黄','郭','赵'];
Marks=[72,83,56,94,100,88,96,68,54,65];
%划分区域:
满分(100),优秀(90-99),良好(80-89),及格(60-79),不及格(<60)。
n=length(Marks);
fori=1:
n
a{i}=89+i;
b{i}=79+i;
c{i}=69+i;
d{i}=59+i;
end;
c=[d,c];
%根据学生的分数,求出相应的等级。
fori=1:
n
switchMarks(i)
case100%得分为100时
Rank(i,:
)='满分';
casea%得分在90~99之间
Rank(i,:
)='优秀';
caseb%得分在80~89之间
Rank(i,:
)='良好';
casec%得分在60~79之间
Rank(i,:
)='及格';
otherwise%得分低于60。
Rank(i,:
)='不及格';
end
end
%将学生姓名,得分,级等信息打印出来。
disp('')
disp(['学生姓名','得分','等级']);
disp('--------------------------')
fori=1:
10;
disp(['',Name(i),'',num2str(Marks(i)),'',Rank(i,:
)]);
end
学生姓名得分等级
-----------------------------------------
王72及格
张83良好
刘56不及格
李94优秀
陈100满分
杨88良好
于96优秀
黄68及格
郭54不及格
赵65及格
3.9编写一段程序,能够把输入的摄氏温度转化成华氏温度,也能把华氏温度转换成摄氏温度。
k=input('选择转换方式(1--摄氏转换为华氏,2--华氏转换为摄氏):
');
ifk~=1&k~=2
disp('请指定转换方式')
break
end
tin=input('输入待转变的温度(允许输入数组):
');
ifk==1
tout=tin*9/5+32;%摄氏转换为华氏
k1=2;
elseifk==2
tout=(tin-32)*5/9;%华氏转换为摄氏
k1=1;
end
str=['C';'F'];
disp(['转换前的温度','','转换后的温度'])
disp(['',num2str(tin),str(k,:
),'',num2str(tout),str(k1,:
)])
第4章MATLAB的数值计算功能
4.1将(x-6)(x-3)(x-8)展开为系数多项式的形式。
4.2求解多项式x3-7x2+2x+40的根。
4.3求解在x=8时多项式(x-1)(x-2)(x-3)(x-4)的值。
4.4计算多项式乘法(x2+2x+2)(x2+5x+4)。
4.5计算多项式除法(3x3+13x2+6x+8)/(x+4)。
4.6对下式进行部分分式展开:
4.7计算多项式
的微分和积分。
4.8解方程组
。
4.9求欠定方程组
的最小范数解。
4.10有一组测量数据如下表所示,数据具有y=x2的变化趋势,用最小二乘法求解y。
x
1
1.5
2
2.5
3
3.5
4
4.5
5
y
-1.4
2.7
3
5.9
8.4
12.2
16.6
18.8
26.2
4.11矩阵
,计算a的行列式和逆矩阵。
4.12y=sin(x),x从0到2,x=0.02,求y的最大值、最小值、均值和标准差。
4.13
,
,计算x的协方差、y的协方差、x与y的互协方差。
4.14参照例4-25的方法,计算表达式
的梯度并绘图。
4.15有一正弦衰减数据y=sin(x).*exp(-x/10),其中x=0:
pi/5:
4*pi,用三次样条法进行插值。
第5章符号数学基础
5.1创建符号变量有几种方法?
5.2下面三种表示方法有什么不同的含义?
(1)f=3*x^2+5*x+2
(2)f='3*x^2+5*x+2'
(3)x=sym('x')
f=3*x^2+5*x+2
4.3用符号函数法求解方程at2+b*t+c=0。
>>
5.4用符号计算验证三角等式:
sin
(1)cos
(2)-cos
(1)sin
(2)=sin(1-2)
5.5求矩阵
的行列式值、逆和特征根。
5.6因式分解:
5.7
,用符号微分求df/dx。
5.8求代数方程组
关于x,y的解。
5.9符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t的变化范围为[0,2]。
5.10绘制极坐标下sin(3*t)*cos(t)的图形。
第6章图形处理功能
6.1绘制曲线
,x的取值范围为[-5,5]。
6.2有一组测量数据满足
,t的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线。
6.3在5.1题结果图中添加标题
,并用箭头线标识出各曲线a的取值。
6.4在5.1题结果图中添加标题
和图例框。
6.5表中列出了4个观测点的6次测量数据,将数据绘制成为分组形式和堆叠形式的条形图。
第1次
第2次
第3次
第4次
第5次
第6次
观测点1
3
6
7
4
2
8
观测点2
6
7
3
2
4
7
观测点3
9
7
2
5
8
4
观测点4
6
4
3
2
7
4
6.6x=[6649715638],绘制饼图,并将第五个切块分离出来。
6.7
,当x和y的取值范围均为-2到2时,用建立子窗口的方法在同一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。
6.8绘制peaks函数的表面图,用colormap函数改变预置的色图,观察色彩的分布情况。
6.9用sphere函数产生球表面坐标,绘制不通明网线图、透明网线图、表面图和带剪孔的表面图。
6.10将5.9题中的带剪孔的球形表面图的坐标改变为正方形,以使球面看起来是圆的而不是椭圆的,然后关闭坐标轴的显示。
6.11轴对象是使用的最多的图形对象之一,那么轴对象是哪个对象的子对象,又是那些对象的父对象?
6.12什么是图形句柄?
图形句柄有什么用途?
6.13如何设置和获取指定句柄对象的属性值?
一图形窗口对象的句柄为h,先查询该窗口对象可以设置的各种属性,再将窗口的灰色背景设置为白色背景。
6.14已知三维图形视角的缺省值是方位角为-37.5°,仰角为30°,将观察点顺时针旋转20角的命令是什么?
6.15画一双峰曲面(peaks)图,加灯光light,改变光源的位置观察图形的变化。
6.16在双峰曲面上改变不同的光照模式,观察效果。
6.18用[c,hc]=contour(peaks(30))语句绘制双峰曲面的等高线图,通过控制图形句柄的方法将第四条等高线加粗为2磅,将第六条等高线表示为虚线,在第十条等高线上加星号标记
6.19用图形窗口功能在图形窗口中的任意位置产生多个大小不等的子窗口,与6.7题结果进行比较。
提示:
(1)使用figure命令创建一个新的图形窗口;
(2)在图形窗口的Insert菜单中选择Axes项,鼠标指针由箭头变为十字,按下鼠标左键在图形窗口的任意位置拖曳创建一个坐标轴对象;
(3)重复2创建其他坐标轴对象。
6.20利用图形窗口的曲线拟合工具,选择不同的拟合方法对给定的数据y=[9,18,21,19,22,25,20,14,12,0]进行曲线拟合,观察不同的拟合效果。
提示:
(1)使用plot函数绘图;
(2)在图形窗口的Tools菜单中选择BasicFitting项,打开曲线拟合工具;
(3)选择合适的拟合方法。
第7章Simulink基础
7.1什么是Simulink?
7.2如何进行下列操作:
(1)翻转模块
(2)给模型窗口加标题
(3)指定仿真时间
(4)设置示波器的显示刻度
(1)翻转模块
(2)给模型窗口加标题
(3)指定仿真时间
(4)设置示波器的显示刻度
7.3有传递函数如下的控制系统,用Simulink建立系统模型,并对系统的阶跃响应进行仿真。
7.4建立一个简单模型,用信号发生器产生一个幅度为2V、频率为0.5Hz的正弦波,并叠加一个0.1V的噪声信号,将叠加后的信号显示在示波器上并传送到工作空间。
7.5建立一个简单模型,产生一组常数(1×5),再将该常数与其5倍的结果合成一个二维数组,用数字显示器显示出来。
7.6建立一个模拟系统,将摄氏温度转换为华氏温度(Tf=9/5Tc+32)。
7.7建立二阶系统
的脉冲响应模型,设ωn=10Hz,观察当0<ζ<1、ζ=0、ζ=1及ζ>1时系统的响应。
7.8皮球以15米/秒的速度从10米高的地方落下,建立显示球弹跳轨迹的模型。