MATLAB经典练习题
-
Matlab
变量命名要符合什么样的规则
?<
/p>
1
4
用
MATLAB
语句输入矩阵
A
2
3
2
3
3<
/p>
2
3
2
4
4
4
1
4
i
4
1
i
1
和
B
<
/p>
2
3
i
1
1
3
2
i
2
3
i
3
2
i
3
<
/p>
2
i
2
3
i
3
2
i
4
1
i
2
3
i
4
1
i
4
1<
/p>
i
1
4
i
1
4
i
1
4
i
如果给出
A
(5
;
6) = 5
命令将得出什么结果?
假设已知矩阵
A
,试给出相应的
MATLAB
命令,将其全部偶数行提取出来,赋给
B
矩阵,
用
A
=magic(8)
命令生成
A
矩阵,用上述的命令检验一下结果是不是正确。
查阅命令函数“
dot
”和“
cross
”的作用及使用方法。
1
8
先构造矩阵
A
7
5
3
6
1
0
5
3
;显
示该矩阵的第
3
行第
1
列的元素;再显示该矩阵的第
1
、
4
0
1
行第
2
、
3
列的元素;将该矩阵第
3
行第
2
列元素改成
8
p>
;添加
1
行
1
p>
列使得第
5
行第
4
列
的元素为
9
,其它元素为
0.
(
1
)矩阵
每一行中的元素之间要用某个符号分隔,这个符号可以是
(
)
。
A.
分号
B.
减号
C.
回车
D.
空格
(2)ones(n,m)<
/p>
函数是用来产生特殊矩阵的,由它形成的矩阵称为
(
)
。
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)
表达式
ax
3
+
by
2
改写成
MATLAB
的语句形式是
(
)
。
A.
ax3+by2
C.
a×x3+b×
y2
A. a+b
A. b=a'
判断题
(1)
使用函数
zeros(5)
生成的是一个具有
5
个元素的向量。
(2)
在
MATLAB
命令窗口直接输入矩阵时,
矩阵数据要用中括号括起来,
< br>且元素间必
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
< br>的关系运算后,其结果是
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]<
/p>
,
则
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=linspac
e(2,18,9);B=reshape(A,3,3)
的执行结果是:
B=
。
1
p>
8
先构造矩阵
A
7
p>
5
3
6
1
0
5
3
< br>;显示该矩阵的第
3
行第
1
p>
列的元素;再显示该矩阵的第
1
、
4
0
1
行第
2
、
3
列的元素;将该矩阵第
3
行第
2
列元素改成
8
;添加
1
行
1
列使得第
5
行第
4
列
的元素为
9
,其它元素为
0.
5
,
p>
x
10
1
用
MATLAB
语言实现下面的分段函数
f
(
x
)
x
,
x
< br>D
。
2
5
,
x
p>
10
编写一个矩阵相加函数
mat_add()
,使其具体的调用格式为
A
p>
=mat_add(
A
1,
A
2,
A
3,
„
)
,
要求该函数能接受任意多个同维矩阵进行加法运算。
试定义函数
f
(
x
)
x
16
x
2<
/p>
cos(
x
)
sin(
x
)
,并求函数在
x
3
< br>处的值。
编写一个矩阵相加函数
mat_add()
,使其具体
的调用格式为
A
=mat_add(
A
1,
A
2,
A
3,
„
)
,
要求该函数能接受任意多个同维矩阵进行加法运算。
试定义函数
f
(
x
)
x
16
x<
/p>
2
cos(
x
)
sin(
x
)
,并求函数在
x
< br>3
处的值。
闰年是指这样的年份:
能被
4
整除而不能被
10
0
整除(如
2004
年就是闰年
,1800
年不是。
)
;
能被
400
整除(如
2000
年是闰年)
。<
/p>
(
1
)自己编
程找出从
1
到
5000
年间的闰年,返回一个向量;
(
2
)编写一个函数,当输入年份是闰年时,返回值‘
lea
p
year
’
,否则返回‘
not
a
leap
year
’
。
(
3
)查询’
leapyear
’
,
运用该函数找出
从
1
到
5000
年间的闰年。
用
1
1
1
1
公式求
的近似值,直到最后一项的绝对值小于
10
< br>
6
为止,试编
4
3
5
7
写其
M
脚本文件。
分别用
for
和
whil
e
循环语句来寻找第一个大于
10000
的
Fibonacci
数,其中
Fi
bonacci
是指满足
a(i)=a(i-1)+a(i-2
)
的数,
a(1)=a(2)=1
。<
/p>
求解
n!<
/p>
为
100
位数的最小
n
值。
求解表达式
n
!
< br>的值。
n
< br>1
20
求
0
—
50
之间
3
与
5
的公倍数。
利用
rand
函数产生
10
个随机整数,
(
1
)利用嵌套
< br>for
循环进行从大到小排序;
(
2
)如果是从小到大排序呢?
<
/p>
(
3
)利用
br
eak
语句来终止
for
循环对程序进
行修改,查看循环次数。
为测试程
序执行的效率,可采用
tic
和
toc
函数
,
请编写名为
tech1.m
和
tech2.m
的脚本文
件,用两种不同方法来产生正弦函数
sin(t),t
=0,0.01,
„
,100
。
(
1
)用
for
循环;
(
p>
2
)用向量组形式。
(
3
)比较运行结果,说明了什么问题。
< br>
用
MATLAB
语言的基本语句
(
< br>1
)绘制一个正三角形;
(<
/p>
2
)试结合循环结构,编写一个小程序,在同一个坐标系下绘制出
该正三角形绕其中心旋
转后得出的一系列三角形;
(
3
)调整旋转步距观察效果。
< br>
建立函数实现
:
输入正整数
n
,
返回一
个
n
行
n
列的
矩阵,
矩阵中
i
行
j
列的元素为
ln(
i
j
)
.
并求
n
3
< br>时的结果
.
建立函数
:
判断输入变量是否为
0
,
若是
0
则结果显示
1
,
否则为
0.
并运行输入
-7
时的结果
.
建立函数
:
实现返回输入的两个变量中数值较大变量
.
< br>并输入
-4
,
8
,给出运行结果
.
5.13
:
建立函数
:
输入正整数
n
,返回值
ln(
p>
i
)
.
并求
n
8
时的结果
p>
.
i
1
n
一球从
100<
/p>
米高度自由落下
,
每次落地后反跳回原高
度的一半
,
再落下
.
求它在第
10
次落地
时
,
共经过多少米
?
第
10
次反弹有多高
?
< br>
x
1
,
x
2
3
x<
/p>
,
2
x
8
设函数
f
(
x
)
,求函数在
5
、
9
、
-4
处的函数值。
4<
/p>
x
5
,
8
x
20
cos(
x
)
sin(
p>
x
),
x
2
常用的创建符号变量的方法有几种?请认真体会。
下面三种表示方法有什么不同的含义?
(
1
)
f=3*x^2+5*x+2
(
2
)
f='
3*x^2+5*x+2'
(
3
)<
/p>
x=sym('x')
f=3*x^2+5*x+2
用符号函数法求解方程
at
bt
c
0
。
用符号计算验证三角等式:
sin(
1
)co
s(
2
)-cos(
1
)sin(
2
) =sin(
1<
/p>
-
2
)
。
因式分解:
x
4
5
x
3
5
x
2
5
x
6
。
ax
2
b
y
c
0<
/p>
求代数方程组
关于
x,y
的解。
x
y
0
2
对符号表达式
x
y
< br>进行因式分解。
展开符号表
达式
(
x
1
)
(
2
p>
x
1
)
。
3
3
3
3