当前位置:文档之家› matlab实验2MATLAB基础知识

matlab实验2MATLAB基础知识

实验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<ones(4,5)
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的个数。

答:
dec2bin(80)
ans =
s='1010000'
n=strfind(s,'0')
s =
n =
2 4 5 6 7
>> length(n)
ans =
5。

相关主题