|-----------------------------------------|
| ⚠️ 和Python完全不一样!MATLAB里二者不是一回事,差别很大 |
1. ' 单引号:创建字符数组(char)
|--------------------------------------------------------------------------|
| MATLAB c = 'abc'; whos c % Class: char % 本质:字符向量,每个元素是单个字符 c(1) % 取出 'a' |
额外大坑:单引号同时还是共轭转置运算符,这个是最容易混淆的!
|----------------------------------------|
| MATLAB A = 1+2i; A' % 共轭转置,结果 1-2i |
2. " 双引号:创建字符串标量(string)(R2016b及之后版本支持)
|----------------------------------------------------------------------------------|
| MATLAB s = "abc"; whos s % Class: string % 本质:字符串类型,整体是一个对象 s(1) % 得到整个字符串 "abc" |
✅ 核心对比
|----|--------------------|---------------------|
| 项目 | 单引号 'abc' char字符数组 | 双引号 "abc" string字符串 |
| 类型 | char 字符向量 | string 字符串类型 |
| 索引 | 按单个字符取 | 按字符串对象取 |
| 拼接 | 'a','b' | "a","b" |
| 版本 | 所有MATLAB版本都支持 | R2016b以后才有 |
举个直观例子
|---------------------------------------------------------------------|
| MATLAB ch = 'abcd'; ch(2) % 'b' str = "abcd"; str(2) % 报错!只有一个字符串元素 |
嵌套引号写法
- 单引号字符串内部写单引号:两个单引号
|----------------------------|
| MATLAB 'He said ''hello''' |
- 双引号字符串内部写双引号:两个双引号
|----------------------------|
| MATLAB "He said ""hello""" |
一句话总结
- 单引号:'xxx' → char字符数组 ;同时 ' 还是共轭转置运算符。
- 双引号:"xxx" → string字符串(新版才有)。