MATLAB经典练习题 下载本文

内容发布更新时间 : 2024/5/5 11:34:02星期一 下面是文章的全部内容请认真阅读。

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

?1?4用MATLAB 语句输入矩阵A???2??3233232444??1?4i?4?1i1??和B???2?3i1???1??3?2i2?3i3?2i3?2i2?3i3?2i4?1i2?3i4?1i4?1i?1?4i?? 1?4i??1?4i?如果给出A(5; 6) = 5 命令将得出什么结果?

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

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

?1?8先构造矩阵A???7??536105?3??;显示该矩阵的第3行第1列的元素;再显示该矩阵的第1、40??1?行第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 A. fix

B 10

C. x

D. e D. floor

(4) 当 a=-3.2,使用取整函数得出-4,则该取整函数是( )。 B. round C. ceil

(5) 表达式 ax3+by2 改写成 MATLAB 的语句形式是( )。

A. ax3+by2 C. a×x3+b×y2 A. a+b A. b=a'

判断题

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

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

B. a*b

B. a*x3+b*y2 D. a*x^3+b*y^2 C. a'*b

D. a./b D. b=rot90(a)

(6) 已知 a=0:1:4,b=5:-1:1,下面的运算表达式出错的是( )。

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

B. b=flipud(a) C. b=mfliplr(a)

须用逗号分隔。

(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= 。

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

?5,x?10?1?用MATLAB 语言实现下面的分段函数f(x)??x,x?D。

?2???5,x??10

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

试定义函数f(x)?x16?x2?cos(x)sin(x),并求函数在x?3处的值。

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

试定义函数f(x)?x16?x2?cos(x)sin(x),并求函数在x?3处的值。

闰年是指这样的年份:

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

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

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

?111?1?????公式求?的近似值,直到最后一项的绝对值小于10?6为止,试编4357写其M脚本文件。

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

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

求解表达式

?n!的值。

n?120

求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)调整旋转步距观察效果。

建立函数实现: 输入正整数n,返回一个n行n列的矩阵,矩阵中i行j列的元素为ln(i?j).并求n?3时的结果.

建立函数:判断输入变量是否为0,若是0则结果显示1,否则为0. 并运行输入-7时的结果.

建立函数: 实现返回输入的两个变量中数值较大变量. 并输入-4,8,给出运行结果. 5.13:建立函数: 输入正整数n,返回值ln(?i).并求n?8时的结果.

i?1n

一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下. 求它在第10次落地时,共经过多少米?第10次反弹有多高?

?x?1,x?2?3x,2?x?8?设函数f(x)??,求函数在5、9、-4处的函数值。

?4x?5,8?x?20??cos(x)?sin(x),x?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

用符号函数法求解方程at?bt?c?0。

用符号计算验证三角等式:

sin(?1)cos(?2)-cos(?1)sin(?2) =sin(?1-?2) 。

因式分解:x4?5x3?5x2?5x?6。

??ax2?by?c?0求代数方程组?关于x,y的解。

?x?y?0?2

对符号表达式x?y进行因式分解。

展开符号表达式(x?1)?(2x?1)。

3333