matlab实验2MATLAB基础知识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验2 MATLAB基础知识
一、实验目的
1.熟悉MATLAB的数据类型
2.熟悉MATLAB的基本矩阵操作
3.熟悉MATLAB的运算符
4.熟悉MATLAB的字符串处理
二、实验内容
1.创建结构体DataTypes,属性包含MATLAB支持的所有数据类型,并通过赋值构
造结构体二维数组。
DataTypes.char=char([65]);
DataTypes.string='hello';
DataTypes.int=100;
DataTypes.single=1.560
DataTypes =
char: 'A'
string: 'hello'
int: 100
single: 1.5600
>> DataTypes(2).char=char([66]);
DataTypes(2).string='kugou';
DataTypes(2).int=200;
DataTypes(2).single=3.14
DataTypes =
1x2 struct array with fields:
char
string
int
single
2.用满矩阵和稀疏矩阵存储方式分别构造下述矩阵。
A=
答:
A =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
B =
A =
0 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
A =
0 0 0 0
1 1 0 0
0 0 1 0
0 0 0 1
A =
0 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1
A =
0 1 0 0
1 0 0 0
0 0 1 0
0 0 0 1
S=sparse([1,2,3,4],[2,1,3,4],[1,1,1,1],4,5);
D=full(D)
D =
0 1 0 0 0
1 0 0 0 0
0 0 1 0 0
0 0 0 1 0
3.在矩阵A末尾增加一行(元素全为1)得到矩阵B,删除矩阵A的最后一列得到
矩阵C,替换矩阵A的所有非零元素为2得到矩阵D。分别查看矩阵(A,B,C,D)的长度。
答:
A=eye(4)
B=zeros(4,1)
A(1,1)=0
A(2,1)=1
A(1,2)=1
A(2,2)=0
C=[A B]
A =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
B =
A =
0 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
A =
0 0 0 0
1 1 0 0
0 0 1 0
0 0 0 1
A =
0 1 0 0
1 1 0 0
0 0 1 0
0 0 0 1
A =
0 1 0 0
1 0 0 0
0 0 1 0
0 0 0 1
C =
0 1 0 0 0
1 0 0 0 0
0 0 1 0 0
0 0 0 1 0 >> A=C
A =
0 1 0 0 0
1 0 0 0 0
0 0 1 0 0
0 0 0 1 0
B =
1 1 1 1 1 >>
B =
0 1 0 0 0
1 0 0 0 0
0 0 1 0 0
0 0 0 1 0
1 1 1 1 1
C =
0 1 0 0
1 0 0 0
0 0 1 0
0 0 0 1
A ans = 1 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 >> D=ans+ones(4,5) D = 2 1 2 2 2 1 2 2 2 2 2 2 1 2 2 2 2 2 1 2 >> a=size(A) b=size(B) c=size(C) d=size(D) a = 4 5 b = 5 5 c = 4 4 d = 4 5 4.给定矩阵E=rand(4,4),计算C+E, C.*E和C\E。 >> E=rand(4,4) E = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 >> C+E ans = 0.9501 1.8913 0.8214 0.9218 1.2311 0.7621 0.4447 0.7382 0.6068 0.4565 1.6154 0.1763 0.4860 0.0185 0.7919 1.4057 >> C.*E ans = 0 0.8913 0 0 0.2311 0 0 0 0 0 0.6154 0 0 0 0 0.4057 >> C\E ans = 0.2311 0.7621 0.4447 0.7382 0.9501 0.8913 0.8214 0.9218 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 5.将10进制的80转换为二进制的字符串,并从中查找0的个数。 答: