MATLAB核心数据类型详解:标量、矩阵、字符串与结构体
文章目录标量、向量、矩阵数值类型字符char与字符串string逻辑值logical单元数组 cell结构体 struct表格 table时间类型 datetime类型转换MATLAB的数据类型体系和大多数编程语言不太一样——它以矩阵为基本数据单元所有数据在底层都是矩阵。搞清楚各种数据类型的用途和区别是写出高质量MATLAB代码的基础。标量、向量、矩阵MATLAB里一个普通数字就是1×1的矩阵这不只是概念上的说法是真实的存储方式a5;% 标量1x1矩阵b[1,2,3];% 行向量1x3矩阵逗号或空格分隔c[1;2;3];% 列向量3x1矩阵分号换行d[123;456];% 2x3矩阵% 查看维度size(d)% 返回 [2, 3]size(d,1)% 行数2size(d,2)% 列数3numel(d)% 总元素数6生成特殊矩阵zeros(3,4)% 全零矩阵ones(2,3)% 全1矩阵eye(4)% 单位矩阵rand(3)% 均匀分布随机矩阵值在[0,1]之间randn(3)% 标准正态分布随机矩阵linspace(0,1,5)% 等间距向量[0, 0.25, 0.5, 0.75, 1]0:0.5:2% 冒号语法[0, 0.5, 1.0, 1.5, 2.0]数值类型MATLAB默认所有数值都是double64位双精度浮点绝大多数情况下直接用就行。只有在处理大规模数据或图像时才需要考虑用其他类型节省内存类型说明字节取值范围double双精度浮点默认8±1.8×10^308single单精度浮点4±3.4×10^38int8有符号8位整数1-128 ~ 127uint8无符号8位整数10 ~ 255int32有符号32位整数4-2^31 ~ 2^31-1logical逻辑值10 或 1asingle(3.14);% 转为单精度buint8(200);% 无符号整数图像处理常用ctrue;% 逻辑值class(a)% 查看类型返回 singleisa(a,single)% 判断类型返回 1true整数运算注意溢出xuint8(200);x100% 结果是255而不是300溢出时自动截断字符char与字符串stringMATLAB有两套文本处理系统用途略有不同char字符数组旧写法兼容性好chello MATLAB;c(1)% h按字符索引c(7:end)% MATLAB切片length(c)% 12字符个数% 字符数组拼接greeting[hello, ,world];% 字符与数字互转double(A)% 65ASCII码char(65)% Astring字符串对象R2016b起功能更强shello MATLAB;s2hello world;% 用拼接strlength(s)% 12字符长度% 字符串数组sa[苹果,香蕉,橙子];sa(2)% 香蕉contains(sa,蕉)% [0, 1, 0]% 格式化字符串n42;msgsprintf(结果是%d, n);推荐原则新代码优先用string函数更丰富需要兼容老代码或老版本MATLAB用charstring和char之间可以互转string(abc)、char(abc)逻辑值logical逻辑值只有true1和false0两种a53% trueb1010% truec7~7% false~ 是不等于% 逻辑运算ab% 短路与用于标量ab% 逐元素与用于数组~a% 非% 逻辑索引非常实用x[3,7,2,9,4,6];x(x5)% [7, 9, 6]取出大于5的元素x(x5)0% 把小于5的元素清零逻辑索引是MATLAB数据处理的核心技巧之一能替代大量循环判断写出简洁高效的代码。单元数组 cellcell 数组的特点是每个元素可以是不同类型、不同大小的数据。适合存储结构不一致的数据集合。% 创建cell数组c{42,hello,[123],true};% 访问元素花括号取内容c{1}% 42数字c{2}% hello字符数组c{3}% [1 2 3]向量% 花括号 vs 圆括号c{2}% 取出内容本身字符数组c(2)% 取出一个1x1的cell内容是字符数组% 修改某个元素c{1}changed;% 二维cellnames{张三,李四;王五,赵六};names{1,2}% 李四cell 的常见用途批量文件名列表不同长度向量的集合混合类型的参数传递% 实际用例存储多次实验数据每次数据长度不同resultscell(5,1);fori1:5results{i}rand(1,randi([10,20]));% 每次长度不同end结构体 struct结构体按字段名存储数据逻辑更清晰适合描述有多个属性的事物% 创建结构体s.name实验一;s.datedatetime(2024-06-01);s.data[1.2,2.3,3.1,2.8];s.sampleRate1000;% 访问字段s.name% 实验一s.data(2:end)% [2.3, 3.1, 2.8]% 结构体数组多个实验结果fori1:3experiments(i).idi;experiments(i).resultrand(1,10);endexperiments(2).result% 第2个实验结果% 列出所有字段名fieldnames(s)% 动态字段访问字段名是变量时很有用fieldNamename;s.(fieldName)% 等价于 s.name结构体比cell更适合描述参数包、实验记录等有固定属性的数据。当工程越来越大结构体比散装变量管理起来方便太多。表格 tabletable 是专为表格数据设计的类型每列有名字适合处理 Excel 表格类的数据% 创建tablename{张三;李四;王五};age[22;25;28];score[88.5;92.0;76.3];Ttable(name,age,score);% 查看数据Thead(T,2)% 只显示前2行% 按列名访问T.score T{:,score}% 提取数值% 按条件筛选行T(T.score80,:)% 新增计算列T.gradeT.score/100;% 与Excel交互writetable(T,result.xlsx)T2readtable(data.xlsx)实际项目里从Excel读数据进来处理再写回去table是最顺手的工具。时间类型 datetime处理时序数据时datetime 比手动管理时间字符串方便很多tdatetime(2024-01-15 08:30:00,...InputFormat,yyyy-MM-dd HH:mm:ss);% 当前时间now_tdatetime(now);% 时间差dtnow_t-t;% duration类型dt.Days% 相差天数hours(dt)% 转换为小时数% 生成时间序列t_seriesdatetime(2024,1,1)hours(0:23);% 与数字相互转换datenum(t)% 转为MATLAB日期数值datetime(738000,ConvertFrom,datenum)类型转换不同类型之间经常需要转换double(int32(5))% int32转doubleint32(3.7)% double转int32会四舍五入为4char(65)% 数值转字符Astring(3.14)% 数值转字符串3.1400num2str(3.14,%.2f)% 格式化转字符串3.14str2double(3.14)% 字符串转数值3.14logical(0)% 0转falselogical([1020])% 向量转逻辑[1 0 1 0]

相关新闻

如何快速配置foobox-cn:打造终极音乐管理中心的完整指南

如何快速配置foobox-cn:打造终极音乐管理中心的完整指南

如何快速配置foobox-cn:打造终极音乐管理中心的完整指南 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn foobox-cn是一款专为foobar2000设计的DUI皮肤配置,将专业音乐播放器的…

2026/7/31 21:40:49 阅读更多 →
2026 武汉激光焊接、切割及钣金加工展会,开启工业进化的新纪元

2026 武汉激光焊接、切割及钣金加工展会,开启工业进化的新纪元

从“追光者”到“引光人”:2026武汉激光钣金展背后的工业野心锁定九月江城!2026武汉激光焊接切割及钣金展:重构智造新底座【全景透视】2026武汉激光钣金加工展,这场光影革命将如何改写制造?光影重塑,匠心智…

2026/7/31 21:40:49 阅读更多 →
3大痛点终结者:开源离线OCR工具Umi-OCR让你彻底告别手动输入

3大痛点终结者:开源离线OCR工具Umi-OCR让你彻底告别手动输入

3大痛点终结者:开源离线OCR工具Umi-OCR让你彻底告别手动输入 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多…

2026/7/31 21:40:49 阅读更多 →

最新新闻

职业转型失败案例分析:从金牌主持到街头卖艺

职业转型失败案例分析:从金牌主持到街头卖艺

1. 从巅峰到低谷:一位主持人的命运转折解析"从金牌主持人混到街头卖艺,如今却出家为僧"这个标题背后,折射的是一个关于职业发展、人生选择与心理调适的典型案例。作为从业十余年的职业发展顾问,我见过太多类似的人生轨迹…

2026/7/31 22:17:00 阅读更多 →
SpringBoot+Vue3+MyBatis构建英语学习网站实战

SpringBoot+Vue3+MyBatis构建英语学习网站实战

1. 项目概述这个英语知识应用网站系统采用了当前企业级开发中最流行的技术组合:SpringBootVue3MyBatis。作为一名长期奋战在一线的全栈开发者,我可以负责任地说,这套技术栈几乎成为了2023年JavaWeb开发的"黄金标准"。它完美体现了前…

2026/7/31 22:17:00 阅读更多 →
技术范式变革:A2UI如何重塑AI驱动的智能界面开发范式

技术范式变革:A2UI如何重塑AI驱动的智能界面开发范式

技术范式变革:A2UI如何重塑AI驱动的智能界面开发范式 【免费下载链接】a2ui 项目地址: https://gitcode.com/GitHub_Trending/a2/a2ui 在人工智能技术飞速发展的今天,开发者面临着一个核心挑战:如何让AI智能体生成丰富、动态的用户界…

2026/7/31 22:17:00 阅读更多 →
3步掌握Stability AI生成模型:从图像到4D视频的完整实战指南

3步掌握Stability AI生成模型:从图像到4D视频的完整实战指南

3步掌握Stability AI生成模型:从图像到4D视频的完整实战指南 【免费下载链接】generative-models Generative Models by Stability AI 项目地址: https://gitcode.com/GitHub_Trending/ge/generative-models Stability AI的Generative Models项目代表了当前A…

2026/7/31 22:17:00 阅读更多 →
3个关键指标揭示:昇腾AI处理器整数性能深度评测与优化策略

3个关键指标揭示:昇腾AI处理器整数性能深度评测与优化策略

3个关键指标揭示:昇腾AI处理器整数性能深度评测与优化策略 【免费下载链接】pto-isa Parallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-perfor…

2026/7/31 22:17:00 阅读更多 →
SuperRDP技术架构深度解析:Windows远程桌面服务解锁实现原理

SuperRDP技术架构深度解析:Windows远程桌面服务解锁实现原理

SuperRDP技术架构深度解析:Windows远程桌面服务解锁实现原理 【免费下载链接】SuperRDP Super RDPWrap 项目地址: https://gitcode.com/gh_mirrors/su/SuperRDP SuperRDP是基于RDPWrap重构的Windows远程桌面服务解锁工具,采用C语言重写了原始安装…

2026/7/31 22:16:00 阅读更多 →

日新闻

物理复制比逻辑复制好在哪?数据库复制原理详解

物理复制比逻辑复制好在哪?数据库复制原理详解

数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…

2026/7/31 0:00:34 阅读更多 →
BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…

2026/7/31 0:00:34 阅读更多 →
有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…

2026/7/31 0:00:34 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻