关于MATLAB cell元胞数组中元素的引用问题a{1}='aaa';a{2}='bbb';那么a='aaa' 'bbb'要引用元素a(1)='aaa'a{1}=aaa请问a(1)和a{1}的区别是怎么回事,怎么一个有引号一个没有呢
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/05 20:40:32
![关于MATLAB cell元胞数组中元素的引用问题a{1}='aaa';a{2}='bbb';那么a='aaa' 'bbb'要引用元素a(1)='aaa'a{1}=aaa请问a(1)和a{1}的区别是怎么回事,怎么一个有引号一个没有呢](/uploads/image/z/3685458-66-8.jpg?t=%E5%85%B3%E4%BA%8EMATLAB+cell%E5%85%83%E8%83%9E%E6%95%B0%E7%BB%84%E4%B8%AD%E5%85%83%E7%B4%A0%E7%9A%84%E5%BC%95%E7%94%A8%E9%97%AE%E9%A2%98a%7B1%7D%3D%27aaa%27%3Ba%7B2%7D%3D%27bbb%27%3B%E9%82%A3%E4%B9%88a%3D%27aaa%27+%27bbb%27%E8%A6%81%E5%BC%95%E7%94%A8%E5%85%83%E7%B4%A0a%281%29%3D%27aaa%27a%7B1%7D%3Daaa%E8%AF%B7%E9%97%AEa%281%29%E5%92%8Ca%7B1%7D%E7%9A%84%E5%8C%BA%E5%88%AB%E6%98%AF%E6%80%8E%E4%B9%88%E5%9B%9E%E4%BA%8B%2C%E6%80%8E%E4%B9%88%E4%B8%80%E4%B8%AA%E6%9C%89%E5%BC%95%E5%8F%B7%E4%B8%80%E4%B8%AA%E6%B2%A1%E6%9C%89%E5%91%A2)
关于MATLAB cell元胞数组中元素的引用问题a{1}='aaa';a{2}='bbb';那么a='aaa' 'bbb'要引用元素a(1)='aaa'a{1}=aaa请问a(1)和a{1}的区别是怎么回事,怎么一个有引号一个没有呢
关于MATLAB cell元胞数组中元素的引用问题
a{1}='aaa';
a{2}='bbb';
那么
a='aaa' 'bbb'
要引用元素
a(1)='aaa'
a{1}=aaa
请问a(1)和a{1}的区别是怎么回事,怎么一个有引号一个没有呢
关于MATLAB cell元胞数组中元素的引用问题a{1}='aaa';a{2}='bbb';那么a='aaa' 'bbb'要引用元素a(1)='aaa'a{1}=aaa请问a(1)和a{1}的区别是怎么回事,怎么一个有引号一个没有呢
一般的引用方式一般是用a{ },看你的习惯了,也不是说a(1)不对,两个都对.
其实这两个输出有差别关键就在于,假如我们新建了一个cell(1,2),那么我们给他赋值的形式可以是:a{1}='aaa',也可以是a(1)={'aaa'} ,所以,你引用里面的元素的时候,自然也有对应的两种方式:a{1} 和a(1) ,我们可以看到:a{1}=aaa a(1)='aaa' ,其实这里面的aaa和'aaa'都是字符串.因为前面的a{1}里面已经有大括号了,所以后面就不用了再显示' '了,这也就间接的说明,{}的作用的 ''的作用其实是差不多的.只是一个作用在角标上,一个作用在真正的字符上.所以捏,显示有所差别.
给你个例子你就明白了:
num2str('ddddddd')
ans =
ddddddd
一个字符串在matlab已经知道他是字符串的情况下就会把''去掉.
但是致命的地方不是这里,你仔细在你的工作空间观察,你会发现,其实a(1)还是一个细胞,是一个结构,不能进行运算;而a{1}是一个真正的变量,真正能够进行数值运算!
你能够算:a{1}+2 但是不能算a(1)+2 !