Matlab中数据结构总结

时间:2019-05-12 08:18:00下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《Matlab中数据结构总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《Matlab中数据结构总结》。

第一篇:Matlab中数据结构总结

参考链接:心心水滴论坛

古木小永

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

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 4 5

如果每个数据都需要这样输入,那么会很麻烦,这里就提供了一些简单的方法来输入比较规整的数据。1.>>A = 1:5  A = 2 3 4 5 2.>>B = 1:2:10

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

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

>> C = [A;B]

 C = 2 3 4 5

3 5 7 9 >>D = [A,B]  D = 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.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 >>B= „world‟;

%创建字符串B >>C= [A,B]

%将A,B这两个字符串以水平方式合并起来,结果见下面 C = helloworld >>D= [A;B]

%将A,B这两个字符串以垂直方式合并起来,结果见下面 D =

hello

world

最常用的还是水平合并

2.3 字符串的使用

现在我们先创建一个字符串,比如是一个数据的文件名

>>filename = „data.txt‟;

这个时候我们只是想看看这个文件是什么类型的文件,也就是我们需要将后面三个字符取出来,而不去管其它的内容,获取的方法和数组的使用方法一致,可以使用括号来实现这个功能,譬如

>>filename(end-2:end)%这个命令的意思是取出这个字符串倒数第三至最后一个字符 ans = txt

如果我们想取出前面文件名那部分,而不想关注后面的数据类型,这时候使用方法如下

>>filename(1:end-4)

%取出字符串的第一个至倒数第五的字符 ans = data 2.4 字符串的修改

这个可以参照数组的用法,这里就不详细的解释了,如果有问题可以参考数组的用法 >>A = „helloworld‟;

%创建字符串

>>A(6:10)= „China‟

%将helloworld中的world改成China A =

helloChina 注意: 这里赋值号后面所跟的字符数量要和前面A中要修改的字符数量相同,如果不匹配的话是会出现错误的。

2.5 字符串的其它用法

数组的其中一个用法就是在数组后面的括号中加入一个逻辑变量数组,这样就可以取出逻辑数组中那个对应是true的那个位置的值,这个用法在字符串中同样适用。譬如

>>A= „helloChina‟;

>>index= A~=‟h‟

%取出helloChina 当中不是h这个字符的位置返回一个逻辑数组,这个数组的意思就是当helloChina当中不等于h的那个位置为true,否则为false index= 0 1 1 1 1 1 0 1 1 1 >>B= A(index)B =

elloCina 这个用法经常会用来去除字符串当中的空格,在这里就先注意一下。胞

好比“数组”是个容器(这里我们将字符串也当成数组看待),它可以装很多相同类型的数据。但后面经常会碰到我们希望找到一个更大的容器能装各式各样的“数组”,这个时候我们就用到了胞(cell)。

在我眼中胞就是一个能装各种各样数据类型的这么一个容器,可以装前面所讲的所有的数据类型,还可以装后面要讲的结构体,甚至胞还可以自己装自己,也就是一个胞中套一个胞。

3.1

胞的创建

数组的创建是用方括号,数组的调用要用到小括号,胞的创建是用花括号,胞的调用既可以用小括号,也可以用花括号,但效果不一样。对于胞的调用会在后面详细的介绍,但前面所说的这些括号的使用是很多初学者经常弄混的,所以这个需要大家注意一下。

胞的创建要用花括号,譬如: >>A = {„helloworld‟ , true, [1,2,3,4]} A = 'helloworld' [1] [1x4 double]

这里我们创建了一个胞,这个胞里面有三个元素,第一个元素是一个字符串,字符串的内容是helloworld,第二个元素是一个逻辑型变量,其值为true,第三个元素是一个数组,数组里面有4个整型变量。创建的方法很简单,用花括号将要放在一起的东西括起来,然后用逗号或者分号隔开,分号和逗号的使用和在创建数组时是一样的。

看起来胞很难用,乱七八糟的一堆东西,但在后面用的过程中,胞里面的所存的东西一般都是同一种类型的,比如要么都是数组,要么都是字符串。这里也只是显示一下胞的里面是可以装各种各样的数据类型。当然胞里面也可以装变量,譬如 >>M = „helloworld‟;>>N = „Tom‟‟s cat‟;>>A = {M , N , [1,2,3,4]}

A = 'helloworld' 'Tom's cat' [1x4 double]

3.2 胞中元素的调用(重点与难点)

比如我们现在有一堆字符串组成了一个胞,这个时候我们如何来调用这个字符串是一个很重要的问题。在前面我有说过胞的调用既可以使用小括号,也可以使用花括号,下面我们来看看其区别在什么地方。

>> A ={'data1.txt','data2.txt','data3.txt'};%创建一个胞,里面有三个字符串 >> M = A(1)%将A(1)这个东西存到M这个变量中 M = 'data1.txt'

>> N = A{1}

%将A{1}这个东西存到N这个变量中 N = data1.txt

这个时候我们可以在workspace中看到,M这个变量的属性是 1*1cell,而N这个变量的属性是字符串。也就是说用小括号调用的时候,没有改变cell的属性,出来的东西还是cell,然而当用花括号调用的时候,出来的东西是原本我们存进去的东西,比如我们存一个字符串的时候,调用出来的就是一个字符串,如果存的是一个数组,那么调用出来的就是一个数组。

假如我们现在只需要A这个胞中的前两个字符串,而第三个字符串我们不需要,这个时候我们可以这样使用

>>B = A(1,1:2)%这个用法和数组的用法一样,并且如果这个cell是一行或者一列,可简写为

>>B = A(1:2)

也就是说大规模的调用胞中的元素的时候会用小括号,而胞中单一的元素调用用的是花括号。同样我们还可以更进一步的调用胞中的元素。比如 >> A ={'data1.txt','data2.txt','data3.txt'};%创建一个胞,里面有三个字符串 >> B = A{1}(end-2:end)%取出胞的第一个元素(data1.txt)的后三个字符(txt)的使用方法 B = txt

同样如果胞里面存的是一个数组,我们希望取出数组中的某个元素或者某行数据,也可以使用类似的方法。比如

>>A = {[1,2;3,4],[5,6;7,8]} %创建一个胞,胞里面的两个元素都一个2*2数组 A = [2x2double] [2x2 double]

>>B = A{2}(:,2)

%取出第二个矩阵的第二列数 B =

也就是说这里我们只要将A{2}当成一个数组就可以了,里面的调用,修改都可以参照数组的用法

3.3 胞中元素的添加

比如现在有个胞,里面只有2个矩阵,我现在想增加第三个矩阵,用法如下 >>A = {[1,2;3,4],[5,6;7,8]} %创建一个胞,胞里面的两个元素都一个2*2数组 >>A{3} = [9,10;11,12]

A = [2x2double] [2x2 double] [2x2 double] 或者

>> A(3)= {[9,10;11,12]}

A = [2x2double] [2x2 double] [2x2 double]

这里我们发现用圆括号和花括号都可以实现胞中元素的添加,使用花括号的时候,只要直接写内容就好,而使用圆括号的时候,需要先生成一个胞,然后将这个胞添加到原来那个胞的后面。

注意:如果使用A{3} = {[9,10;11,12]},在matlab当中是不会出错的,但可以发现结果是 [2x2 double] [2x2double] {1x1 cell} 如果仅仅用A{3}(:,2)是会出错的,所以尽量避免不要弄混了。3.4 胞的一个常用用法

比如现在我有3个txt文档,里面存储着3个被试的行为数据,我们想通过循环的方式来依次读这三个文档,这个时候就会碰到一个问题,如何去调用这三个txt文档的文件名? 由于现在还没有将如何使用循环,在这里就先简单说一下,我们现在写的命令,运行的时候是按照命令从上到下的顺序依次运行一遍。但假如我们有在一堆代码中有其中一段需要重复运行几次,那么最简单的方法就是将这段代码复制粘贴几次,但如果这样做,那么程序就会变得很冗杂,于是就会用到循环这个东西,也就是我会告诉电脑,你运行到这里的时候给我重复运行其中的这几条命令。

但只是重复而没任何改变的话,那么这个循环就太死板了。更多情况下重复的过程中会有些许的变化,但变化不会太大。这个时候就需要一个能变得东西,比如我有一个变量i,我希望第一次循环的时候i等于1,第二次循环的时候i等于2,这样我就可以通过这个i来改变每次循环的内容。对于怎么写这个循环以及循环的用法,后面会有专门的一节来介绍。这里就记得在每次循环的过程中i就会增大1.对于前面的这个问题,我们可以先生成一个胞,这个胞里面存着这些txt文档的文件名。譬如

>>filename = {„data1.txt‟ , ‟data2.txt‟ , ‟data3.txt‟}

当我们调用第一个文件的时候,我们需要告诉一个读txt文档函数需要读的文件名是什么,这个时候我们就可以告诉那个函数要读的文件名是filename{i},也就是说当第一次循环的时候,读的txt文档的文件名就是filename{1},也就是字符串data1.txt,后面也就可以处理这个文件的数据,当循环第二次的时候,调用的文件名就变成filename{2},就可以处理第二个文件,以此类推。

当然我们发现在创建这个filename的时候,每次都要在最后输入.txt很麻烦,我们能不能有一些简单的方法?这个时候我们就可以先建一个cell,譬如 >>filename = {„data1‟ , ‟data2‟ , ‟data3‟}

当我用第一个文件名的时候,应该是data1.txt,我如何将这个固定的.txt加到后面呢?其实最简单的方法是用strcat函数,但对于函数是什么,还没有介绍。但不用函数同样能达成目的,这个时候就要想想前面讲字符串的一些知识,由于字符串可以接起来,所以每次循环用文件名的时候,就可以使用[filename{i} , ‟.txt‟]来实现,这个方括号所得到的东西就是一个字符串,也就是data1.txt。

如果有心细的同学说,那么前面那个data是不是也可以不用写?答案是肯定的,这个时候我们可以输入

>>filename = {„1‟ , ‟2‟ , ‟3‟}

在循环的过程中,可以将‟data‟ , filename{i} 和‟.txt‟连接起来,连接的方法为[„data‟ , filename{i} , „.txt‟],如果有对连接方法不太清楚的同学,可以参见字符串的用法 那节。

当然还有同学提出,那个i不就是1,2,3么?干嘛还要再生成那个胞?这里需要提醒的一点是,i所代表的是一个整型变量,而在字符串中那个1,2,3是一个字符类型的变量,如果直接使用[„data‟, i ,‟.txt‟],matlab会自动将i所对应的那个ascii码转换成相应字符,而1,2,3所代表的ascii码都是空,所以直接使用[„data‟, i ,‟.txt‟]出来的字符串都是data.txt。当然解决办法就是将整型i变成字符1,2,3,这里就要使用到另外一个函数num2str,这个函数就是能将数字变成字符。上面正确的写法应该是[„data‟ , num2str(i), ‟.txt‟]。结构体

首先介绍一下什么是结构体,按照我的理解,结构体就是将很多变量集中在一起的一个数据类型。举个形象的例子来看,结构体就是一个很大的盒子,在盒子中可以装各种小盒子,而这些小盒子就结构体内装的变量,比如一个数,一个数组,一个胞,甚至是另外一个结构体,并且这个大盒子还有个好处就是可以给里面的每个小盒子起一个名字,类似装鞋子的盒子,装领带的盒子或者装首饰的盒子。

其实胞同样也可以这样理解,在上面的例子中,胞也可以看成是一个大盒子,里面能装各种小盒子,但和结构体不同的是在胞中这些小盒子是按照顺序放置的,我们只能通过其顺序获取小盒子内的东西,比如第一个盒子,第二个盒子,而不同通过形象的名字来获取。所以在我理解当中凡是能用结构体完成的,胞同样也能完成,但可能在有些情况下使用胞会方便一些,有些情况使用结构体会更加方便一些。具体使用什么方式来存储变量,可能要根据实际情况来分析。

4.1 结构体创建

假如我们现在想存储一个被试的信息,包括这个被试的编号(整数),性别(字符串),年龄(整数)以及爱好(胞),我们可以使用四个变量来存储,但如何我们会经常用到这些信息,并且想将这些信息传递给其它函数,那么这个时候如果使用4个变量来存储就嫌的比较麻烦;如果是用cell去存储,那么如果我们取内容的时候就要严格按照其顺序获取单个内容(比如在存储的时候爱好排在第4个,那么在后面使用的时候就要从cell的第4个元素中取),这样同样不方便。这个时候结构体就是一个比较好的选择。

subject = struct('ID',1,'gender','male','age',23,'hobby',{{'football','singing'}});或者

subject.ID = 1;subject.gender = 'male';subject.age = 23;subject.hobby = {'football','singing'};

以上的两种创建的方式都是允许的,一般下面的这种方式可能会更加直观并且更加常用一些。注意:在第一种创建的方法中,cell是用两个大括号括起来的,也就是这里需要大家注意一下,如果我只用一个大括号会出现什么问题呢?这个可以留给大家自己试试。一般为了避免出现不必要的错误,我比较推荐第二种创建方式。这里如果只用一个大括号的话,会变成1×2struct 在这个里面我们就可以理解subject就是那个所谓的大盒子,在这个大盒子中我们装了4个小盒子,分别取名叫ID, gender, age, hobby。然后在这4个盒子中装了对应的内容。

当然如果我们有很多个被试如何去存储呢?这个时候就会出来一个东东叫做结构体数组,你可以将这个东西想象成顺序排放的一堆大盒子。创建的方式也很简单,比如:

subjects = [struct('ID',1,'gender','male','age',23,'hobby',{{'football','singing'}}),struct('ID',2,'gender','female','age',21,'hobby',{{'singing','dancing'}})];或者

subjects(1).ID = 1;subjects(1).gender = 'male';subjects(1).age = 23;subjects(1).hobby = {'football','singing'};subjects(2).ID = 2;subjects(2).gender = 'female';subjects(2).age = 21;subjects(2).hobby = {'singing','dancing'};

注意:既然是结构体数组,那么也就是要保证结构体数组内每个成员的形式是一样的,比如上面的例子来说,结构体数组中每个元素都要有相同的“小盒子”,但“小盒子”里面装的内容可以不同。如果在某个成员中不设置这个小盒子,那么这个成员同样会被默认创建一个空的“盒子” 如果我们想获取所有成员的年龄怎么办? [subjects.age] 或者 {subjects.age}

第二篇:matlab总结

班级: 学号: 姓名:

Matlab学习综述

MATLAB是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和强大的数据可视化功能集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充。

MATLAB产品由若干个模块组成,不同的模块完成不同的功能,其中主要的核心模块有MATLAB、MATLAB Toolboxex、MATLAB Compiler Simulink、Simulink Blocksets、Real-time Workshop(RTW)Stateflow。这些产品大体上可以分为以MATLAB为基础的产品和以Simulink为基础的产品两大分支。其中,MATLAB是MATLAB产品家族的基础,任何其他MATLAB产品产品都以这个模块为基础。MATLAB的桌面应用程序开发工具是以MATLAB Compiler为核心的一组编译工具。Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模,分析和仿真,它的建模范围广泛,可以针对任何能够用数字来描述的系统进行建模。

一种完整的计算机应用语言应该提供对数据的描述和对数据的操作。在M语言中,最常用的数据类型表现手段和形式就是变量和常量,由于MATLAB软件自身的特点,它是一种以数值计算为基础的软件,因此M语言的基本处理单位是数值矩阵或者数值向量,在M语言中统一将矩阵或者向量称之为数组,因此掌握一些基本的矩阵、向量和数组操作的基本知识就成为了掌握MATLAB软件的基础。变量和常量是编程语言中类型的表现手段和形式,掌握变量和常量的概念也是掌握M语言编程的基础。所谓变量,就是指在程序运行中需要改变数值的量,每一个变量都具有一个名字,变量将在内存中占据一定的空间,以在程序运行的过程中保存其数值,对变量的命名有相应的要求:变量必须以字母开头,后面可以是字母、数字或者下划线之间的组合。所谓常量就是在程序运行的过程中不需要改变数值的量。

MATLAB专门以矩阵作为基本的运算单位,首先要掌握向量、矩阵、索引和多维数组的概念,以及在MATLAB环境下创建向量、矩阵和多维数组的方法,以及操作矩阵和多维数值的函数的使用方法。

目前的MATLAB版本中不仅有多达十几种的基本数据类型。在不同的专业工具箱中还有特殊的数据类型,并且MATLAB还支持面向对象的编程技术,支持用户自定义的数据类型。获取MATLAB的数据类型可以在MATLAB命令行窗体中键入help datatypes。MATLAB的数据类型包括基本的数值类型,逻辑类型数据、元胞数值、结构和字符串等,需要指出一点,MATLAB的基本数据是双精度数据类型和字符类型。MATLAB提供了完整的编写应用程序的功能,这种能力被称为M语言的高级语言来实现。这种语言是一种解释性语言,利用该语言编写的代码仅能被MATLAB接受,被MATLAB解释执行。其实,一个M语言文件就是由若干MATLAB的命令组合在一起构成的,和C语言类似。M语言文件都是标准的纯文本格式的文件,其文件的扩展名为.m。MATLAB的函数主要有两类,一类被称为内建函数,这类函数是由MATLAB的内核提供的,能够完成基本的运算,例如三角函数、矩阵运算函数等。另外一类函数就是利用高级语言开发的函数文件,这里的函数文件包括用C/FORTRAN语言开发的MEX函数文件,也包括了M函数文件。

M语言文件可以分为两类,其中一类是脚本文件,另一类是函数文件,脚本文件是最简单的一种M语言文件。所谓脚本文件就是由一系列的M语言文件指令和命令组成的纯文本格式的M文件,执行脚本文件时,文件中的指令或者命令按照出现在脚本文件中的顺序依次执行。脚本文件没有输入参数,也没有输出参数,脚本文件处理的数据或者变量必须在MATLAB的公共工作空间中,脚本文件主要是由注视行和代码行组成。

函数文件是M文件最重要的组成部分,M语言函数文件能够接受用户的输入参数,并进行计算,然后将计算结果作为函数的返回值返回给调用者,M函数文件和脚本文件不同,函数文件不仅有自己特殊的文件格式,而且不同的函数还分别具有自己的工作空间,函数文件的输/输出参数不同,这些输入/输出参数在定义的时候不需要指出变量的类型,因为MATLAB默认这些参数都使用双精度类型,这样可以简化程序的编写。M语言的函数文件不仅可以有一个输入参数和一个返回值,还可以为M语言函数文件定义多个输入参数和多个输出参数,同一个M函数文件中可以包含多个函数。如果在同一个M函数文件中包含了多个函数,那么将出现在文件中的第一个M函数称为主函数,其余的函数称为子函数。

经过这么一段时间的学习,对MATLAB有了初步的认识。但是关于它还有很多知识我们所不知道,还有待进一步的学习。以上内容是我对这学期所学课程的总结,可能有些地方总结的不够到位,因为有些地方学习的不够深入,所以,以后要更加努力,在MATLAB的学习上多花一些时间,为以后的学习和工作打下基础。

第三篇:MATLAB总结

目录

一、Matlab相关说明.....................................................................2

二、Matlab操作注意事项..............................................................2

三、Matlab常用代码(图像处理相关)......................................5

四、Matlab常用快捷键.................................................................7

五、Matlab学习心得.....................................................................8

一、Matlab相关说明

Matlab是“Matrix Laboratory”的缩写,意为“矩阵实验室”。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

我所使用的Matlab版本是2012a,下文所涉及到图片、专业术语等都是以此版本为基础。

二、Matlab操作注意事项

1.打开并运行一个现存的m文件且这个m文件运行时需用到同一级文件夹中的其他文件,会出现如下提示框:

选择变更文件夹,将当前文件夹变更为这个m文件所在的文件夹。

2.不小心点错或关闭了各种小窗口,将Matlab恢复成默认布局

点击桌面—桌面布局—默认

3.查看某个函数的用法

在命令窗口输入该变量的名称,回车即可。

4.查找某个函数的用法

在命令窗口输入help+函数的名称,回车后会自动显示该函数的相关信息。

5.运行文件后报错 如下图所示,命令窗口中报错的第一段是错误的原因,后面几段会显示发生错误的文件夹以及在该文件夹中的位置。

点击文件的名称,会跳转出一个提示框,上面显示了该文件的具体实现功能,如下图所示。点击文件名后面的行标号,可以直接跳转到发生错误的那一行。

6.如何编辑界面?

修改如图所示的fig文件

1.新建一个GUI文件

2.选择打开现存的GUI文件,点击Open,就可以对当前界面进行编辑了。

7.如何将MAtlab中默认的current folder修改为自己想要的路径,每次启动后都默认是自己 设定的这个路径?

>>右键matlab 快捷方式,属性-快捷方式-起始位置 填入你自己的工作目录。8.把图复制到WORD文件的方法:电机EDIT—>Copy Figure—>Ctrl+V 9.输入时,标点必须是英文状态下的

10.大多数情况下,matlab对空格不予处理

11.小括号代表运算级别,中括号用于生成矩阵,大括号用于构成单元数组

12.分号;的作用:不显示运算结果,但对图形窗口不起作用。分号也用于区分行,13.逗号,的作用:函数参数分隔符,也用于区分行,显示运算结果,当然不加标点也显示运算结果

14.冒号:多用于数组

15.续行号...不能放在等号后面使用,不能放在变量名中间使用,起作用时默认显蓝色 16.双引号'string'是字符串的标识符 17.感叹号!用于调用操作系统运算

18.百分号%是注释号,百分号后面直到行末的语句matlab跳过执行.另外还有一个块注释,即对多行一次注释,会使用到,格式为(注意%{ 和%}都要单独成行)%{ %} 19.矩阵中用圆括号表示下标,单元数组用大括号表示下标

20.对变量名的基本要求:区分大小写,不超过63个字符,以字母开头,只能是字母,数字和下划线

三、Matlab常用代码(图像处理相关)

1.创建一个文件夹 mkdir('D:myData');2.将图片保存到指定的文件夹

image_source=strcat('result',num2str(loop),'.jpg');imwrite(F.cdata,image_source);3.将电影转成图片序列

fnum=size(mov,2);%读取电影的祯数 for i=1:fnum strtemp=strcat('C:UsersAdministratorDesktopparticalfiltermyself粒子滤波',int2str(i),'.jpg');%将每祯转成jpg的图片 imwrite(mov(i).cdata,strtemp,'jpg');end

4、模拟噪声生成函数和预定义滤波器

① imnoise:用于对图像生成模拟噪声,如:

i=imread('104_8.tif');j=imnoise(i,'gaussian',0,0.02);%模拟高斯噪声 ② fspecial:用于产生预定义滤波器,如: h=fspecial('sobel');%sobel水平边缘增强滤波器 h=fspecial('gaussian');%高斯低通滤波器 h=fspecial('laplacian');%拉普拉斯滤波器

h=fspecial('log');%高斯拉普拉斯(LoG)滤波器 h=fspecial('average');%均值滤波器

5、图像文件I/O函数命令

imfinfo 返回图形图像文件信息

语法:info=imfinfo(filename,fmt)info=imfinfo(filename)imread 从图像文件中读取(载入)图像

语法:A=imread(filename,fmt)[X,map]=imread(filename,fmt)[...]=imread(filename)[...]=imread(URL,...)[...]=imread(...,idx)(CUR,ICO,and TIFF only)[...]=imread(...,'frames',idx)(GIF only)[...]=imread(...,ref)(HDF only)[...]=imread(...,'BackgroundColor',BG)(PNG only)[A,map,alpha] =imread(...)(ICO,CUR,PNG only)imwrite 把图像写入(保存)图像文件中

语法:imwrite(A,filename,fmt)imwrite(X,map,filename,fmt)imwrite(...,filename)imwite(...,Param1,Val1,Param2,Val2...)imcrop 剪切图像

语法:I2=imcrop(I)X2=imcrop(X,map)RGB2=imcrop(RGB)I2=imcrop(I,rect)X2=imcrop(RGB,rect)[...]=imcrop(x,y,...)[A,rect]=imcrop(...)[x,y,A,rect]=imcrop(...)

6.impixel 确定像素颜色值

语法:P=impixel(I)P=impixel(X,map)P=impixel(RGB)P=impixel(I,c,r)P=impixel(X,map,c,r)P=impixel(RGB,c,r)[c,r,P]=impixel(...)P=impixel(x,y,I,xi,yi)P=impixel(x,y,RGB,xi,yi)P=impixel(x,y,X,map,xi,yi)[xi,yi,P]=impixel(x,y,...)

7.二进制图像操作函数

applylut 在二进制图像中利用lookup表进行行边沿操作 语法:A=applylut(BW,LUT)bwarea 计算二进制图像对象的面积 语法:total=bwarea(BW)bweuler 计算二进制图像的欧拉数 语法:eul=bweuler(BW)

8.颜色空间转换函数

hsv2rgb 转换HSV值为RGB颜色空间:M=hsv2rgb(H)ntsc2rgb 转换NTSC值为RGB颜色空间:rgbmap=ntsc2rgb(yiqmap)RGB=ntsc2rgb(YIQ)rgb2hsv 转换RGB值为HSV颜色空间:cmap=rgb2hsv(M)rgb2ntsc 转换RGB值为NTSC颜色空间:yiqmap=rgb2ntsc(rgbmap)YIQ=rgb2ntsc(RGB)rgb2ycbcr 转换RGB值为YCbCr颜色空间:ycbcrmap=rgb2ycbcr(rgbmap)YCBCR=rgb2ycbcr(RGB)ycbcr2rgb 转化YCbCr值为RGB颜色空间:rgbmap=ycbcr2rgb(ycbcrmap)RGB=ycbcr2rgb(YCBCR)

9.类型转换函数

im2bw 转换图像为二进制图像

语法:BW=im2bw(I,level)BW=im2bw(X,map,level)BW=im2bw(RGB,level)im2double 转换图像矩阵为双精度型

语法:I2=im2double(I1)RGB2=im2double(RGB1)I=im2double(BW)X2=im2double(X1,'indexed')double 转换数据为双精度型 语法:double(X)unit8、unit16转换数据为8位、16位无符号整型: i=unit8(x)i=unit16(x)im2unit8 转换图像阵列为8位无符号整型

语法:I2=im2unit8(I1)RGB2=im2unit8(RGB1)I=im2unit8(BW)X2=im2unit8(X1,'indexed')im2unit16 转换图像阵列为16位无符号整型

语法:I2=im2unit16(I1)RGB2=im2unit16(RGB1)I=im2unit16(BW)X2=im2unit16(X1,'indexed')

四、Matlab常用快捷键

1.在命令窗口(Command Window)中:

1)【上、下键】――切换到之前、之后的命令,可以重复按多次来达到你想要的命令

2)clc――清除命令窗口显示的语句,此命令并不清空当前工作区的变量,仅仅是把屏幕上显示出来的语句清除掉

3)clear――这个才是清空当前工作区的变量命令,常用语句clear all来完成 4)【Tab】键――在command窗口,输入一个命令的前几个字符,然后按tab键,会弹出前面含这几个字符的所有命令,找到你要的命令,回车,就可以自动完成。目前讨论结果是:matlab6.5版本中,如果候选命令超过100个,则不显示。而在matlab7以后版本中,则没有这个限制,均可正常提示 5)【Ctrl+C】(或【Ctrl+Break】)――在matlab程序运行过程中,可能由于程序编写的失误,导致程序不停的运行,在命令窗口输入“Ctrl+C”可以将运行的程序停下来,而不需要将整个Matlab程序关掉。不过进行此操作的前提是能够激活切换到命令窗口才行。6)edit+函数名 查看或编辑源文件 7)who 显示当前变量名列表 8)whos 显示变量详细列表

9)which+函数名 证实该函数是否在当前路径 10)what 列出当前路径的所有matlab文件 11)load 加载外部文件 12)save 保存文件到外部 13)20.matlab的帮助函数: 14)help 15)help+函数名或help+函数类名 精确查询 16)helpwin 打开帮助窗口 17)helpwin+函数名 精确查询 18)helpdesk 打开帮助窗口 19)doc 打开帮助窗口

20)doc+函数名 打开帮助窗口,精确查询

21)lookfor+关键字 这个是matlab中的谷歌,模糊查询

2.在编辑器(Editor)中: 1)【Tab】(或【Ctrl+]】)――增加缩进(对多行有效)2)3)4)5)6)【Ctrl+[】--减少缩进(对多行有效)

【Ctrl+I】--自动缩进(即自动排版,对多行有效)【Ctrl+R】――注释(对多行有效)【Ctrl+T】――去掉注释(对多行有效)

【Ctrl+B】――括号配对检查(对版本6.5有效,但版本7.0无效,不知道是取消了还是换了另外的快捷键,请大牛们指点,其他版本没有测试过)7)【F12】――设置或取消断点 8)【F5】――运行程序

五、Matlab学习心得

接触Matlab一个多月,从刚开始连最基本的操作都不会,到现在能够熟练地运用Matlab解决问题。虽然现在学到的也只是皮毛而已,离精通还相差甚远,但至少为以后研究生期间的学习打下了良好的基础。下面我就简单的谈一下这一个月来的学习感想。

首先,想要学好Matlab必须有一定数学基础。Matlab软件是与高等数学,计算机科学相结合的软件。所以,当你学习Matlab时,你也得会一定的数学。你要尽量多的熟悉matlab自带的函数,及其作用,因为matlab的自带函数特别多,基本上能够满足一般的数据和矩阵的计算,所以基本上不用你自己编函数。这一点对你的程序非常有帮助,可以使你的程序简单,运行效率高,可以节省很多时间。

其次,要注重基础知识于实际操作结合。你把基本的知识看过之后,就需要找一个实际的程序来动手编一下,不要等所有的知识都学好之后再去编程,你要在编程的过程中学习,程序需要什么知识再去补充。在遇到问题时,不要光看别人如果解决,也不要光想怎么解决,自己坐下来,动手自己解决一下,那你就会把不是你的知识变成自己的知识。

最后,也是最重要的一点就是坚持。MATLAB涉及的领域太多,每个领域里面都缺乏足够的专家分布在你周围。那么我们很难有机会接触到真正的高手,对我们的技术细节一一指点。在遇到实际问题时,就只能靠自己去摸索。常常是再坚持一两个小时,就能够解决你的问题。最大的成就感,就在付出了极大的心血和耐心,才取得一个艰难的小胜利。

第四篇:数据结构总结[推荐]

《数据结构与算法》课程学习总结报告

本学期开设的《数据结构与算法》课程已经告一段落,现就其知识点及其掌握情况、学习体会以及对该门课程的教学建议等方面进行学习总结。

一、《数据结构与算法》知识点

第一章是这门学科的基础章节,从整体方面介绍了“数据结构和算法”,同时引入相关的学术概念和术语,如数据、数据元素、数据类型以及数据结构的定义。重点是数据结构的括逻辑结构、存储结构和运算集合的含义及其相互联系。数据结构和两大逻辑结构的4四种常用存储方法;逻辑结构分为四类:集合型、线性、树形和图形结构,数据元素的存储结构分为:顺序存储、链接存储、索引存储和散列存储四类。难点是算法复杂度的分析方法和性能的分析。

第二章详细地分析了顺序表。介绍了顺序表的相关概念及其有关运算。基本运算有:初始化表、求表长、排序、元素的查找、插入及删除等。元素查找方法有:简单顺序查找、二分查找和分块查找。排序方法有:直接插入排序、希尔排序、冒泡排序、快速排序、直接选择排序及归并排序等,在各种算法思想的先分析后,要弄清各种算法的时间复杂度与空间性能的优点和缺点,在什么特定的场合适合哪种算法思想。最后介绍了顺序串的概念,顺序串是顺序表的一个特例;区别在于组成顺序串的数据元素是一组字符,其重点在于串的模式匹配。

第三章介绍链表。链表中数据元素的存储不一定是连续的,还可以占用任意的、不连续的物理存储区域。与顺序表相比,链表的插入、删除不需要移动元素,给算法的效率带来较大的提高,且在存储空间上有动态申请的优点。这一章中介绍了链表的节点结构、静态与动态链表的概念、链表的基本运算(如求表长、插入、查找、删除等)、单链表的建立(头插法和尾插法)以及双向循环链表的定义、结构、功能和基本算法。弄清其个运算的算法思想及其时间复杂度和空间性能。最后介绍了链表之中存储结构在实际中的相关应用。

第四章,堆栈是运算受限制的线性结构。其基本运算方法与顺序表和链表运算方法基本相同,不同的是堆栈须遵循“先进后出”的规则,对堆栈的操作只能在栈顶进行;堆栈在文字处理,匹配问题和算术表达式的求值问题方面的应用。

第五章,队列是一种够类似堆栈的线性结构。其基本运算方法与顺序表和链表运算方法基本相同,不同的是堆栈须遵循“先进先出”的规则,对堆栈的操作只能在栈顶进行;其运算有入队、出队等操作。在介绍队列时,提出了循环队列的概念,以避免“假溢出”的现象。

第六章介绍了特殊矩阵和广义表的概念与应用。其中,特殊矩阵包括对称矩阵、三角矩阵、对角矩阵和稀疏矩阵,书中分别详细介绍了它们的存储结构。其中三元组和十字链表这两种结构尤为重要;对着两种结构的建立了应用要掌握。稀疏矩阵的应用包括转置和加法运算等。最后介绍了广义表的相关概念及存储结构,关于它的应用,课本中举了m元多项式的表示问题。

第七章二叉树的知识是重点内容。在介绍有关概念时,提到了二叉树的性质以及两种特殊的二叉树:完全二叉树和满二叉树。接着介绍二叉树的顺序存储和链接存储以及生成算法。重点介绍二叉树的遍历算法(递归算法、先序、中序和后序遍历非递归算法)和线索二叉树。二叉树的应用:基本算法、哈弗曼树、二叉排序树和堆排序,其中关于二叉排序树和哈弗曼书的构建是重点。

第八章介绍了树。树与二叉树是不同的概念。教材介绍了树和森林的概念、遍历和存储结构,还有树、森林和二叉树的相互关系,树或森林怎样转化成二叉树,二叉树又如何转换为树和森林等算法。

第九章,散列结构是一种查找效率很高的一种数据结构。本章的主要知识点有:散列结

构的概念及其存储结构、散列函数、两种冲突处理方法、线性探测散列和链地址散列的基本算法以及散列结构的查找性能分析。

最后一章介绍了图的概念及其应用,是本书的难点。图的存储结构的知识点有:邻接矩阵、邻接表、逆邻接表、十字链表和邻接多重表。图的遍历包括图的深度优先搜索遍历和广度优先搜索遍历。其余知识点有:有向图、连通图、生成树和森林、最短路径问题和有向无环图及其应用。有向无环图重点理解AOV网和拓扑排序及其算法。

二、对各知识点的掌握情况

总体来看,对教材中的知识点理解较为完善,但各个章节均出现有个别知识点较为陌生的现象,对某些具体的问题和应用仍有一些模糊与措手。各个章节出现的知识点理解和掌握情况明确一下。

第一章中我对数据和数据结构的概念理解较为透彻,熟悉数据结构的逻辑结构和存储结构。算法的时间、空间性能分析是重点,同样也是难点,尤其是空间性能分析需要加强。在某些强大与复杂的算法面前的处理有些棘手。

第二章,顺序表的概念、生成算法理解较为清晰,并且熟悉简单顺序查找和二分查找,对分块查找较为含糊。删除方面的问题比较容易些。排序问题中,由于冒泡排序在大一C语言课上已经学习过,再来学习感觉相对轻松些。对插入排序和选择排序理解良好,但是,在实际运用中仍然出现明显不熟练的现象。由于在归并排序学习中感觉较吃力,现在对这种排序方法仍然非常模糊,所以需要花较多的时间来补习。此外串的模式匹配也是较难理解的一个地方。

第三章链表中,除对双向循环链表这一知识点理解困难之外,在对链表进行插入删除和排序相关操作上同顺序表的操作基本相当。其他的知识点像单链表的建立和基本算法等都较为熟悉。

第四章和第五章有关堆栈以及队列的知识点比较少,除有关算法较为特殊以外,其余算法都是先前学过的顺序表和链表的知识,加上思想上较为重视,因此这部分内容是我对全书掌握最好的一部分。在一些实际问题的应用与处理方面,对其进行存储结构的选择还是需要认真考虑的。在算法的时间复杂度和空间性能的分析仍有些困难。

第六章的学习感觉较为困难的部分在于矩阵的应用上。在矩阵的存储结构中,使用三元组表发相对较为简单,而使用十字链表就有些困难了。但在某些问题的处理上又必须或从节省空间考虑采用十字链表来处理,想矩阵的加法运算。广义表的定义还是比较容易理解的,其存储结构也不难掌握,关于应用也只局限于在多项式的表示上。

第七章是全书的重点。在这一章中概念和定义都很多,有些很昏人但都很重要,要区分开来。二叉树的性质容易懂却很难记忆。对二叉树的存储结构和遍历算法这部分内容掌握较好,能够熟练运用。关于二叉排序树和的哈弗曼树却相对有些压力,其生成和对其关键字的插入和删除时重点。

第八章关于树的分析,首先要明确树和二叉树的区别,以及书中的相关定义和概念。关于二叉树、树和森林之间的转换和遍历方法是重点,但不算是难。接着就是数的存储结构的选择及转化为二叉树的算法,这部分有些吃力。再就介绍了特殊的树-B树,关于对B树的操作,插入关键字是中带领和难点。

第九章散列结构这一章理解比较完善的知识点有:基本概念和存储结构。散列函数中直接定址法和除留余数法学得比较扎实,对数字分析法等方法则感觉较为陌生。对两种冲突处理的算法思想的理解良好,问题在于用C语言描述上。

最后一章,图及其应用中,相关定义及其概念很多,容易混淆,这就要慢慢来,仔细分辨。图的邻接矩阵、邻接表表示法及其之间的转换时重点和难点。而对十字链表和邻接多重表的表示法则较为陌生。感觉理解较为吃力的内容有图的遍历(包括深度和广度优先遍历),以及最小生成树的问题。最短路径、AOV网、关键路径、AOE网和拓扑排序的学习也是相对较轻松的。,三、学习体会

在学习开始,王教授就明确提出它不是一种计算机语言,不会介绍新的关键词,而是通过学习可以设计出良好的算法,高效地组织数据。一个程序无论采用何种语言,其基本算法思想不会改变。联系到在大一和大二上学期学习的C和C++语言,我深刻认识到了这一点。“软件开发好比写作文,计算机语言提供了许多华丽的辞藻,而数据结构则考虑如何将这些辞藻组织成一篇优秀的文章来。”在学习这门课中,要熟悉对算法思想的一些描述手段,包括文字描述、图形描述和计算机语言描述等。因此,计算机语言基础是必须的,因为它提供了一种重要的算法思想描述手段——机器可识别的描述。

这门课结束之后,我总结了学习中遇到的一些问题,最为突出的,书本上的知识与老师的讲解都比较容易理解,但是当自己采用刚学的知识点编写程序时却感到十分棘手,有时表现在想不到适合题意的算法,有时表现在算法想出来后,只能将书本上原有的程序段誊写到自己的程序中再加以必要的连接以完成程序的编写。针对这一情况,我会严格要求自己,熟练掌握算法思想,尽量独立完成程序的编写与修改工作,只有这样,才能够提高运用知识,解决问题的能力。

四、对《数据结构与算法》课程教学的建议

1、建议在上课过程中加大随堂练习的分量,以便学生能当堂消化课堂上学习的知识,也便于及时了解学生对知识点的掌握情况,同时有助于学生保持良好的精神状态。

2、建议在课时允许的情况下,增加习题课的分量,通过课堂的习题讲解,加深对知识点的掌握,同时对各知识点的运用有一个更为直观和具体的认识。

以上便是我对《数据结构与算法》这门课的学习总结,我会抓紧时间将没有吃透的知识点补齐。今后我仍然会继续学习,克服学习中遇到的难关,在打牢基础的前提下向更深入的层面迈进!

第五篇:Matlab学习总结

学Matlab有感

姓名:王鸿栋 学号:20090286 班级: 03310901 我对于计算机编程接触的比较晚,也没有特别大的兴趣。不过对于Matlab这门课我还是很喜欢的。一是这个语言可以变出程序绘出函数的图形,这就使得这个语言可以被“看见”,感觉比较亲切,不是那么缥缈空虚的东西。二是这个语言却是很“友好”,很人性化,像我刚学习这门语言,还什么都不会编的时候,我随便打出了一句help,界面上就输出了帮助文档。三是这个语言的强大的功能,1.3G不是白给的,很多C、java里需要用循环语句来完成的,在Matlab里只需要一句话就可以搞定了,刚上这门课时老师说C一堂课讲授的内容Matlab一句话就可以搞定了,看来不是假的。四是这门语言确实很有用,信号与系统课上学的很多内容都可以用Matlab来仿真,另外这门语言在很多其他的领域也都很有用,所以,我打算好好学习这门语言。

第一次交作业时我还只交上了两道题,那时候对这门语言接触得还比较少,但是就在交作业的那天我打算好好学习这门语言,而且在写作业的时候我确实喜欢上了这门语言。虽然第一次由于时间仓促只交上了两道题,可是那都是我自己写的,我觉得只有这样才能学到东西。第二天,在别人都在做第二次作业的时候,我却仍然在做第一次作业,我打算把第一次的作业完整的写一遍,即使这对我的分数一点帮助也没有。第二次作业我提前好几天就写完了,虽然没有完成全部的题目。我把第一第二次作业一起交了上去,我希望老师能帮我看一看。

上面只是对这门课程的一些怀念,课程已经结束了,不过我会继续学习这门语言的。下面就针对这次作业的要求,给这门课提一些看法,毕竟这才是正题。MATLAB 产品族可以用来进行以下各种工作:

● 数值分析

● 数值和符号计算

● 工程与科学绘图

● 控制系统的设计与仿真

● 数字图像处理

● 数字信号处理

● 通讯系统设计与仿真

● 财务与金融工程

MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。说实在的想完全掌握全部的基本上是不可能的,就像dsp一样,应用的范围很广,想一口吃可能不行,所以要结合专业来学习才好!

对于我们这些学习了C语言的学生,编程基本的语法学习起来很快的,和c语言很类似,而且是支持c语言函数的,或者说函数就是用c语言编的,完全是解释性的语言,像打草稿一样,可以一句句的编译,看结果的。

等我们编到基本的熟悉之后就可以编辑函数了,-------这个其实用的不多,为了应用的话,老师建议开始编写M文件,也就是把程序都写在m文件里面,然后编译,调试,根据错误信息来调试。

至于和专业相关的方面就说说自动化方面吧!和控制理论,fft,用的比较多,根轨迹,相平面,传递函数,拉普拉斯变换,奈氏曲线什么的,基本上都可以解决

03310901班

王鸿栋 20090286 对于授课方式,我觉得上课时老师是结合信号与系统来讲的,就是说课程的定位就是交给我们解决信号与系统方面问题的一个方法。我觉得Matlab功能远远不止于此。而且老师在课上讲程序都是一带而过,我觉得讲授的程序不必很多,一堂课只讲几个程序,但是对于每个程序,如果老师都能给我们进行分析,把这个程序将明白了,那么这堂课我们就能学到很多东西。而且这样讲课也不会使我们觉得枯燥。

对提高Matlab编程能力的方法,我想主要有以下三个: 1.查help 2.多上上论坛,搜索帖子、发帖子问人 3.阅读别人、特别是牛人的程序

当然了,正如所有的程序语言一样,“3分课本7分上机”,一定要动手才行,不能光看。多想、多思考、多尝试,才是正路。

最后,整理一下常用的快捷键(用【】表示)或命令: 1.在命令窗口(Command Window)中:

1)【上、下键】――切换到之前、之后的命令,可以重复按多次来达到你想要的命令 2)clc――清除命令窗口显示的语句,此命令并不清空当前工作区的变量,仅仅是把屏幕上显示出来的语句清除掉

3)clear――这个才是清空当前工作区的变量命令,常用语句clear all来完成

4)【Tab】键――(在command窗口,输入一个命令的前几个字符,然后按tab键,会弹出前面含这几个字符的所有命令,找到你要的命令,回车,就可以自动完成。目前讨论结果是:Matlab6.5版本中,如果候选命令超过100个,则不显示。而在Matlab7以后版本中,则没有这个限制,均可正常提示

5)【Ctrl+C】(或【Ctrl+Break】)――在Matlab程序运行过程中,可能由于程序编写的失误,导致程序不停的运行,在命令窗口输入“Ctrl+C”可以将运行的程序停下来,而不需要将整个Matlab程序关掉。不过进行此操作的前提是能够激活切换到命令窗口才行,呵呵。

2.在编辑器(Editor)中: 1)【Tab】(或【Ctrl+]】)――增加缩进(对多行有效)2)【Ctrl+[】--减少缩进(对多行有效)

3)【Ctrl+I】--自动缩进(即自动排版,对多行有效)4)【Ctrl+R】――注释(对多行有效)5)【Ctrl+T】――去掉注释(对多行有效)

6)【Ctrl+B】――括号配对检查(对版本6.5有效,但版本7.0无效,不知道是取消了还是换了另外的快捷键,请大牛们指点,其他版本没有测试过)

7)【F12】――设置或取消断点 8)【F5】――运行程序

其余的例如在Debug状态下的快捷键可以自己看菜单。

就说这么多,通过这个小学期,我觉得自己真的学到了很多!

03310901班

王鸿栋 20090286

下载Matlab中数据结构总结word格式文档
下载Matlab中数据结构总结.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    Matlab常用指令总结

    概论 format long显示更多位数 format short显示少位数 format hex将数字显示为十六进制浮点数,(3fb999999999999a,a-f代表十六进制数,前三字符为) double()将数字转化为双精度浮......

    MATLAB知识总结

    1、命令x=0:0.2:2中的赋值格式是matlab常用的变量赋值格式,其中0表示初始值,0.2表示增量,而2表示终止值。若数组x无规律可循,那么x赋值得逐一输入单个元素了,这时要使用赋值格式......

    matlab基础总结

    Matlab程序设计的一般步骤: 1、陈述问题 2、定义输入和输出量 3、定义算法 4、把算法转化为matlab语句 5、检测产生的matlab程序 数组与变量: 1、数组中数据的访问a(行标 列标......

    MATLAB课程总结

    MATLAB课程总结 班级:14级电子信息与科学技术 姓名:孙凯 学号 201442398 在过去的两个月里,我们学习了MATLAB教程这一门课程,对此我有一些自己的思考与感悟。 通过学习,我们了......

    学习matlab总结(定稿)

    绘图函数 bar 竖直条图 barh 水平条图 hist 直方图 histc 直方图计数 hold 保持当前图形 loglog x,y对数坐标图 pie 饼状图 plot 绘二维图 polar 极坐标图 semilogy y轴对数......

    matlab课程总结

    Matlab 课程总结 学习matlab已经有一年多的时间了,matlab跟其他语言不一样(我用的编程语言,除了matlab就应该是c或c++了,VB也接触过),如果你抱着“把其他语言的思想运用在matlab里......

    matlab总结1

    1、matlab中离散的点拟画成连续曲线形式的图形,使用spline(xx,yy)函数 2、如果想在一副图片里画多个图,就不要使用figure,而是在plot后面,hold on 3、在曲线上加上标注,用text(x,y,'s......

    总结MATLAB中涉及到的小波函数

    收集和总结MATLAB中涉及到的小波函数 (1)plot函数:绘制向量或矩阵的图形 用法: plot(Y) plot(X1,Y1,...) plot(X1,Y1,LineSpec,...) plot(...,'PropertyName',PropertyValue,.........