matlab习题2009

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

1. 请登陆美国MathWorks 公司的网站(),了解Matlab 软件的最新信息,然后查看现在大概有多少本MATLAB-based books (以MATLAB 为基本软件,来说明各个专业领域的教科书或工具书). 哪一个领域的MATLAB-based books 最多?中文书共有几本?

2. 请在Matlab的help中了解Matlab的Demo(演示)程序,你认为Matlab的哪些功能最让你感兴趣?

3. 请在MATLAB中直接输入下列常数,看它们的值是多少:

a. i

b. j

c. eps

d. inf

e. nan

f. pi

g. realmax

h. realmin

4. 请在Help中,找出具有下列功能的MATLAB 指令. (每一项只需找出一个相关度最高的MATLAB 指令. )

a. 找出矩阵的大小(即行数和列数)(Dimension,Size)

b. 改变矩阵的大小(例如将4×6 的矩阵改成12×2)(reshape)

c. 将矩阵左右翻转(Left-right flip)

d. 将矩阵上下翻转(Up-down flip)

e. 找出矩阵每一列的最大值(Maximum)

f. 对矩阵的每一列进行排序(sort)

g. 矩阵的旋转(Rotate)

h. 逆矩阵(Inverse matrix)的计算

i. 求矩阵的秩(rank)

j. 计算矩阵的行阶梯矩阵reduced row echelon form

k. 计算矩阵的特征值(Eigenvalue)与特征向量(Eigenvector)

l. 直角坐标转成极坐标(Cartesian coordinates, Polar coordinates)

m. 极坐标转成直角坐标

5. 写一个MATLAB 小程序findN01.m,求出最小的n值,使得n! > realmax((realmax为Matlab内置函数,表示Matlab能表示的最大实数). 请问n的值是多少?此时(n-1)! 的值又是多少?

6. MATLAB 的sqrt 指令可对任一数值进行开平方的运算. 用此指令求出下列各数的平方根,并验算之:

a. π

b. 2*i

c. -5+12*i

其中i 是单位虚数.

7. 写一个MATLAB 函数myFun.m 来计算下列方程式:

y = 0.5*exp(x/3)-x*x*sin(x)

其中x是函数的输入,y是函数的输出. 你的函数必须能够处理当x是标量或是向量的两种情况. 此外,请利用下述两列程序代码来画出此函数的图形:

x=0:0.1:10;

plot(x, myFun(x));

8. 写一个MATLAB 函数piFun.m 来计算下列级数:

f(n) = 4*(1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ...)

其中n为函数的输入,代表上述级数的项数,级数和f(n) 则是函数的输出.

9. 使用tic 和toc 指令来测量piFun(100000) 的计算时间. 请说明你的计算机规格以及其计算时间.

10. 请写一个函数minxy.m,其功能是由一个二维矩阵中找出小元素,用法如下:

[minValue, minIndex] = minxy(matrix)

其中matrix 是一个二维矩阵,minValue 则是其元素的最小值,而minIndex 是一个长度为2 的正整数向量,代表最小值的索引. (换句话说,matrix(minIndex(1), minIndex(2)) 的值即是minValue. )请测试

[minValue, minIndex] = minxy(magic(20))

所传回来的minValue 和minIndex 各是多少?提示:请尽量使用 min 指令.

11. 如果a = [92, 95, 58, 75, 69, 82],但我们执行下列sort 指令:

[b, index] = sort(a)

会得到b = [58, 69, 75, 82, 92, 95] 及index = [3, 5, 4, 6, 1, 2],其中index 的每个元素代表b的每个元素在 a 的位置,满足b等于a(index). 请写一个函数sort01.m,当输入为a时,可得到index2,满足a 等于b(index2). 以上述a向量为例,得到的index2 应该是[5, 6, 1, 3, 2, 4].

提示:你可以使用循环(如 for-loop 和 while-loop 等)完成,但是程序代码会比较凌乱,执行效率也会变差. 所以请尽量利用 sort 指令,而不要用到循环.

12. 假设在期中考后,我们用一个向量x来储存每个人的考试成绩. 请写一个函数ranking.m,输入为成绩向量x,输出则是此成绩的排名. 例如,当x = [92, 95, 58, 75, 69, 82] 时,ranking(x) 得到的排名向量则是[2, 1, 6, 4, 5, 3],代表92 分是排名第2,95 分是排名第1,58 分是排名第6,等等.

提示:你可以使用循环(如 for-loop 和 while-loop 等)完成此作业,但是程序代码会比较凌乱,执行效率也会变差. 所以请尽量利用 sort 指令,而不要用到循环.

13. 试写一函数regPolygon(n),其功能为画出一个圆心在(0, 0)、半径为1 的圆,并在圆内画出一个内接正n边形,其中一顶点位于(0, 1). 例如regPolygon(8) 可以画出如下之正八边型:

相关文档
最新文档