元胞数组是一种包含名为元胞cell的数据类型,其中的每个元胞都可以包含任意类型的数据。将索引括在圆括号 () 中可以引用元胞集。使用花括号 {} 进行索引来访问元胞的内容。
翻译翻译:猫(double数组)和老鼠(string数组)不能放在一起,会打起来(报错);直接拿筐盖住猫和老鼠(花括号括起来两个数组)就得到了一组筐(元胞数组),反正大家都是个筐没区别(数组里都是元胞,为同一类型不会报错)。
关注公众号:数学建模BOOM,同名up的b站公开课课件和其他数模资料等在群文件;本文件名“whatcell.mlx”;另外在公众号回复“论文”,可获取各项数模竞赛历年赛题与获奖论文
clear,clc
想把数组a和字符串b保存早一起且"不变质”?
c = [a,b] % c里全是字符了;且a和b维度不同时无法串联
得到输出:
c =
1×5 string 数组
"1" "3" "5" "北京" "上海"
ans =
"1"
c已经彻底是个字符串了,无法再得到原数组a中的数值(输出变成字符“1”而不是数字1)。
而两个变量用花括号括起来,则定义为了元胞数组。其中的double数组a和字符数组b都变成了元胞a和元胞b。赋值给变量d得到的就是元胞数组d
d = {a,b} % 元胞数组,原本的double和字符串都变成了“元胞”
输出:
d =
1×2 cell 数组
{[1 3 5]} {["北京" "上海"]}
代码无常,大筐装小框。直接圆括号调用,得到的是元胞数组里的单个元胞:
d(1) % 圆括号输出的仍为元胞、不是double数组
输出:
ans =
1×1 cell 数组
{[1 3 5]}
元胞毕竟只是筐,其内部没有变:第一个元胞是a,a是double数组。
用花括号设定元胞数组下标,即第一个元胞d{1},就能得到double数组a
d{1} % 花括号输出其第一个元胞内容,即得到数组a
输出:
ans =
1 3 5
ans =
5
而把数组a写成两行试试:a = [1, 3, 5; 2 4 6];
此时c会报错,但d不会。因为元胞是个筐……
建模手、论文手和编程手分别该怎么准备数学建模?新手常见疑问https://mp.weixin.qq.com/s/0XCMGS_GSm_3oH8qM63zQA想参加数学建模比赛,但什么都不会,该怎么学呢?数学建模的学习路径https://mp.weixin.qq.com/s/H-SetKPLCLbMrJiCs9vr6w