- MATLAB系统
- MATLAB文件
- MATLAB在线帮助
- 导言
- 其他开发环境特征
- MATLAB桌面
- 桌面工具
- 命令窗口
- 发射台
- 帮助浏览器
- 当前目录浏览器
- 工作空间浏览器
- 编辑器/调试器
- 启动MATLAB
- 算子
- 函数
- 表达式举例
- 生成矩阵
- 加载命令
- M-文件
- 连接
- 行与列的删除
- 关于矩阵和数组的其他内容
- 线性代数
- 数组
- 多元数据
- 标量扩张
- 逻辑下标
- find函数
- 控制命令窗口输入与输出
- 格式命令
- 隐藏输出
- 长命令行的输入
- 命令行的编辑
- 输入矩阵
- 求和、转置和对角线
- 下标
- 冒号算子
- 魔方函数
- 表达式
- 变量
- 数
- 矩阵操作
- 轴的控制
- 轴的标签与标题
- Figure的保存
- 交互式的作图编辑
- 作图编辑模式的使用
- 属性编辑器的使用
- 网格和表面作图
- 双变量函数的可视化
- 图像
- 图形的打印
- 句柄图形
- 图形对象
- 设定对象属性
- 查找现有的对象句柄
- 图形用户界面的设计工具
- 动画
- 删除模式方法
- 创作电影
- 创建图
- 一个图表中的多重数据集
- 指定线型和颜色
- 作出线与标记
- 虚数与复数数据
- 在现有图中添加图
- Figure窗口
- 同一Figure中作多幅图
- 作图
- 单元数组
- 字符与文本
- 结构体
- 脚本与函数
- 脚本
- 函数
- 全局变量
- 把字符串变元赋给函数
- eval函数
- 向量化
- 预分配
- 函数的句柄
- 函数的函数
- 包含于MATLAB的程序示范
- if
- switch 和 case
- for
- while
- continue
- break
- 其他数据结构
- 多维数组
- 用 MATLAB 编程
- 开始
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
结构体
结构体是MATLAB的多维数组,其元素取决于原文的域指示符。例如,
S.name = 'Ed Plum'; S.score = 83; S.grade = 'B+'
创建一个含三个域的标量结构体。
S = name: 'Ed Plum' score: 83 grade: 'B+'
和MATLAB的其他一切一样,结构体是数组,故可以插入附加元素。在此情况下,数组的每个元素都是带有若干域的结构体。域可以逐个加起来,
S(2).name = 'Toni Miller'; S(2).score = 91; S(2).grade = 'A-';
或者,完整元素可以由单个语句相加得到。
S(3) = struct('name','Jerry Garcia',... 'score',70,'grade','C')
现在,结构体足够大,可以输出摘要了。
S = 1x3 struct array with fields: name score grade
有几种方法可以把不同域集合到其他MATLAB数组里。它们都是基于逗号分开的列表的符号。若输入
S.score
等于输入
S(1).score, S(2).score, S(3).score
这就是逗号分开的列表。没有任何其他标点,它不是很有用。这样,它把三个分数值依次赋给默认变量ans
,并正确无误地输出每个赋值结果。但当你用方括号把表达式括起来时,
[S.score]
就等同于
[S(1).score, S(2).score, S(3).score]
生成一个包含所有分数的行向量。
ans = 83 91 70
类似地,输入
S.name
只依次把姓名赋值给ans
。但若嵌入花括号,
{S.name}
则产生一个包含三个名字的1*3单元数组,
ans = 'Ed Plum' 'Toni Miller' 'Jerry Garcia'
而
char(S.name)
调用char
函数,用三个变元从姓名域创立一个字符数组,
ans = Ed Plum Toni Miller Jerry Garcia
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论