第二章:Matlab 编程基础
2.1 变量与赋值
2.1.1 变量的命名规则
- 变量名必须以字母开头,可以包含字母、数字和下划线 (
_
)。 - 变量名区分大小写,例如
myVar
和myvar
是不同的变量。 - 变量名不能与 MATLAB 的关键字相同,例如
if
,for
,while
等。 - 变量名应尽量简洁、易懂,并能反映变量的含义。
代码示例:
matlab">% 合法的变量名
myVariable = 10;
result_sum = 20;
data_2023 = [1, 2, 3];% 非法的变量名
% 1variable = 10; % 错误:以数字开头
% if = 5; % 错误:使用关键字
2.1.2 变量的作用域
- 局部变量: 在函数或脚本中定义的变量,只能在定义它的函数或脚本中使用。
- 全局变量: 使用
global
关键字声明的变量,可以在不同的函数或脚本中共享。
代码示例:
matlab">% 局部变量示例
function myFunction()x = 10; % 局部变量disp(x);
endmyFunction(); % 输出: 10
disp(x); % 错误:x 未定义% 全局变量示例
global y;
y = 20;function myFunction2()global y;disp(y);
endmyFunction2(); % 输出: 20
2.1.3 常用的特殊变量
pi
: 圆周率 π 的值。eps
: 浮点数的精度,表示 1.0 与下一个可表示的浮点数之间的差值。inf
: 无穷大。NaN
: 非数字 (Not a Number),表示无效的数值运算结果。
代码示例:
matlab">disp(pi); % 输出: 3.1416
disp(eps); % 输出: 2.2204e-16
disp(inf); % 输出: Inf
disp(NaN); % 输出: NaN
2.2 流程控制语句
2.2.1 if-else 条件语句
- 单分支: 如果条件为真,则执行代码块。
- 双分支: 如果条件为真,则执行第一个代码块;否则,执行第二个代码块。
- 多分支: 根据不同的条件,执行不同的代码块。
代码示例:
matlab">% 单分支
x = 10;
if x > 5disp('x 大于 5');
end% 双分支
y = 3;
if y > 5disp('y 大于 5');
elsedisp('y 小于等于 5');
end% 多分支
z = 7;
if z > 10disp('z 大于 10');
elseif z > 5disp('z 大于 5 且小于等于 10');
elsedisp('z 小于等于 5');
end
2.2.2 for 循环语句
- 循环结构: 重复执行代码块指定的次数。
- 循环变量: 用于控制循环次数的变量。
代码示例:
matlab">% 循环 5 次
for i = 1:5disp(['当前循环次数: ', num2str(i)]);
end% 遍历数组
arr = [10, 20, 30, 40, 50];
for j = 1:length(arr)disp(['数组元素: ', num2str(arr(j))]);
end
2.2.3 while 循环语句
- 循环条件: 只要条件为真,就重复执行代码块。
代码示例:
matlab">% 循环直到 x 大于 10
x = 1;
while x <= 10disp(['当前 x 值: ', num2str(x)]);x = x + 1;
end
2.2.4 break 和 continue 语句
break
: 立即终止循环。continue
: 跳过当前循环,继续执行下一次循环。
代码示例:
matlab">% 使用 break 终止循环
for i = 1:10if i == 5break;enddisp(i);
end% 使用 continue 跳过循环
for j = 1:10if mod(j, 2) == 0continue;enddisp(j);
end
2.3 函数编写
2.3.1 函数的定义与调用
- 函数定义: 使用
function
关键字定义函数,并指定函数名、输入参数和输出参数。 - 函数调用: 使用函数名和输入参数调用函数。
- 注意函数调用要在同一路径下新建立函数文件
代码示例:
matlab">% 定义函数
function result = mySum(a, b)result = a + b;
end% 调用函数
sum_result = mySum(3, 5);
disp(sum_result); % 输出: 8
2.3.2 函数的输入输出参数传递
- 输入参数: 传递给函数的数据。
- 输出参数: 函数返回的数据。
代码示例:
matlab">% 定义函数
function [max_value, min_value] = findMaxMin(arr)max_value = max(arr);min_value = min(arr);
end% 调用函数
arr = [10, 5, 20, 15];
[max_val, min_val] = findMaxMin(arr);
disp(['最大值: ', num2str(max_val)]); % 输出: 最大值: 20
disp(['最小值: ', num2str(min_val)]); % 输出: 最小值: 5
一个是函数文件,一个是运行文件
运行下面文件即可:
2.3.3 局部变量与全局变量
- 局部变量: 在函数内部定义的变量,只能在函数内部使用。
- 全局变量: 使用
global
关键字声明的变量,可以在不同的函数中共享。
代码示例:
matlab">% 局部变量
function myFunction()x = 10; % 局部变量disp(x);
endmyFunction(); % 输出: 10
disp(x); % 错误:x 未定义% 全局变量
global y;
y = 20;function myFunction2()global y;disp(y);
endmyFunction2(); % 输出: 20
2.3.4 匿名函数的使用
- 匿名函数: 无需定义函数文件,可以直接在代码中定义的函数。
代码示例:
matlab">% 定义匿名函数
mySquare = @(x) x^2;% 调用匿名函数
result = mySquare(5);
disp(result); % 输出: 25
总结:
本章介绍了 MATLAB 编程的基础知识,包括变量与赋值、流程控制语句和函数编写。通过代码示例,您可以更好地理解这些概念并将其应用到实际问题中。在接下来的章节中,我们将学习更高级的 MATLAB 功能,例如数据可视化、文件操作、符号计算等。
持续更新中!如果对您有帮助请点个赞!