MATLAB矩阵的表示:
矩阵建立:
1、直接建立法:矩阵元素用中括号括起来,同一行各元素用逗号或空格分隔,不同行元素用分号分隔
2、利用已建好的矩阵建立更大的矩阵: 一个大矩阵可以由已经建立好的小矩阵拼接而成。
>> A=[1,2,3;4,5,6;7,8,9];
>> B=[-1,-2,-3;-4,-5,-6;-7,-8,-9];
>> C=[A,B;B,A]
3、用实部矩阵和虚部矩阵构成复数矩阵
>>B=[1,2,3;4,5,6];
>>C=[6,7,8;9,10,11];
>>A=B+i*C
冒号表达式
格式:e1:e2:e3
e1为初始值,e2为步长,e3为终止值
若省略e2则步长为1
>> t=0:1:5
linspace函数: linspace(a,b,n)
从a到b的n个元素,省略n则默认为100
结构矩阵:
类似于c语言中的结构体
格式为: 结构矩阵元素.成员名=表达式
>> a(1).x1=10; a(1).x2='liu'; a(1).x3=[11,21;34,78];
>> a(2).x1=12; a(2).x2='wang'; a(2).x3=[34,191;27,578];
>> a(3).x1=14; a(3).x2='cai'; a(3).x3=[13,890;67,231];
单元矩阵:
建立单元矩阵和一般矩阵相似,直接输入就可以了,只是单元矩阵元素用大括号括起来。
单元矩阵与结构矩阵的区别:结构矩阵每个元素又包含多个元素,但是单元矩阵每个元素都是某种数据类型的元素,只有它本身。
矩阵元素的引用:
矩阵元素的引用方式
1、通过下标引用 A[4,5]
2、通过序号来应用 A(3)
MATLAB中矩阵元素按列存储,矩阵元素的序号就是矩阵元素在内存中的排列顺序,序号从1开始
sub2ind:将矩阵中指定元素的行、列下标转换成存储的序号。调用格 式为:
>> A=[1:3;4:6]
A =
1 2 3
4 5 6
>> D=sub2ind(size(A),[1,2;2,2],[1,1;3,2])
D =
1 2
6 4
int2sub函数:
将把矩阵元素的序号转换成对应的下标,其调用格式为:
>> [I,J]=ind2sub([3,3],[1,3,5])
I =
1 3 2
J =
1 1 2
利用冒号表达式获得子矩阵
子矩阵是指由矩阵中的一部分元素构成的矩阵。
A(i,:) 第i行的全部元素
A(:,j) 第j列的全部元素
A(i:i+m,k:k+m) 第i~i+m行内且在第k~k+m列中的所有元素
A(i:i+m,:) 第i~i+m行的全部元素
end运算符:表示某一维的末尾元素下标。
利用空矩阵删除矩阵的元素
空矩阵是指没有任何元素的矩阵。
>> x=[]
x =
[]
X是一个空矩阵。
改变矩阵形状
reshape(A,m,n):在矩阵总元素保持不变的前提下,将矩阵A重新排成m×n的二维矩阵。
注意:reshape函数只是改变原矩阵的行数和列数,但并不改变原矩阵元素个数及其存储顺序。
A(:) :将矩阵A的每一列元素堆叠起来,成为一个列向量。