第二章:Matlab 编程基础

第二章:Matlab 编程基础

2.1 变量与赋值

2.1.1 变量的命名规则
  • 变量名必须以字母开头,可以包含字母、数字和下划线 (_)。
  • 变量名区分大小写,例如 myVarmyvar 是不同的变量。
  • 变量名不能与 MATLAB 的关键字相同,例如 if, for, while 等。
  • 变量名应尽量简洁、易懂,并能反映变量的含义。

代码示例:

% 合法的变量名
myVariable = 10;
result_sum = 20;
data_2023 = [1, 2, 3];

% 非法的变量名
% 1variable = 10;  % 错误:以数字开头
% if = 5;         % 错误:使用关键字
2.1.2 变量的作用域
  • 局部变量: 在函数或脚本中定义的变量,只能在定义它的函数或脚本中使用。
  • 全局变量: 使用 global 关键字声明的变量,可以在不同的函数或脚本中共享。

代码示例:

% 局部变量示例
function myFunction()
    x = 10;  % 局部变量
    disp(x);
end

myFunction();  % 输出: 10
disp(x);       % 错误:x 未定义

% 全局变量示例
global y;
y = 20;

function myFunction2()
    global y;
    disp(y);
end

myFunction2();  % 输出: 20
2.1.3 常用的特殊变量
  • pi: 圆周率 π 的值。
  • eps: 浮点数的精度,表示 1.0 与下一个可表示的浮点数之间的差值。
  • inf: 无穷大。
  • NaN: 非数字 (Not a Number),表示无效的数值运算结果。

代码示例:

disp(pi);   % 输出: 3.1416
disp(eps);  % 输出: 2.2204e-16
disp(inf);  % 输出: Inf
disp(NaN);  % 输出: NaN

2.2 流程控制语句

2.2.1 if-else 条件语句
  • 单分支: 如果条件为真,则执行代码块。
  • 双分支: 如果条件为真,则执行第一个代码块;否则,执行第二个代码块。
  • 多分支: 根据不同的条件,执行不同的代码块。

代码示例:

% 单分支
x = 10;
if x > 5
    disp('x 大于 5');
end

% 双分支
y = 3;
if y > 5
    disp('y 大于 5');
else
    disp('y 小于等于 5');
end

% 多分支
z = 7;
if z > 10
    disp('z 大于 10');
elseif z > 5
    disp('z 大于 5 且小于等于 10');
else
    disp('z 小于等于 5');
end
2.2.2 for 循环语句
  • 循环结构: 重复执行代码块指定的次数。
  • 循环变量: 用于控制循环次数的变量。

代码示例:

% 循环 5 次
for i = 1:5
    disp(['当前循环次数: ', num2str(i)]);
end

% 遍历数组
arr = [10, 20, 30, 40, 50];
for j = 1:length(arr)
    disp(['数组元素: ', num2str(arr(j))]);
end
2.2.3 while 循环语句
  • 循环条件: 只要条件为真,就重复执行代码块。

代码示例:

% 循环直到 x 大于 10
x = 1;
while x <= 10
    disp(['当前 x 值: ', num2str(x)]);
    x = x + 1;
end
2.2.4 break 和 continue 语句
  • break: 立即终止循环。
  • continue: 跳过当前循环,继续执行下一次循环。

代码示例:

% 使用 break 终止循环
for i = 1:10
    if i == 5
        break;
    end
    disp(i);
end

% 使用 continue 跳过循环
for j = 1:10
    if mod(j, 2) == 0
        continue;
    end
    disp(j);
end

2.3 函数编写

2.3.1 函数的定义与调用
  • 函数定义: 使用 function 关键字定义函数,并指定函数名、输入参数和输出参数。
  • 函数调用: 使用函数名和输入参数调用函数。
  • 注意函数调用要在同一路径下新建立函数文件
    新建函数文件

代码示例:

% 定义函数
function result = mySum(a, b)
    result = a + b;
end

% 调用函数
sum_result = mySum(3, 5);
disp(sum_result);  % 输出: 8
2.3.2 函数的输入输出参数传递
  • 输入参数: 传递给函数的数据。
  • 输出参数: 函数返回的数据。

代码示例:

% 定义函数
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 关键字声明的变量,可以在不同的函数中共享。

代码示例:

% 局部变量
function myFunction()
    x = 10;  % 局部变量
    disp(x);
end

myFunction();  % 输出: 10
disp(x);       % 错误:x 未定义

% 全局变量
global y;
y = 20;

function myFunction2()
    global y;
    disp(y);
end

myFunction2();  % 输出: 20
2.3.4 匿名函数的使用
  • 匿名函数: 无需定义函数文件,可以直接在代码中定义的函数。

代码示例:

% 定义匿名函数
mySquare = @(x) x^2;

% 调用匿名函数
result = mySquare(5);
disp(result);  % 输出: 25

在这里插入图片描述

总结:

本章介绍了 MATLAB 编程的基础知识,包括变量与赋值、流程控制语句和函数编写。通过代码示例,您可以更好地理解这些概念并将其应用到实际问题中。在接下来的章节中,我们将学习更高级的 MATLAB 功能,例如数据可视化、文件操作、符号计算等。

持续更新中!如果对您有帮助请点个赞!