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数据结构相关推荐

  1. 【matlab图像处理】matlab数据结构(1)

    中国史之[纣王即位]: 商纣王即位,征服夷方,得大量俘虏,商的国力因此虚耗.纣王刚愎自用,囚箕子,杀比干,后被周武王所灭,导致商朝灭亡. --来源:全历史APP 俗话说:"好记性不如烂笔头& ...

  2. Matlab 数据结构

    一.Cell 如果在一个类中用到多个类型的数据,我们如下定义 >> [12,'a',1:2:9,"hello"]ans = 1×8 string 数组"12& ...

  3. matlab中exp(liangx),Matlab基础知识

    <Matlab基础知识>由会员分享,可在线阅读,更多相关<Matlab基础知识(122页珍藏版)>请在人人文库网上搜索. 1.Lxy, China Jiliang Univer ...

  4. 完全手册-MATLAB使用详解:基础、开发及工程应用

    [书名]完全手册-MATLAB使用详解:基础.开发及工程应用 [作者]董霖 编著 [ISBN]978-7-121-07397-7 [出版社]电子工业出版社 [出版日期]2009年1月 [内容简介] M ...

  5. MATLAB程序设计与应用 4.1 M文件

    MATLAB程序设计与应用 文章目录 MATLAB程序设计与应用 4. 第4章 MATLAB程序流程控制 4.1 M文件 4.1.1 M文件的建立与打开 4.1.2 M文件的分类 4. 第4章 MAT ...

  6. MATLAB 语言基础知识 矩阵和数组 创建、串联和扩展矩阵

    最基本的MATLAB数据结构体是矩阵.矩阵是按行和列排列的数据元素的二维矩形数组.元素可以是数字.逻辑值(true 或 false).日期和时间.字符串或者其他MATLAB数据类型. 即使一个数字也能 ...

  7. Matlab:创建、串联和扩展矩阵

    Matlab:创建.串联和扩展矩阵 构建数据矩阵 专用矩阵函数 串联矩阵 生成数值序列 扩展矩阵 空数组 最基本的 MATLAB 数据结构体是矩阵.矩阵是按行和列排列的数据元素的二维矩形数组.元素可以 ...

  8. Matlab中创建、串联和扩展矩阵

    目录 构建数据矩阵 专用矩阵函数 串联矩阵 生成数值序列 扩展矩阵 空数组 最基本的 MATLAB® 数据结构体是矩阵.矩阵是按行和列排列的数据元素的二维矩形数组.元素可以是数字.逻辑值(true 或 ...

  9. Matlab之语言基础知识

    官方教程已非常详尽 零.导入项目 新建工程-空白项目-找到主程序xx.m并运行 调用GUI-在命令行中输入guide-弹出.fig面板则表示创建成功 其中红框框选的就是常用的一些操作,如:添加静态文本 ...

最新文章

  1. Pig自定义过滤UDF和加载UDF
  2. 学python需要学数据库吗-学习Python爬虫前,你必须知道的一些工具!
  3. java cmd 等待输入_JAVA:调用cmd指令(支持多次手工输入)
  4. C 中的static关键字
  5. SAP 2020全球技术大会(SAP 2020 TechEd)中国区会场现在开始报名啦!
  6. 《.NET 性能优化》送书活动结果公布
  7. P2824-[HEOI2016/TJOI2016]排序【线段树,二分】
  8. 安卓机更新系统会卡吗_安卓机可以用AirPods Pro吗?告诉你真实体验
  9. 推荐系统遇上深度学习(十一)--神经协同过滤NCF原理及实战
  10. web sqlite linux,基于嵌入式Linux和Sqlite的Web服务器的研究及应用
  11. VS选中cpp文件后定位其在解决方案管理器中属于哪个项目
  12. 英雄联盟商城登录界面
  13. 如何通过供应商分类来提高采购绩效?
  14. 各代iphone尺寸_历代iPhone机身厚度对比: 6代最薄, iPhone X 难进前五
  15. 货币等额换算_换算单位和货币的最佳免费程序和网站
  16. 迪士尼机器人芭蕾舞_两个自由度实现惊艳后空翻 迪士尼杂技机器人献拿手好戏...
  17. Electron打包方式
  18. 千万年斗转星移,小屏幕见大宇宙 - “钦天明时” 天文时钟万年历应用程序(iOS App)说明
  19. 【神经网络与深度学习-TensorFlow实践】-中国大学MOOC课程(八)(TensorFlow基础))
  20. pdf转cad用什么软件比较不错

热门文章

  1. 了解眩光与星芒,夜景灯光拍摄翻倍美
  2. ❥挑灯夜读系列❥-- 软件设计师考试躺过攻略(2021年下半年)
  3. excel表格数据库表字段带下划线转驼峰
  4. 软件测试 —— Python(三)之数据序列(容器)
  5. 读《曾经,我们爱过一个世纪》有感(附原文)
  6. linux计算机连接PEAP企业网的wi-fi
  7. Ae 脚本:TypeMonkey 动态文本动画
  8. 小程序开发的基础与进阶
  9. 【前端学习 Vue (8) 什么是SSR】
  10. CSS如何让单行文字垂直居中