当前位置:文档之家› Matlab数组及其运算

Matlab数组及其运算

(3)逻辑数组是一种特殊的数组,与“数组类”有关 操作和函数对它同样适用
计算机仿真
20
2.5 数组的关系运算和逻辑运算
关系运算
例题2-12
<、<=、>、>=、==、~ = 标量可以与数组比较,比较在此标量和数组 的每个元素之间进行,比较结果与被比较数 组同维 数组与数组比较必须维数相同,对相同位置 数进行对比
30
2.7 元胞数组
2.元胞数组的创建和显示
【例2-18】演示: (2 × 2) 元胞数组的创建。 C_str=char('这是','元胞数组创建算例 1'); R=reshape(1:9,3,3);Cn=[1+2i]; S_sym=sym('sin(-3*t)*exp(-t)'); (1)直接创建法之一 A=cell(2,2); A(1,1)={C_str};A(1,2)={R};A(2,1)={Cn};A(2,2)={S_sy m}; A 例2-18 A = [2x10 char] [3x3 double] [1.0000+ 2.0000i] [1x1 sym ]
计算机仿真 第二章
MatLab 数组及其运算 李益兵 ahlyb@
计算机仿真
1
数值数组(Numeral Array)和数组运算(Array Operations)是MatLab的核心内容。 MatLab是以复数矩阵作为基本的运算单元,向量和 标量都作为特殊的矩阵来处理:向量当作只有一行或一列 矩阵,标量则为只有一个元素的矩阵。
计算机仿真
10
2.2.1 常用数组生成
diag([3,3,3]) diag 产生对角线数组(二维以下) eye(3);eye(3,4);eye(4,3);eye(3,3) eye 产生单位数组(二维以下)
magic 产生魔方数组(二维以下) 每行每列之和相等 ones 产生全1数组 rand 产生0、1间均匀分布的随机数组 ones(2);ones(3,4) rand(3);rand(3,4)
计算机仿真
36
2.8 构架数组
Structure Array
构架数组的创建和显示
例2-20 %2.21 student_rec.number=1; student_='王新宇'; student_rec.height=180; student_rec.test=[100,80,75;77,60,92;67,28,90;100,89,78]; student_rec
计算机仿真
37
常用的基本数学函数
计算机仿真
38
向量运算的常用函数
计算机仿真
39
计算机仿真
35
2.8 构架数组
s = struct('field1',{},'field2',{},...) %建立一个空的结构体,field1,field2是域名称 s = struct('field1',values1, 'field2',values2,...) %建立结构体的时候就赋值,values1,values2就 是针对field1,field2所赋的值。 例如: s = struct('type',{'big','little'},'color',{'red'},'x',{3 4}) 这个结构体有三个域'type', 'color', 'x'
计算机仿真
18
2.4 非数和空数组 空数组 元素均为0的数组、[ ] 例题2-11
计算机仿真
19
2.5 数组的关系运算和逻辑运算
(1)Matlab没有定义专门的逻辑变量,在所有关系、 逻辑表达式中,作为输入的任何非0数都被看成是 “逻辑真”,只有0被认为是“逻辑假” (2)所以关系和逻辑表达式的计算结果,是一个由0 和1组成的“逻辑数组”
胞外标识——表示元胞数组中某个元胞的位置,用圆括号()。 如a(2,3)表示a元胞数组中第二行第三列元胞元素
元胞内寻访——表示元胞数组中某个元胞的内容,用大括 号{}。如a{2,3}表示a元胞数组中第二行第三类元胞中的内 容
计算机仿真
29
2.7 元胞数组
字符矩阵 数值 矩阵
复数 矩阵
元胞 数组
计算机仿真
– [2x10 char ] [3x3 double] – [1.0000+ 2.0000i] [1x1 sym ] – [2x11 char ] [] – [1x10 double] []
例2-18
计算机仿真
32
2.7 元胞数组
2.元胞数组的创建和显示
【例2-18】cellplot 能用图形形象化地表示元胞数 组的内容。(A_C 取自上例) cellplot(A_C,'legend')
计算机仿真
7
2.2 数值数组的生成和寻访
数组的生成 ⑶定数线性采样法 例2-2
x=linspace(first,last,n)
在设定总点数的情况下,均匀采样生成一维行数组。 创建从first开始,到last结束,有n个元素的行向量x。 n省略默认为100。
计算机仿真
8
2.2 数值数组的生成和寻访
str2num
把串转换为数值
•Abs——将串翻译成ASCII码 •Bin2dec——二进制串转变成十进制整数 •Char——ascii码及其他非数值类数据转换成字符串 •Double——将任何类数据转换成双精度数值 •Intstr——将整数转换为串 •Setstr——将AScii吗翻译成串
计算机仿真
数组的生成 ⑷利用M文件 例2-3
对于经常需要调用的且比较大的数组,可专门为该数组 创建一个M文件。
计算机仿真
9
简单数组创建
命 令 x=[2+i squrt(2) 2*pi] x=first:last x=first:increment:last x=linspace(first,last,n) (线性分隔) x=logspace(first,last,n) (对数分隔) 功 能 创建包含指定元素的行向量x 创建从first开始,加1计数,到 last结束的行向量x 创建从first开始,加增量计数, 到last结束的行向量x 创建从first开始,到last结束,有 n个元素的行向量x 创建从 10 first 开始,到 10 last 结束, 有n个元素的行向量x
magic(3)
randn 产生-1、1间正态分布随机数组 randn(3);randn(2,3) zeros 产生全0数组 zeros(3,2);zeros(3) 例2-4
计算机仿真
11
2.2.2 数值数组的寻访
一维数组的寻访 格式:X(index) 例2-5
Index可以是单个正整数或正整数数组
矩阵只是数组的一种特例,它是二维的数值型数组, 表示了一种线性变换关系。
计算机仿真
2
矩阵—数值数组的特例
矩阵的概念 从外观和数据结构上看,二维数组和数学中的矩阵没 有区别。但是,矩阵作为一种变换或影射算子的体现,矩 阵运算有着明确而严格的数学规则。 矩阵运算 数组运算 按照线性代数的运算规则进行 对数组中的每个元素进行同样的运算
计算机仿真
4
2.1 MATLAB的数据类型
数据类型
Data Types
数值
字符串
元胞
结构体
函数句柄
Java类
numeric
char
单精度
cell
整数类
structure
function handle
Java class
双精度
double
稀疏
single
int 数据运算 数据结构
sparse
MATLAB的数据都是以“数组”的形式出现的
MATLAB精心设计数组和数组运算的目的 ①使计算程序简单、易读,使程序命令更接近于教科书上 的数学计算公式; ②提高程序的向量化程度,提高计算效率,节省计算机资 源。
计算机仿真
3
第二章 MATLAB数组及其运算 2.1 MATLAB的数据类型 2.2 数值数组的生成和寻访 2.3 数组运算和矩阵运算 2.4 非数和空数组 2.5 数组的关系运算和逻辑运算 2.6 字符串数组 2.7 元胞数组 2.8 构架数组
计算机仿真
21
2.5 数组的关系运算和逻辑运算 逻辑运算 例题2-13
& 与、 | 或、 ~ 非
计算机仿真
22
2.6 字符串数组
字符变量的创建
A=‘机械工程及自动化’ 例题2-14 字符变量
计算机仿真
23
字符串数组操作函数
例题2-15
计算机仿真
24
字符串转换函数
num2str 把数值转换为串
计算机仿真
5
2.2 数值数组的生成和寻访
数组的生成 ⑴逐个元素输入法 对于较小的简单的数组,从键盘上直接输入,需要遵循以 下几个原则: • 数组(矩阵)中每一行的元素必须用空格或逗号分开 • 在数组(矩阵)中,用分号或回车行表明每一行的结束 • 整个输入数组(矩阵)必须包含在方括号中
ቤተ መጻሕፍቲ ባይዱ
计算机仿真
6
2.2 数值数组的生成和寻访
二维数组的寻访 A(:, j)
例2-6
格式:A(:, j) 表示a矩阵第j列所有元素 A(i, :) 表示a矩阵第i行所有元素 A(1:3, 2:4)表示a矩阵第1-3行,2-4列元素 构成的子矩阵 指令: size(A)
计算机仿真
查看矩阵的维数
12
相关主题