MATLAB经典练习题

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

Matlab 变量命名要符合什么样的规则?

用MATLAB 语句输入矩阵⎥⎥

⎥⎥⎦⎤⎢⎢⎢

⎢⎣⎡=142314321234

4321A 和⎥

⎥⎥⎦

⎢⎢

⎢⎣⎡++++++++++++++++=i i i i i i i i i i i i i i i i

B 41143223411423324132231414233241 如果给出A (5; 6) = 5 命令将得出什么结果?

假设已知矩阵A ,试给出相应的MATLAB 命令,将其全部偶数行提取出来,赋给B 矩阵, 用A =magic(8) 命令生成A 矩阵,用上述的命令检验一下结果是不是正确。

查阅命令函数“dot ”和“cross ”的作用及使用方法。

先构造矩阵⎥⎥

⎥⎥⎦

⎤⎢⎢⎢

⎢⎣⎡=105017368

531A ;显示该矩阵的第3行第1列的元素;再显示该矩阵的第1、4行第2、3列的元素;将该矩阵第3行第2列元素改成8;添加1行1列使得第5行第4列的元素为9,其它元素为0.

(1)矩阵每一行中的元素之间要用某个符号分隔,这个符号可以是( )。 A. 分号 B. 减号 C. 回车 D. 空格 (2)ones(n,m)函数是用来产生特殊矩阵的,由它形成的矩阵称为( )。

A. 单位矩阵

B. 行向量

C. 1矩阵

D. 列向量 (3)在 MATLAB 中,函数 log(x)是对 x 求对数,它的底是( )。

A. 2 B 10

C. x

D. e (4) 当 a =-3.2,使用取整函数得出-4,则该取整函数是( )。 A. fix

B. round

C. ceil

D. floor

(5) 表达式 ax 3+by 2 改写成 MATLAB 的语句形式是( )。

A. ax3+by2

B. a*x3+b*y2

C. a×x3+b×y2

D. a*x^3+b*y^2 (6) 已知 a=0:1:4,b=5:-1:1,下面的运算表达式出错的是( )。

A. a+b

B. a*b

C. a'*b

D. a./b (7) 将矩阵 a=[1 2 3;4 5 6;7 8 9]改变成 b=[3 6 9;2 5 8;1 4 7]的命令是( )。

A. b=a'

B. b=flipud(a)

C. b=mfliplr(a)

D. b=rot90(a)

判断题

(1)使用函数 zeros(5)生成的是一个具有 5 个元素的向量。

(2)在 MATLAB 命令窗口直接输入矩阵时,矩阵数据要用中括号括起来,且元素间必

须用逗号分隔。

(3)A.*B 时必须要求 A 和 B 结构大小相同,否则不能进行运算。

(4)A 、B 两个行列分别相同的数组,当执行 A>B 的关系运算后,其结果是0或者1。 (5)abs( )是一个针对数值量求绝对值的函数。

(6)length( )是一个只能求字符串长度或向量维数的函数。 填空题

(1)有矩阵A=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16],且有向量 x=[2,4],则C=A(x,:)= 。

(2)x 为从 0 到 4π 步长 0.1π 的向量,使用命令 创建。 (3)语句x=logspace(0,2,3)生成的向量x 是: 。 (4)有矩阵A=[4 2 3 4;16 6 7 8;9 10 11 12;1 14 15 5],当对它进行B=A(:,[1,3])运算,结果是:B= 。

(5)下列语句 A=linspace(2,18,9);B=reshape(A,3,3)的执行结果是: B= 。

先构造矩阵⎥⎥

⎥⎥⎦

⎤⎢⎢⎢

⎢⎣⎡=105017368

531A ;显示该矩阵的第3行第1列的元素;再显示该矩阵的第1、4行第2、3列的元素;将该矩阵第3行第2列元素改成8;添加1行1列使得第5行第4列的元素为9,其它元素为0.

用MATLAB 语言实现下面的分段函数⎪⎪⎩⎪

⎪⎨⎧-<-≤>=10

,5,2110,5)(x D x x x x f 。

编写一个矩阵相加函数mat_add(),使其具体的调用格式为A =mat_add(A 1,A 2,A 3,… ), 要求该函数能接受任意多个同维矩阵进行加法运算。

试定义函数)sin()cos(16)(2x x x x x f +-=,并求函数在3=x 处的值。

编写一个矩阵相加函数mat_add(),使其具体的调用格式为A =mat_add(A 1,A 2,A 3,… ), 要求该函数能接受任意多个同维矩阵进行加法运算。

试定义函数)sin()cos(16)(2x x x x x f +-=,并求函数在3=x 处的值。

闰年是指这样的年份:

能被4整除而不能被100整除(如2004年就是闰年,1800年不是。); 能被400整除(如2000年是闰年)。

(1)自己编程找出从1到5000年间的闰年,返回一个向量; (2)编写一个函数,当输入年份是闰年时,返回值‘leap year ’,否则返回‘not a leap year ’。

(3)查询’leapyear ’,运用该函数找出从1到5000年间的闰年。 用

+-+-≈7

1

513114π

公式求π的近似值,直到最后一项的绝对值小于610-为止,试编写其M 脚本文件。

分别用for 和while 循环语句来寻找第一个大于10000的Fibonacci 数,其中Fibonacci 是指满足a(i)=a(i-1)+a(i-2)的数,a(1)=a(2)=1。

求解n!为100位数的最小n 值。

求解表达式

∑=20

1

!n n 的值。

求0—50之间3与5的公倍数。

利用rand 函数产生10个随机整数,

(1)利用嵌套for 循环进行从大到小排序; (2)如果是从小到大排序呢?

(3)利用break 语句来终止for 循环对程序进行修改,查看循环次数。

为测试程序执行的效率,可采用tic 和toc 函数,请编写名为tech1.m 和tech2.m 的脚本文件,用两种不同方法来产生正弦函数sin(t),t=0,0.01,…,100。 (1)用for 循环; (2)用向量组形式。

(3)比较运行结果,说明了什么问题。

用MATLAB 语言的基本语句 (1)绘制一个正三角形;

(2)试结合循环结构,编写一个小程序,在同一个坐标系下绘制出该正三角形绕其中心旋

转后得出的一系列三角形; (3)调整旋转步距观察效果。

相关文档
最新文档