MATLAB变量

####序言
Matlab中,变量名由AZ、az、数字和下划线组成,且变量的第一个字符必须是字母. 尽管变量名可以是任意长度, 但是Matlab只识别名称的前N=namelengthmax个字符, 这里namelengthmax函数给出Matlab所能考虑的最大变量名长度. Matlab是区分大小写的,如a和A是不同的两个变量,Matlab自带的命令通常都是由小写字母组成,例如abs(A)是计算出A的绝对值.

   Matlab中的语法不同于Java、C,其变量的定义和创建可以直接通过赋值来实现,而不需要单独声明,也不需要指定其数据类型.  如果需要使用一个矩阵,可以直接给其元素赋值,不需要指定它的具体维度.

####正文

 在MATLAB环境下,每一个变量是一个数组或矩阵。矩阵中的元素可以是数、字符、逻辑表达式(logic states)、true或false、甚至是Matlab结构体. 基于这个前提,Mathlab能够处理非常多种类的数据。例如一个单独的数即一个标量在Matlab中是一个1×1的矩阵,一个行向量为1×N的矩阵,一个列向量为N×1的矩阵,一个多项式也是用一个向量来表示等等。Matlab也支持二维以上的矩阵,称为多维数组(arrays),例如一个三维数组的元素可以用三维坐标值来定位.

不管用户使用什么类型的数据(数、字符、逻辑true或false),Matlab都会将这些数据以矩阵或数组的形式存放. 例如字符串’Hello World’是一个1×11的矩阵,其矩阵元素是一个个单独的字符.

在一个简单的方法,您可以指定变量。例如,

x = 3	       % defining x and initializing it with a value

MATLAB将执行上面的语句,并返回以下结果:

x =
 3

它创建了一个1-1的矩阵名为x和的值存储在其元素。让我们查看另一个例子,

x = sqrt(16) 	% defining x and initializing it with an expression

MATLAB将执行上面的语句,并返回以下结果:

x =
 4

请注意:

一旦一个变量被输入到系统中,你可以引用它。

变量在使用它们之前,必须有值。

当表达式返回一个结果,不分配给任何变量,系统分配给一个变量命名ans,以后可以使用。

例如,

sqrt(78)

MATLAB将执行上面的语句,并返回以下结果:

ans =
8.8318

可以使用这个变量 ans:

9876/ans

MATLAB将执行上面的语句,并返回以下结果:

ans =
   1.1182e+03

让我们来看看另一个例子:

x = 7 * 8;
y = x * 7.89

MATLAB将执行上面的语句,并返回以下结果:

y =
  441.8400

多个赋值

可以有多个任务在同一行。例如,

a = 2; b = 7; c = a * b

MATLAB将执行上面的语句,并返回以下结果:

c =
14

我已经忘记了变量!?

who 命令显示所有已经使用的变量名。

who

MATLAB将执行上面的语句,并返回以下结果:

Your variables are:
a    ans  b    c    x    y    

whos 命令显示多一点有关变量:

当前内存中的变量

每个变量的类型

内存分配给每个变量

无论他们是复杂的变量与否

whos

MATLAB将执行上面的语句,并返回以下结果:

  Name      Size            Bytes  Class     Attributes

  a         1x1                 8  double              
  ans       1x1                 8  double              
  b         1x1                 8  double              
  c         1x1                 8  double              
  x         1x1                 8  double              
  y         1x1                 8  double      

clear命令删除所有(或指定)从内存中的变量(S)。

clear x     % it will delete x, won't display anything
clear	     % it will delete all variables in the workspace
         %  peacefully and unobtrusively 

长任务

长任务可以通过使用省略号(…)延伸到另一条线路。例如,

initial_velocity = 0;
acceleration = 9.8;
time = 20;
final_velocity = initial_velocity ...
    + acceleration * time

MATLAB将执行上面的语句,并返回以下结果:

final_velocity =
   196

格式命令

默认情况下,MATLAB 四个小数位值显示数字。这就是所谓的 short format.

但是,如果想更精确,需要使用 format 命令。

长(long ) 命令格式显示小数点后16位。

例如:

format long
x = 7 + 10/3 + 5 ^ 1.2

MATLAB将执行上面的语句,并返回以下结果:

x =
  17.231981640639408

另外一个例子,

format short
x = 7 + 10/3 + 5 ^ 1.2

MATLAB将执行上面的语句,并返回以下结果:

x =
   17.2320

空格格式命令回合到小数点后两位数字。例如,

format bank
daily_wage = 177.45;
weekly_wage = daily_wage * 6

MATLAB将执行上面的语句,并返回以下结果:

weekly_wage =
   1064.70

MATLAB 显示大量使用指数表示法。

短格式e命令允许以指数的形式显示小数点后四位,加上指数。

例如,

format short e
4.678 * 4.9

MATLAB将执行上面的语句,并返回以下结果:

ans =
   2.2922e+01 

format long e命令允许以指数的形式显示小数点后四位,加上指数。例如,

format long e
x = pi

MATLAB将执行上面的语句,并返回以下结果:

x =
 3.141592653589793e+00

format rat 格式大鼠命令给出最接近的有理表达式,从计算所得。例如,

format rat
4.678 * 4.9

MATLAB将执行上面的语句,并返回以下结果:

ans =
   2063/90  

创建向量

向量是一维数组中的数字。 MATLAB允许创建两种类型的矢量:

行向量

列向量

创建行向量括在方括号中的元素的集合,用空格或逗号分隔的元素。

例如,

r = [7 8 9 10 11]

MATLAB将执行上面的语句,并返回以下结果:

r =
  Columns 1 through 4
   7              8              9             10       
  Column 5
  11    

另外一个例子,

r = [7 8 9 10 11];
t = [2, 3, 4, 5, 6];
res = r + t

MATLAB将执行上面的语句,并返回以下结果:

res =
  Columns 1 through 4
   9             11             13             15       
  Column 5
  17

创建列向量通过内附组方括号中的元素,使用分号(;)分隔的元素。

c = [7;  8;  9;  10; 11]

MATLAB将执行上面的语句,并返回以下结果:

c =
   7       
   8       
   9       
  10       
  11  

创建矩阵

矩阵是一个二维数字阵列。

在MATLAB中,创建一个矩阵每行输入空格或逗号分隔的元素序列,最后一排被划定一个分号。例如,创建一个3×3的矩阵:

m = [1 2 3; 4 5 6; 7 8 9]

MATLAB将执行上面的语句,并返回以下结果:

m =
   1              2              3       
   4              5              6       
   7              8              9    

####MATLAB预定义变量

Matlab中有一些预定变量,这些预定义变量具有相应的初始值,其中比较常用的包括:

pi:    返回π,即3.141592653589793.
i,j:    定义为,虚数单位. 如果用户给这两个变量赋了其他的值,则它们不再是预定义常数.如果赋值之后希望恢复这其虚数单位值,可以通过clear命令恢复.
inf:   定义为1/0. 当出现被0除时, Matlab就会返回inf,且不中断执行而继续计算.
NaN:       定义为”Not a Number”,表示不是一个合法的数.
eps:  返回机器的精度,定义为与1最接近的可代表的浮点数之间的差. 被用户赋值后不能由clear恢复.

####变量类型(作用域)

Matlab中的变量类型(Types of Variables)分为局部变量(Local Variable), 全局变量(Global Variable)和局部静态变量(Persistent Variables).

   (1)局部变量: 如果一个函数内的变量没有特别声明, 那么这个变量只在函数内部使用, 即为局部变量. 
   (2)全局变量: 全局变量可以被多个不同的函数和基本工作空间(base workspace)共享. 如果一个函数需要使用全局变量a , 则必须在函数中(一般在函数的开始部分)声明该a为global: global a. 如果这个函数包含若干个子函数, 且子函数也需要访问全局变量a, 那么各个子函数中也都要加上global a. 如果某个函数更改了a的值, 那么之后其他所有声明了a的函数都可以得到这个新值. 如果某个函数需要访问Matlab命令行中的一个变量b, 那么需要在命令行中声明b为global.
   (3)局部静态变量: 局部静态变量只能在某个M文件中声明和使用, 且使用它的函数内需要有声明. 只要包含局部静态变量的函数存在于内存中(没有通过clear命令删除, 没有重新编辑), 该局部静态变量就一直存在.
  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
MATLAB中,变量是存储数据的容器,它们在编程中起着非常重要的作用。以下是MATLAB变量的一些重要性: 1. 存储数据:变量用于存储各种类型的数据,包括数字、字符、矩阵、图像等。通过将数据存储在变量中,可以方便地进行处理和操作。 2. 数据处理和计算:MATLAB提供了丰富的内置函数和工具箱,可以对变量中的数据进行各种数学和统计计算、信号处理、图像处理等操作。通过使用变量,可以轻松地进行数据处理和分析。 3. 管理和组织数据:变量可以帮助我们管理和组织大量的数据。通过给变量命名,可以更好地理解和识别数据的含义。此外,变量还可以用于创建数据结构,如矩阵、向量、单元数组等,以便更好地组织和访问数据。 4. 传递数据:在MATLAB中,变量可以作为参数传递给函数或脚本文件,以便在不同的代码段之间共享数据。这样可以提高代码的可读性和可维护性,并且可以避免重复计算。 5. 动态更新:MATLAB中的变量可以根据需要进行动态更新。这意味着可以在程序执行过程中更改变量的值,从而实现灵活的数据处理和计算。 6. 调试和错误排查:当程序出现错误时,变量可以帮助我们进行调试和错误排查。通过检查变量的值和状态,可以更好地理解程序的执行过程,并找到问题所在。 总之,MATLAB中的变量对于数据存储、处理、组织和传递都非常重要,是编程和数据分析的基础。熟练地使用变量可以提高代码的效率和可读性,同时也能够更好地理解和分析数据。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿周周

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值