matlab实验2MATLAB基础知识

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

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

相关主题
相关文档
最新文档