matlab最基础教程(二):变量类型与赋值 您所在的位置:网站首页 maple定义变量范围 matlab最基础教程(二):变量类型与赋值

matlab最基础教程(二):变量类型与赋值

2023-08-19 13:11| 来源: 网络整理| 查看: 265

matlab最基础教程(二):变量类型与赋值

前言:matlab解决问题的最基本思路是建立脚本文件,那么脚本文件的第一段就是定义一些变量,这和C语言等编程思想是一样的。matlab提供的变量类型很多,最基础的是三种:数值变量、符号变量、字符串,其他的类型还有cell、table等。这里仅说明最基础的变量类型。

1.数值变量 matlab中所有的数值变量都是矩阵,赋值时,以方括号作为开头和结尾,以英文逗号或空格分割同行元素,以英文分号分割各列。例如在Command Window里输入 a=[1 2;3 4] 复制代码 可以看到运算结果,a是一个数值变量。同时workspace里出现一个田字形的变量a,说明变量a的类型是数值型。

向量和数字可以视为特殊的矩阵,例如

a=[1 2] a=[1;2] 复制代码 分别是行向量和列向量, a=[1] 复制代码 可以简写为 a=1 复制代码 是数字。 数值变量的命名要求是英文字母开头,不能包含特殊符号,大小写敏感。这里推荐采用下划线来进行分割,例如value_of_A,这和其他编程语言的命名规则大体相当。 赋值中,有时需要用到等差数列,例如定义一个向量a=[1 2 3],如果比较长,赋值很麻烦,所以matlab提供了一个简单的方法 a=[1:1:3] 复制代码 这里两个冒号的意思是起始值:步长:终值。采用这种赋值方式时可以获得一个等差数列行向量,并可以省略两侧的方括号。当步长为1时,可以省略步长和一个冒号,于是可以简写为 a=1:3 复制代码 另一种灵活的赋值方法是分块矩阵,其方法是变量名后面加圆括号,圆括号中加序号。例如 a=[1 2;3 4] 复制代码 定义变量a之后, b=a(1,2) 复制代码 就可以把a的第一行第二列元素赋值给b,当然也可以用 a(1,2)=1 复制代码 来修改矩阵中部分元素的值。这里需要注意,序号必须是自然数,且不能是零。当矩阵中有多个元素需要赋值时,可以将序号部分改成向量,例如 a([1 2],[1 2])=[1 2;3 4] 复制代码 中把行数和列数都用向量表示,就是说对矩阵a的第1和2行,第1和2列,总共4个元素赋值。更进一步,也可以有a([1 2],1)表示a的第一列,也可以写成 a(1:end,1) 复制代码 这里的end表示终点,即a的行数2,也可以更进一步简写成 a(:,1) 复制代码 这里的冒号表示从头至尾。这类赋值方法最为常用,但基本的语法非常简单,方括号表示矩阵开头和结尾,圆括号表示从矩阵中选取部分,把握这个原则,有利于读懂程序。 当然分块矩阵也可以 b=[a a] 复制代码 这样的赋值方法,但需要注意的是,方括号中的元素必须满足矩阵的行列数要求,例如 a=[1 1] b=[1;1] c=[a b] 复制代码 就会引起错误,因为此时matlab无法确定c的行列数。 2.符号变量 总体而言,符号变量比数值变量简单得多,因为变化非常少,常用的赋值命令是 syms a b 复制代码 这里syms表示这里要定义一些符号变量,a和b是变量名,符号变量的命名规则和数值变量一样。有时候也采用 syms a real 复制代码 来强调a是实数变量,具体可以doc syms来获得帮助。 有些变量之间存在依赖关系,此时可以定义 syms x y(x) 复制代码 这里声明x是一个符号变量,又声明y是一个符号变量,且y的值由x决定,这相当于数学中函数的概念。当然具体的函数关系并没有明确规定。也可以 syms x y z(x,y) 复制代码 来定义符号变量z,z依赖x和y。这相当于二元函数的概念。这里的圆括号显然和数值变量中的圆括号含义完全不同,这也是学习matlab最不习惯的地方,同一个符号,由于变量类型不同会有完全不同的含义。所以在学习matlab的过程中,一定要区分数值变量和符号变量。 上述方法定义的符号变量是一个数,或者1*1矩阵,matlab中也可以定义符号矩阵,例如 syms a11 a12 a21 a22 A=[a11 a12;a21 a22] 复制代码 就可以获得一个矩阵符号变量A。 定义符号变量后,workspace中出现相应的变量名,图形不是数值变量的田字形,而是方框里有个立方体,双击后可以看到行列数。

3.字符串 比数值、符号更为简单的就是字符串了,其定义方法是以单引号开头和结尾,例如 a=‘hello world’ 复制代码 就定义了一个字符串a,其值为你好世界。matlab中较为特殊的是,字符串可视为行向量,例如 b=‘hello ’ c=‘world’ a=[b c] 复制代码 也可以获得字符串a,其值为你好世界。另外,有时也可以将字符串视为矩阵,例如 a=[‘ab’;‘cd’] 复制代码 但这种用法很罕见,同时要求各行字符串长度一样,否则将违反矩阵行列数规定。 当然字符串的值也可以是特殊符号,比如 ‘,’ 复制代码 就定义了逗号,而最特殊的就是定义单引号,因为单引号会和字符串定义中的单引号混淆,因此matlab中用两个单引号表示一个单引号,也就是 a=’‘’’ 复制代码 表示a是一个字符变量,值是一个单引号。语句中第一和第四个单引号是字符串类型的开头和结尾,中间两个单引号用来表示一个单引号。 定义字符串变量后,workspace中出现相应的变量名,图像是方框里写了ch,双击后可以看到行列数。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有