matlab基础教程课后答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

matlab基础教程课后答案
【篇一:matlab基础练习题及答案】
xt>1.4 matlab操作桌面有几个窗口?如何使某个窗口脱离桌面成为
独立窗口?又如何将脱离出去的窗口重新放置到桌面上?
答:在matlab操作桌面上有五个窗口。

在每个窗口的右上角有两
个小按钮,一个是关闭窗口的close按钮,一个是可以使窗口成为
独立窗口的undock按钮,点击undock按钮就可以使该窗口脱离
桌面成为独立窗口。

在独立窗口的desktop菜单中选择dock...项就
可以将独立的窗口重新放置到桌面上。

1.5 如何启动m文件编辑/调试器?
答:在操作桌面上选择“建立新文件”或“打开文件”操作时,m文件
编辑/调试器将被启动。

在命令窗口中键入edit命令时也可以启动m
文件编辑/调试器。

1.6 存储在工作空间中的数组能编辑吗?如何操作?
1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执
行命令历史窗口中选定的内容、将选
定的内容拷贝到剪贴板中、将选定内容直接拷贝到m文件中。

1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索
路径上的文件有什么区别?答:当前目录可以在当前目录浏览器窗
口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的set path菜单项来完成。

在没有特别说明的情况下,只有当
前目录和搜索路径上的函数和文件能够被matlab运行和调用,如果
在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前
目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。

1.9 在matlab中有几种获得帮助的途径?
答:(1)帮助浏览器:选择view菜单中的help菜单项或选择
help菜单中的matlab help菜单项可以打开帮助浏览器。

(2)help命令:在命令窗口键入“help” 命令可以列出帮助主题,
键入“help 函数名”可以得到指定函数的在线帮助信息。

(3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出
一系列与给定关键词相关的命令和函数。

(4)模糊查询:输入命令的前几个字母,然后按tab键,就可以列出所有以这几个字母开始的命令和函数。

注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。

第2章 matlab矩阵运算基础
2.1 在matlab中如何建立矩阵?
?573?
?,并将其赋予变量491??
a?
答:在command window窗口输入操作:
a=[5 7 3;4 9 1]
2.2 有几种建立矩阵的方法?各有什么优点?
答:(1)直接输入法,如a=[1 2 3 4],优点是输入方法方便简捷;(2)通过m文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改;(3)由函数建立,如y=sin(x),可以由matlab的内部函数建立一些特殊矩阵;(4)通过数据文件建立,该方法可以调用由其他软件产生数据。

2.3 在进行算术运算时,数组运算和矩阵运算各有什么要求?
答:进行数组运算的两个数组必须有相同的尺寸。

进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a与b相乘(a*b)时必须满足a的列数等于b的行数。

2.4 数组运算和矩阵运算的运算符有什么区别?
答:在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b 为矩阵乘,a.*b为数组乘。

?535??242?
?374??679?
2.5 计算矩阵?与???之和。

???798???836??
答:
2.6 求x??答:
?4?8i3?5i2?7i1?4i7?5i?
?的共轭转置。

?3?2i7?6i9?4i3?9i4?4i?
2.7 计算a??答:
?693??241?
b?与??468?的数组乘积。

275????
2.8 “左除”与“右除”有什么区别?
答:在通常情况下,左除x=a\b是a*x=b的解,分母在左边。

右除
x=b/a是x*a=b的解,
分母在右边。

一般情况下,a\b?b/a。

?492??37????262.9 对于ax?b,如果a??764?,b????
???28???357??
,求解x。

答:
?123?
?
2.10 已知:a???456?,分别计算
??789??
a的数组平方和矩阵平方,并观察其结果。

答:a的数组的平方:
a的矩阵的平方:
【篇二:matlab基础练习题及答案(11信本)】
基础
2.2 有几种建立矩阵的方法?各有什么优点?答:(1)直接输入法,如a=[1 2 3 4],优点是输入方法方便简捷;
(2)通过m文件建立矩阵,该方法适用于建立尺寸较大的矩阵,
并且易于修改;
(3)由函数建立,如y=sin(x),可以由matlab的内部函数建立一
些特殊矩阵;
(4)通过数据文件建立,该方法可以调用由其他软件产生数据。

2.3 在进行算术运算时,数组运算和矩阵运算各有什么要求?
答:进行数组运算的两个数组必须有相同的尺寸。

进行矩阵运算的
两个矩阵必须满足矩阵运算规则,如矩阵a与b相乘(a*b)时必须
满足a的列数等于b的行数。

2.4 数组运算和矩阵运算的运算符有什么区别?答:在加、减运算
时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩
阵运算的运算符前加一个点即为数组运算,如a*b为矩阵乘,a.*b
为数组乘。

?535??242?
????
2.5 计算矩阵?374?与?679?之和。

??798????836??
1.4 matlab操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?
答:在matlab操作桌面上有五个窗口。

在每个窗口的右上角有两个小按钮,一个是关闭窗口的close按钮,一个是可以使窗口成为独立窗口的undock按钮,点击undock按钮就可以使该窗口脱离桌面成为独立窗口。

在独立窗口的desktop菜单中选择dock...项就可以将独立的窗口重新放置到桌面上。

1.5 如何启动m文件编辑/调试器?
答:在操作桌面上选择?建立新文件?或?打开文件?操作时,m文件编辑/调试器将被启动。

在命令窗口中键入edit命令时也可以启动m 文件编辑/调试器。

1.6 存储在工作空间中的数组能编辑吗?如何操作?
1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到m文件中。

1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?
答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的set path菜单项来完成。

在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被matlab运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。

1.9 在matlab中有几种获得帮助的途径?
答:(1)帮助浏览器:选择view菜单中的help菜单项或选择help菜单中的matlab help菜单项可以打开帮助浏览器。

(2)help命令:在命令窗口键入?help? 命令可以列出帮助主题,键入?help 函数名?可以得到指定函数的在线帮助信息。

(3)lookfor命令:在命令窗口键入?lookfor 关键词?可以搜索出一系列与给定关键词相关的命令和函数。

(4)模糊查询:输入命令的前几个字母,然后按tab键,就可以列出所有以这几个字母开始的命令和函数。

注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。

答:
?4?8i3?5i2?7i1?4i7?5i?
2.6 求x???的共轭3?2i7?6i9?4i3?9i4?4i??转置。

答:
第2章 matlab矩阵运算基础
?573?
2.1 在matlab中如何建立矩阵??,并将其赋予491??变量a?
?693??241?
2.7 计算a??与b????的数组乘积。

?275??468?
答:在command window窗口输入操作: a=[5 7 3;4 9 1]
第 1 页共 13 页
答:
?125??8?74?
b?2.11 a??,??362?,观察a与b36?4????
之间的六种关系运算的结果。

答:
2.8 ?左除?与?右除?有什么区别?
答:在通常情况下,左除x=a\b是a*x=b的解,分母在左边。

右除x=b/a是x*a=b的解,分母在右边。

一般情况下,a\b?b/a。

?492??37?
????
2.9 对于ax?b,如果a??764?,b??26?,求
???28???357??
解x。

答:
?123?
??
2.10 已知:a??456?,分别计算a的数组平方和
??789??
矩阵平方,并观察其结果。

答:a的数组的平方:
a的矩阵的平方:
第 2 页共 13 页
2.12 a??50.20?8?0.7?,在进行逻辑运算时,a相当于什么样的逻辑量。

答:相当于a=[1 1 0 1 1]。

2.13 在sin(x)运算中,x是角度还是弧度?答:在sin(x)运算中,x 是弧度,matlab规定所有的三角函数运算都是按弧度进行运算。

2.14 角度x??304560?,求x的正弦、余弦、正切和余切。

答:
?912???
2.16 矩阵a??563?,分别对a进行特征值分解、
??827??
奇异值分解、lu分解、qr分解及chollesky分解。

答:
2.15 用四舍五入的方法将数组[2.4568 6.3982
3.9375 8.5042]取整。

答:
第 3 页共 13 页
(2)按照a、b、c的列顺序组合成一个行矢量
或利用(1)中产生的
d
第2章基本图形处理功能
2.18 绘制曲线y?x3?x?1,x的取值范围为[-5,5]。

2.17 将矩阵a???42?b??71??59?
?75??、??83??和c???62??
组合
成两个新矩阵:
答:(1)组合成一个4?3的矩阵,第一列为按列顺序排列的a矩
阵元素,第二列为按列顺序排列的b矩阵元素,第三列为按列顺序
排列的c矩阵元素。

第 4 页共 13 页
2.19 有一组测量数据满足y?e-at,t的变化范围为0~10,用不同
的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线。

2.21 在5.1题结果图中添加标题y?e-at和图例框。

2.22左表中列出了4个观测点的6次测量数据,将数据绘制成为分
组形式和堆叠形式的条形图。

2.20 在5.1题结果图中添加标题y?e-at,并用箭头线标识出各曲线
a的取值。

2.23 x= [66 49 71 56 38],绘制饼图,并将第五个切块分离出来。

第 5 页共 13 页
【篇三:matlab基础练习题(带答案)】
t>常量、变量、表达式
1、 matlab中,下面哪些变量名是合法的?()
(a)_num (b)num_ (c)num- (d)-num
2、在matlab中,要给出一个复数z的模,应该使用()函数。

(a)mod(z) (b)abs(z) (c)double(z) (d)angle(z)
3、下面属于matlab的预定义特殊变量的是?()
(a)eps (b)none (c)zero (d)exp
4、判断:在matlab的内存工作区中,存放一个英文字符 a 需要占用1个字节,存放一个中文字符‘啊’需要占用2个字节。

(错,都是2个字节)
5、判断:matlab中,i和j
(对)
6、判断:matlab中,pi代表圆周率,它等于3.14。

(错,后面还有很多位小数)
7、在matlab中,若想计算的y1?2sin(0.3?)
1?5值,那么应该在matlab的指令窗中
输入的matlab指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。

8、在matlab中,a = 1,b = i,则a占_8__个字节,b占_16_个字节,c占________字节。

9、在matlab中,inf的含义是__无穷大__,nan的含义是__非数(结果不定)___。

数组
1、在matlab中,x是一个一维数值数组,现在要把数组x中的所有元素按原来次序的逆序排列输出,应该使用下面的()指令。

(a)x[end:1] (b)x[end:-1:1] (c)x (end:-1:1) (d)x(end:1)
2、在matlab中,a是一个字二维数组,要获取a的行数和列数,应该使用的matlab的命令是()。

(a)class(a) (b)sizeof(a) (c)size(a) (d)isa(a)
3、在matlab中,用指令x=1:9生成数组x。

现在要把x数组的第二和第七个元素都赋值为0,应该在指令窗中输入()
(a)x([2 7])=(0 0)(b)x([2,7])=[0,0]
(c)x[(2,7)]=[0 0](d)x[(2 7)]=(0 0)
4、在matlab中,依次执行以下指令:clear;a=ones(3,4); a(:)=[-6:5];这时,若在指令窗中输入指令b=a(:,2),那么,matlab输出的结果应该是()
(a)b = -3 -2 -1 (b)b = -2 -1 0 1
(c)b = -5 -1 3 (d)b = -5 -2 1 4
5、在matlab中,a = 1:9,现在执行如下指令l1 = ~(a5),则matlab的执行结果应该是l1 =___ 1 1 1 1 1 0 0 0 0___。

6、在matlab中,要求在闭区间[0,5]上产生50个等距采样的一维数组b,请写出具体
的matlab指令___linspace(0,5,50) ___。

7、在matlab中,a = [0:1/2:2]*pi,那么sin(a) = ________。

8、在matlab中,a=[1,2,3;4,5,6;7,8,0],b=[2,1,6;8,5,2;14,2,1]。

写出下面matlab语句
执行的结果:(为节省篇幅,把矩阵写成mat2str的形式)
(1) a==b [0 0 0; 0 1 0; 0 0 0]
(2) a.*b [2 2 18;32 25 12;98 16 0]
(3) a(:) [1 4
7 2 5 8 3 6 0]
(4) a(1,:)*b(:,3) 13
9、在matlab中,写出下面matlab语句执行的结果:
(1) clear,a = ones(2,6)
a =
1 1 1 1 1 1
1 1 1 1 1 1
(2) a(:) = 1:2:24
a =
1 5 9 13 17 21
3 7 11 15 19 23
(3) a([1:3:7])
ans =
1 7 13
(4) diag(diag(a))
ans =
1 0
0 7
(5) b = a(:,end:-1:1)
b =
21 17 13 9 5 1
23 19 15 11 7 3
10、请编写一段matlab程序,完成以下功能:
(1)生成一个100行,200列的二维随机数组;
a=rand(100,200);
(2)找出数组a中所有大于0.49且小于0.51的元素的单下标;
idx=find(a(:)0.49 a(:)0.51)
(3)数组a中满足(2)中的条件的元素有多少个?
length(idx)
(4)求出数组a中满足(2)中的条件的元素的和,并求出这些元
素的平均值;
sum(a(idx)), m=mean(a(idx))
(5)将(4)求出的平均值赋值给数组a中满足(1)中的条件的
每个元素。

a(idx)=m;
11、请编写一段matlab程序,完成以下功能:
(1)找出100到200之间的所有质数,将这些质数存放在一个行
数组里;
x=100:200;
p=x(isprime(x))
(2)求出这些质数之和;
sum(p)
(3)求出100到200之间的所有非质数之和(包括100和200)。

sum(x(~isprime(x)))
12、 y??0.7??
?2cosx?sinx ,编写一段matlab程序,要求如下 (1?x2)??
(1)在[0,2?]区间,每隔0.01取一x数值,计算出相应的y的函
数值;
x=0:0.01:2*pi;
y=(0.7+2*cos(x)./(1+x.^2)).*sin(x)
(2)根据matlab计算出的数据,找出在[0,2?]内该函数的极小值
的坐标。

[my,idx]=min(y)
x(idx)
数值计算
式值 = ___det(a)__,此矩阵的逆矩阵(如果存在的话) =
_inv(a)___。

(用matlab的函数表示)
2、求解下列方程组:
?x1?x2?3x3?x4?2?x?x?x?1?234??x1?x2?2x3?2x4?4
??x1?x2?x3?x4?0?3x?4y?7z?12w?4?5x?7y?4z?2w??3? ?x?8 z?5w?9????6x?5y?2z?10w??8
a=[1 1 3 -1;0 1 -1 1;1 1 2 2;1 -1 1 -1];
b=[2;1;4;0];
x=a\b
a=[3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10];
b=[4;-3;9;-8];
xyzw=a\b
3、求有理分式r?x2?2x?25x?2x?132?3x3?x??x3?0.5?的商多
项式和余多项式
n=conv([3 0 1 0],[3 0 0 0.5]);
d=conv([1 2 -2],[5 2 0 1]);
[q,r]=deconv(n,d)
424、一元多项式p?2x?3x?4x,写出表示p的matlab语句____,求
.3时p的数值的matlab语句p?0的根的matlab语句是____ __,
求x?4
是__ polyval(p,4.3)___。

程序设计
1、 m脚本文件和函数文件的有什么区别?
最主要的差别是,函数有自己的独立工作区,和外界的信息交换通
过输入输出参数实现;而脚本没有独立工作区,其直接使用宿主程
序的工作区,并把结果留在宿主程序中。

2、掌握下面程序设计中常用的函数及关键字:
input pause warning nargin nargout
for while if elseif else switch case otherwise end try catch break continue end
3、分别用for和while循环语句计算k??2的程序。

还请写出一种
避免循环的计算程i
i?063
序。

(不要用symsum函数)
k=0;
for i=0:63
k=k+i;
end
k=0; i=0;
while i=63
k=k+i;
i=i+1;
end
k = sum(2.^(0:63))
4、 matlab提供了两种循环结构,一种是for循环结构,另一种是___循环结构。

5、编写m函数求和s?1?2?3???n
function s=mysum(n)
s = sum(1:n);
6、编写m函数求积p?1?2?3???n
function p=mysum(n)
p = prod(1:n);
7、编写m函数列出从整数a到整数b之间能被3整除的奇数。

function r=odds3(a,b)
r=a:b;
r=r(mod(r,2)==1mod(r,3)==0)
8、编写m脚本列出从100到200不能被3整除同时也不能被7整除的数。

x=100:200;
x(mod(x,3)~=0mod(x,7)~=0)
9、一张纸厚0.06mm且足够大,试问将纸对折多少次,其厚度将超过10000m?
按题意,就是要求2^n * 0.06e-3 = 10000,所以
n = ceil(log(10000/0.06e-3)/log(2))
10、编写matlab脚本输出“水仙花数”及水仙花数的个数。

所谓“水仙花数”是一个3
位数,其各位数字的立方和等于该数本身。

例如153?1?5?3。

c=0;
for n=100:999
m=[fix(n/100) fix(mod(n,100)/10) mod(n,10)];
if n==sum(m.^3),
fprintf(%i = %i^3 + %i^3 + %i^3\n,n,m);
c=c+1;
end
end
fprintf(\n共%i个水仙花数\n,c)
输出结果:
153 = 1^3 + 5^3 + 3^3
370 = 3^3 + 7^3 + 0^3
371 = 3^3 + 7^3 + 1^3
407 = 4^3 + 0^3 + 7^3
共4个水仙花数
333
绘图
1、 matlab中,绘制三维曲面图的函数是()
(a)surf (b)plot (c)subplot (d)plot3
2、 matlab中,要绘制三维空间曲线,应该使用()函数。

(a)polar (b)plot (c)subplot (d)plot3
3、在matlab中,a是一个1000行2列的二维数值数组,现在要把a的第一列数据作
为横坐标,把a的第二列数据作为纵坐标,画出一条曲线,试写出相应的matlab语句_____plot(a(:,1),a(:,2))______。

4、 matlab绘图指令中的___指令允许用户在同一个图形窗里布置几个独立的子
图。

5、编写一段matlab程序,绘制出二元函数z?2sinxsiny三维网线图,要求如下: xy
(1)x,y的取值范围为?9?x?9,?9?y?9;
(2)x,y每隔0.5取一个点;
(3)图形的线型和颜色由matlab自动设定。

相关文档
最新文档