当前位置:网站首页 > MATLAB编程 > 正文

matlab编程基础题_matlab入门之旅

目录

1、变量

1.1命名规则

1.2变量类型

 1.3特殊变量

1.4关键字

2、M文件的控制结构

2.1顺序结构

2.2 if-else-end分支结构

 2.3switch-case结构

 2.4try-catch结构

2.5循环结构

  2.5.1  for循环

 2.5.3 while循环

3.其他指令

3.1 return指令

3.2输入函数

3.2.1 input

 3.2.2keyboard

3.2.3yesinput指令

3.3pause指令

3.4continue与break指令

3.4.1continue指令

3.4.2break指令

3.5error和warning指令


1、变量

1.1命名规则

MATLAB 中,变量不需要预先声明就可以进行赋值。变量的命名遵循以下规则:
(1)变量名和函数名对字母的大小写敏感,因此 x X 是两个不同的变量;
(2)变量名必须以字母开头,其后可以是任意字母或下画线,但是不能有空格、中文或标点。
(3)不能使用MATLAB 的关键字作为变量名。避免使用函数名作为变量名。如果变量采用函数               名,则该函数失效,如设置变量名为“if”“end” 等。
(4)变量名最多可包含63 个字符,从第 64个字符开始之后的字符将被忽略。为了程序可读及维护           方便,变量名一般代表一定的含义。

1.2变量类型

1 局部变量 MATLAB 中的每一个函数都有自己的局部变量,这些变量存储在该函数独立的工作区中,与其他函数的变量及主工作区中的变量分开存储。当该函数调用结束后,这些变量随之被删除,不会保存在内存中。
(2)全局变量。全局变量在定义该变量的全部工作区中有效。当在一个工作区内改变该变量的值时, 该变量在其余工作区内的值也将改变。 通常全局变量的变量名用大写字母来表示,并在函数体的开头位置进行定义,其格式如下:
        使用全局变量的目的是减少数据传递的次数。然而,使用全局变量有一定的风险,容易造成错误,这种错误源自全局变量的工作原理。
(3)永久变量。永久变量用 persistent 声明,只能在 M 文件函数中定义和使用,只允许声明它的函数存取。当声明它的函数退出时,MATLAB 不会从内存中清除它。例如,声明 a 为永久变量

 1.3特殊变量

MATLAB的特殊变量
变量名 表示含义
ans 系统默认的用作保存运算结果的变量名
pi 圆周率
eps 机器零阀值,MATLAB中的最小值
inf 表示无穷大
NaN或nan 表示不定数
i或j 虚数
nargin 函数的输入参数个数
nargout 函数的输出参数个数
realmin 可用的最小正实数
realmax 可用的最大正实数
bitmax 可用的最大正整数(以双精度格式存储)
varargin 可变的函数输入参数个数
varargout 可变的函数输出参数个数
beep 使计算机发出“嘟嘟”声音

1.4关键字

     和其他编程语言类,关键字是 MATLAB 程序设计中常用到的流程控制变量,共有 20 个,如果用户将这些关键字作为变量 名,则MATLAB 会出现错误提示。在命令行窗口中输入命令 iskeyword ,即可查询这 20 个关键字:

2、M文件的控制结构

MATLAB 平台上的控制结构包括顺序结构、 if-else-end 分支结构、 switch-case 结构、 try-catch 结构、 for循环结构和 while 循环结构,这6种结构的算法及使用与其他计算机编程语言十分类似,有编程基础的朋友可以很快掌握。

2.1顺序结构

     顺序结构是 MATLAB 程序中最基本的结构,表示程序中的各操作是按照它们出现的先后顺序执行的。 顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算、输出三部曲的程序就是顺序结构。 在大多数情况下,顺序结构作为程序的一部分,与其他结构一起构成一个复杂的程序,如分支结构中的复合语句、循环结构中的循环体等。

2.2 if-else-end分支结构

if语句若判决条件 为真,则执行命令组,否则跳过该命令组如下例:
情形1:

 

 情形2:

 2.3switch-case结构

       switch 语句执行基于变量或表达式值的语句组,关键字 case otherwise 用于描述语句组。只执行第一个 匹配的情形。用到switch 则必须用 end 与之搭配。 switch-case 的具体语法结构如下:

 

 

说明:
1 switch-case 结构的调用格式保证了至少有一组指令组将会被执行。
(2) switch 指令之后的表达式 value 应为一个标量或一个字符串。当表达式为标量时,比较命令为表达 式== 检测值 ;而当表达式为字符串时, MATLAB 将会调用字符串函数 strcmp 来进行比较,即 strcmp( 表达式 , 检测值)
(3) case 指令之后的检测值不仅可以是一个标量或一个字符串,还可以是一个元胞数组。如果检测时是一个元胞数组,则MATLAB 将会把表达式的值与元胞数组中的所有元素进行比较。如果元胞数组中有某个元素与表达式的值相等,MATLAB 则认为此次比较的结果为真,从而执行与该次检测相对应的命令组。

 2.4try-catch结构

try command1 %命令组1先被执行,若正确,则执行完后结束此结构 catch command2 %命令组1错误时,执行命令组2 end 
说明:
1 )只有当 MATLAB 执行命令组 1 发生错误时,才执行命令组 2 try-catch 结构只提供两个可供选择的命令组。
(2)当执行 command1 发生错误时,可调用 lasterr 函数查询出错的原因。如果函数 lasterr 的运行结果为 空字符串,则表示命令组1 被成功执行了。
(3)如果执行命令组 2 时又发生错误,则 MATLAB 将会终止该结构。

2.5循环结构

  2.5.1  for循环

首先看一个例子:

for i = 1:4 for j = 1:4 if i>(5-j) A(i,j)=0; else A(i,j)=i+j- 1; end end end A 

      

1 for 指令后面的变量i 称为循环变量,而 for end 之间的命令 commands 被称为循环体。循环体被重复执行的次数是确定的,该次数由array 数组的列数来确定。因此,在 for 循环过程中,循环变量 i 被依次赋值为数组array 的各列,每次赋值,循环体都被执行一次(上述例子为一个循环嵌套)。
(2) for 循环内部语句末尾的分号隐藏重复的打印,若 commands 指令中包含变量,则循环后在命令行窗口中直接输入变量A 来显示变量 A 经过循环后的最终结果。

 2.5.2 while循环

while 循环 结构的具体句法形式如下:
while expression commands end
说明:
1 )在 while end 之间的命令组被称为循环体。 MATLAB 在运行 while 循环之前,首先检测 expression 的值,若其逻辑值为真,则执行命令组;命令组第一次执行完毕后,继续检测expression 的逻辑值,若其逻 辑值仍为真,则循环执行命令组,直到表达式expression 的逻辑值为假时,结束 while 循环。
(2) while 循环和 for 循环的区别在于, while 循环结构的循环体被执行的次数是不确定的,而 for 循环中 循环体被执行的次数是确定的。
(3)一般情况下,表达式的值都是标量值,但是在 MATLAB 中也同样运行表达式为数组的情况。当表达式为数组且数组所有元素的逻辑值均为真时,while 循环才继续执行命令组。
(4)如果 while 指令后的表达式为空数组,那么 MATLAB 默认表达式的值为假,直接结束循环。
(5)在 if-else-end 分支结构中提到的有关变量比较的注意事项,对 while 循环也同样适用。

3.其他指令

3.1 return指令

     通常,当被调用函数执行完成后, MATLAB 会自动将控制权转回主函数或 Commands 窗口。但是如果在被调用函数中插入return 指令,则可以强制 MATLAB 结束执行该函数并把控制权转出。

3.2输入函数

3.2.1 input

input 指令将 MATLAB 的控制权暂时交给用户,用户通过键盘输入数值、字符串或表达式等,并按
Enter 键将输入内容传递到工作区,同时把控制权交还给 MATLAB 。其常用的调用格式如下。
● Value=input('message') :将用户输入的内容赋值给变量Value(输入数值、字符串等各种形式的数据)。
● Value=input('message','s') :将用户输入的内容以字符串的形式赋值给变量 Value

 3.2.2keyboard

    当执行遇到 keyboard 指令时, MATLAB 将控制权暂时交给键盘,用户可以由键盘输入各种合法的 MATLAB指令。只有当用户输入完成,并输入 return 指令后,控制权才交还给 MATLAB
     input keyboard 指令的不同之处在于: keyboard 指令允许输入任意多个 MATLAB 指令,而 input 指令只允 许用户输入赋值给变量的“ ,即数组、字符串或元胞数组等。

3.2.3yesinput指令

yesinput指令是一个只能输入的指令,它提供的输入值是一个默认量,并可以对输入范围进行检查,其调用格式如下。

Value=yesinput('Prompt',Default,Possib)
说明:
1 yesinput 指令涉及用户和 MATLAB 之间的交互,因此无法在 notebook 程序中运行。
(2) Prompt 为文字提示, Default 为默认的设置值, Possib 为可选值。
(3)当 yesinput 指令运行后,如果用户不输入任何值,则变量 Value 将接收默认值。

3.3pause指令

pause 指令的功能为控制执行文件的暂停与恢复,其调用格式如下。
● pause :暂停执行文件,等待用户按任意键继续
● pause(n) :在继续执行文件之前,暂停 n 秒。

3.4continue与break指令

3.4.1continue指令

continue 语句把控制权传给下一个在其中出现的 for while 循环的迭代,忽略任何循环体中保留的语句。 在嵌套循环中,continue 语句把控制权传给下一个 for while 循环所嵌套的迭代。
%如果i大于2把控制权传给下一个在其中出现的for count = 0; for i = 1:4 if (i>2) continue; end count = count+1; end count

最后count的值为2;

3.4.2break指令

    在 for 循环或 while 循环结构中,有时并不需要运行到最后一次循环用户就已经得到了所需要的结果,那 么后面的循环就变成冗余的了,消耗了运算时间并占用了内存。
break 指令可进行对 for 循环或 while 循环结构的终止,通过使用 break 指令,可以不必等待循环的预定结束时刻,而是根据循环内部设置的终止项来判断。
若终止项满足,则可以使用 break 指令退出循环;若终止项始终未满足,则照常运行至循环的预定结束时刻。
%如果数组a的0元素个数大于等于3则退出循环 a=[0 1 0 2 0 0 2 6 0 4 0 0 0 0 0 3]; l=length(a); count = 0; for i = 1:l if (a(i) == 0) count = count+1; end if(count >= 3) break; end end count

3.5error和warning指令

在编写 M 文件时,常用的错误或警告指令的调用格式有以下几种。
error('message') :显示出错信息 message ,终止程序。
errortrap :错误发生后,控制程序继续执行与否的开关。
lasterr :显示 MATLAB 系统判断的最新出错原因,并终止程序。
warning('message') :显示警告信息 message ,继续运行程序。
lastwarn :显示 MATLAB 系统给出的最新警告程序,并继续运行。
到此这篇matlab编程基础题_matlab入门之旅的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • matlab编程怎么运行_如何自学编程2024-11-15 08:45:05
  • matlab编程步骤和过程_matlab要学哪些东西2024-11-15 08:45:05
  • matlab工作界面介绍_MATLAB怎么学2024-11-15 08:45:05
  • matlab 混沌_用matlab设计一个简单程序2024-11-15 08:45:05
  • matlab基本运算规则_matlab简单计算2024-11-15 08:45:05
  • 有限差分法 matlab_区间二分法编程matlab2024-11-15 08:45:05
  • 牛顿迭代法matlab程序例题_用matlab求解微分方程例题2024-11-15 08:45:05
  • matlab 编程_matlab运行代码步骤2024-11-15 08:45:05
  • MATLAB for循环_matlabfor循环怎么写2024-11-15 08:45:05
  • matlab天蓝色颜色代码(matlab深蓝色)2024-11-15 08:45:05
  • 全屏图片