Matlab中数据结构总结

  • 格式:docx
  • 大小:34.25 KB
  • 文档页数:11

下载文档原格式

  / 21
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

参考链接:心心水滴论坛古木小永

主要数据结构包括数组,字符串,胞,结构体的用法,下面依次介绍

1数组

1.1数组的创建

创建数组的方法有很多,首先先讲一下如何手动去输入一个数组。比如我现在有两组数据,分别对应的是5个被试的身高以及体重,我想身高数据放在第一列,数据位

178,167,170,156,182,第二列数据为体重数据,其对应为65,50,63,70,67。我们想把这两组数据存在一个变量Data上,这个时候我们只要在matlab命令框中输入

>>Data = [178,65;167,50;170,63;156,70;182,67]

→ Data=

178 65

167 50

170 63

156 70

182 67

这里可以发现对于一堆数据的输入,可以先用一个中括号把所有数据括起来,一行的每个数据用逗号隔开或者可以通过空格,比如下面例子,行与行之间用分号隔开。

Data2 = [1 2 3;4 5 6]

→ Data2=

1 2 3

4 5 6

如果每个数据都需要这样输入,那么会很麻烦,这里就提供了一些简单的方法来输入比较规整的数据。

1. >>A = 1:5

→ A =

1 2 3 4 5

2. >>B = 1:2:10

→ B =

1 3 5 7 9

可以看到如果我们想输入一列数据,并且这些数据是以等差数列的方式排布,我们就可以用a:b:c这样的形式来写,意思就是从a开始,每隔b有一个数据,然后写直到不大于c这样一组数。当然其中b可以省略,省略默认b的值为1。

1.2数组的合并(这里要用到上面的A,B变量)

>> C = [A;B]

→ C =

1 2 3 4 5

1 3 5 7 9

>>D = [A,B]

→ D =

1 2 3 4 5 1 3 5 7 9

%其中A和B都是一个数组,如果其能保证对齐,那么这些数组是可以合并的,就好像上面的两条命令。可以发现如果用分号,那么合并的情况是以列的方式合并,如果用逗号,那么是以行的方式合并,这个和手动输入数组是一致的,只不过把前面的数字当成数组来操作就可以了。

1.3数组内部数据的取得(这里要用到前面的Data变量)

输入的方法我们有了,但我们如何来取出一个数据呢?先看看命令

>>Data(4,1) → ans = 156

如何取出一行数据

>>Data(3,:) → ans = 170 63

%和上面所说的一样,前面那个数代表行数,后面如果我们想取所有的数据,只需要在逗号后面写1:end就可以了,也就是第三行的对应的第一列到最后一列的数据,可以简写为一个冒号。同理比如取出第一列的数据可以写成

>>Data(1:end,1) 或者 Data(:,1)

但我们有的时候不希望取出一整列的数据,而是想选出某列当中的几行数据,这个时候我们就可以发现其实数据取得前面是管行,后面是管列,并且看到1:end这个就可以联想到我们前面所演示的如何输入规整的数组。说白了这个1:end其实就是一个数组,如果是这样,我们就可以以此类推,如果我想输出第二列的第一,三,五行数据,那么命令就是

>>Data([1,3,5],2)

%输出的结果我就不演示了,大家可以尝试一下。

1.4数组内部数据的修改以及增添

同样我们可以用上面的Data变量,比如我现在发现我在Data里面有个数据是错的,比如第4行的第二个数据觉得有问题,通过查看我们原始的数据发现第四个人的体重不是70而是50,那么我们就需要修改原始的数据。如果重新输入一遍那就太蛋疼了,所以修改数据是非常关键的。有了上面的一些经验,我们来看看如何修改这个数据

>> Data(4,2) = 50

→ Data =

178 65

167 50

170 63

156 50

182 67

%在这里我们发现Data数据变了。如果我们想改一行数据,比如第三行数据应该是180,61,命令是

>> Data(3,:) = [180,61]

→ Data =

178 65

167 50

180 61

156 50

182 67

%这里要注意我们要改写一行,一列数组,那么后面的数据尺寸一定要和前面那行或者列的尺寸相同。假如我们想改这个Data的第一列的第一,三行的数据,分别改为150,160 ,这个时候我们输入的方法就是

>>Data([1,3],1) = [150,160]

1.5数组的运算

>> A = 1:5;

>> B = A + 5

B = 6 7 8 9 10

2字符串

2.1字符串的创建

字符串的创建和数组的创建还是有一定的区别,使用单引号将所需要的字符括起来就可以(这里对比数组,数组是用中括号将数字括起来)

>>A = …hello world‟

A = hello world

%这里我们就建立了一个字符串变量,变量的内容就是hello world,同时我们可以再workspace当中查看这个变量。

注意:

1. 这里的单引号必须是英文字符的单引号,如果在中文输入法的情况下输入这个单引号是会出现错误的,这个事初学者经常会犯的错误。不能用双引号,会报错。

2. 字符串是用单引号括起来就可以,但我们想输入单引号这这个字符,那么就要在单引号的前面再加一个单引号,比如我想生成一个字符串是Tom‟s cat,这个时候的命令就是

>>A= …Tom‟‟s cat‟

A =Tom‟s cat

2.2字符串的合并

数组可以实现合并,如果维数匹配,那么两个数组可以合并成一个数组,那么字符串也可以合并,其合并的方法和数组的合并一样,譬如

>>A = …hello‟;%这里在命令的后面使用了分号,这个分号的意思就是运行这行命令,但不将结果显示出来,所以这个命令的意思就是创建一个变量名为A的字符串,并且变量A的内容是hello