Matlab基础及应用——数据结构(1):数组与矩阵_第1页
Matlab基础及应用——数据结构(1):数组与矩阵_第2页
Matlab基础及应用——数据结构(1):数组与矩阵_第3页
Matlab基础及应用——数据结构(1):数组与矩阵_第4页
Matlab基础及应用——数据结构(1):数组与矩阵_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Matlab基础及应用数据结构(1):数组与矩阵亲身经历MATLAB 基础及应用经验教训:没有数据结构的概念,不可能做出大规模的程序数据结构就是一种组织数据的方式程序=数据结构+算法什么是数据结构?C语言中的基本数据类型就是最初级的数据结构字符串类型Double类型Int类型Struct类型用户自定义类型数据结构就是计算机程序操作的基本存储单元MATLAB 基础及应用积木块原理从简单的构型出发通过组合构建复杂的积木世界计算机编程的积木块原理从简单语句出发通过组合构建复杂的程序时间上的积木块原理简单指令搭建出复杂的程序空间上的积木块原理通过简单的数据搭建复杂的结构MATLAB 基础及应用Matl

2、ab中的“物质构成”北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用原子(基本数据类型)数值型字符型布尔型函数型分子(原子的组合)数组元胞(Cell)结构体(Struct)Matlab的原子物质由原子构成原子是不可再分割的基本单元Matlab中的原子有以下基本类型构成数字型整型浮点类型字符型布尔型(逻辑型)函数型北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用数值类型原子整数型浮点类型存储它们需要的容量不一样整数到浮点的转换ceil(1.5)=2; ceil(-1.5)=-1;floor(1.5)=1; floor(-1.5)=-2;round(1.5)=2; ro

3、und(1.4)=1;复数类型a+bii,j是在Matlab的默认值是虚数sqrt(-1)Matlab自动支持复数运算北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用字符型原子Matlab中的字符:a,b,1,2,3字符与ASCII码表字符与ASCII码之间的转换char(72)double(H)北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用布尔(逻辑)型原子布尔变量:只有true(1),false(0)两种取值的变量布尔表达式a & b, a&ba|b, a|baxor(A, B)北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用ABC0000111

4、01110Matlab中的“物质构成”北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用原子(基本数据类型)数值型字符型布尔型函数型分子(原子的组合)数组元胞(Cell)结构体(Struct)数组结构一维数组a=1 2 3 1 2 1;s=s,t,d;注意用空格或者逗号隔开各个元素二维数组(矩阵)a=1 2 3; 3 1 1; 1 2 1;b=1;2;4;多维数组a(1,1,1)=1;a(2,1,1)=0;a(1,2,1)=2;a(2,2,1)=3;a(1,1,2)=4;a(2,1,2)=3;a(1,2,2)=2;a(2,2,2)=1;北京师范大学管理学院 系统科学系 张江MATL

5、AB 基础及应用创建数组直接输入运用一些函数创建运用数列生成法北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用FunctionDescriptiononesCreate a matrix or array of all ones.zerosCreate a matrix or array of all zeros.eyeCreate a matrix with ones on the diagonal and zeros elsewhere.accumarrayDistribute elements of an input matrix to specified location

6、s in an output matrix, also allowing for accumulation.diagCreate a diagonal matrix from a vector.magicCreate a square matrix with rows, columns, and diagonals that add up to the same number.randCreate a matrix or array of uniformly distributed random numbers.randnCreate a matrix or array of normally

7、 distributed random numbers and arrays.randpermCreate a vector (1-by-n matrix) containing a random permutation of the specified integers.数列生成法A = 10:15A = 10 11 12 13 14 15A = 10:5:50A = 10 15 20 25 30 35 40 45 50A=linspace(10,15,5) A = 10.0000 11.2500 12.5000 13.7500 15.0000注意语法区别:a:step:blinspace(

8、10,15,5)北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用例1x=0:0.01:2*pi;y=sin(x);plot(x,y)北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用对数列或矩阵元素的索引索引/访问单个元素A(3)A(2,3)索引/访问一列元素A = 5:5:50 A = 5 10 15 20 25 30 35 40 45 50 B = 1 3 6 7 10; A(B) ans = 5 15 30 35 50北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用访问二维数组A=magic(5)ans = 17 24 1 8 15 23 5 7

9、14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9A(1:3, 2)A(:, 2)A(:)北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用数组的形象表示数组就是内存中一段连续的等大小的小格子存储数据北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用一旦数组被创建之后,总的格子数目和每个格子的大小就都固定了二维数组的形象表示二维数组的逻辑结构北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用实际存储结构1Matlab把二维数组当一维数组看待,所以A(6)=A(3,2)字符串(String)字符组成的数组str = HE

10、LLO; 北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用HELLO str = H;E;L;L;O; HELLO字符串组成的数组 A=HELLO; HELL ;HEL ;HE ;H 北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用HELLOHELLHELHEH例2X=77 65 84 76 65 66;Y=char(X)北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用练习 写一个函数,输出字符串abcd.xyz北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用关于数组的“真言”在Matlab中,数组是最常用的一种数据结构Matlab的优势

11、,也恰恰在于对数组处理的加速上很多Matlab内置函数都可以直接作用到数组上在编写程序时,应尽量避免使用对数组下标的循环,把数组当作一个整体来操作。北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用例3求:北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用tic;s=0;for i=1:1000000 s=s+1/2i+1/3i; end; toctic;i=1:1000000;s=sum(1./2.i+1./3.i); toc比较下面的两段程序对于数组的运算对数组的数学运算对数组进行拼接、合并利用数组巧妙地实现搜索、筛选北京师范大学管理学院 系统科学系 张江MATLA

12、B 基础及应用数组的基本运算矩阵的乘法:真的矩阵乘法,Element-wised乘法X=1 2; 3 3; Y=2 3; 4 4; X*Yans = 10 11 18 21X.*Yans = 2 6 12 12练习:X=1 2 3 3 4; X*X,X.*XY2, Y.2X./X数组(矩阵)的拼接北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用相关的函数: vertcat(A,B), horzcat(A, B)a = hello b = goodbye strcat(a, b) ans = hellogoodbye数组的基本运算对元素的合并简写方式X=1 2 3 3 4; Y=2

13、 3 4 4 1 ;Z=X YZ =1 2 3 3 4 2 3 4 4 1Z=X;YZ = 1 2 3 3 4 2 3 4 4 1数组的基本运算对数组进行行列转换A=1 1 2 3 1 3 7 7 7;Aans = 1 1 2 3 1 3 7 7 7练习:X=1 2 3 3 4; Y=2 3 4 4 1分别表示5个点的横坐标和纵坐标。求Z使得Z的第i行对应X(i),Y(i)巧妙利用布尔型数组进行过滤北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用例:找出1100以内能被5整除的数A=linspace(1,100);Logic=mod(A,5)=0;A(Logic)运用逻辑数组对元

14、素进行筛选索引A中元素的时候A(X),X可以是一个逻辑数组A=1 1 2 3 1 3 7 7 7;B=A2&A2&A7)B = 4 6 A(B)ans = 3 3 上机练习北京师范大学管理学院 系统科学系 张江MATLAB 基础及应用给定字符串SScientists look for universal patterns of complex systems because such invariant features may help to unveil the principles of system organization. Complex network studies can n

15、ot only provide a unique viewpoint of nature and society but also reveal ubiquitous patterns, e.g., small world and scale free, characteristic of various complex systems. However, ecological studies have shown that binary food webs, which depict trophic interactions in ecosystems, refuse to become part of the small world and scale free networks family. Although some common features, including two degrees separation, which means the very small average distance, are shared among food

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论