2.3 Matlab学习笔记之数据与运算-变量及其操作

变量及其操作

计算机所处理的数据存放在内存单元中,程序通过内存单元的地址来访问内存单元。在高级语言中,无须直接给出内存单元的地址,而只需给内存单元命名,以后通过内存单元的名字 来访问内存单元。

命了名的内存单元就是变量,在程序运行期间,其内存单元中存放的数据可 以根据需要随时改变。


1.变量与赋值语句

在MATLAB 中,变量名是以字母开头后接字母、数字或下画线的字符序列,最多63个字符。例如,myexamp12 、my_examp12 、myexamp12_ 均为合法的变量名,而12myexamp、_myexamp12 为非法的变量名。

另外,在MATLAB 中,变量名区分字母的大小写。这样,myexamp、 MYexamp 和 MYEXAMP 表示3个不同的变量。

注意:MATLAB 提供的标准函数名以及命令名必须用小写字母。例如,求矩阵A 的逆用 inv(A), 不能写成Inv(A) 或INV(A), 否则会出错。

MATLAB 赋值语句有以下两种格式:

变量=表达式

表达式

其中,表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。

第一种形式的赋值语句执行时,MATLAB 将右边表达式的值赋给左边的变量,而第二种形式的赋值语句执行时,将表达式的值赋给 MATLAB 的预定义变量ans。一般地,运算结果在命令行窗口中显示出来。

如果在语句的最后加分号,那么MATLAB 仅仅执行赋值操作,不再显示运算的结果如果运算的结果是一个很大的矩阵或根本不需要运算结果,则可以在语句的最后加上分号。

例2- 1 计算表达式
5 + c o s 47 ° 1 + ∣ x + y ∣ , 5 + c o s 47 ° 1 + ∣ x + y ∣ , x = 7 − 2 i , y = e π 2 \frac{5+cos47°}{1+|x+y|},\frac{5+cos47°}{1+|x+y|},x=\sqrt{7}-2i,y=e^\frac{\pi}{2} 1+x+y5+cos47°1+x+y5+cos47°x=7 2i,y=e2π
,并将结果赋给变量z, 然后显示计算结果。

在 MATLAB命令行窗口输入如下命令:

>>x=sqrt(7)-2i;
>>y=exp(pi/2);
>>z=(5+cos(47*pi/180))/(1+abs(x-y))

Z =
  1.4395

命令中的 pi 和 i 都 是MATLAB预先定义的变量,分别代表圆周率π和虚数单位。


2.预定义变量

在MATLAB工作空间中,还驻留几个由系统本身定义的变量。除前面使用过的ans、pi、 i和j 外,还有一些常用的预定义变量

表 常用的预定义变量

预定义变量含 义预定义变量含 义
ans计算结果的默认赋值变量nargin函数输入参数个数
eps机器零阈值nargout函数输出参数个数
pi圆周率π的近似值realmax最大正实数
i,j虚数单位realmin最小正实数
inf,Inf无穷大,如1/0的结果lasterr存放最新的错误信息
NaN,nan非数,如0/0、inf/inf的结果lastwarn存放最新的警告信息

MATLAB预定义变量有特定的含义,在使用时应尽量避免对这些变量重新赋值。

以i 或j 为例,在MATLAB中, i和j代表虚数单位,如果给i 或j重新赋值,就会覆盖原来虚数单位的定义,这时可能会导致一些很隐蔽的错误。

出于习惯程序中通常使用i 或 j 作为循环变量,这时如果有复数运算就会导致错误, 因此,不要用i 或j 作为循环变量名

除非确认在程序运行期间不会和复数打交道,或者使用像7+5i这样的复数记法,而不用7+5*i, 前者是一个复数常量,后者是一个表达式,即将i看成一个运算量,参与表达式的运算。

也可以在使用i 作为循环变量时,换用j 表示复数。


3.变量的管理
(1)内存变量的删除与修改

MATLAB 工作区窗口专门用于内存变量的管理。在工作区窗口中可以显示所有内存变量的属性。当选中某些变量后,选择右键快捷菜单中的“删除”命令,就能清除这些变量。当选中某个变量后,双击该变量或选择右键快捷菜单中的“打开所选内容”命令,将进入变量编辑器。通过变量编辑器可以直接观察变量中的具体元素,也可以修改变量中的具体元素。

通常,对于较大矩阵的输入,可采用变量编辑器,操作方法如下

(1)在工作区窗口的右键快捷菜单中选择“新建”命令,并给变量命名。

(2)在工作区中双击该变量,打开变量编辑器。

(3)在变量编辑器的空白表格中填写元素值,表格的每一个方格对应矩阵的一个元素。

clear 命令用于删除 MATLAB 工作空间中的变量

who 和 whos 这两个命令用于显示在MATLAB 工作空间中已经驻留的变量名清单

  • who 命令只显示出驻留变量的名称
  • whos 在给出变量名的同时,还给出它们的大小、所占字节数及数据类型等信息。
(2)内存变量文件

利用MAT文件可以把当前 MATLAB 工作区中的一些有用变量长久地保留下来。 MAT 文 件是MATLAB 保存数据的一种标准的二进制格式文件,扩展名一定是.mat 。**MAT 文件的生成和装入由save 和 load 命令来完成。常用格式如下:

save 文件名[变量名表][-append][-ascii]
load 文件名[变量名表][-ascii]

其中,

  • 文件名可以带路径,但不需要带扩展名.mat, 命令默认对MAT 文件进行操作。
  • 变量名表中的变量个数不限,只要内存或文件中存在即可,变量名之间以空格分隔。
  • 当变量名表省略时, 保存或装入全部变量。
  • -ascii选项使文件以ASCII 格式处理,省略该选项时文件将以二进制格 式处理。
  • save 命令中的-append 选项控制将变量追加到MAT文件中。

假定变量a 和 x 存在于MATLAB 工作空间中,输入以下命令便可借助mydata.mat 文件保 存 a 和 x:

>>save mydata a x

假如在下次重新进入 MATLAB 后,需要使用变量a 和 x, 可用以下命令把mydata.mat 中 的内容装入MATLAB 工作空间:

>>load mydata

在执行上述命令后,在当前的MATLAB 环 境 中 ,a 和 x 就是两个已知变量了。

注意:mydata 是用户自己取的文件名,MATLAB 默认扩展名为.mat。

上述 save 命令执行以后,该mydata.mat 文件将存放在当前目录。假如用户有意让mydata.mat 存放在指定的其他目录(例如d:\lpp 目录)中,那么 save 命令改为

>>save d:\lpp\mydata a x

当然,相应load 命令中的文件名前也要加路径名。

除了操作命令以外,在 MATLAB 主窗口通过“主页”选项卡“变量”命令组中的“保存 工作区”命令按钮或工作区窗口快捷菜单的“保存”命令,可以保存工作区中的全部变量。通过“主页”选项卡“变量”命令组中的“导入数据”命令按钮可以将保存在 MAT 文件中的变 量装入到MATLAB 工作区。

Matlab学习笔记内容来源于《MATLAB程序设计与应用 第三版》刘卫国主编

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值