MATLAB - 语法
MATLAB - 基本语法和最佳实践
Section titled “MATLAB - 基本语法和最佳实践”MATLAB 环境是一个强大的交互式平台。你可以在 >> 提示符处直接在命令行窗口中输入命令,MATLAB 作为一种解释型语言,会立即执行它们。这使得它非常适合快速原型开发、数据分析和学习。
作为计算器的命令行窗口
Section titled “作为计算器的命令行窗口”最简单地,你可以直接进行计算:
5 + 5
ans =
10
3^2 + sin(pi/2) % 3 的平方加上 90 度角的正弦
ans =
10请注意,如果你不将结果赋给变量,MATLAB 会将其存储在一个名为 ans 的临时变量中。这对于快速检查来说没有问题,但在脚本中,你应该始终将结果赋给描述性变量。
变量和分号 (;)
Section titled “变量和分号 (;)”你使用赋值运算符 = 创建变量。如果你以分号 ; 结束一行,MATLAB 会执行该命令,但抑制输出在命令行窗口中显示。这对于保持脚本整洁和可读性至关重要。
% 为 'principal' 赋值,输出被抑制。principal = 1000;
% 为 'rate' 赋值,输出被抑制。rate = 0.05;
% 计算利息,输出被显示因为没有分号。yearly_interest = principal * rate上述代码的输出将是:
yearly_interest =
50良好的注释对于可理解和可维护的代码至关重要。使用百分号(%)进行单行注释。对于多行注释,你可以使用块注释运算符 %{ 和 %}。
% 这是一个单行注释。x = 9; % 这是一个行内注释,解释了该行的目的。
%{ 这是一个块注释。 它可以跨越多行,并且在 暂时禁用大段代码时非常有用。%}关键运算符:矩阵运算 vs. 逐元素运算
Section titled “关键运算符:矩阵运算 vs. 逐元素运算”这是 MATLAB 中最重要的概念之一。理解矩阵运算符和逐元素(或数组)运算符之间的区别至关重要。
| 矩阵运算符 | 逐元素运算符 | 目的 |
|---|---|---|
* | .* | 乘法。A*B 是矩阵乘法。A.*B 将 A 的每个元素与 B 的对应元素相乘。 |
/ | ./ | 右除。A/B 大致等于 A*inv(B)。A./B 将 A 的每个元素除以 B 的对应元素。 |
\ | .\ | 左除。A\B 求解 A*x=B。A.\B 将 B 的每个元素除以 A 的对应元素。 |
^ | .^ | 幂。A^2 是矩阵幂(A*A)。A.^2 对 A 的每个元素分别求平方。 |
' | . | 转置。A' 是复共轭转置。A.' 是非共轭转置(如果你不处理复数,请使用此项)。 |
特殊变量和常量
Section titled “特殊变量和常量”MATLAB 预定义了几个有用的常量和变量:
| 名称 | 含义 |
|---|---|
ans | 存储最近未赋值的结果。在脚本中应避免使用。 |
pi | 数字 π (3.1415…)。 |
i, j | 虚数单位,√-1。可以被覆盖,因此对于复数,使用 1i 更安全。 |
Inf | 无穷大,例如 1/0 的结果。 |
NaN | 表示“不是数字”(Not a Number),例如 0/0 的结果。 |
eps | 浮点相对精度;从 1.0 到下一个最大双精度数的距离。 |
变量名必须以字母开头,后面可以是字母、数字或下划线。MATLAB 区分大小写(myVar 与 myvar 不同)。
最佳实践:使用描述性名称来指示变量的用途。常见的命名约定包括驼峰命名法(camelCase,例如 interestRate)或下划线命名法(snake_case,例如 interest_rate)。避免使用内置函数的名称(如 sum 或 mean)。
学会自行查找帮助是一种超能力。MATLAB 拥有优秀的内置文档。
% 在命令行窗口中获取函数的快速摘要help plot
% 在单独的窗口中打开函数的完整文档页面doc rand保存和加载数据
Section titled “保存和加载数据”你可以将工作区中的变量保存到 MATLAB 特定的 .mat 文件中,并在以后的会话中重新加载它们。
% 创建一些变量myVariable = rand(5);myName = "Alice";
% 将所有工作区变量保存到名为 myData.mat 的文件中save myData.mat
% 清除工作区以演示加载clear
% 将变量重新加载到工作区load myData.mat现代实践:为了与其他程序共享数据,请考虑使用 CSV 或 Excel 等标准化格式。使用 writematrix、writetable 或 writecell 来导出数据,并使用 readmatrix、readtable 等来导入数据。