Matlab基础知识点Word文档格式.doc

上传人:wj 文档编号:467708 上传时间:2023-04-29 格式:DOC 页数:94 大小:560KB
下载 相关 举报
Matlab基础知识点Word文档格式.doc_第1页
第1页 / 共94页
Matlab基础知识点Word文档格式.doc_第2页
第2页 / 共94页
Matlab基础知识点Word文档格式.doc_第3页
第3页 / 共94页
Matlab基础知识点Word文档格式.doc_第4页
第4页 / 共94页
Matlab基础知识点Word文档格式.doc_第5页
第5页 / 共94页
Matlab基础知识点Word文档格式.doc_第6页
第6页 / 共94页
Matlab基础知识点Word文档格式.doc_第7页
第7页 / 共94页
Matlab基础知识点Word文档格式.doc_第8页
第8页 / 共94页
Matlab基础知识点Word文档格式.doc_第9页
第9页 / 共94页
Matlab基础知识点Word文档格式.doc_第10页
第10页 / 共94页
Matlab基础知识点Word文档格式.doc_第11页
第11页 / 共94页
Matlab基础知识点Word文档格式.doc_第12页
第12页 / 共94页
Matlab基础知识点Word文档格式.doc_第13页
第13页 / 共94页
Matlab基础知识点Word文档格式.doc_第14页
第14页 / 共94页
Matlab基础知识点Word文档格式.doc_第15页
第15页 / 共94页
Matlab基础知识点Word文档格式.doc_第16页
第16页 / 共94页
Matlab基础知识点Word文档格式.doc_第17页
第17页 / 共94页
Matlab基础知识点Word文档格式.doc_第18页
第18页 / 共94页
Matlab基础知识点Word文档格式.doc_第19页
第19页 / 共94页
Matlab基础知识点Word文档格式.doc_第20页
第20页 / 共94页
亲,该文档总共94页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Matlab基础知识点Word文档格式.doc

《Matlab基础知识点Word文档格式.doc》由会员分享,可在线阅读,更多相关《Matlab基础知识点Word文档格式.doc(94页珍藏版)》请在冰点文库上搜索。

Matlab基础知识点Word文档格式.doc

path(path,'

)向当前路径添加一个新目录

addpath函数向MATLAB的搜索目录中添加一个新目录。

addpath路径名

path(path,’路径名’):

增加搜索路径

rmpath函数从MATLAB的搜索路径删除一个目录。

rmpath路径名:

删除路径

还可以利用菜单:

File->

setpath(路径浏览器)

what:

显示出搜索路径上的文件名

what路径名:

路径名中的文件名

typevalue:

显示变量内容

edit文件名:

对m文件进行编辑

(2)工作空间(Workspace)

工作空间是一个重要而且比较抽象的概念,它是指运行MATLAB程序或命令所生成和存储在内存中的所有变量和MATLAB提供的常量构成的集合。

通过使用函数、运行M文件和装载保存的工作空间,可以向工作空间增加变量。

lsave保存整个工作空间或一部分变量,使用方式:

saveworkspaceas文件名

save文件名[变量名]

lload恢复工作空间,使用方式:

loadworkspace

load文件名

l工作空间浏览器:

ShowWorkspace

l还有一组命令来管理这些变量。

who,whos:

显示出工作空间中的变量列表。

clear[变量名]:

清除变量

(3)MATLAB命令窗口

l输入命令和输出结果。

如输入:

help[函数名]

a=6

2.2矩阵、变量、运算和表达式

(1)矩阵的输入

A.直接输入:

注意:

(1)行元素间用空格或逗号(,)隔开;

(2)行与行之间用分号(;

)或回车;

(3)整个元素列表用[]括起。

直接输入的矩阵为一全局变量,一直保存在内存中。

例:

a=[123;

456]

a=

123

456

a=[1,2,3;

4,5,6;

7,8,9]ó

a=[123;

456;

789]

矩阵元素:

可以灵活地描述矩阵元素,

l矩阵元素a[i,j]按列存放

通过下标单独对元素赋值

a(1,1)=1,a(3,2)=a(1,1)得到

a=

1

10

00

01

即自动形成一个3行2列矩阵,对未赋值的元素充值0。

l矩阵的元素可以用任意形式的表达式

例:

算术表达式

x=[-1,sqrt(5),(2+7)^4]

x=

1.0e+003*

-0.00100.00226.5610

l大矩阵可以用小矩阵作为元素

a=[12;

34]

b=[aa+5;

a-5zeros(size(a))]

A=[1,2,3;

4,5,6]

A=

123

456

B=[A;

7,8,9]

B=

789

l可以从矩阵中抽取某些元素构成新矩阵

C=A(1:

2,:

C=

a=[3,4,5;

6,7,8]

b=[+2,4*5,6]

c=[sin(0.5*pi),sqrt(4),0]

d=[a;

b;

c]

l复数的表示

MATLAB支持复数的运算,复数的虚部用i或j表示。

a=1+2i或a=1+2j二者表示的结果一样。

复数可以直接运算,

a=3+4i;

b=5+6j

a+b

输出:

ans=

8.0000+10.0000i

复数运算的一些常用函数:

①abs返回复数的模

②angle返回复数的相角

③conj返回共轭复数

④imag返回复数的实部

⑤real返回复数的虚部

B.用语句或函数产生:

a=randn(5,5)产生正态分布5*5的随机矩阵。

C.用M-文件或外部数据文件产生:

M-文件是一个以.m为后缀的文本文件,文件内容为一系列MATLAB命令,在MATLAB环境下键入该文件名(不包括后缀),文件中的全部命令会依次逐个执行;

M-文件名(不包括后缀)相当于一个宏命令.

例如:

一个名为magik.m的文件包含了如下的内容,(假设magik.m在当前目录下)

A=[

16.03.02.013.0

5.010.011.08.0

9.06.07.012.0

4.015.014.01.0]

在Matlab环境下执行如下命令:

magik

A

163213

510118

96712

415141

D.用矩阵编辑器创建和修改矩阵:

使用File->

Showworkspace

(2)矩阵运算

运算符+,-,*,/(右除),\(左除)和^(幂)。

右除:

C=A/B即C满足CB=A,当B可逆时,A/B=AB-1

左除:

C=A\B即C满足AC=B,当A可逆时,A\B=A-1B

幂A^n=A*…*A;

A必须是方阵。

矩阵的加减法:

a=[1:

3;

4:

6;

7:

9]

b=a;

c=a+b;

c=a-b

注:

矩阵相加减必须有相同的维数。

矩阵的点乘运算,^运算时矩阵必须为方阵,且只能与数字运算。

d=a*b必须符合m*n与n*l的结构。

d=a.*b矩阵的点乘运算

\(左除):

A\B=inv(A)*B,其中inv(A)表示A逆阵,例如求解AX=B。

A=[100;

040;

009];

B=[123;

010;

011];

X=A\B

/(右除):

A/B=A*inv(B),例如求解XA=B。

X=B/A

(3)变量与表达式

lMatlab的赋值语句有两种形式:

其一为:

<

变量>

=表达式;

其二为:

表达式,将表达式的值赋于一个自动定义的变量ans。

注:

A:

如果以;

结尾,则不显示计算结果,否则显示计算结果。

B:

除保留字外,变量可以用字母开头,后跟19个字母或数字。

变量名区分大小写,变量使用时不需要先定义,也不必定义变量的类型。

l可以用who或whos来显示已定义的变量

who

Yourvariablesare:

ABCaans

whos

NameSizeBytesClass

A2x348doublearray

B3x372doublearray

C2x348doublearray

a3x248doublearray

ans1x18doublearray

Grandtotalis28elementsusing224bytes

l一些常用的变量

pi3.14159265//π值

isqrt(-1)//虚数单位

jsameasi

epsfloating-pointrelativeprecision,2.2204e-016//容量变量

realminsmallestfloating-pointnumber,2.2251e-308//最小浮点数

realmaxlargestfloating-pointnumber,1.7977e+308//最大浮点数

infinfinity(任意一个非零数除以0)//正无穷大

nanNot-a-number(0/0或inf-inf)//非数

如:

r=1/0

r=inf

1/r

ans=0

(4)矩阵的其他简单运算:

A’:

矩阵转置

inv(A):

A-1

sum(A):

得到一个行向量,其元素为A的每一列的和

a=[123;

sum(a)sum(a’)

diag(A):

得到一个列向量,其元素为A的对角元

sum(diag(a))

冒号(:

)运算符:

a:

b:

c:

生成一个由等差数列构成的行向量X,X(i+1)-X(i)=b

0:

pi/4:

pi

ans=

00.78541.57082.35623.1416

如果省略b,则等差数列的公差为1

a=0:

0.05:

1

x=linspace(0,1,75)

a=1:

4;

b=1:

2:

7;

c=[b,a]

等比数列:

logspace(0,2,11)创建起点为10,终点为102,11个元素,公比为100.2

矩阵的变换:

rot90:

矩阵逆时针旋转n*90度。

fliplr:

矩阵左右翻转。

flipud:

矩阵上下翻转。

稀疏矩阵的存储:

sparse(A):

用于把完全矩阵压缩为稀疏矩阵。

A=[0,1,0,0;

0,3,0,4;

5,0,0,0;

0,0,0,7]

sparse(A)

ans=

(3,1)5

(1,2)1

(2,2)3

(2,4)4

(4,4)7

sparse(i,j,u):

函数直接造成稀疏矩阵,i,j为向量分别对应行号和列号,u也为向量,存储非元素的值.

i=[1,2,2,3,4]

j=[2,2,4,1,4]

u=[1,3,4,5,7]

A=sparse(i,j,u)

full函数把稀疏矩阵还原为完全矩阵。

(5)数组及其运算:

数组可以看作是行向量,实质为阵列运算。

是元素对元素的运算,用句号(.)来区别。

数组和矩阵之间的区别在于运算规则不同,矩阵运算由线性代数规则来定义。

运算符:

+,-和.*,./,.\,.^

A.*B:

A与B对应的元素相乘

A.\B:

B的元素除以A的相应元素

A./B:

A的元素除以B的相应元素

A.^B:

A的元素为底,B的相应元素为幂的数组

a=[1:

查看下列运算的结果:

a*ba.*ba/ba./ba\ba.\ba^b(指数和底数均为矩阵,无法求解)a.^ba’a.’

2.3基本数学函数

abs(绝对值或复数模)

sqrt(平方根)

real(复数的实部)

imag(复数的虚部)

conj(复数的共轭)

round(舍入为最接近的整数)//round(-0.5)=-1round(0.4)=0

fix(向0方向舍入为整数)//fix(0.99)=0fix(1.01)=1

floor(向负无穷大舍入为整数)//floor(-0.5)=-1floor(0.5)=0

ceil(向正无穷大舍入为整数)//ceil(-0.5)=0ceil(0.6)=1

sign(符号函数)

rem(x,y)(取余数函数)//得到x/y的余数,rem(11,4)=3

sincostanasinatan//三角函数都是面向阵列中的元素操作,角度单位均为弦度。

atan2(y,x)//-pi<

=atan2(y,x)<

=pi

sinh(双曲正弦)coshtanh

exp(以e为底的指数)

log(自然对数)

log10(常用对数)

bessel(贝塞尔函数)

gamma(伽码函数)

rat(无理数的分式有理逼近)[N,D]=rat(x,tol),要求:

abs(x-N/D)<

=tol*abs(x),tol的缺省值为tol=1.e-6*norm(X(:

),1)其中:

norm(X(:

),1)=max(sum(abs((X))))

2.4关于矩阵的一些有用的工具

产生矩阵的工具:

l‘[]’表示空矩阵

空矩阵不包含任何元素,它的维数为0*0;

空矩阵可以在运算中传递。

A=[1,2,3;

4,5,6;

7,8,9]

A(2,:

)=[]

A=

123

789

空矩阵有矩阵缩维的作用。

leye:

单位矩阵:

对角线元素为1。

A=eye(3,3)

A=

100

010

001

lzeros:

所有的元素都是0

Z=zeros(2,4)

Z=

0000

lones:

所有的元素都是1

Z=5*ones(3,3)

555

lrand:

矩阵元素是用均匀分布在[0.0,1.0]内产生的随机数

lrand(n):

产生一个n阶(0-1)的随机矩阵

Z=rand(3)

0.10940.65990.1785

0.98880.35140.3573

0.58600.84950.5347

rand(m,n):

产生一个m*n阶(0-1)的随机矩阵

Z=rand(1,6)

0.59760.46280.76780.59020.39690.1927

产生[-a,a]之间均匀分布的随机数的公式:

R=a-2*a*rand(m,n)

lrandn:

矩阵元素是用期望为0,方差为1的正态分布产生的随机数

Z=randn(3)

-0.43260.28771.1892

-1.6656-1.1465-0.0376

0.12531.19090.3273

产生均值为b,方差为q2的正态分布随机数的公式:

S=q*randn(m,n)+b

l其它特殊矩阵:

456;

789]

1.diag(a)%%生成矩阵a的对角矩阵

5

9

2.compan:

伴随矩阵

u=[10-76]

A=compan(u)

07-6

100

010

eig(compan(u))

ans=

-3.0000

2.0000

1.0000

即方程的根。

3.magic:

魔方矩阵(矩阵的元素由1~10组成,行、列和对角线之和相等)

magic(5)

17241815

23571416

46132022

101219213

11182529

4.tril(a)%%生成矩阵a的下三角矩阵

100

450

789

5.triu(a)%%生成矩阵a的上三角矩阵

123

056

009

1.下标引用:

在Matlab中,矩阵元素的引用可用两个下标来表示,如矩阵A中,第i行第j列的元素用A(i,j)引用,也可以用一个下标来表示,用单个下标表示元素并不只限于矢量。

对于矩阵,由于Matlab的运算基本上都是对列操作的,矩阵可以认为是按列优先排列的一个长的列矢量,从而可用单下标引用。

例如2*2的矩阵,A

(1)表示第一列的第一个元素,A

(2)表示第一列的第二个元素,A(3)表示第二列的第一个元素,A(4)表示第二列的第二个元素,当矩阵的下标超出矩阵的实际元素的下标时,将给出错误信息。

但是,当某个值被赋给矩阵的一个新的元素时,Matlab会自动增加矩阵的维数大小。

例如4*4的矩阵A,执行命令A(4,5)=17后,矩阵A将变成4*5的矩阵。

在下标的表达式里使用冒号表示矩阵的一部分。

例如矩阵A(1:

k,j)表示矩阵A的第j列的前k个元素。

例如sum(a(1:

4,4)),表示计算第四列的前四个元素元素的和。

A(:

j)表示矩阵A的第j列的所有元素。

由于有了冒号运算符,例如求矩阵A的第j列元素之和,表示式为sum(A(:

j)。

2.如何建立多维矩阵:

在科学研究与工程运算中,要建立多维矩阵,方法之一是扩展二维矩阵。

先建立一个简单的二维矩阵:

a=[578;

019;

436]

为a矩阵扩展第三维

a(:

:

2)=[104;

356;

987]

方法之二,使用cat函数。

它将现有的矩阵按照指定的维数建立新的多维矩阵。

B=cat(dim,A1,A2,...)

例:

b=cat(3,[28;

05],[13;

79])

2.5复杂的矩阵运算

一些矩阵运算:

size(A):

得到矩阵的阶,得到矩阵的n行m列.

rank(A):

得到矩阵的秩

det(A):

行列式

eig(A):

特征值和特征向量

e=eig(A)得到特征值

[v,d]=eig(A):

A*v=v*d

svd(A):

矩阵的奇异值分解[u,s,v]=svd(A),u,v正交阵,s对角阵,A=usv’

cond(A):

得到矩阵的条件数(最大奇异值和最小奇异值的比值)

lu(A):

LU分解(A必须是一个方阵)

[l,u]=lu(A):

u上三角阵,l:

一个下三角阵和一个置换矩阵的积

[l,u,p]=lu(A):

u上三角阵,l:

下三角阵,p:

置换矩阵

qr(A):

QR分解

[q,r]=qr(A):

r:

上三角阵,q:

正交阵

2.6矩阵输出格式

格式命令(数字)

X=[4/31.2345e-6];

formatshort:

以定点数形式显示,小数后面保留4位有效数字

X

X=

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2