赞
踩
在命令提示符之后直接输入一个向量的格式如下:
1.向量名=[a1, a2,a3,......]=[a1 a2 a3 ......] %采用逗号或空格符号创建行向量。
2.列向量名=[a1;a2;a3;......] %采用分号符号创建列向量。
说明:;在后面的算例中,直接创建的向量或者矩阵语句后采用“;”结尾,表示不在命令行窗口中输出结果。
向量名=a1:step:an
其中,a1表示第一个元素,an为末尾元素限制条件,step为变化步长;MATLAB支持任意实数步长。
(1)线性等分函数 linspace
A=linspace(a1,an,n)
其中,a1为首元素,an为末尾元素,n代表元素个数。
(2)对数等分函数 logspace
A=logspace(a1,an,n)
其中,a1为向量首元素的幂,an为末尾元素的幂,n为元素个数。
和:X1=A+B
差:X2=A-B
点积:X3=dot(A,B)
叉积:X4=cross(A,B,dim)
混合积:X5=dot(C,cross(A,B))
1.简单矩阵的构造
A=[row1;row2;…;rown]
2.利用函数构造特殊函数
1.矩阵的直接拼接
C=[A B] %水平拼接
C=[A;B] %竖直拼接
2.使用矩阵拼接函数
对于一个m×n矩阵,通过使用超出目前矩阵(数组)大小的索引数字,并对该位置元素进行赋值来完成矩阵的拓展。对于未指定的新位置,默认赋值为0。
〉〉A=magic(3)
〉〉A(4,5)=12
A =
8 1 6 0 0
3 5 7 0 0
4 9 2 0 0
0 0 0 1 2
要删除矩阵的某一行或者列,只要给该行或者列上赋予一个空矩阵即可。当某一索引位置上不是数字而是冒号时,表示提取该索引位置上的所有元素。
〉〉A=magic(3)
〉〉A(3,:)=[]
A =
8 1 6
3 5 7
B=A([x1,x2,…],[y1,y2,…])
提取矩阵A的x1,x2,…行,提取矩阵A的y1,y2,…列。
1.全下址索引
a=A(横下标,纵下标)
2.单下标寻址
对于一个m×n矩阵若aᵢⱼ用A(k)表示,则
k=(j-1)*m+i
3.sub2ind与ind2sub
sub2ind函数可以将下标转化为线性索引,其调用格式:
ind=sub2ind(sz,row,col)
%针对大小为sz的矩阵返回由row和col指定的行列下标的对应线性索引ind
ind2sub函数可以将线性索引转换为下标,其调用格式:
[row,col]=ind2sub(sz,ind)
%返回数组[row,col],其中包含与大小为sz的矩阵的线性索引ind对应的等效行列下标
1.矩阵尺寸信息
2.矩阵元素的数据类型和结构信息
2.2.5 矩阵结构变化函数
说明:MATLAB自带的数学函数,逻辑函数和引用操作均可以使用在稀疏矩阵上。
sparse的作用是把一个满矩阵,转化为一个稀疏矩阵,其调用的格式为:
S=sparse(A) %将满矩阵A存为稀疏矩阵,以节省内存
S=sparse(m,n) %生成m×n的全零稀疏矩阵
S=sparse(i,j,v) %根据i,v,j,三元组生成稀疏矩阵S,S(i(k),j(k))=v(k)
S=sparse(i,j,v,m,n) %S的大小定为m×n
说明:如果输入i,j,v为向量或者矩阵,则它们的大小必须相同。参数v,i,j中的一个参数可以为标量。
full函数可以从稀疏矩阵得到满矩阵,其调用的格式为:
A=full(S)
我们使用spdiags函数去实现构造,其调用的格式:
S=spdiags(B,d,m,n) %创建大小为m×n且元素在p条对角线上的输出矩阵S
其中,B是大小为min(m,n)×p的矩阵,p为飞灵对角线的数目,B的列是用于填充S对角线的值;d为长度为p的向量。
注意:如果B的列长度超过所替换的对角线,则上对角线从B列的下部获取,下对角线从B的列的上部获取。
spconvert函数用来导入稀疏矩阵,其调用格式:
S=spconvert(D) %根据D的列,按照sparse函数类似方式构造S
暂时不做介绍。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。