MATLAB数据结构
来源:互联网 发布:淘宝客是怎么推广的 编辑:程序博客网 时间:2024/06/05 17:57
MATLAB有四种数据结构
1数组
1.1一维数组
注意在同一个数组的的数据元素类型必须相同(当然可以转化为同一高阶数据类型的可以放在同一个数组)
举个例子:
这样子写x = [1 3+5i]
输出结果是这样子:会全部转成复数形式
x =
1.0000 + 0.0000i 3.0000 + 5.0000i
如果这样子写: x = [1 ‘你还会’ 3+5i]
会报错:从 double 转换为 char 时出现以下错误:
复数值不能转换为字符
1.1.1创建
(1)直接赋值法:x = [1 2 3 4] %每个数据元素之间有空格加逗号也行
(2)冒号法:x =a : step : b ,a,b为数组元素起止值,step为数组元素间距值,可以省略不写默认为1
(3)等距函数生成法:x = linspace(a,b,n),a,b为数组元素起止值等分为n份,默认值是100可省略不写
(4)对数函数生成法:x = logspace(a,b,n),a,b为数组元素起止值等分为n份,默认值是50可省略不写
1.1.2寻访
数组最寻常的寻访方式就是根据下标寻访,有以下几种方式:
x = [1 2 3 4] ,下标都是从1开始
x(2) = 2
x(1:3) = [1,2,3] %生成子数组
x(2:end) = [2,3,4]%end表数组最后一个元素的位置
x(3:-1:1) = [3,2,1]%负数倒叙排
x(find(x>2)) = [3,4]
x([1 2 3 3 2 1]) = [ 1 2 3 3 2 1]%对元素可重复寻访
x([1 2 ]) = [11 22] % x = [11 22 3 4 5]可以这样为元素赋值
1.2二维数组
当二维数组带有线性变换的含义时,二维数组就可以看成一个矩阵
1.2.1创建
x = [1,2,3;4,5,6;7,8,9]%3*3矩阵
1.2.2寻访
可以用全下标寻访也可以用单下标寻访,后者适用于高维数组,全下标于单下标的转换,n*m维数组 x(i,j) = x((j-1)*m+i)
几个特殊的表示方式:
x([1,2],[3]) %表示x矩阵的第1,2行的第3列
ans =
3
6
x(:,2)%表示所有行的第二列
ans =
2
5
8
x(:)%表示转换成列向量
ans =
1
4
7
2
5
8
3
6
9
1.3逻辑数组
逻辑数组就是数组元素只能是0和1
例如下面这个,
a =
1 2 3
4 5 6
7 8 9
m = a>=4
m = %m就是逻辑数组
0 0 0
1 1 1
1 1 1
b = a(m)’
ans = %b表示的就是a中数组元素大于等于4的数组元素的行向量
4 7 5 8 6 9
1.3 细胞数组(单元数组)
这个也是数组,但是这种数组可以容纳不同数据类型的元素
1.3.1 创建
构造单元数组有左标记法和右标记法,就是一个{}放在变量左边或右边,{}是单元数组的标志
例如创建一个2*2的单元数组c,左标志法:
c{1,1}=[1,2]
c{1,2} = [‘nih’]
c{2,1} = eye(3)
c{2,2} = {1:4}
右标志法:
c(1,1) = {1,2}
c(1,2) = {‘nih’}
c(2,1) = {eye(3)}
c(2,2) = {1:4}
1.3.2寻访
例如c{2,1}(2,2) = 1,因为c{2,1}是一个3*3单位矩阵,再寻访里面的(2,2)位置的数组元素是1
1.3.3删除元素
c{1,1}={[]}
1.3.4单元数组函数
此处不想打字,直接上图
1.4结构数组
其实结构数组和c语言的结构数组性质类似,就是属性的集合
1.4.1生成
继续上图哈哈
第一种方式:
第二种:
1.4.2 寻访
例如 person(2).Name
person(1:2)这样子
还可以person.Name得到一个属性值数组
- MATLAB数据结构
- matlab实现位图数据结构
- matlab中的java数据结构
- Matlab基本数据结构
- matlab数据结构-元胞数组
- Matlab使用Java的数据结构类型
- Matlab使用Java的数据结构类型
- Matlab与数据结构 -- 如何获取完整文件名
- 关于matlab的table数据结构的使用
- matlab基本操作 关键字 特殊变量 常用命令 数据结构
- 关于matlab中动态增长数据结构的实验记录
- C++与Matlab混合编程之:矩阵数据结构
- (转)Matlab映射表数据结构(containers.Map)
- Matlab与数据结构 -- 求向量或矩阵的最大值
- Matlab与数据结构 -- 如何获取给定目录中的文件
- matlab
- Matlab
- MATLAB
- 图片无缝滚动
- HDU 1689 Just a Hook (线段树, 区间修改)
- [FAQ16698]Power Control Widget UI界面正常,但是点击图标很久才有反应
- math库的操作对象只能是标量
- 微信Android SDK提示com.tencent.mm.plugin.openapi.Intent.ACTION_REFRESH_WXAPP
- MATLAB数据结构
- Dom编程艺术第三章
- HDU6166Senior Pan(顶点子集最短路径-二进制划分集合)
- 在用python操作mysql时报错:ModuleNotFoundError- No module named 'MySQLdb'
- Floyd基础知识 多源最短路 && 传递闭包(内含优化) && 最小环
- 使用反射生成jdk动态代理
- Hard Refactoring Gym
- 进程和线程
- C#中文件流,网络流,缓冲流等流的概念理解