第2讲 MATLAB数据结构和数据类型

上传人:ldj****22 文档编号:35977013 上传时间:2018-03-23 格式:PDF 页数:25 大小:179.83KB
返回 下载 相关 举报
第2讲 MATLAB数据结构和数据类型_第1页
第1页 / 共25页
第2讲 MATLAB数据结构和数据类型_第2页
第2页 / 共25页
第2讲 MATLAB数据结构和数据类型_第3页
第3页 / 共25页
第2讲 MATLAB数据结构和数据类型_第4页
第4页 / 共25页
第2讲 MATLAB数据结构和数据类型_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《第2讲 MATLAB数据结构和数据类型》由会员分享,可在线阅读,更多相关《第2讲 MATLAB数据结构和数据类型(25页珍藏版)》请在金锄头文库上搜索。

1、第二讲第二讲 MATLAB 数据结构和数据类型数据结构和数据类型 第一部分:基本数据结构:数组和矩阵 第一部分:基本数据结构:数组和矩阵 MATLAB 中所有数据都用数组和矩阵的形式进行保存,其中二维数组也称为矩阵。中所有数据都用数组和矩阵的形式进行保存,其中二维数组也称为矩阵。 一、 数组的表示,冒号的用法一、 数组的表示,冒号的用法 1、 数组(数组(array)是由若干个数排列成矩形的组合。)是由若干个数排列成矩形的组合。 以维数来分,有一维数组(以维数来分,有一维数组(vector) 、二维数组() 、二维数组(matrix)和多维数组)和多维数组 按元素来分,有数值数组、字符串数组、

2、结构数组和单元数组等。按元素来分,有数值数组、字符串数组、结构数组和单元数组等。 2、 数组的表示往往与冒号联合在一起。数组的表示往往与冒号联合在一起。 j:k 相当于行向量相当于行向量j,j+1,j+2,k j:i:k 相当于行向量相当于行向量j,j+i,j+2*i,k A(:,j) 矩阵矩阵 A 的第的第 j 列列 A(i,:) 矩阵矩阵 A 的第的第 i 行行 3、 举例举例 例例 1:建立从:建立从 1100,步长为,步长为 1 的数组的数组 y 以及步长为以及步长为 2 的数组的数组 x 解:解:y=1:100 x=1:2:100 %生成的数组最后一个元素为生成的数组最后一个元素为

3、99 例例 2:建立矩阵:建立矩阵1 2 3 4 56 7 8 9 101112 1314 15A 解:解:A(1,:)=1:5 A(2,:) =6:10 A(3,:)=11:15 例例 3:计算数组:计算数组 1,2,3,99,100 之和之和 解:解:s=0; for i=1:100 s=s+i; end,s 二、 线性间隔向量二、 线性间隔向量 1、产生、产生 1 个行向量,从个行向量,从 x1 到到 x2 之间,均匀分布之间,均匀分布 n 个数。个数。 linspace(x1,x2,n) 2、举例:用、举例:用 linspace 列出列出 15 之间的之间的 20 个等距数组个等距数组

4、 解:解: x=linspace(1,5,20) 三、 对数化间隔向量三、 对数化间隔向量 1、 产生一个行向量,从产生一个行向量,从110d到到210d之间以对数刻度分布的之间以对数刻度分布的 n 个数。个数。 logspace(d1,d2,n) 注注:d1 d2 n 必须是标量。必须是标量。 2、 举例:用举例:用 logspace 产生产生 10100 间以对数刻度分布的间以对数刻度分布的 12 个数个数 解:解:x=logspace(1,2,12) y=linspace(1,2,12) 10.(y) %结果等于结果等于 x log10(x) %结果等于结果等于 y 补充:补充:exp(

5、1) %即即 e1 log(exp(1) %即即 ln(e) log2(8) log10(10) log(9)/log(3) %log39 之类的可以用换底公式之类的可以用换底公式loglogloga b aNNb 四、 显示格式的设置四、 显示格式的设置 MATLAB 命令命令 说明说明 FORMAT 默认格式,与默认格式,与 5 位定点计数制相同位定点计数制相同 FORMAT SHORT 5 位定点计数制位定点计数制 FORMAT LONG 15 位定点计数制位定点计数制 FORMAT SHORT E 5 位浮点计数制位浮点计数制 FORMAT LONG E 15 位浮点计数制位浮点计数制

6、 FORMAT SHORT G 最佳定点或最佳定点或 5 位浮点位浮点 FORMAT LONG G 最佳定点或最佳定点或 15 位浮点位浮点 FORMAT HEX 十六进制格式十六进制格式 FORMAT + 只显示只显示+、和空格符号,而对正、负和零元素的虚部是忽略、和空格符号,而对正、负和零元素的虚部是忽略 FORMAT BANK 银行格式,以元、分定点银行格式,以元、分定点 FORMAT RAT 近似以分式表示近似以分式表示 FORMAT COMPACT 紧凑格式,段落之间不设置空行紧凑格式,段落之间不设置空行 FORMAT LOOSE 松散格式,为段前设空行松散格式,为段前设空行 1、

7、举例:用举例:用 format short, format long, format rat 分别显示的值分别显示的值 解:解:format short pi format long pi format rat pi format %回到回到 default 状态状态 五、 魔方矩阵五、 魔方矩阵 1、 魔方矩阵是魔方矩阵是 nn 元素构成的方阵,其每个元素由不同的元素构成的方阵,其每个元素由不同的 1n2 的整数所组成, 它的每行、 每列以及对角线元素之和均相等, 都等于的整数所组成, 它的每行、 每列以及对角线元素之和均相等, 都等于 n(1+ n2)/2。 2、 魔方矩阵以魔方矩阵以 m

8、agic(n)表示,其中表示,其中 n 为矩阵的阶次。为矩阵的阶次。 3、 举例:求举例:求 4 阶魔方矩阵阶魔方矩阵 解:解:A=magic(4) sum(A,1) %sum(A) 求列元素之和求列元素之和 sum(A,2) %求行元素之和求行元素之和 trace(A) %求主对角线(左上到右下)元素之和求主对角线(左上到右下)元素之和 fliplr(A) %矩阵左右翻转矩阵左右翻转 trace(fliplr(A) 六、 单位矩阵六、 单位矩阵 1、 单位矩阵是主对角线全为单位矩阵是主对角线全为 1,而其他元素全为,而其他元素全为 0 的矩阵。的矩阵。 2、 MATLAB 用用 eye(m,

9、n)表示单位矩阵,其中表示单位矩阵,其中 m 为行数,为行数,n 为列数,如果是方阵,则以为列数,如果是方阵,则以 eye(n)表示。表示。 3、 举例:求举例:求 4 行行 4 列的单位矩阵和列的单位矩阵和 3 行行 4 列的单位矩阵列的单位矩阵 解:解:eye(4) eye(3,4) 七、 全七、 全 1 矩阵矩阵 1、 矩阵中所有元素为矩阵中所有元素为 1,称为全,称为全 1 矩阵矩阵 2、 MATLAB 用用 ones(m,n)表示全表示全 1 矩阵,其中矩阵,其中 m 为行数,为行数,n 为列数,如果是方阵,则以为列数,如果是方阵,则以 ones(n)表示。表示。 3、 举例:求举例

10、:求 4 阶全阶全 1 矩阵和矩阵和 3 行行 4 列的全列的全 1 矩阵矩阵 解:解:ones(4) ones(3,4) 八、 零矩阵八、 零矩阵 1、 矩阵中所有元素都为矩阵中所有元素都为 0 的矩阵称为零矩阵。通常首先用来确定矩阵的大小,随后为矩阵元素赋值。的矩阵称为零矩阵。通常首先用来确定矩阵的大小,随后为矩阵元素赋值。 2、 MATLAB 用用 zeros(m,n)表示零矩阵,其中表示零矩阵,其中 m 为行数,为行数,n 为列数,如果是方阵,则以为列数,如果是方阵,则以 zeros(n)表示。表示。 3、 举例:求举例:求 4 阶零矩阵和阶零矩阵和 3 行行 4 列的零矩阵列的零矩阵

11、 解:解:zeros(4) zeros(3,4) 九、 均匀分布的随机矩阵九、 均匀分布的随机矩阵 1、 rand(m,n)是一个用随机数生成的是一个用随机数生成的 mn 的矩阵, 随机数是选择均匀分布在(的矩阵, 随机数是选择均匀分布在(0,1)区间内。若为方阵,则以)区间内。若为方阵,则以 rand(n)表示。表示。 2、 举例:求两个举例:求两个 4 阶均匀分布的随机矩阵,分别赋值给阶均匀分布的随机矩阵,分别赋值给 A1、A2 解:解:A1=rand(4) A2=rand(4) 十、 正态分布的随机矩阵十、 正态分布的随机矩阵 1、 randn(m,n)产生标准正态分布的随机矩阵,其中产

12、生标准正态分布的随机矩阵,其中 m 为行数,为行数,n 为列数,若为方阵,则以为列数,若为方阵,则以 randn(n)表示。表示。 2、 举例:举例: 例例 1:求:求 4 阶标准正态分布的随机矩阵,以及阶标准正态分布的随机矩阵,以及 3 行行 4 列标准正态分布的列标准正态分布的随机矩阵随机矩阵 解:解:randn(4) randn(3,4) 例例 2:请从正态分布(期望值为:请从正态分布(期望值为 1,标准差为,标准差为 2)中抽取)中抽取 100 个随机数,生成列向量个随机数,生成列向量 x 解:解:x= 1 + 2.*randn(100,1); %数组乘法用数组乘法用.* 十一、 对角

13、矩阵十一、 对角矩阵 1、 X=diag(v,k)表示将向量表示将向量 v 写入矩阵写入矩阵 X 的主对角线上, 而矩阵的主对角线上, 而矩阵 X 的其他元素为零。的其他元素为零。k 表示上移或下移行数,正表示上移,负表示下移,表示上移或下移行数,正表示上移,负表示下移,k=0 或默认则恰好在主对角线上。或默认则恰好在主对角线上。注:注:v 可以是行向量,也可以是列向量可以是行向量,也可以是列向量 2、 v=diag(X,k)表示从矩阵表示从矩阵 X 中提取对角线元素到向量中提取对角线元素到向量 v注: 得到的注: 得到的 v 是列向量是列向量。k=0 或默认,则提取主对角线元素,否则提取上移

14、或默认,则提取主对角线元素,否则提取上移 k 行(行(k 为正号)或下移为正号)或下移 k 行(行(k 为负号)的对角线元素。为负号)的对角线元素。 3、 举例:举例: 例例 1:已知行向量:已知行向量 v=1 2 3 4,将,将 v 向量元素写入矩阵的主对角线,求对角矩阵,以及上移一行的对角矩阵和下移一行的对角矩阵。向量元素写入矩阵的主对角线,求对角矩阵,以及上移一行的对角矩阵和下移一行的对角矩阵。 解:解:v=1 2 3 4 %如果是列向量如果是列向量 v=1;2;3;4,结果相同。,结果相同。 diag(v) diag(v,1) diag(v,-1) 例例 2:已知:已知 X 为为 5

15、阶魔方矩阵,提取阶魔方矩阵,提取 X 的主对角线赋予向量的主对角线赋予向量 v,主对角线上移一行赋予向量,主对角线上移一行赋予向量 v1,下移一行赋予向量,下移一行赋予向量 v2。 解:解:X=magic(5) v=diag(X) %结果为列向量结果为列向量 v1=diag(X,1) v2=diag(X,-1) 十二、 矩阵的大小十二、 矩阵的大小 1、 对于对于 mn 的矩阵的矩阵 x,size(x)返回一个行向量返回一个行向量 d=m,n,它包含了矩阵的行数,它包含了矩阵的行数 m 和列数和列数 n。 2、 对于多维矩阵对于多维矩阵 x,size(x)返回一个行向量返回一个行向量 d=m

16、n ps,它显示矩阵的行数,它显示矩阵的行数 m、列数、列数 n、页数、页数 p 和多重页数和多重页数 s。 3、 size 常用来构造一个与已知矩阵相同大小的新矩阵。常用来构造一个与已知矩阵相同大小的新矩阵。 4、 举例:举例: 例例 1:已知矩阵:已知矩阵1 1 1 1 11 2 3451 3 6 10 15A ,求矩阵的大小,并创建与矩阵,求矩阵的大小,并创建与矩阵 A 同阶的全同阶的全 1 矩阵矩阵 B。 解:解:A=1 1 1 1 1;1 2 3 4 5;1 3 6 10 15 d=size(A) row=size(A,1) col=size(A,2) B=ones(size(A) 例例 2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号