版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本节主要是熟悉matlab单元数组,该数据结构与python列表结构类似
单元数组创建与赋值:
>> A=cell(2,2)
A =
[] []
[] []
>> A(1,1)={magic(3)}
A =
[3x3 double] []
[] []
'花括号一定不能少!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!'
>> A(1,2)={'dsasdqw'}
A =
[3x3 double] 'dsasdqw'
[] []
>> A(2,1)={1:5}
A =
[3x3 double] 'dsasdqw'
[1x5 double] []
>> A(2,2)={[1+2*i 2-3*i;2+3*i 1-2*i]}
A =
[3x3 double] 'dsasdqw'
[1x5 double] [2x2 double]
celldisp(A):
返回A中所有元素
单元数组索引
>> A(2,2)
ans =
[2x2 double]
>> A{2,2}
ans =
1.0000 + 2.0000i 2.0000 - 3.0000i
2.0000 + 3.0000i 1.0000 - 2.0000i
单元数组内嵌与索引创建
>> C{1,1}={'asd'}
C =
{1x1 cell}
>> C{3,3}={'asd'}
C =
{1x1 cell} [] []
[] [] []
[] [] {1x1 cell}
>> C{4,4}='asdasd'
C =
{1x1 cell} [] [] []
[] [] [] []
[] [] {1x1 cell} []
[] [] [] 'asdasd'
>> C{3,3}{7,7}=1:5
C =
{1x1 cell} [] [] []
[] [] [] []
[] [] {7x7 cell} []
[] [] [] 'asdasd'
可视化
cellplot(A)
删除元素
>> C
C =
{1x1 cell} [] [] []
[] [] {2x3 cell} []
[] [] {7x7 cell} []
[] [] [] 'asdasd'
>> C{1,1}=[]
C =
[] [] [] []
[] [] {2x3 cell} []
[] [] {7x7 cell} []
[] [] [] 'asdasd'
>> C(4,4)=[]
空赋值只能具有一个非冒号索引。
重构
>> B=reshape(A,3,2)
B =
[3x3 double] [2x2 double]
[1x5 double] []
'dsasdqw' []
>> A
A =
[3x3 double] 'dsasdqw' []
[1x5 double] [2x2 double] []
>> B=reshape(A,2,2)
错误使用 reshape
要执行 RESHAPE,请勿更改元素数目。
调用计算
>> A=cell(2)
A =
[] []
[] []
>> A{1,1}=rand(2,3)
A =
[2x3 double] []
[] []
>> A(2,1)=rand(3,2)
无法从 double 转换为 cell。
>> A{2,1}=rand(3,2)
A =
[2x3 double] []
[3x2 double] []
>> A{1,2}=A{1,1}*A{2,1}
A =
[2x3 double] [2x2 double]
[3x2 double] []