1.struct函数直接定义

查阅文档是这样的:struct(field1,value1,field2,value2,.....)

上面这个格式很重要记住

field1和field2称为这个结构体的字段,要熟悉字段这个词语。

注意:这里先提一句 matlab中的文档显示Any nonscalar cell arrays in the set value1,...,valueN must have the same dimensions.

意思是 任何非标量元胞数组必须尺寸相同,后面会需要用到

目录

1.struct函数直接定义

查阅文档是这样的:struct(field1,value1,field2,value2,.....)

1.1 先举例正常的:s = struct('f1','name','f2','blue')

1.2 如果f2变成普通数组呢?

1.3 这里复习一下元胞数组

1.4 再变化,如果其中一个字段比如f2变成元胞数组即cell型数组呢?

情况一:存在一个value内容为n个元素的元胞数组,不管是1×n还是n×1,只要行数或者列数不超过2

情况二:value中全部是元胞数组

2 结束语



1.1 先举例正常的:s = struct('f1','name','f2','blue')

所以创造了一个s结构体,这个s结构体包括两个字段,一个字段是一种内容。此时可以看到这个结构体大小是1×1,原因是这里面每个字段的大小是1×1


1.2 如果f2变成普通数组呢?

结果如下图


1.3 这里复习一下元胞数组

防止有人忘记或者小白看不懂(当然我也是小白233333),具体见我上篇博客

元胞数组(cell)创建及赋值:

cell(n),创造n×n大小的数组

从这里能看到两种括号的应用区别了吗?当用{ }时,代表直接写值,用()定位时,赋值就必须在内容外层再套一层{ }

举例:a = {'NAME',[1 2 3;2 4 6],ones(2,3),{'color',[1 2]}}

用逗号 “,”做间隔

根据上图里第4个框内内容可知,cell内可以再次赋值一个cell型数组的


1.4 再变化,如果其中一个字段比如f2变成元胞数组即cell型数组呢?

举例

s = struct('f1','name','f2',{[1 2 3;2 4 6],'color',ones(2,2)})

将f2的内容变成了一个大小为1×3的元胞数组,此时观察结构体内容值

会发现字段变成了3,对比前面字段是每个field的名字而不同,那么这种不同是为什么呢?

没有为什么哈哈哈,规则就是这样的,当存在元胞数组时,那么有两种情况

  • 情况一:存在一个value内容为n个元素的元胞数组,不管是1×n还是n×1,只要行数或者列数不超过2

那么字段会变成n大小,同时结构体数组大小为元胞数组大小,就像上面例子f1也会像f2一样变成1×3,但是f1只有一个,怎么办呢,就会默认全部填充这一个,填充成和元胞数组一样大小的

  • 情况二:value中全部是元胞数组

一开头我介绍的那句文档中翻译出来的话,全部是元胞数组的话,必须尺寸相同才可以

不然就会出现,比如我把f1位置改成两个元素的元胞数组

s = struct('f1',{'name',[2 3 4]'},'f2',{[1 2 3,2 4 6],'color',ones(2,2),'laa'})


2 结束语

至此struct函数讲解结束,还是非常简单的,如果理解不清楚一定要亲自把代码自己在matlab上输一遍运行看结果,尝试了就知道啦!!

不要偷懒哦!!!

matlab 结构体struct函数使用方法相关推荐

  1. matlab 不同函数间传递结构体数据_matlab 结构体struct函数使用方法

    1.struct函数直接定义 查阅文档是这样的:struct(field1,value1,field2,value2,.....) 上面这个格式很重要记住 field1和field2称为这个结构体的字 ...

  2. C语言的几种结构体Struct的赋值方法

    C语言的几种结构体Struct的赋值方法 1. 定义结构体类型 这里是两个结构体的基本结构. struct Init{int a;float b;double c; }I1; struct SIMPL ...

  3. c语言结构体定义蚂蚁,C语言结构体(struct)常见使用方法

    C语言结构体(struct)常见使用方法 C语言结构体(struct)常见使用方法 基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合) ...

  4. 转载:[Matlab]结构体(Struct)

    转载:https://blog.csdn.net/m0_37407756/article/details/70045209 要在MALTAB中实现比较复杂的编程,就不能不用struct类型.而且在MA ...

  5. go面向对象编程:结构体struct详解、结构体实例的创建方式、结构体之间的转换(type取别名的使用)、方法的注意事项及与函数的区别

    入门示例 package main import "fmt" //定义老师结构体,将老师中的各个属性 统一放入结构体中管理: type Teacher struct{//变量名字大 ...

  6. Golang——结构体创建与初始化、结构体与数组、结构体与切片、结构体与map、结构体作为函数参数、结构体方法、结构体方法继承

    结构体: 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合 结构体可以很好的管理一批有联系的数据,使用结构体可以提高程序的易读性,类似于Java的类一样 不能在结构体直接赋值 字段名必须唯一 ...

  7. c/c++教程 - 1.10 结构体 使用typedef定义struct结构体 结构体数组 结构体指针 结构体嵌套 结构体做函数参数 结构体const

    十二.结构体 (1)结构体定义和使用 基本概念:结构体属于用户自定义的数据类型,允许用户存储不同的数据类型. 参考视频:https://www.bilibili.com/video/BV1et411b ...

  8. Matlab 结构体(struct)使用

    转自http://blog.sina.com.cn/s/blog_468651400100c6c0.html 要在MALTAB中实现比较复杂的编程,就不能不用struct类型.而且在 MATLAB中实 ...

  9. Matlab 结构体(struct)学习

    http://blog.csdn.net/wangzhix123/article/details/8807737 在matlab里面,struct结构体数组功能强大,在处理很多复杂数据上很有用,刚好最 ...

  10. 获取网络接口信息——ioctl()函数与结构体struct ifreq、 struct ifconf

    http://blog.csdn.net/windeal3203/article/details/39320605 Linux 下 可以使用ioctl()函数 以及 结构体 struct ifreq ...

最新文章

  1. Android Gson使用详解
  2. 160个Crackme023
  3. android studio插入数据表中没有_学Java能拿高薪吗 Java中常见排序算法有哪些
  4. Python小项目——学生信息管理系统(详细讲解)
  5. scala构造器的介绍
  6. 二叉树的非递归遍历(转载)
  7. html自动随机跳转网址,网页随机跳转代码
  8. 直播企业掀“冲击IPO”浪潮,为何老玩家成受益者?
  9. Ubuntu18.04-ROS-Python-通过周立功Can发送16进制整数
  10. 鸿蒙芯片是华为公司靠几年造出来的,难度不输芯片制造,华为高管实话实说,造出操作系统只是开始...
  11. PHP学生学校在线考试管理系统,MYSQL数据库网页设计
  12. [家里蹲大学数学杂志]第218期正项级数的审敛法与人生态度
  13. ubuntu批量压缩文件夹
  14. 历史在重演:从KHTML到WebKit,再到Blink
  15. www.folou.com/index.php,ExpressWechat/index.php at master · Gimhoy/ExpressWechat · GitHub
  16. 已解决Building wheels for collected packages: lxml
  17. linux系统篇 -- 一、系统概要
  18. 主流嵌入式操作系统介绍(一)
  19. Automa 和看小说脚本
  20. SimpleMind的使用方法及思维导图压缩包的使用方法

热门文章

  1. 把Excel里的折线图另存为图片
  2. Win32反汇编(七)浮点指令(FLD / FILD / FSTP)与位移指令的逆向分析
  3. 【学生网页设计作品 】关于HTML公益主题网页设计——谨防电信诈骗网
  4. AVS2音视频编码标准
  5. 绘制折线图分析股票涨跌
  6. Android 汉字转拼音工具类
  7. 图灵计算机模型意义,图灵机有什么意义_学习图灵机模型中遇到的问题 - 人工智能 - 电子发烧友网...
  8. Python中的角度转换功能
  9. 泰勒展开-常用优化实例
  10. windows7内存诊断工具有用吗_WIN7 自带的内存检测工具怎么用