第一部分 基础内容
1.变量和赋值语句
要在MATLAB会话或程序中存储值,需要使用变量。工作区窗口显示已经创建的变量及其值。创建变量的一种简单方法是使用赋值语句。赋值语句的格式是
变量名 = 表达式
变量总是在左边,后面跟着符号,符号是赋值操作符(与数学中不同,单个等号并不意味着相等),后面跟着一个表达式。表达式被求值,然后该值被存储在变量中。下面是一个示例,以及它如何在命令窗口中显示:
再如:
此外如果一个表达式在提示符处输入并且它没有被赋值给一个变量,MATLAB将使用一个默认变量ans。例如,表达式6 + 3的结果存储在变量ans中:
当只在提示符处输入表达式而不是赋值语句时,这个默认变量ans就会被重用。因此要注意,不要使用ans作为变量名。
重新键入命令的一个快捷方式是点击向上箭头↑,它将返回到先前键入的命令。例如,如果你决定将表达式6 + 3的结果赋值给一个名为result的变量,而不是使用默认变量ans,你可以点击向上箭头和向左箭头来修改命令,而不是重新键入整个语句:
这是非常有用的,特别是当输入了一个很长的表达式并且它包含一个错误,并且希望返回来纠正它的时候。
2.变量名命名规则
变量名是标识符名的一个例子。后面还会有其他的标识符,比如函数名。标识符名称的规则如下。
-
名称必须以字母表中的字母开头。之后,名称可以包含字母、数字和下划线(如value_1),但不能有空格。
-
对名称的长度有限制;内置函数namelengthmax告诉我们这个最大长度是多少(任何额外的字符都会被截断)。
ps:我测试我自己电脑显示这个值是63,也就是说我的变量名的长度最多为63个字符,所以说肯定够用啦。
-
MATLAB是区分大小写的,这意味着大小写字母是有区别的。因此,名为mynum、mynum和mynum的变量都是不同的(但是这样做会让人感到困惑,不要这样做)。
-
尽管下划线字符在名称中是有效的,但在一些与MATLAB交互的程序中使用它们会导致问题,因此一些程序员使用混合大小写代替(例如,用partWeights代替part_weights)。
-
有一些词称为保留词或关键字,不能用作变量名。例如:if,else等。
此外,变量名应该总是助记符,这意味着它们应该有一些意义。例如,如果变量存储的是圆的半径,那么使用radius这样的名称是有意义的;而用一个x来代表的话显然不如radius更容易区分记忆。
与变量相关的命令如下:
- who 显示在这个命令窗口中已定义的变量(只显示变量的名称)
- whos 显示在这个命令窗口中定义的变量(显示关于变量的更多信息,类似于Workspace窗口中的内容)
- clearvars或clear 清除所有变量,使它们不再存在
他们的具体应用如下图:
3.变量类型
每个变量都有一个与之相关联的类型。MATLAB支持许多类型,这些类型被称为类。(本质上,类是一种类型和可以对该类型的值执行的操作的组合。MATLAB中的所有数据类型如下表:
一、数值型
1、整型
(1) int:带符号整型
(2) uint:无符号整型
2、浮点型
(1)single:单精度
(2)double:双精度
double()函数可以将字符转化为相应的ASCII码组成的向量
(3 )复型 z=a+bi
real(z):计算复数的实部 a
imag(z):计算复数的虚部 b
abs(z):计算复数的模 √(a2+b2 )
angle(z): 以弧度为单位给出复数的幅角 arctan〖a/b〗
二、逻辑型(布尔型)
logical()函数可以将数值型转化为逻辑型
任何非零的转化为真1,零为假0
三、字符型
MATLAB中的字符在存储空间中与相应的ASCII码对应,字符串可以理解为字符的数组。
四、struct数组(结构体数据)
结构体数组的基本部分(Element)是结构(structure)。数组中的每个结构都是平等的,他们以下标区分。
五、cell数组(单元数组)
cell数组是由可以包括任何数据类型的单元组成的数组。,使用"{}"创建。使用“;”分行。
通过cell数组可以在同一个变量中存储不同数据类型的数据,给代码的编写带来的很大的便利
六、时间和日期型
MARLAB中有许多的函数可以用来处理时间和日期,如:
七、函数句柄
在MATLAB中可以通过调用函数句柄来简介调用函数,相当于给函数一个名字,然后通过该名字来调用该函数。
函数句柄的基本结构是:function_handle
- 函数class可以用来查看任何变量的类型,如下图: