首页 理论教育 基于MATLAB软件的数学实验:程序结构简介

基于MATLAB软件的数学实验:程序结构简介

时间:2023-11-23 理论教育 版权反馈
【摘要】:程序的控制结构有3种:顺序结构、选择结构和循环结构.任何复杂的程序都可以由这3种基本结构构成.一、顺序结构顺序结构是指按照程序中语句的排列顺序依次执行,直到程序最后一个语句.这是最简单的一种程序结构.一般涉及数据的输入、数据的计算或处理、数据的输出等内容.1.数据输入从键盘输入数据,则可以使用input函数来进行,格式为:A=input(提示信息,选项)其中,提示信息为一个字符串,用于提示用户输入

基于MATLAB软件的数学实验:程序结构简介

程序的控制结构有3种:顺序结构、选择结构和循环结构.任何复杂的程序都可以由这3种基本结构构成.

一、顺序结构

顺序结构是指按照程序中语句的排列顺序依次执行,直到程序最后一个语句.这是最简单的一种程序结构.一般涉及数据的输入、数据的计算或处理、数据的输出等内容.

1.数据输入

从键盘输入数据,则可以使用input函数来进行,格式为:

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

其中,提示信息为一个字符串,用于提示用户输入什么样的数据.例如,从键盘输入A矩阵,可以采用下面的命令来完成:

A=input(输入A矩阵)

执行该语句时,首先在屏幕上显示提示信息“输入A矩阵:”,然后等待用户从键盘按MATLAB规定的格式输入A矩阵的值.

如果在input函数调用时采用‘s’选项,则允许用户输入一个字符串.例如,想输入一个人的姓名,可采用命令:

xm=input(Whats your name?,s);

2.数据的输出

MATLAB提供的命令窗口输出函数主要有disp函数,其调用格式为:

disp(输出项)

其中,输出项既可以为字符串,也可以为矩阵.例如:

输出为:

又如:

输出为:

注意:和前面介绍的矩阵显示方式不同,用disp函数显示矩阵时,将不显示矩阵的名字,并且输出格式更紧凑,不留任何没有意义的空行.

3.程序的暂停

当程序运行时,为了查看程序的中间结果或者观看输出的图形,有时需要暂停程序的执行.这时可以使用pause函数,其调用格式为:

pause(延迟秒数)

如果省略延迟时间,直接使用pause,则将暂停程序,直到用户按任一键后程序继续执行.若要强行中止程序的运行,可按Ctrl+C组合键.

二、选择结构

选择结构是根据给定的条件成立或不成立,分别执行不同的语句.MATLAB用于实现选择结构的语句有if语句、switch语句和try语句.

1.if语句

在MATLAB中,if语句有3种格式:

(1)单分支if语句

语句格式:

if条件

语句组

end

当条件成立时,则执行语句组,执行完之后继续执行if语句的后继语句,若条件不成立,则直接执行if语句的后继语句.例如,当x是整数矩阵时,输出x的值,语句如下:

(2)双分支if语句

语句格式:

if条件

语句组1

else

语句组2

end

当条件成立时,执行语句组1,否则执行语句组2,语句组1或语句组2执行后,再执行if语句的后继语句.

(3)多分支if语句

语句格式:

if条件1

语句组1

elseif条件2

语句组2

elseif条件m

语句组m

else

语句组n

end

2.switch语句(www.xing528.com)

switch语句根据表达式的取值不同,分别执行不同的语句,其语句格式为:

当表达式的值等于表达式1的值时,执行语句组1,当表达式的值等于表达式2的值时,执行语句组2,…,当表达式的值等于表达式m的值时,执行语句组m,当表达式的值不等于case所列的表达式的值时,执行语句组n.当任意一个分支的语句执行完后,直接执行switch语句的下一个语句.

switch子句后面的表达式应为一个标量或一个字符串,case子句后面的表达式不仅可以为一个标量或一个字符串,还可以为一个单元矩阵.如果case子句后面的表达式为一个单元矩阵,则表达式的值等于该单元矩阵中的某个元素时,执行相应的语句组.

3.try语句

try语句是一种试探性执行语句,其语句格式为:

try

语句组1

catch

语句组2

end

try语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2.

三、循环结构

循环是指按照给定的条件,重复执行指定的语句,这是十分重要的一种程序结构.MATLAB提供了两种实现循环结构的语句:for语句和while语句.

1.for语句

for语句的格式为:

for循环变量=表达式1:表达式2:表达式3

循环体语句

end

其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值.步长为1时,表达式2可以省略.

执行for语句时,首先计算3个表达式的值,再将表达式1的值赋给循环变量,如果此时循环变量的值介于表达式1和表达式3的值之间,则执行循环体语句,否则结束循环的执行.执行完一次循环之后,循环变量自增一个表达式2的值,然后再判断循环变量的值是否介于表达式1和表达式3之间,如果是,仍然执行循环体,直至条件不满足.这时将结束for语句的执行,而继续执行for语句后面的语句.

2.while语句

while语句的一般格式为:

while条件

循环体语句

end

其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立,则跳出循环.

3.break语句和continue语句

与循环结构相关的语句还有break语句和continue语句.它们一般与if语句配合使用.

break语句用于终止循环的执行.当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的下一语句.

continue语句控制跳过循环体中的某些语句.当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环.

第2章练习题

1.先建立自己的工作目录,再将自己的工作目录设置到MATLAB搜索路径下.用help命令能查询到自己的工作目录吗?

2.李明同学设计了一个程序文件myprogram.m,并将其保存到f:\ppp中,但在命令窗口中输入文件名

后,MATLAB系统提示:

试分析产生错误的原因并给出解决办法.

3.利用MATLAB的帮助功能分别查询inv、plot、max、round等函数的功能及用法.

4.建立矩阵A,然后找出在[10,20]区间的元素的位置.

5.设A和B是两个同维同大小的矩阵,问

(1)A∗B和A.∗B的值是否相等?

(2)A./B和B.\A的值是否相等?

(3)A/B和B.\A的值是否相等?

(4)A/B和B.\A所代表的数学含义是什么?

6.已知:

取出A的前3行构成矩阵B,前两列构成矩阵C,右下角3×2子矩阵构成矩阵D,B与C的乘积构成矩阵E.

7.分别用if语句和switch语句实现以下计算,其中a、b、c的值从键盘输入.

8.输入20个两位随机整数,输出其中小于平均值的偶数.

9.输入20个数,求其中最大数和最小数.要求分别用循环结构和调用MATLAB的max函数、min函数来实现.

10.已知:

s=1+2+22+23+…+263

分别用循环结构和调用MATLAB的sum函数求s的值.

11.编写一个函数文件,求小于任意自然数n的Fibnacci数列各项.Fibnacci数列定义如下:

12.写出下列程序的输出结果.

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈