MATLAB数据结构
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数据结构(1)
中国史之[纣王即位]: 商纣王即位,征服夷方,得大量俘虏,商的国力因此虚耗.纣王刚愎自用,囚箕子,杀比干,后被周武王所灭,导致商朝灭亡. --来源:全历史APP 俗话说:"好记性不如烂笔头& ...
- Matlab 数据结构
一.Cell 如果在一个类中用到多个类型的数据,我们如下定义 >> [12,'a',1:2:9,"hello"]ans = 1×8 string 数组"12& ...
- matlab中exp(liangx),Matlab基础知识
<Matlab基础知识>由会员分享,可在线阅读,更多相关<Matlab基础知识(122页珍藏版)>请在人人文库网上搜索. 1.Lxy, China Jiliang Univer ...
- 完全手册-MATLAB使用详解:基础、开发及工程应用
[书名]完全手册-MATLAB使用详解:基础.开发及工程应用 [作者]董霖 编著 [ISBN]978-7-121-07397-7 [出版社]电子工业出版社 [出版日期]2009年1月 [内容简介] M ...
- MATLAB程序设计与应用 4.1 M文件
MATLAB程序设计与应用 文章目录 MATLAB程序设计与应用 4. 第4章 MATLAB程序流程控制 4.1 M文件 4.1.1 M文件的建立与打开 4.1.2 M文件的分类 4. 第4章 MAT ...
- MATLAB 语言基础知识 矩阵和数组 创建、串联和扩展矩阵
最基本的MATLAB数据结构体是矩阵.矩阵是按行和列排列的数据元素的二维矩形数组.元素可以是数字.逻辑值(true 或 false).日期和时间.字符串或者其他MATLAB数据类型. 即使一个数字也能 ...
- Matlab:创建、串联和扩展矩阵
Matlab:创建.串联和扩展矩阵 构建数据矩阵 专用矩阵函数 串联矩阵 生成数值序列 扩展矩阵 空数组 最基本的 MATLAB 数据结构体是矩阵.矩阵是按行和列排列的数据元素的二维矩形数组.元素可以 ...
- Matlab中创建、串联和扩展矩阵
目录 构建数据矩阵 专用矩阵函数 串联矩阵 生成数值序列 扩展矩阵 空数组 最基本的 MATLAB® 数据结构体是矩阵.矩阵是按行和列排列的数据元素的二维矩形数组.元素可以是数字.逻辑值(true 或 ...
- Matlab之语言基础知识
官方教程已非常详尽 零.导入项目 新建工程-空白项目-找到主程序xx.m并运行 调用GUI-在命令行中输入guide-弹出.fig面板则表示创建成功 其中红框框选的就是常用的一些操作,如:添加静态文本 ...
最新文章
- Pig自定义过滤UDF和加载UDF
- 学python需要学数据库吗-学习Python爬虫前,你必须知道的一些工具!
- java cmd 等待输入_JAVA:调用cmd指令(支持多次手工输入)
- C 中的static关键字
- SAP 2020全球技术大会(SAP 2020 TechEd)中国区会场现在开始报名啦!
- 《.NET 性能优化》送书活动结果公布
- P2824-[HEOI2016/TJOI2016]排序【线段树,二分】
- 安卓机更新系统会卡吗_安卓机可以用AirPods Pro吗?告诉你真实体验
- 推荐系统遇上深度学习(十一)--神经协同过滤NCF原理及实战
- web sqlite linux,基于嵌入式Linux和Sqlite的Web服务器的研究及应用
- VS选中cpp文件后定位其在解决方案管理器中属于哪个项目
- 英雄联盟商城登录界面
- 如何通过供应商分类来提高采购绩效?
- 各代iphone尺寸_历代iPhone机身厚度对比: 6代最薄, iPhone X 难进前五
- 货币等额换算_换算单位和货币的最佳免费程序和网站
- 迪士尼机器人芭蕾舞_两个自由度实现惊艳后空翻 迪士尼杂技机器人献拿手好戏...
- Electron打包方式
- 千万年斗转星移,小屏幕见大宇宙 - “钦天明时” 天文时钟万年历应用程序(iOS App)说明
- 【神经网络与深度学习-TensorFlow实践】-中国大学MOOC课程(八)(TensorFlow基础))
- pdf转cad用什么软件比较不错