MATLAB使基础Word文档格式.docx

上传人:b****5 文档编号:17013492 上传时间:2022-11-27 格式:DOCX 页数:25 大小:239.10KB
下载 相关 举报
MATLAB使基础Word文档格式.docx_第1页
第1页 / 共25页
MATLAB使基础Word文档格式.docx_第2页
第2页 / 共25页
MATLAB使基础Word文档格式.docx_第3页
第3页 / 共25页
MATLAB使基础Word文档格式.docx_第4页
第4页 / 共25页
MATLAB使基础Word文档格式.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

MATLAB使基础Word文档格式.docx

《MATLAB使基础Word文档格式.docx》由会员分享,可在线阅读,更多相关《MATLAB使基础Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。

MATLAB使基础Word文档格式.docx

【注】几个特殊常量:

ans(默认变量名)pi(圆周率)eps(计算机最小数)

inf(无穷大)NaN(不定量)i,j(虚数单位)

MATLAB可以直接识别复数,例如:

2+4i,2-3j等。

2.运算符

(1)算术运算符:

+、-、*、/(右除)、\(左除)、^(幂)

(2)关系运算符:

<

、<

=、>

、>

=、==、~=

(3)逻辑运算符:

&

(与)、|(或)、~(非)(非零元素对应1)

3.变量、函数、表达式

(1)变量:

MATLAB变量名由字母、数字和下划线组成(必须以字母开头),最多含31个字符,区分大小写。

有以下特殊变量:

(2)函数:

MATLAB提供了大量的库函数,函数名一般由小写字母组成。

按照用法MATLAB函数可分为三种:

标量函数、向量函数和矩阵函数。

(3)表达式:

由常量、变量、函数、运算符、圆括号所组成的有效运算式。

表达式运算规则是:

优先级由高到低为方幂->

乘除->

加减;

括号是由里到外;

同级别从左至右。

4.语句(命令)

一般形式:

[变量=]表达式(若缺省“变量=”,则系统默认ans为变量名)。

5.M-文件(即程序文件,包括脚本M-文件和函数M-文件)

6.其它符号:

…续行符;

%注释符;

,(或;

)显示(或不显示)语句执行结果。

§

1.矩阵及其运算

MATLAB的主要数据对象是矩阵,标量、数组和向量都是它的特例;

MATLAB最基本的功能是进行矩阵运算,包括通常的数值计算、点运算、关系运算和逻辑运算等。

一、矩阵的输入

在MATLAB中,矩阵可有不同的输入方式,并且不用事先描述矩阵的类型和维数,它们由矩阵输入的格式和内容决定。

1.矩阵的直接输入

按元素的排列顺序直接输入,所有元素用方括号“[]”括住;

同行元素用逗号或空格分隔,不同行元素用分号或回车分开。

例1.>

A=[1,2,3;

4,5,6]或>

A=[123;

456]或>

A=[123

A=456](回车)

123

456

【注】

若不指定输出变量,则系统默认ans为变量名;

利用下标,比如A(i,j),可以访问矩阵元素(例如,>

a=A(2,1),输出a=4)。

2.矩阵的函数生成

[]空矩阵zeros(m,n)m×

n零矩阵

ones(m,n)m×

n1矩阵eye(m,n)m×

n单位矩阵

rand(m,n)m×

n(0,1)均匀分布随机阵

randn(m,n)m×

n(0,1)标准正态分布随机矩阵

例2.>

z=zeros(2,3),u=ones(3)

z=u=

0.00000.00000.00001.00001.00001.0000

1.00001.00001.0000

例3.>

e=eye(3,4),x=rand(1,3)

e=

1.00000.00000.00000.0000

0.00001.00000.00000.0000

0.00000.00001.00000.0000

x=

0.23110.89130.0185

3.利用M-文件生成矩阵

例4.现有一M-文件gena.m,其内容包含一行MATLAB语句:

A=[123;

456]

在MATLAB命令窗口中输入命令(运行M-文件):

gena(回车),则生成矩阵

A=

123

456

4.载入外部数据文件生成矩阵(load,fread)

外部文件可以是MATLAB环境下用save命令保存的(二进制)数据文件,也可是包含数值数据的文本文件(所包含数据必须按矩阵格式排列)。

例5.现有一文本文件fen.dat,其内容包含二行文本(矩阵元素):

1357

2468

在MATLAB命令窗口中输入命令:

loadfen.dat(回车),则生成矩阵

fen=

二、向量(数组)的输入

向量(一维数组)可以看成一行或一列的矩阵,但是在概念上又有些不同。

1.作为矩阵输入

例6.>

A=[1,2,3];

%(行向量)

>

B=[1;

2;

3];

%(列向量)

C=rand(1,4);

%(利用矩阵生成函数)

2.行向量的特殊输入方式

(1)由冒号a:

d:

b生成等差数组:

(从a到b公差为d(默认1)的等差数组)

(2)由函数linspace(a,b,n)生成等差数组:

(从a到b共n(默认100)个数值)

例7.>

A=1:

5;

%等差数组A=12345(从1到5公差为1(缺省))

B=1:

2:

7;

%等差数组B=1357(从1到7公差为2)

C=5:

-2:

-1;

%等差数组C=531-1(从5到-1公差为-2)

linspace(0,1,4);

%等差数组,ans=00.33330.66671.0

x=linspace(0,1);

%等差数组,从0到1共100个数值

%>

logspace(0,1,4);

%等比数组,ans=1.02.15444.641610.0

x=logspace(0,1);

%等比数组,从100到101共50个数值

三、矩阵的裁剪、拼接与修改

1.矩阵的裁剪

在MATLAB中,矩阵的元素可用其行标、列标表示。

从一个矩阵中取出若干行(列)构成新矩阵称为裁剪,其中冒号“:

”的使用非常重要。

例8.>

A=[1234;

5678;

9101112];

%定义矩阵A

A(3,:

)%提取A的第3行,ans=[9101112]

A(:

2)%提取A的第2列,ans=[2610]’

X=A(2:

3,[1,3,4])%提取A的第2,3行,1,3,4列,X=[578;

91112]

Y=A(:

)%将A所有元素展成一列向量Y=[159261037114812]’

2.矩阵的拼接

在MATLAB中,可按照分块矩阵思想,由小矩阵拼接组合成大矩阵,但应注意所有小矩阵维数应当相容。

例9.>

B=[A(2,:

);

zeros(2,1),eye(2,3)]%由A的第2行,2行1列零向量及

B=5678%2行3列单位阵拼接成3行4列

0100%大矩阵E

0010

3.矩阵的编辑修改

在MATLAB中,通过对矩阵的部分元素(子矩阵)重新赋值,可以实现对矩阵元素的编辑和修改。

例10.>

A(3,1)=0%将A的第3行1列元素修改为0

A=1234

5678

0101112

A(1:

2,3:

4)=eye

(2)%将A的第1,2行3,4列子矩阵改为2阶单位阵

A=1210

5601

4)=[]%删除A的第4列

A=121

560

01011

)=10:

18%用向量10:

18的元素替换矩阵A的元素

A=101316

111417

121518

四、矩阵的数值运算

1.矩阵的基本运算

B(A,B同维数,对应元素相加减)A*B(A列数=B行数,通常矩阵乘法)

A\B(左除,A,B同行数,方程AX=B解)B/A(右除,A,B同列数,方程XA=B解)

A’(共轭转置)A^p(矩阵乘幂,A为方阵)

2.标量与矩阵的运算

A、b*A、b\A、A/b(b与A各元素做相应运算,对于除法一般b只能做除数)

3.矩阵的特殊运算(点运算)

A.*B、A.\B、A./B、A.^B(A、B维数相同,按对应元素运算)

A\.b、b./A、A.^b、b.^A(b与A各元素做相应运算)

A.’(只转置,不共轭)

例11.>

312],B=[210;

302],C=[12;

30]

A=123B=210C=12

31230230

X1=A+B,X2=C*B,X3=A\B

X1=333X2=814X3=0.7143-0.28570.8571

614630000

0.42860.4286-0.2857

X4=A'

X5=C^2

X4=13X5=72

2136

32

Y1=2+A,Y2=2*A,Y3=2\A

Y1=345Y2=246Y3=0.50001.00001.5000

5346241.50000.50001.0000

Z1=A.*B,Z2=A.\B,Z3=A.^B

Z1=220Z2=2.00.500Z3=121

9041.001.02714

Z4=A.^2,Z5=2.^A

Z4=149Z5=248

914824

【注】矩阵的关系运算和逻辑运算将在§

5.程序设计一节中介绍。

2.语句和函数

语句就是能完成一次操作的一条指令(命令),函数则是具有一定完整功能的程序(命令序列),它可以根据用户调用时的输入参数,按照指定的规则进行运算,并通过输出参数将运算结果反馈给用户。

一、语句(命令)

1.语句的一般形式:

[变量=]表达式

【注】①若缺省“变量=”,则系统默认ans为变量名。

②在命令窗口输入一个语句并回车,则命令立即执行并显示计算结果;

若语句末尾以分号“;

”结束,则命令执行后不显示计算结果。

③若一个语句太长可以使用续行符“…”将其延续到下一行。

④一行中可书写多个语句,各语句之间要用逗号(显示计算结果)或分号(不显示计算结果)分开。

例1.>

a=[12345];

b=[13579];

...

c=a.*b,d=a*b'

e=a'

*b

c=16152845

d=95

e=13579

26101418

39152127

412202836

515253545

2.几个特殊常量

3.字符串的输入

在MATLAB中,字符串它是按(行)向量形式储存的,文本块则按矩阵形式储存的。

每一个字符作为一个元素,对它们也可以进行提取、拼接和修改。

例2.>

s1='

Hello'

;

s2='

every'

s3='

body'

s=[s1,'

'

s2,'

'

s3]%字符串

s=Hello,everybody

h=['

河南大学'

'

数学学院'

]%多行文本按矩阵形式输入,要求各行长度

h=河南大学%(字符数)相同,不足者后面补空格

数学学院

二、函数

MATLAB提供了大量的函数,函数名一般由小写字母组成。

按照用法,MATLAB函数可分为三种类型:

标量函数、向量函数、矩阵函数。

1.标量函数

这些函数本质上是作用于标量的,当它们作用于矩阵(或数组)时,其结果是分别作用于矩阵(或数组)的每一个元素。

(1)三角函数(以弧度为单位):

sin(x)正玄cos(x)余玄tan(x)正切cot(x)余切

sec(x)正割csc(x)余割

(2)其它函数:

sqrt(x)正平方根exp(x)以e为底指数pow2(x)以2为底指数

log(x)自然对数log10(x)以10为底对数abs(x)绝对值或复数模

round(x)四舍五入取整floor(x)向-∞方向取整ceil(x)向+∞方向取整

fix(x)向0方向取整sign(x)符号函数conj(x)复数共轭

real(x)取实部imag(x)取虚部angle(x)取幅角

rats(x)有理逼近rat(x)连分数显示rem(x,y)x除以y的余数

例3.设x=[00.250.50.751],计算函数

在x各点处的值。

解:

x=[00.250.50.751];

y=2*sin(x)+x.*exp(x)

结果:

y=00.81581.78322.95104.4012

【注】①计算函数值也可用命令:

feval(F,x),其中F表示函数名字符串或函数句柄(@函数名),如命令y=sin(x)也可写作y=feval('

sin'

x)或y=feval(@sin,x)。

②简单函数可以用inline函数形式输入:

y=feval(inline('

sin(x)+2'

),x)

例如上例:

y=feval(inline('

2*sin(x)+x.*exp(x)'

若直接利用函数文件(如正弦函数)计算函数值,可以有以下方法:

y=sin(x)

y=feval('

x)

y=feval(@sin,x)

sin(x)'

y=00.24740.47940.68160.8415

2.向量函数

这些函数本质上是作用于向量的,当它们作用于矩阵时,其结果产生一个行向量,行向量每一个元素是该函数作用于矩阵相应列的结果。

max(x)最大值min(x)最小值mean(x)平均值

sum(x)求和length(x)长度median(x)中值

prod(x)连乘积sort(x)由小到大排序roots(p)求多项式根

polyval(p,s)求多项式p在s处的值

3.矩阵函数

(1)构造矩阵函数:

zeros(n,m)0阵ones(n,m)1阵eye(n,n)单位阵

rand(n,m)(0,1)均匀分布随机阵randn(n.m)正态分布随机阵

diag(A)(构造或提取对角阵)triu(A)/tril(A)(提取上/下三角阵)

reshape(A,m,n)(重新整理A的维数)

(2)矩阵计算函数:

[m,n]=size(A)(大小)det(A)(行列式)rank(A)(秩)

inv(A)(逆矩阵)trace(A)(矩阵迹)norm(A)(矩阵范数)

[V,D]=eig(A)(D对角阵,对角元素为A特征值,V列向量为相应的特征向量。

poly(A)(求矩阵A的特征多项式,或由根(A为向量)求多项式)

例4.>

a=[12;

34;

56],b=reshape(a,2,3)

a=12b=154

34326

56

例5.熟悉函数max(x),sum(x),length(x),size(X),diag(X)的功能。

A=[12543],B=[137;

246]

A=12543B=137

246

a=max(A),,aa=max(B)

a=5aa=247

[p,k]=max(A),[pp,kk]=max(B)

p=5k=3

pp=247kk=221

s=sum(A),ss=sum(B)

s=15ss=3713

l=length(A),ll=length(B)

l=5ll=3

z=size(B),[m,n]=size(B),

z=23m=2n=3

D=diag(A),DD=diag(B)

D=10000

02000

00500

00040

00003

DD=1

4

(例7).输入矩阵B,求:

(1)B的维数、秩、行列式、迹;

(2)B的逆,验证B*B-1=E(单位阵);

(3)B的特征多项式、特征值;

(4)对B作初等行变换,验证行列式性质。

B=[123;

234;

341];

%输入矩阵B

[m,n]=size(B),r=rank(B),D=det(B),T=trace(B)%维数、秩、行列式、迹

m=3n=3r=3D=4T=5

C=inv(B),C*B%B的逆

C=-3.25002.5000-0.2500ans=1.0000-0.00000.0000

2.5000-2.00000.50000.00001.00000.0000

-0.25000.5000-0.25000.000001.0000

p=poly(B),e=eig(B),r=roots(p)%特征多项式、特征值

p=1.0000-5.0000-22.0000-4.0000

e=-2.6723r=7.8627

-0.1904-2.6723

7.8627-0.1904

B0=B,B([1,3],:

)=B([3,1],:

),D0=det(B0),D=det(B)%交换(1,3)两行

B0=123B=341

234234

341123

D0=4D=-4%行列式值反号

§

3.命令和窗口环境

本节介绍MATLAB的在线帮助系统、一些特殊命令及窗口环境。

一、系统在线帮助

1.利用“Help”菜单或帮助按钮“?

2.利用命令“help”

3.利用命令“lookfor”

helpsqrt

SQRTSquareroot.

SQRT(X)isthesquarerootoftheelementsofX.Complex

resultsareproducedifXisnotpositive.,SeealsoSQRTM....

helpsqr%仅对M文件第一行与关键字完全匹配的结果进行搜索

sqr.mnotfound.

lookforsqr%仅对M文件第一行包含关键字的结果进行搜索

REALSQRTRealsquareroot.

SQRTSquareroot.

SQRTMMatrixsquareroot.

LSQRLSQRImplementationofConjugateGradientsontheNormalEquations.

SQRTSymbolicmatrixelement-wisesquareroot.

二、数据显示格式

MATLAB显示数据结果时,若数据是整数,则显示整数;

若数据是实数,默认情况下显示小数点后4位数字。

要改变数据显示格式,方法有两种:

利用菜单“File\Preferences”(永久有效);

利用命令“format”。

(仅对MATLAB当前窗口有效)

命令格式示例(

)说明

formatshort3.1416小数点后4位(缺省显示)

formatlong3.1415926535897915位数字

formatbank3.14小数点后2位

format++显示+、-、0

formatshorte3.1416e+0005位科学记数法

formatlonge3.141592653589793e+00015位科学记数法

formatrat355/113最接近的有理数

三、历史命令的回调、编辑与重用

1.利用方向键(命令窗口,P14)

2.利用命令历史窗口

(1)鼠标双击一条命令,可发送到命令窗口立即执行;

(2)选定命令(Ctrl+单击)->

击右键,选择EvaluateSelection,命令立即执行;

(3)选定命令(Ctrl+单击)->

复制->

在命令窗口粘贴->

修改->

回车执行;

(4)选定命令(Ctrl+单击)->

拖动到命令窗口->

回车执行。

【注】在命令历史窗口,选定命令序列,击右键,选择CreateM-file,可以建立M文件。

四、MATLAB工作区

MATLAB工作区是用来接受MATLAB命令的内存区域。

1.显示工作空间信息

who显示变量名

whos显

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

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1