河南城建学院MATLAB上机实验答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一熟悉Matlab工作环境
1、熟悉Matlab的5个基本窗口
思考题:
(1)变量如何声明,变量名须遵守什么规则、是否区分大小写。
答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。变量名要遵守以下几条规则:➢变量名必须以字母开头,只能由字母、数字或下划线组成。
➢变量名区分大小写。
➢变量名不能超过63个字符。
➢关键字不能作为变量名。
➢最好不要用特殊常量作为变量名。
(2)试说明分号、逗号、冒号的用法。
分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。
逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。
冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。
(3)linspace()称为“线性等分”函数,说明它的用法。
LINSPACE Linearly spaced vector. 线性等分函数
LINSPACE(X1, X2) generates a row vector of 100 linearly
equally spaced points between X1 and X2.
以X1为首元素,X2为末元素平均生成100个元素的行向量。
LINSPACE(X1, X2, N) generates N points between X1 and X2.
For N < 2, LINSPACE returns X2.
以X1为首元素,X2为末元素平均生成n个元素的行向量。如果n<2,返回X2。
Class support for inputs X1,X2:
float: double, single
数据类型:单精度、双精度浮点型。
(4)说明函数ones()、zeros()、eye()的用法。
ones()生成全1矩阵。
zeros()生成全0矩阵。
eye()生成单位矩阵。
2、Matlab的数值显示格式
思考题:
(1)3次执行exist(’pi’)的结果一样吗?如果不一样,试解释为什么?
>> pi
ans =
3.1416 >> sin(pi); >> exist('pi') ans =
5 >> pi=0;
>> exist('pi')
ans =
1
>> pi
pi =
>> clear
>> exist('pi')
ans =
5
>> pi
ans =
3.1416
答:3次执行的结果不一样。exist()函数是返回变量搜索顺序的一个函数。在第一次
执行时返回5代表变量pi是由Matlab构建的变量。在第二次执行时已经通过赋值语句定义
了变量pi,返回1代表pi是工作空间变量。第三次执行前清除了工作空间,此时pi为系统
默认常量,和第一次执行时性质一样,所以又返回5。
(2)圆周率pi是系统默认常量,为什么会被改变为0。
pi=0 为赋值语句,此时pi不再是系统默认常量,而是定义的变量了。
二 MATLAB语言基础
1、向量的生成和运算
练习:使用logspace()创建1~4π的有10个元素的行向量。
>> A=logspace(0,1.0992,10)
A =
1.0000 1.3247 1.7550
2.3249
3.0799
4.0801
5.4051 7.1603 9.4856 12.5661
2、矩阵的创建、引用和运算
(1)矩阵的创建和引用
练习:创建以下矩阵:A为3×4的全1矩阵、B为3×3的0矩阵、C为3×3的单位矩阵、D为3×3的魔方阵、E由C和D纵向拼接而成、F抽取E的2~5行元素生成、G由F经变
形为3×4的矩阵而得、以G为子矩阵用复制函数生成6×8的大矩阵H。
>> A=ones(3,4),B=zeros(3,3),C=eye(3,3),D=magic(3)
A =
1 1 1 1 1 1 1 1 1 1 1 1
B =
0 0 0 0 0 0
0 0 0
C =
1 0 0 0 1 0
0 0 1
D =
8 1 6
3 5 7
4 9 2
>> E=[C;D], F=E(2:5,:), G=reshape(F,3,4)
E =
1 0 0
0 1 0
0 0 1
8 1 6
3 5 7
4 9 2
F =
0 1 0
0 0 1
8 1 6
3 5 7
G =
0 3 1 1
0 1 5 6
8 0 0 7
>> H=repmat(G,2)
H =
0 3 1 1 0 3 1 1 0 1 5 6 0 1 5 6 8 0 0 7 8 0 0 7 0 3 1 1 0 3 1 1 0 1 5 6 0 1 5 6
8 0 0 7 8 0 0 7 2)矩阵运算
练习:1)用矩阵除法求下列方程组的解x=
>> A=[6 3 4;-2 5 7;8 -1 -3],B=[3;-4;-7]
A =
6 3 4 -2 5
7
8 -1 -3 B =
3 -
4 -7
>> x=A\B
x =
1.0200
-14.0000
9.7200
2)求矩阵的秩;
>> r=rank(A)
r =
3
3)求矩阵的特征值与特征向量>> [X,Lamda]=eig(A)
X =
0.8013 -0.1094 -0.1606 0.3638 -0.6564 0.8669 0.4749 0.7464 -0.4719 Lamda =
9.7326 0 0 0 -3.2928 0 0 0 1.5602
4)矩阵的乘幂(平方)与开方>> A^2
ans =
62 29 33
34 12 6