matlab基本函数文档格式.docx

上传人:b****4 文档编号:8185001 上传时间:2023-05-10 格式:DOCX 页数:25 大小:28.51KB
下载 相关 举报
matlab基本函数文档格式.docx_第1页
第1页 / 共25页
matlab基本函数文档格式.docx_第2页
第2页 / 共25页
matlab基本函数文档格式.docx_第3页
第3页 / 共25页
matlab基本函数文档格式.docx_第4页
第4页 / 共25页
matlab基本函数文档格式.docx_第5页
第5页 / 共25页
matlab基本函数文档格式.docx_第6页
第6页 / 共25页
matlab基本函数文档格式.docx_第7页
第7页 / 共25页
matlab基本函数文档格式.docx_第8页
第8页 / 共25页
matlab基本函数文档格式.docx_第9页
第9页 / 共25页
matlab基本函数文档格式.docx_第10页
第10页 / 共25页
matlab基本函数文档格式.docx_第11页
第11页 / 共25页
matlab基本函数文档格式.docx_第12页
第12页 / 共25页
matlab基本函数文档格式.docx_第13页
第13页 / 共25页
matlab基本函数文档格式.docx_第14页
第14页 / 共25页
matlab基本函数文档格式.docx_第15页
第15页 / 共25页
matlab基本函数文档格式.docx_第16页
第16页 / 共25页
matlab基本函数文档格式.docx_第17页
第17页 / 共25页
matlab基本函数文档格式.docx_第18页
第18页 / 共25页
matlab基本函数文档格式.docx_第19页
第19页 / 共25页
matlab基本函数文档格式.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

matlab基本函数文档格式.docx

《matlab基本函数文档格式.docx》由会员分享,可在线阅读,更多相关《matlab基本函数文档格式.docx(25页珍藏版)》请在冰点文库上搜索。

matlab基本函数文档格式.docx

或者用空格符来分隔;

行与行之间用分号(;

)分隔.所有元素处于一方括号([])

内;

例1:

Time=[111212345678910]

X_Data=[2.323.43;

4.375.98]

2.系统中提供了多个命令用于输入特殊的矩阵:

函数功能函数功能

compan伴随阵toeplitzToeplitz矩阵

diag对角阵vanderVandermonde矩阵

hadamardHadamard矩阵zeros元素全为0的矩阵

hankelHankel矩阵ones元素全为1的矩阵

invhilbHilbert矩阵的逆阵rand元素服从均匀分布的随机矩阵

kronKronercker张量积randn元素服从正态分布的随机矩阵

magic魔方矩阵eye对角线上元素为1的矩阵

pascalPascal矩阵meshgrid由两个向量生成的矩阵

上面函数的具体用法,可以用帮助命令help得到.如:

meshgrid(x,y)

输入x=[1234];

y=[105];

[X,Y]=meshgrid(x,y),则

X=Y=

12341111

12340000

12345555

目的是将原始数据x,y转化为矩阵数据X,Y.

2符号向量(矩阵)的输入

1.用函数sym定义符号矩阵:

函数sym实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号

或者是表达式,而且长度没有限制.只需将方括号置于单引号中.

例2:

sym_matrix=sym('

[abc;

JackHelp_MeNO_WAY]'

sym_matrix=

[a,b,c]

[Jack,Help_Me,NO_WAY]

2.用函数syms定义符号矩阵

先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵.

例3:

symsabc;

M1=sym('

Classical'

);

M2=sym('

Jazz'

M3=sym('

Blues'

A=[abc;

M1,M2,M3;

sym([235])]

A=

[Classical,Jazz,Blues]

[2,3,5]

1.4数组(矩阵)的点运算

运算符:

+(加),-(减),./(右除),.\(左除),.^(乘方),

例4:

g=[1234];

h=[4321];

s1=g+h,s2=g.*h,s3=g.^h,s4=g.^2,s5=2.^h

1.5矩阵的运算

+(加),-(减),*(乘),/(右除),\(左除),^(乘方),'

(转置)等;

常用函数:

det(行列式),inv(逆矩阵),rank(秩),eig(特征值,特征向量),rref

(化矩阵为行最简形)

例5:

A=[20-1;

132];

B=[17-1;

423;

201];

M=A*B%矩阵A与B按矩阵运算相乘

det_B=det(B)%矩阵A的行列式

rank_A=rank(A)%矩阵A的秩

inv_B=inv(B)%矩阵B的逆矩阵

[V,D]=eig(B)%矩阵B的特征值矩阵V与特征向量构成的矩阵D

X=A/B%A/B=A*B-1,即XB=A,求X

Y=B\A%B\A=B-1*A,即BY=A,求Y

上机练习

(一):

1.练习数据和符号的输入方式,将前面的命令在命令窗口中执行通过;

2.输入A=[715;

256;

315],B=[111;

222;

333],在命令

窗口中执行下列表达式,掌握其含义:

A(2,3)A(:

2)A(3,:

)A(:

1:

2:

3)A(:

3).*B(:

2)

A(:

3)*B(2,:

)A*BA.*BA^2A.^2B/AB./A

3.输入C=1:

20,则C(i)表示什么其中i=1,2,3,…,10;

4.查找已创建变量的信息,删除无用的变量;

5.欲通过系统做一平面图,请查找相关的命令与函数,获取函数的帮助信息.

二,编程

2.1无条件循环

当需要无条件重复执行某些命令时,可以使用for循环:

for循环变量t=表达式1:

达式2:

表达式3

语句体

end

说明:

表达式1为循环初值,表达式2为步长,表达式3为循环终值;

当表达式2省

略时则默认步长为1;

for语句允许嵌套.

例6:

如:

矩阵输入程序

生成3×

4阶的Hiltber矩阵.m=input('

矩阵行数:

m='

fori=1:

3n=input('

矩阵列数:

n='

forj=1:

4fori=1:

m

H(i,j)=1/(i+j-1);

forj=1:

n

enddisp(['

输入第'

num2str(i),'

行,第'

num2str(j),'

列元素'

])

endA(i,j)=input('

'

endend

2.2条件循环

1)if-else-then语句

if-else-then语句的常使用三种形式为:

(1)if逻辑表达式(3)if逻辑表达式1

语句体语句体1

endelseif逻辑表达式2

语句体2

(2)if逻辑表达式1elseif逻辑表达式3

语句体1…

elseelse

语句体2语句体n

2)while循环语句

while循环的一般使用形式为:

while表达式

例7:

用二分法计算多项式方程=0在[0,3]内的一个根.523xx

解:

a=0;

fa=-inf;

b=3;

fb=inf;

whileb-a>

eps*b

x=(a+b)/2;

fx=x^3-2*x-5;

ifsign(fx)==sign(fa)

a=x;

fa=fx;

else

b=x;

fb=fx;

运行结果为:

x=2.0945515148154233

2.3分支结构

若需要对不同的情形执行不同的操作,可用switch分支语句:

switch表达式(标量或字符串)

case值1

语句体1

case值2

otherwise

语句体n

当表达式不是"

case"

所列值时,执行otherwise语句体.

2.4建立M文件

将多个可执行...的系统命令,用文本编辑器编辑后并存放在后缀为.m的文件中,若在

MATLAB命令窗口中输入该m-文件的文件名(不跟后缀.m!

),即可依次执行该文件中的多

个命令.这个后缀为.m的文件,也称为Matlab的脚本文件(ScriptFile).

注意:

文件存放路径必须在Matlab能搜索的范围内.

2.5建立函数文件

对于一些特殊用户函数,系统提供了一个用于创建用户函数的命令function,以备用户

随时调用.

1.格式:

function[输出变量列表]=fun_name(输入变量列表)

用户自定义的函数体

2.函数文件名为:

fun_name,注意:

保存时文件名...与函数名...最好相同;

3.存储路径:

最好在系统的搜索路径上.

4.调用方法:

输出参量=fun_name(输入变量)

例8:

计算s=n!

在文本编辑器中输入:

functions=pp(n);

s=1;

fori=1:

s=s*i;

s;

在MATLAB命令窗口中输入:

s=pp(5)

结果为s=120

上机练习

(二):

1.编写程序,计算1+3+5+7+…+(2n+1)的值(用input语句输入n值).

2.编写分段函数的函数文件,存放于文件ff.m中,计算出

≤≤

<

=

其它0

212

10

)(xx

xx

xf

)3(f)2(f,的值.)(∞f

三,矩阵及其运算

3.1矩阵的创建

1.加,减运算

"

+"

和"

-"

分别为加,减运算符.

运算规则:

对应元素相加,减,即按线性代数中矩阵的"

十"

"

一"

运算进行.

例3-1在Matlab编辑器中建立m文件:

LX0701.m

A=[1,1,1;

1,2,3;

1,3,6]

B=[8,1,6;

3,5,7;

4,9,2]

A+B=A+B

A-B=A-B

在Matlab命令窗口建入LX0701,则

结果显示:

A+B=

927

4710

5128

A-B=

-70-5

-2-3-4

-3-64

2.乘法

*

按线性代数中矩阵乘法运算进行,即放在前面的矩阵的各行元素,分别与

放在后面的矩阵的各列元素对应相乘并相加.

(1)两个矩阵相乘

例3-2在Mtalab编辑器中建立M文件:

LX0702.m

X=[2345

1221];

Y=[011

110

001

100];

Z=X*Y

存盘

在命令行中建入LX0702,回车后显示:

Z=

856

333

(2)矩阵的数乘:

数乘矩阵

上例中:

a=2*X

则显示:

a=

46810

2442

(3)向量的点乘(内积):

维数相同的两个向量的点乘.

命令:

dot向量点乘函数

例:

X=[-102];

Y=[-2-11];

Z=dot(X,Y)

Z=

4

还可用另一种算法:

sum(X.*Y)

ans=

(4)向量叉乘

在数学上,两向量的叉乘是一个过两相交向量的交点且垂直于两向量所在平面的向量.

在Matlab中,用函数cross实现.

命令cross向量叉乘函数

例3-3计算垂直于向量(1,2,3)和(4,5,6)的向量.

在Mtalab编辑器中建立M文件:

LX0703.m

a=[123];

b=[456];

c=cross(a,b)

c=

-36-3

可得垂直于向量(1,2,3)和(4,5,6)的向量为±

(-3,6,-3)

(5)混合积

混合积由以上两函数实现:

例3-4计算向量a=(1,2,3),b=(4,5,6)和c=(-3,6,-3)的混合积)cb(a×

在Matlab编辑器中建立M文件:

LX0704.m

b=[456];

c=[-36-3];

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

x=

54

先叉乘后点乘,顺序不可颠倒.

3.矩阵的除法

Matlab提供了两种除法运算:

左除(\)和右除(/).一般情况下,x=a\b是方程a*x=b

的解,而x=b/a是方程x*a=b的解

a=[123;

426;

749]

b=[4;

1;

2];

x=a\b

x=

-1.5000

2.0000

0.5000

如果a为非奇异矩阵,则a\b和b/a可通过a的逆矩阵与b阵得到:

a\b=inv(a)*b

b/a=b*inv(a)

4.矩阵乘方

^

(1)当A为方阵,p为大于0的整数时,A^P表示A的P次方,即A自乘P次;

p为小于0

的整数时,A^P表示A-1的P次方.

(2)当A为方阵,p为非整数时,则其中V为A的特征向

量,为特征值矩阵

1

p

nn

11

V

d

VP^A

=O

O

5.矩阵的转置

与线性代数中矩阵的转置相同.

6.矩阵的逆矩阵

例3-5求的逆矩阵

343

122

321

A

方法一:

LX07051.m

A=[123;

221;

343];

inv(A)或A^(-1)

则结果显示为

ans=

1.00003.0000-2.0000

-1.5000-3.00002.5000

1.00001.0000-1.0000

方法二:

由增广矩阵进行初等行变换

100343

010122

001321

B

LX07052.m

B=[1,2,3,1,0,0;

2,2,1,0,1,0;

3,4,3,0,0,1];

C=rref(B)%化行最简形

X=C(:

4:

6)

在Matlab命令窗口建入LX07052,则显示结果如下:

C=

1.0000001.00003.0000-2.0000

01.00000-1.5000-3.00002.5000

001.00001.00001.0000-1.0000

X=

这就是A的逆矩阵.

7.方阵的行列式

det计算行列式的值

例3-6计算上例中A的行列式的值

LX0706.m

D=det(A)

D=

2

10·

3.2符号矩阵的运算

1.符号矩阵的四则运算

Matlab5.x抛弃了在4.2版中为符号矩阵设计的复杂函数形式,把符号矩阵的四则运算

简化为与数值矩阵完全相同的运算方式,其运算符为:

加(+),减(-),乘(×

),除(/,

\)等或:

符号矩阵的和(symadd),差(symsub),乘(symmul).

例3-7);

])3x/

(1),2x/

(1);

1x/(1,x/1[(symA′+++′=

)]0,2x;

1,x[(symB′+′=;

C=B-A

D=a\b

C=

x-1/x1-1/(x+1)

x+2-1/(x+2)-1/(x+3)

D=

-6*x-2*x^3-7*x^21/2*x^3+x+3/2*x^2

6+2*x^3+10*x^2+14*x-2*x^2-3/2*x-1/2*x^3

2.其他基本运算

符号矩阵的其他一些基本运算包括转置('

),行列式(det),逆(inv),秩(rank),幂

(^)和指数(exp和expm)等都与数值矩阵相同

3.符号矩阵的简化

符号工具箱中提供了符号矩阵因式分解,展开,合并,简化及通分等符号操作函数.

(1)因式分解

factor符号表达式因式分解函数

格式:

factor(s)

s为符号矩阵或符号表达式.常用于多项式的因式分解

例3-8将x9-1分解因式

在Matlab命令窗口建入

symsx

factor(x^9-1)

(x-1)*(x^2+x+1)*(x6+x^3+1)

例3-9问入取何值时,齐次方程组

=λ++

=+λ+

=+λ

0)1(

0)3(2

042)1(

xxx

有非0解

11·

LX0709.m

symsk

A=[1-k-24;

23-k1;

111-k];

factor(D)

其结果显示如下:

-6*k+5*k^2-k^3

-k*(k-2)*(-3+k)

从而得到:

当k=0,k=2或k=3时,原方程组有非0解.

(2)符号矩阵的展开

命令expand符号表达式展开函数

expand(s)

s为符号矩阵或表达式.常用在多项式的因式分解中,也常用于三角函数,指

数函数和对数函数的展开中

例3-10将(x+1)3,sin(x+y)展开

LX0710.m

symsxy

p=expand((x+1)^3)

q=expand(sin(x+y))

p=

x^3+3*x^2+3*x+1

q=

sin(x)*cos(y)+cos(x)*sin(y)

(3)同类式合并

Collect合并系数函数

Collect(s,v)将s中的变量v的同幂项系数合并.

Collect(s)s—矩阵或表达式,此命令对由命令findsym函数返回的默认变量

进行同类项合并.

(4)符号简化

simple或simplify寻找符号矩阵或符号表达式的最简型

Simple(s)s—矩阵或表达式

Simple(s)将表达式s的长度化到最短.若还想让表达式更加精美,可使用函数

Pretty.

Pretty(s)使表达式s更加精美

例3-11计算行列式

12·

4444

2222

1111

dcba

的值.

LX0711.m

symsabcd

A=[1111;

abcd;

a^2b^2c^2d^2;

a^4b^4c^4d^4];

d1=det(A)

d2=simple(d1)%化简表达式d1

pretty(d2)%让表达式d2符合人们的书写习惯

则显示结果如下:

d1=

b*c^2*d^4-b*d^2*c^4-b^2*c*d^4+b^2*d*c^4+b^4*c*d^2-b^4*d*c^2-a*c^2*d^4+a*d^2*c

^4+a*b^2*d^4-a*b^2*c^4-a*b^4*d^2+a*b^4*c^2+a^2*c*d^4-a^2*d*c^4-a^2*b*d^4+a^2*b*c^

4+a^2*b^4*d-a^2*b^4*c-a^4*c*d^2+a^4*d*c^2+a^4*b*d^2-a^4*b*c^2-a^4*b^2*d+a^4*b^2*c

d2=

(-d+c)*(b-d)*(b-c)*(-d+a)*(a-c)*(a-b)*(a+c+d+b)

(-d+c)(b-d)(b-c)(-d+a)(a-c)(a-b)(a+c+d+b)

例3-12设,,

A

35

12

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

当前位置:首页 > 工程科技

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

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