---单元数组-创建获取重塑单元数组----求解形如A(B)

 

单元数组(里面能包含其他的MatLab数组。形状大小没有限制)

结构数组(命令字段访问数据)

单元数组(通过矩阵索引访问数据)

创建单元数组

用赋值语句创建单元数组  

1   单元索引

A(1,1)={[1 2 3;3 4 5;3 2 5]}; 矩阵

A(1,2)={'Liu zhong'};       字符串

A(2,1)={3+7i};               复数

A(2,2)={-pi:pi/10:pi};      增量

步长 pi/10

 

2 内容索引     

B{1,1}=[1 2 3;3 4 5;3 2 5];

B{1,2}='Liu zhong';

B{2,1}=3+7i;

B{2,2}=-pi:pi/10:pi;

使用cell函数可以预分配单元数组

单元数组是空的

C=cell(2,3)

使用赋值语句填充

c(1,3)={1:3};

..............

获取单元数组的数据

1 用内容索引的方式

c=B{1,1}   获取1*1单元

c=B{2,2}

2 用单元索引来获取单元的子集

c=B(:)   用冒号获取他的全部单元

c=B(:,1)       读取所有行的第一列   ,  以此类推。

c=B(1,:)        读取所有列的第一行  ,   以此类推。

注意区别:

2

B(:,:,1)     % 三维数组B第一页的所有行所有列

A=B(:,:,1);  % 将B数组第一页的所有元素赋值给数组A

重塑单元数组和删除单元

A=cell(3,4)        

B=reshape(A,6,2)  

 reshape函数重新调整矩bai阵的行数、列数du、维数。调用格式:B = reshape(A,m,n)返回一个m*n的矩阵B, B中元素zhi是按列从A中得到的。如果daoA中元素个数没有m*n个, 则会引发错误。

赋值内容索引

A{3,1}='Hello',..........    以此类推。

删除(线性索引)

 

线性索引:存储方式先列后行

A(3)=[   ]    从第一列往下数,到第三个元素为空。直接给删了    

在matlab中,a(:, 1:3)=[   ]

表示将数组a的第1到第3列删除。 

 第一个冒号( : )表示取数组a的所有行;

1:3表示取数组a的第1到第3列。

 

 

矩阵A,B,求解形如A(B)?

A=[2 3 4;2 3 1;4 5 2]                                     

 

A =

     2     3     4
     2     3     1
     4     5     2

B=[3 1 4;2 4 5]

B =

     3     1     4
     2     4     5

 A(B)

ans =

     4     2     3
     2     3     3

A(B)=  A[ B(1,1)  ,  B(1,2) ,B(1,3)    ;  B(2,1) , B(2,2)   ,B(2,3)  ]

      = A[3 1 4;2 4 5]

    =

       A(3),A(1),A(4);

       A(2),A(4),A(5)

按列读取A中的元素

A(B)

ans =

     4     2     3
     2     3     3 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值