Matlab 矩阵操作
%% 结构矩阵 和单元矩阵
%结构矩阵 格式为:
% 结构矩阵元素.成员名 = 表达式
a(1).x1 = 10;a(1).x2 = 'liu';a(1).x3 = [10,21;34,78];
a(2).x1 = 11;a(2).x2 = 'xia';a(2).x3 = [11,121;34,78];
a(3).x1 = 12;a(3).x2 = 'cai';a(3).x3 = [121,1;34,78];
disp(a);
%单元矩阵 单元矩阵元素是用大括号括起来。
b = {10,'liu', [11,21;34,78];...
12,'xia',[11,121;34,78];...
12,'cai',[121,1;34,78]};
disp(b);
%% 矩阵元素的引用方式
% (1)通过下表来引用矩阵的元素 A(4,5)表示A矩阵的第4行第5列
% (2)通过序号来引用 按列存储,即首先存储矩阵的第一列元素,然后存储矩阵的第二列元素,……,直至最后一列元素。
%------矩阵元素的序号与下表可以利用sub2ind 和 ind2sub函数实现相互转换。
%------①sub2ind函数:将矩阵中制定元素的行、列下标换成存储的序号。
% 调用格式为:D= sub2ind(S,I,J)
% S--行数和例数组成的向量;
% I--转换矩阵元素的行下标;
% J--转换矩阵元素的列下标
A= [1,2,3;...
4,5,6];
D= sub2ind(size(A),[1,2;2,2],[1,1;3,2]);
disp(D);
%行下标为1,列下标为1的元素在矩阵中的序号为1
%行下标为2,列下标为1的元素在矩阵中的序号为2
% ②ind2sub函数:将把矩阵的序号转换成对应的下标,
% 其调用格式为:[I,J]=ind2sub(S,D)
% S--行数和列数组成的向量
% D--序号
[I,J] = ind2sub([3,3],[1,3,5]);
disp(I);
%3行3列矩阵的第一个元素为2??
disp(J);
%% 利用冒号表达式获得子矩阵
%