MATLAB程序设计Word文档格式.docx

上传人:b****1 文档编号:14187336 上传时间:2022-10-19 格式:DOCX 页数:16 大小:34.58KB
下载 相关 举报
MATLAB程序设计Word文档格式.docx_第1页
第1页 / 共16页
MATLAB程序设计Word文档格式.docx_第2页
第2页 / 共16页
MATLAB程序设计Word文档格式.docx_第3页
第3页 / 共16页
MATLAB程序设计Word文档格式.docx_第4页
第4页 / 共16页
MATLAB程序设计Word文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

MATLAB程序设计Word文档格式.docx

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

MATLAB程序设计Word文档格式.docx

=4)%对向量进行关系运算

C=00011

D=(A==B)%对向量进行关系运算

D=00100

2.逻辑运算

(1)逻辑运算符:

&

(and,与)、|(or,或)、~(not,非)

(2)逻辑表达式:

用逻辑将两个逻辑量连接起来的式子.

【注】①逻辑运算本质上是标量运算,它将任何非零元素视为1(真);

②当作用于两个同样大小矩阵时,则分别对两个矩阵的对应元素运算,结果是一个0-1矩阵.(真值表见P27)

例2.对向量进行逻辑运算.

a=1:

9,b=9-a

a=123456789b=876543210

c=~(a>

4)%非运算

c=111100000

d=(a>

=3)&

(b<

6)%与运算

d=000111111

3.逻辑函数

any(x)向量x中有非零元返回1,否则返回0.(向量函数)

all(x)向量x中所有元素非零返回1,否则返回0.(向量函数)

isempty(x)矩阵x为空矩阵返回1,否则返回0.

find(x)返回向量x中非零元下标,若x是矩阵,则视其为一长列向量.

例3.对向量或矩阵进行逻辑运算,或调用逻辑函数.

a=[10-50;

-3082]

a=10-50

-3082

b=all(a),c=any(a)

b=1010

c=1011

x=isempty(a)%判定矩阵a是否为空,不能用关系式”a==[]”!

x=0

y=find(c)%返回向量c中非零元下标

y=134

z=find(a)%1个输出参数

z=[12568]’

[m,n]=find(a)%2个输出参数

二、M-文件的结构

M-文件就是MATLAB程序文件,它是一个包含MATLAB语句组(命令序列)的普通ASCII文本文件,其扩展名为“.m”.M-文件有两类:

脚本文件和函数文件.

1.脚本文件(亦称命令M-文件)

脚本文件的结构比较简单,它没有输入参数和输出参数,只是一些MATLAB命令行的组合.脚本文件中定义的变量都是全局变量.

例4.给定矩阵,,编写命令文件,输入矩阵A、B,并计算输出它们的和与差.

解:

建立如下M-文件SY00504.m

A=[123;

456];

%输入矩阵A

B=[401;

012];

%输入矩阵B

C=A+B%计算输出A与B的和

D=A-B%计算输出A与B的差

将上述文件以SY00504.m为名存盘,然后在命令窗口调用此M-文件,则有

SY00504

C=524D=-322

468444

2.函数文件(亦称函数M-文件)

和命令文件相比,函数文件稍微复杂一些.通常函数文件包含以下几个部分:

(1)函数定义行位于文件首行,以function开头,说明函数名、输入/输出参数.

(2)帮助信息紧跟函数定义行后面,以%开头的注释行,给出该函数的在线帮助.

(3)函数体函数的执行语句部分,是函数文件的核心部分.

(4)注释部分命令行中以符号“%”开始直到该行结束部分的注释语句.

例5.编写函数文件,计算任意两个同维数矩阵的和与差.(L000402.m)

解:

建立如下函数文件SY00505.m

function[C,D]=SY00405(A,B)

%给定矩阵A和B,计算输出其矩阵和C和矩阵差D

C=A+B;

%计算矩阵和

D=A-B;

%计算矩阵差

将上述文件以SY00405.m为名存盘,然后在命令窗口调用函数文件,则有

A=[123;

B=[401;

[C,D]=SY00505(A,B)

【注】

函数文件的第一行必须是函数说明语句;

输入参量用圆括号括起,输出参量多于1个时用方括号括起;

多个输入/输出参量时,参量之间用逗号隔开.

函数文件的变量一般是局部变量,可以用global命令将某些变量说明为全局变量.

函数文件的文件名一般应与函数说明语句中定义的函数名相一致.

函数文件可以递归调用.

三、M-文件的建立、编辑与调用

1.M-文件的建立与编辑

方法1:

在命令窗口输入命令:

edit[M-文件名],即可打开相应M-文件编辑器.

方法2:

单击菜单“File”->

“New”->

“M-file”,打开空白M-文件编辑器;

方法3:

“Open”->

输入文件名,打开相应M-文件编辑器;

方法4:

在当前目录窗口中选择某M-文件,双击则可打开该M-文件编辑器;

2.M-文件的调用

在MATLAB命令窗口中直接键入M-文件名,然后回车;

在当前目录窗口选择某M-文件,击右键选择命令RUN,即可运行该M-文件;

在M-文件编辑窗口中,单击工具钮RUN或菜单Debug/RUN,即可运行该M-文件.

【注】M被调用的M-文件必须位于当前目录或文件搜索路径范围内.

调用函数文件时,须事先对输入参量赋值,然后按照以下格式调用

输出参量=函数名(输入参量)(回车)

其中,实际参数和形式参数可以不同;

输入参数要用小括号将其括起,输出参数多于一个时,要用中括号“[]”将其括起;

参数间用逗号隔开.

四、MATLAB的控制流语句

MATLAB与其它计算机高级语言一样,有它自己的控制流语句,用户使用它们可以方便地编写出各种M-文件(应用程序).

1.选择结构

(1)if语句 

一般格式:

if<

关系表达式1>

语句体1>

elseif<

关系表达式2>

语句体2>

关系表达式n>

语句体n>

else

语句体n+1>

end

基本功能:

若表达式j(j=1,2,…,n)的值为真,则执行语句体j,然后执行end的后续命令;

否则,则执行语句体n+1,然后执行end的后续命令.

【注】if语句结构中,关键字“else”和“elseif”所在语句行以及其后的语句体都不是必需的,但是关键字“end”不能省略.

例6.编写函数文件,计算分段函数

编写函数文件(fenduan.m)如下:

functiony=fenduan(x)%计算分段函数

ifx<

=0

x=-5:

0.1:

10;

n=length(x);

fork=1:

ny(k)=fenduan(x(k));

end

plot(x,y)

y=0;

elseifx<

=2*pi

y=sin(x);

else

y=x-2*pi;

(2)switch语句

 switch<

表达式>

    case值1

     <

    …

         case值n

     <

语句体n>

    otherwise

     <

    end

首先计算表达式的值,若该值与值j(j=1,2,…,n)相等,则执行语句体j,然后执行end的后续命令;

例7.编写命令文件,从键盘输入某学生成绩(5分制),计算机判断并输出该生成绩的优良等级.

编写命令文件(SY00507.m)如下:

x=input('

请输入您的分数:

x='

);

switchx

case5

disp('

优秀!

'

case4

良好!

case3>

SY00507%运行程序

及格!

请输入您的分数:

x=4

otherwise良好!

不及格!

2.循环结构

(1)for语句

for循环变量=矩阵

{语句体}

基本功能:

循环循环变量依次取矩阵的每一列,然后执行一次语句体;

遍历矩阵的各列后,然后执行end的后续命令.

【注】for语句有简化格式:

for<

循环参数>

=<

初值>

:

步长>

终值>

语句体>

其中步长省略时,则默认步长为1.

for循环不能由循环体内给循环变量重新赋值来终止;

for循环可以按需要进行嵌套;

例8.编写函数文件,产生m×

n阶Hilber矩阵.

编写函数文件(hhilb.m)如下:

functionH=hhilb(m,n)%H的i,j处元素H(i,j)=1/(i+j-1)

h=hhilb(3,4)%调用函数

h=11/21/31/4

1/21/31/41/5

1/31/41/51/6

H=zeros(m,n);

%预先分配数组

fori=1:

m

forj=1:

n

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

end

end

formatrat,H=H;

%取有理数表示.

例_8.编写函数令文件,计算并输出A的各行向量的元素和(hanghe.m).

>

A=[1234;

5678]

A=1234

5678

X=hanghe(A)

X=10

26

functionX=hanghe(A)

[m,n]=size(A);

%计算A维数

X=zeros(m,1);

%零初始化

fory=A

X=X+y;

(2)while语句

while<

关系表达式>

若关系表达式值为真

(1),则反复执行语句体,直至关系表达式值为假(0),则终止循环,转而执行end的后续命令.

【注】若关系表达式计算对象为矩阵时,则只有当结果矩阵的所有元素均为真时,才执行循环体;

否则(或结果矩阵为空矩阵时),不执行循环体.

用break命令可强行中止循环,转而执行该循环end的后续命令;

用continue命令可中止循环中的当前迭代,转而执行该循环的下一次迭代.

for循环用于循环次数确定,而while循环用于循环次数事先不能确定.

例9.编写M-文件,计算eps的值.

编写命令文件(eeps.m)如下:

(使用大写变量EPS,以便与常量eps相区别)

EPS=1;

n=0;

%赋初值,n用以累计循环次数

eeps%运行程序

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

当前位置:首页 > 求职职场 > 面试

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

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