MATLAB函数.docx

上传人:b****5 文档编号:27959028 上传时间:2023-07-06 格式:DOCX 页数:15 大小:23.68KB
下载 相关 举报
MATLAB函数.docx_第1页
第1页 / 共15页
MATLAB函数.docx_第2页
第2页 / 共15页
MATLAB函数.docx_第3页
第3页 / 共15页
MATLAB函数.docx_第4页
第4页 / 共15页
MATLAB函数.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

MATLAB函数.docx

《MATLAB函数.docx》由会员分享,可在线阅读,更多相关《MATLAB函数.docx(15页珍藏版)》请在冰豆网上搜索。

MATLAB函数.docx

MATLAB函数

1.input函数:

用于向计算机输入一个参数。

调用格式:

 A=input(提示信息,选项);

注:

‘s’选项,则允许用户输入一个字符串。

例如想输入一个人的姓名,可采用命令

xm=input('What''syourname:

','s')

2.pause函数:

暂停程序的执行。

调用格式:

pause(延迟秒数)

注:

如果省略延迟时间,直接使用pause,则将暂停程序,直到用户按任一键后程序继续执行。

3.disp函数:

命令窗口输出函数。

调用格式:

disp(输出项)

注:

输出项为字符串或矩阵。

例如

A='Hello,MATLAB';

disp(A)

输出为:

 Hello,MATLAB

4.setstr在matlab中是什么意思?

setstr将ASCII码转换成字符串,这个函数的别的语言里也是有的,在MATLAB里现在推荐用char函数来完成这个功能

另外,abs可以将字符串转换成ASCII码

例如:

setstr(abs(c)+1);

5.if语句

格式一:

 if 条件

语句组

end

格式二:

 if 条件

语句组1

else

语句组2

end

格式三:

 if 条件1

语句组1

elseif 条件2

语句组2

……

elseif 条件m

语句组m

else

语句组m+1

end

6 switch语句

switch语句根据变量或表达式的取值不同,分别执行不同的语句。

其格式为:

switch 表达式

case 值1

语句组1

case 值2

……

case 值m

语句组m

otherwise

语句组m+1

end

实现循环结构的语句:

for语句和while语句。

7. for语句:

格式:

 for循环变量=表达式1:

表达式2:

表达式3

循环体语句

end

注:

其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。

步长为1时,表达式2可以省略

8.while语句

格式为:

while(条件)

循环体语句

end

9rem:

求余函数

10.文件的打开与关闭

‘r’ 打开文件,读数据,文件必须存在。

‘w’ 打开文件,写数据,若文件不存在,系统会自动建立。

‘a’ 打开文件,在文件末尾添加数据。

‘r+’ 打开文件,可以读和写数据,文件必须存在。

‘w+’ 打开文件,供读与写数据用。

‘a+’ 打开文件,供读与添加数据用。

例如:

打开一个名为std.dat的数据文件并进行读操作,其命令格式为:

Fid=fopen(‘std.dat’,’r’)

上述打开格式均为二进制格式,如果想用ASCII文本格式,则必须在格式字符串中加上字符t,例如用’rt’表示以ASCII格式打开供读操作的数据文件。

11.fclose关闭文件

关闭文件命令格式为:

Sta=fclose(Fid) 关闭Fid所表示的文件

Sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回–1。

【例1】建立一数据文件test.dat,用于存放矩阵A的数据。

已知 A=[-0.6515 -0.2727 -0.4354 -0.3190 -0.9047

-0.7534 -0.4567 -0.3212 -0.4132 -0.3583

-0.9264 -0.8173 -0.7823 -0.3265 -0.0631

-0.1735 -0.7373 -0.0972 -0.3267 -0.6298

-0.4768 -0.6773 -0.6574 -0.1923 -0.4389]

Fid=fopen('test.dat','w')

cnt=fwrite(Fid,A,'float')

fclose(Fid)

程序段将矩阵A的数据以二进制浮点数格式写入文件test.dat中。

Fid=fopen('test.dat','r')

[B,cnt]=fread(Fid,[5,inf],'float')

fclose(Fid)

读取文件test.dat的内容。

12.文本文件

s=fscanf(fid,‘%s’)   读取一个字符串

a=fscanf(fid,‘%5d’)  读取5位数的整数

13、plot函数

函数格式:

plot(x,y) 其中x和y为坐标向量

函数功能:

以向量x、y为轴,绘制曲线。

【例1】在区间0≤X≤2内,绘制正弦曲线Y=SIN(X),其程序为:

x=0:

pi/100:

2*pi;

y=sin(x);

plot(x,y)

【例2】同时绘制正、余弦两条曲线Y1=SIN(X)和Y2=COS(X),其程序为:

x=0:

pi/100:

2*pi;

y1=sin(x);

y2=cos(x);

plot(x,y1,x,y2)

plot函数还可以为plot(x,y1,x,y2,x,y3,…)形式,其功能是以公共向量x为X轴,分别以y1,y2,y3,…为Y轴,在同一幅图内绘制出多条曲线。

【例3】用不同线型和颜色重新绘制例4.2图形,其程序为:

x=0:

pi/100:

2*pi;

y1=sin(x);

y2=cos(x);

plot(x,y1,'go',x,y2,'b-.')

其中参数'go'和'b-.'表示图形的颜色和线型。

g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。

14.

title(‘加图形标题');   

xlabel('加X轴标记');  

ylabel('加Y轴标记');   

text(X,Y,'添加文本');

15.

axis([xminxmaxyminymax])设定最大和最小值

例:

x=linspace(0,2*pi,60);生成含有60个数据元素的向量X

例:

axis([02*pi-22]);

16.

加图例

legend('图例说明','图例说明'); 

例:

x=0:

pi/100:

2*pi;

y1=sin(x);

y2=cos(x);

plot(x,y1,x,y2,'--');

legend('sin(x)','cos(x)');

17.在数学中是没有矩阵除法运算的,Matlab中的除法运算为其自己定义:

除法分左除和右除,我们设两个矩阵A、B。

则:

A\B为A左除B,相当于A的逆左乘B,即inv(A)*B。

A/B为A右除B,相当于A的逆右乘B,即B*inv(A)。

18.subplot(m,n,p)

该命令将当前图形窗口分成m×n个绘图区,即每行n个,共m行,区号按行优先编号,且选定第p个区为当前活动区。

x=linspace(0,2*pi,60);

y=sin(x);

z=cos(x);

t=sin(x)./(cos(x)+eps);eps为系统内部常数

ct=cos(x)./(sin(x)+eps);

subplot(2,2,1);分成2×2区域且指定1号为活动区

plot(x,y);

title('sin(x)');        

axis([02*pi-11]);      

subplot(2,2,2);

plot(x,z);

title('cos(x)');

axis([02*pi-11]);

subplot(2,2,3);

plot(x,t);

title('tangent(x)');

axis([02*pi-4040]);

subplot(2,2,4);

plot(x,ct);

title('cotangent(x)');

axis([02*pi-4040]);

19.polar(theta,rho);绘制极坐标图命令

stairs(x,y);绘制阶梯图形命令

bar(x,y);绘制条形图命令

20用set命令可以方便地设置图形对象属性,如下列程序段就是通过属性来定制图形。

x=[0:

0.1:

4*pi];

H=plot(x,sin(x));返回正弦曲线句柄H

set(H,'LineStyle','*','LineWidth',0.1);设置正弦曲线线型与线宽

其中'LineStyle'为线型属性,'LineWidth'为线宽属性。

21.零矩阵

zeros(m):

产生m m阶零矩阵;

zeros(m,n):

产生m n阶零矩阵,当m=n时等同于zeros(m);

zeros(size(A)):

产生与矩阵A同样大小的零矩阵。

幺矩阵:

所有元素值为1的矩阵称为幺矩阵。

幺矩阵可以用ones函数实现。

它的调用格式与zeros函数一样。

单位矩阵:

主对角线的元素值为1、其余元素值为0的矩阵称为单位矩阵。

它可以用MATLAB内部函数eye建立,使用格式与zeros相同。

数量矩阵:

主对角线的元素值为一常数d、其余元素值为0的矩阵称为数量矩阵。

显然,当d=1时,即为单位矩阵,故数量矩阵可以用eye(m)*d或eye(m,n)*d建立。

对角阵:

对角线的元素值为常数、其余元素值为0的矩阵称为对角阵。

我们可以通过MATLAB内部函数diag,利用一个向量构成对角阵;或从矩阵中提取某对角线构成一个向量。

使用

格式为diag(V)和diag(V,k)两种。

用一个向量V构成一个对角阵:

diagonal(对角线)

设V为具有m个元素的向量,diag(V)将产生一个mm阶对角阵,其主对角线的元素值即为向量的元素值;diag(V,k)将产生一个nn(n=m+|k|,k为一整数)阶对角阵,其第k条对角线的元素值即为向量的元素值。

注意:

当k>0,则该对角线位于主对角线的上方第k条;当k<0,该对角线位于主对角线的下方第|k|条;当k=0,则等同于diag(V)。

用diag建立的对角阵必是方阵。

从矩阵中提取某对角线

我们也可以用diag从矩阵中提取某对角线构成一个向量。

设A为m n阶矩阵,diag(A)将从矩阵A中提取其主对角线产生一个具有min(m,n)个元素的向量。

diag(A,k)的功能是:

当k>0,则将从矩阵A中提取位于主对角线的上方第k条对角线构成一个具有n-k个元素的向量;当k<0,则将从矩阵A中提取位于主对角线的下方第|k|条对角线构成一个具有m+k个元素的向量;当k=0,则等同于diag(A)。

22.MATLAB提供的内部函数eig可以用来计算特征值与特征向量

(1)E=eig(A):

由eig(A)返回方阵A的N个特征值,构成向量E;

(2)[V,D]=eig(A):

由eig(A)返回方阵A的N个特征值,构成NN阶对角阵D,其对角线上的N个元素即为相应的特征值,同时将返回相应的特征向量赋予NN阶方阵V的对应列,且A、V、D满足AV=VD;

(3)[V,D]=eig(A,’nobalance’):

本格式的功能与格式

(2)一样,只是格式

(2)是先对A作相似变换(balance),然后再求其特征值与相应的特征向量;而本格式则事先不作相似变换;

23.MATLAB提供的内部函数det用来计算矩阵的行列式的值。

设矩阵A为一方阵(必须是方阵),求矩阵A的行列式值的格式为:

det(A)。

24.inv函数求方阵A的逆阵

25.MAX函数的命令格式有:

[Y,I]=max(X):

将max(X)返回矩阵X的各列中的最大元素值及其该元素的位置赋予行向量Y与I;当X为向量时,则Y与I为单变量。

[Y,I]=max(X,[],DIM):

按数组X的第DIM维的方向查取其最大的元素值及其该元素的位置赋予向量Y与I。

26.例:

x=[456;148]    

y=[175;457]    

p=max(x,y)      %在x,y同一位置上的两个元素中查找出最大值

27.求中值

所谓中值,是指在数据序列中其值的大小恰好在中间。

例如,数据序列9,-2,5,7,12的中值为7。

MEDIAN函数调用的命令格式有:

Y=median(X):

将median(X)返回矩阵X各列元素的中值赋予行向量Y。

若X为向量,则Y为单变量。

Y=median(X,DIM):

按数组X的第DIM维方向的元素求其中值赋予向量Y。

若DIM=1,为按列操作;若DIM=2,为按行操作。

若X为二维数组,Y为一个向量;若X为一维数组,则Y为单变量。

28、求和

命令格式有:

Y=sum(X):

将sum(X)返回矩阵X各列元素之和赋予行向量Y;若X为向量,则Y为单变量。

Y=sum(X,DIM):

按数组X的第DIM维的方向的元素求其和赋予Y。

若DIM=1,为按列操作;若DIM=2,为按行操作。

若X为二维数组,Y为一个向量;若X为一维数组,则Y为单变量。

29.求平均值

MEAN函数调用的命令格式有:

Y=mean(X):

将mean(X)返回矩阵X各列元素之的平均值赋予行向量Y。

若X为向量,则Y为单变量。

Y=mean(X,DIM):

按数组X的第DIM维的方向的元素求其平均值赋予向量Y。

若DIM=1,为按列操作;若DIM=2,为按行操作。

若X为二维数组,Y为一个向量;若X为一维数组,则Y为单变量。

30、求积

命令格式有:

Y=prod(X):

将prod(X)返回矩阵X各列元素之积赋予行向量Y。

若X为向量,则Y为单变量。

Y=prod(X,DIM):

按数组X的第DIM维的方向的元素求其积赋予向量Y。

若DIM=1,为按列操作;若DIM=2,为按行操作。

若X为二维数组,Y为一个向量;若X为一维数组,则Y为单变量。

31.若已知多项式的全部根,则可以用POLY函数建立起该多项式;也可以用POLY函数求矩阵的特征多项式。

POLY函数是一个MATLAB程序,调用它的命令格式是:

A=poly(x)

若x为具有N个元素的向量,则poly(x)建立以x为其根的多项式,且将该多项式的系数赋值给向量A。

在此种情况下,POLY与ROOTS互为逆函数;若x为N×N的矩阵x,则poly(x)返回一个向量赋值给A,该向量的元素为矩阵x的特征多项式之系数:

A

(1),A

(2),…,A(N),A(N+1)。

32.POLYVAL函数用来求代数多项式的值,调用的命令格式为:

Y=polyval(A,x)

33.多项式乘法

若A、B是由多项式系数组成的向量,则CONV函数将返回这两个多项式的乘积。

调用它的命令格式为:

C=conv(A,B)

34.多项式除法

当A、B是由多项式系数组成的向量时,DECONV函数用来对两个多项式作除法运算。

调用的命令格式为:

[Q,r]=deconv(A,B)

本命令的结果:

多项式A除以多项式B获商多项式赋予Q(也为多项式系数向量);获余项多项式赋予r(其系数向量的长度与被除多项式相同,通常高次项的系数为0)。

DECONV是CONV的逆函数,即有A=conv(B,Q)+r。

35.sym函数

sym函数的主要功能是创建符号变量,以便进行符号运算,也可以用于创建符号表达式或符号矩阵。

用sym函数创建符号变量的一般格式为:

x=sym(‘x’)

其目的是将’x’创建为符号变量,以x作为输出变量名。

每次调用该函数,可以定义一个符号变量。

36.solve主要是用来求解多项式的解。

37.【例2】已知一复数表达式z=x+i*y,试求其共轭复数,并求该表达式与其共轭复数乘积的多项式。

为了使乘积表达式x^2+y^2非负,这里,把变量x和y定义为实数。

x=sym(‘x’,’real’);

y=sym(‘y’,’real’);

z=x+i*y;%定义复数表达式

conj(z);%求共轭复数

expand(z*conj(z))%求表达式与其共轭复数乘积的多项式

38.syms函数

syms函数的功能与sym函数类似。

syms函数可以在一个语句中同时定义多个符号变量,其一般格式为:

symsarg1arg2…argN 

用于将rg1,arg2,…,argN等符号创建为符号型数据。

Syms格式定义变量时,变量名之间只能用空格符,不能用逗号或者分号。

39.默认符号变量

在数学表达式中,一般习惯于使用排在字母表中前面的字母作为变量的系数,而用排在后面的字母表示变量。

例如:

f=ax2+bx+c

表达式中的a,b,c通常被认为是常数,用作变量的系数;而将x看作自变量。

40..symsabcxy      %定义符号变量

fxy=(a*x^2+b*y^2)/c^2; %生成符号函数 

diff(fxy,x)      %符号函数fxy对x求导数

ans=2*a*x/c^2

diff(fxy,y)      %符号函数fxy对y求导数  

ans=2*b*y/c^2       %符号函数fxy对x求积分

int(fxy,x)        

ans=1/c^2*(1/3*a*x^3+b*y^2*x)

注:

syms后面跟的多个变量必须用空格或者分号隔开。

41求极限

limit(f,x,a):

求符号函数f(x)的极限值。

即计算当变量x趋近于常数a时,f(x)函数的极限值。

limit(f,a):

求符号函数f(x)的极限值。

由于没有指定符号函数f(x)的自变量,则使用该格式时,符号函数f(x)的变量为函数findsym(f)确定的默认自变量,既变量x趋近于a。

limit(f):

求符号函数f(x)的极限值。

符号函数f(x)的变量为函数findsym(f)确定的默认变量;没有指定变量的目标值时,系统默认变量趋近于0,即a=0的情况。

limit(f,x,a,'right'):

求符号函数f的极限值。

'right'表示变量x从右边趋近于a。

limit(f,x,a,'left'):

求符号函数f的极限值。

'left'表示变量x从左边趋近于a。

42.例:

MATLB中的写法:

f=(x*(exp(sin(x))+1)-2*(exp(tan(x))-1))/sin(x)^3

43.微分函数

diff函数用于对符号表达式s求微分。

该函数的一般引用格式为:

 

diff(s,’v’,n)

说明:

应用diff(s)没有指定微分变量和微分阶数,则系统按findsym函数指示的默认变量对符号表达式s求一阶微分。

应用diff(s,‘v’)或diff(s,sym(‘v’))格式,表示以v为自变量,对符号表达式s求一阶微分。

应用diff(s,n)格式,表示对符号表达式s求n阶微分,n为正整数。

    

应用diff(s,‘v’,n)diff(s,n,‘v’)格式,表示以v为自变量,对符号表达式s求n阶微分。

44.积分函数

积分函数int(s,v,a,b)可以对被积函数或符号表达式s求积分。

其引用格式为:

int(s,v,a,b)

说明:

应用int(s)格式,表示没有指定积分变量和积分阶数时,系统按findsym函数指示的默认变量对被积函数或符号表达式s求一阶积分。

应用int(s,v)格式,表示以v为自变量,对被积函数或符号表达式s求一阶不定积分。

应用积分函数时,如果给定a、b两项,表示是进行定积分运算。

a、b分别表示定积分的下限和上限。

不指定积分的下限和上限表示求不定积分。

 

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

当前位置:首页 > 考试认证 > 其它考试

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

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