分享

MATLAB编程 | 基础知识 | 2.1&2.2

 小温爱怡宝 2023-07-22 发布于江西

CHAPTER 2 ——第二章

matlab编程的基础知识

主要内容

■ Variables, operators, and expressions
■ Arrays (including vectors and matrices)
■ Basic input and output
■ Repetition (for)
■ Decisions (if)


  • 主要内容

  • 2.1 VARIABLES 变量

    • MATLAB变量的命名规则

  • 2.2 THE WORKSPACE 工作区

    • clear命令

    • who 和 whos 命令

    • MATLAB中的通配符

    • 向工作区添加常用常量


2.1 VARIABLES 变量

变量是编程的基础。从某种意义上说,编程的艺术在于:

Getting the right values in the right variables at the right time

在正确的时间在正确的变量中获得正确的值

MATLAB变量的命名规则

MATLAB变量的命名规则如下:

  1. 变量名必须以字母开头,可以包含字母、数字和下划线;
  2. 变量名不能包含空格和其他特殊字符;
  3. 变量名长度不能超过63个字符。

变量的名称可以是你任意喜欢的长度,但是MATLAB只记得前63个字符(要在您的版本中检查这一点,请在MATLAB桌面的命令窗口中执行命令namelengthmax)

MATLAB只记得变量名称的前63个字符是因为它使用了63位的哈希函数来存储变量名称。哈希函数是一种将任意长度的输入转换为固定长度输出的算法。在MATLAB中,为了节省内存并提高效率,变量名称被哈希成一个固定长度的值,然后存储在内存中。由于哈希函数的限制,只有前63个字符的变量名称会被正确地哈希存储。如果变量名称超过63个字符,MATLAB会将其截断为前63个字符,然后再进行哈希存储。

下面是一些MATLAB变量命名的例子:

  1. x:一个简单的变量名,表示一个数值;
  2. y1:一个带数字后缀的变量名,表示一个数值;
  3. my_variable:一个带下划线的变量名,表示一个字符串;
  4. myStruct:一个带大写字母的变量名,表示一个结构体;
  5. is_valid:一个带下划线的变量名,表示一个逻辑变量。

补充说明:变量命名应当具有描述性,能够清晰地表达变量所代表的含义。例如:

num_students  % 表示学生数量
avg_grade     % 表示平均成绩
is_valid      % 表示是否有效

变量的创建只需在命令行或程序中为其赋值即可,例如: a=1

MATLAB将所有变量称为数组,无论它们是单值(标量)还是多值(向量或矩阵)。换句话说,标量是一个1 × 1的数组——一个只有一行和一列的数组,当然,它是一个只有一项的数组。

  • MATLAB是区分大小写的,这意味着它可以区分大写字母和小写字母。

  • 命令名称和函数名称也可以区分大小写。在运行内置函数和命令时,不能使用大写字母!

2.2 THE WORKSPACE 工作区

在会话期间创建的所有变量将保留在工作区中,直到清除它们。可以在会话期间的任何阶段使用或更改它们的值。

balance = 1000;
rate = 0.09;
interest = rate * balance;
balance = balance + interest;
disp( 'New balance:' );
disp( balance );

这里的每个变量占用8字节的存储空间。一个字节是一个字符所需的计算机内存量(一个字节相当于8位)。这些变量的大小都是“1 × 1”,因为它们是标量.

clear命令

clear命令从工作空间中删除所有变量。一个特定的变量可以从工作区中移除(例如,clear rate, 只是清楚rate变量)。也可以清除多个变量(例如, clear rate balance)。变量名之间用空格分隔,而不是逗号。

桌面上的工作区浏览器(查看器)提供了一个方便的工作区可视化表示。您可以使用Array Editor查看甚至更改工作空间变量的值。要激活Array Editor,请单击Workspace浏览器中的变量,或者右键单击以获得更通用的上下文菜单。从上下文菜单中,您可以以各种方式绘制工作空间变量的图形。

工作区查看器

who 和 whos 命令

who命令列出工作空间中所有变量的名称。whos命令列出了每个变量的大小

在MATLAB中,whowhos是两个常用命令,用于查看当前工作空间中的变量信息。

who命令用于列出当前工作空间中的所有变量名,并按字母顺序排序。例如:

>> a = 1;
>> b = 'hello';
>> c = [1, 2, 3];
>> who
Your variables are:
a  b  c

whos命令与who命令类似,但是它会显示更详细的变量信息,包括变量名、大小、类型、占用内存等。此命令将列出当前工作空间中的所有变量及其详细信息。例如:

>> whos
  Name      Size            Bytes  Class     Attributes

  a         1x1                 8  double              
  b         1x5                10  char                
  c         1x3                24  double              

whos命令还支持使用通配符来查找符合条件的变量名,例如:

>> whos a*
  Name      Size            Bytes  Class     Attributes

  a         1x1                 8  double              

MATLAB中的通配符

通配符是一种特殊字符,用于在搜索和匹配字符串时代替其他字符或字符集。在计算机科学中,通配符通常与文件名和路径名相关联,但也可以在其他字符串匹配场景中使用。通配符可以帮助用户快速查找符合特定模式的字符串,从而提高效率。

可以使用通配符*来匹配任意数量的字符,或使用?来匹配单个字符。例如:

whos a*    % 显示所有以 a 开头的变量
whos *x*   % 显示所有包含 x 的变量
whos ?abc  % 显示所有以 abc 结尾的单字符变量

在使用通配符时,需要注意以下几点:

  1. 通配符只能用于字符串的匹配,不能用于数值或逻辑运算。

  2. 通配符匹配时区分大小写,例如,*a可以匹配'apple'但不能匹配'Apple'。

  3. 通配符匹配时只能匹配一个字符或多个字符,不能匹配空格或其他特殊字符。

  4. 通配符可以与其他字符一起使用,例如,*a*可以匹配任意包含字母“a”的字符串。


除了who和whos命令外,MATLAB还提供了其他一些命令用于查看变量信息,例如:

  • size:用于查看变量的大小;
  • class:用于查看变量的类型;
  • isa:用于判断变量是否属于某个类型;
  • numel:用于查看变量中元素的个数;
  • ndims:用于查看变量的维数。

向工作区添加常用常量

如果经常在MATLAB会话中使用相同的物理或数学常量,则可以将它们保存在.m文件中,并在会话开始时运行该文件。例如,以下语句可以保存在myconst.m中:

g = 9.81; % acceleration due to gravity
avo = 6.023e23; % Avogadro’s number
e = exp(1); % base of natural log
pi_4 = pi / 4;
log10e = log10( e );
bar_to_kP = 101.325; % atmospheres to kiloPascals

如果在会话开始时运行myconst,这六个变量将成为工作空间的一部分,并且在会话的其余时间或清除它们之前都可用。这种使用MATLAB的方法就像一个记事本(它是许多方法之一)。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多