关于MATLAB cell元胞数组中元素的引用问题a{1}='aaa';a{2}='bbb';那么a='aaa' 'bbb'要引用元素a(1)='aaa'a{1}=aaa请问a(1)和a{1}的区别是怎么回事,怎么一个有引号一个没有呢
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 15:23:52
关于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 !