MATLAB教程2012a习题解答1-7章完整版-张志涌编-北航.doc
PAGE
PAGE 1
MATLAB R2012a
课后习题答案全解
第一章 基础准备及入门
习题1及解答
1.数字1.5e2,1.5e3 中的哪个与1500相同吗?
〖解答〗
1.5e3
2.请指出如下5个变量名中,哪些是合法的?
abcd-2 xyz_3 3chan a变量 ABCDefgh
〖解答〗
2、5是合法的。
3.在MATLAB环境中,比1大的最小数是多少?
〖解答〗
1+eps
4.设 a = -8 , 运行以下三条指令,问运行结果相同吗?为什么?
w1=a^(2/3)
w2=(a^2)^(1/3)
w3=(a^(1/3))^2
〖解答〗
(1)不同。具体如下
w1=a^(2/3)%仅求出主根
w2=(a^2)^(1/3)%求出(-8)^2的主根
w3=(a^(1/3))^2%求出(-8)主根后再平方
w1 =
-2.0000 + 3.4641i
w2 =
4.0000
w3 =
-2.0000 + 3.4641i
(2)复数的多方根的,下面是求取全部方根的两种方法:
(A)根据复数方根定义
a=-8;n=2;m=3;
ma=abs(a);aa=angle(a);
for k=1:m%m决定循环次数
sa(k)=(aa+2*pi*(k-1))*n/m;%计算各根的相角
end
result=(ma^(2/3)).*exp(j*sa)%计算各根
result =
-2.0000 + 3.4641i 4.0000 - 0.0000i -2.0000 - 3.4641i
(B)利用多项式求根
p=[1,0,0,-a^2];
r=roots(p)
r =
-2.0000 + 3.4641i
-2.0000 - 3.4641i
4.0000
5.指令clear, clf, clc各有什么用处?
〖解答〗
clear 清除工作空间中所有的变量。
clf 清除当前图形。
clc 清除命令窗口中所有显示。
6.以下两种说法对吗?(1)“MATLAB进行数值的表达精度与其指令窗中的数据显示精度相同。”(2)MATLAB指令窗中显示的数值有效位数不超过7位。”
〖解答〗
(1)否;(2)否。
7.想要在MATLAB中产生二维数组,下面哪些指令能实现目的?
S=[1,2,3;4,5,6;7,8;9]
S=[1 2 3;4 5 6;7 8 9]
S=[1,2,3;4,5,6;7,8,9] %整个指令在中文状态下输入
〖解答〗
前两种输入方法可以,后一种方法不行。
8.试为例1.3-5编写一个解题用的M脚本文件?
〖解答〗
直接点击新文件图标,出现M文件编辑器窗口;在该M文件编辑器中,输入例1.3-5中的全部指令;并另存为p109.m,便得到所需的脚本文件。
符号运算
习题2及解答
/1说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象?
3/7+0.1; sym(3/7+0.1); sym('3/7+0.1'); vpa(sym(3/7+0.1))
〖目的〗
不能从显示形式判断数据类型,而必须依靠class指令。
〖解答〗
c1=3/7+0.1
c2=sym(3/7+0.1)
c3=sym('3/7+0.1')
c4=vpa(sym(3/7+0.1))
Cs1=class(c1)
Cs2=class(c2)
Cs3=class(c3)
Cs4=class(c4)
c1 =
0.5286
c2 =
37/70
c3 =
0.52857142857142857142857142857143
c4 =
0.52857142857142857142857142857143
Cs1 =
double
Cs2 =
sym
Cs3 =
sym
Cs4 =
sym
/2在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量.
sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)')
〖目的〗
理解自由符号变量的确认规则。
〖解答〗
symvar(sym('sin(w*t)'),1)
ans =
w
symvar(sym('a*exp(-X)'),1)
ans =
a
symvar(sym('z*exp(j*th)'),1)
ans =
z
/3求以下两个方程的解
(1)试写出求三阶方程正实根的程序。注意:只要正实根,不要出现其他根。
(2)