MATLAB数值计算功能(向量、矩阵、数组、稀疏矩阵)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数值计算功能

向量及其运算

1、向量生成

(1)、直接输入

向量元素用“[ ]”括起来,用空格或逗号生成行向量,用分号生成列向量

a1=[11 14 17 18]

a2=[11,14,17,18]

a2=[11;14;17;18] %列向量

用“’”可以进行向量转置

a1=[11 14 17 18]

a4=a1' %a1行向量,a4列向量

也可以用组合方法:

A=[1 2 3];

B=[7 8 9];

C=[A 4 ones(1,2) B]

(2)、等差元素向量生成

冒号生成法:Vec=Vec0:n:Vecn,其中Vec表示生成的向量,Vec0表示第一个元素,n表示步长,Vecn表示最后一个元素

使用linespace函数:Vec=linespace(Vec0,n,Vecn),其中Vec表示生成的向量,Vec0表示第一个元素,n表示生成向量元素个数(默认n=100),Vecn表示最后一个元素

vec1=10:5:50

vec2=50:-5:10

vec3=linspace(10,50,6)

2、向量的基本运算

(1)、向量与数的四则运算

向量中每个元素与数的加减乘除运算(除法运算时,向量只能作为被除数,数只能作为除数)vec1=linspace(10,50,6)

vec1+100

vec2=logspace(0,10,6) %对数等分向量

vec2/100

(2)、向量与向量之间的加减运算

向量中的每个元素与另一个向量中相对应的元素的加减运算

vec1=linspace(10,50,6)

vec2=logspace(0,2,6)

vec3=vec1+vec2

(3)、点积、叉积和混合机

点积:dot函数,注意向量维数的一致性

x1=[11 22 33 44]

x2=[1 2 3 4]

a=dot(x1,x2)

sum(x1.*x2) %还可以采用sum函数计算向量的点积

叉积:cross函数,注意向量维数的一致性(由几何意义可知,向量维数只能为3)

x1=[11 22 33 44]

x2=[1 2 3 4]

x3=cross(x1,x2) %报错,维数只能为3

x1=[11 22 33]

x2=[1 2 3]

x3=cross(x1,x2)

混合积:结果为一个数,先求cross,再求dot

a=[1 2 3]

b=[2 4 3]

c=[5 2 1]

v=dot(a,cross(b,c))

v=cross(a,dot(b,c)) %报错

矩阵及其运算

MATLAB的基本单位是矩阵,逗号或空格区分同一行不同元素,分号区分不同行

1、矩阵的生成

4种方法:在command window直接输入;通过语句和函数产生;M文件中建立;外部数据文件中导入

(1)、直接输入:把矩阵元素直接排列到方括号中,每行元素用逗号或空格相隔,行与行之间用分号相隔

martix=[1 1 1 1;2,2,2,2;3,3,3,3;4 4 4 4]

冒号用法:

A=[1 1 1;1 2 3;1 3 6]

B=A(1:2,:)

(2)文件导入:

*.mat

*.txt

*.dat

load 文件名参数

直接导入:File—Import Data

2、矩阵的基本数值运算

(1)、矩阵与是常数的四则运算(除法时,常数只能作为除数)

matrix=[1 1 1 1;2,2,2,2;3,3,3,3;4 4 4 4]

m1=100+matrix

m2=100-matrix

m3=100*matrix

m4=matrix/2

(2)、矩阵之间的四则运算

加减法:矩阵各个元素之间的加减法,必须是同型矩阵

matrix=[1 1 1 1;2,2,2,2;3,3,3,3;4 4 4 4]

m1=20*matrix

m2=m1+matrix

m3=[11 22 33;1 2 3;4 5 6]

m4=matrix-m1

m5=m3+m1 %报错,非同型矩阵

乘法:用*,左矩阵的列数需等于右矩阵的行数

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

B=[1 5 9 2;6 3 5 7;2 5 8 9;4 5 6 3]

C=A*B

D=[1 5 9;6 3 5;2 5 8]

E=A*D % 报错,4*4矩阵不能与3*3矩阵相乘

除法:

左除\(AX=B则X=A\B,相当于X=inv(A)*B,但是左除稳定性好)

右除/(XA=B则X=B/A,相当于X=B*inv(A))

个人认为:左除相当于逆矩阵左乘,右除相当于逆矩阵右乘

%解方程组XA=B的解,本列中A=[2 1 -1; 2 1 0;1 -1 1] ;B=[1 -1 3;4 3 2] A=[2 1 -1; 2 1 0;1 -1 1]

B=[1 -1 3;4 3 2]

X=B/A

矩阵可以使用比较运算符:结果矩阵的对应位置为0或1

数据变换:

floor

ceil

round

fix

rem

[n,d]=rat(A):A表示为两个整数阵对应元素相除的形式A=n./d

3、矩阵的特征参数运算

(1)、乘方与开方

乘方:A^p计算A的p次方

p>0:A的p次方

p<0:A逆矩阵的abs(p)次方

A=[1 2 3 4;4 5 6 7;4 5 6 7;8 9 10 11]

B=A^10

开方:若有X*X=A,则有sqrtm(A)=X

A=magic(5)

B=sqrtm(A)

B^2 %验证正确性

(2)、指数与对数

指数:expm(X)=V*diag(exp(diag(D)))/V([V,D]=eig(X))

对数:L=logm(A),与指数运算互逆

X=rand(4)

Y=expm(X)

相关文档
最新文档