MATLAB 期末复习知识点补充(下)
十七、逻辑型数据
- 两种状态
逻辑型数据只有两个状态:true(真)和false(假),分别对应数值 1 和 0,但逻辑型与数值型是不同的数据类型。 - 占用字节
逻辑型数据占用 1 个字节(8 位)的内存空间。 - 创建函数
logical(x):将数值或数组转换为逻辑型。非零值转为true,零转为false。
x = [0 5 -3 0];
logical(x) % 结果:[false true true false]
true(n):创建n×n的全true矩阵。
true(2) % 结果:[true true; true true]
false(n):创建n×n的全false矩阵。
false(2) % 结果:[false false; false false]
十八、字符串操作
- 存储与定义
字符串以单引号定义,存储为字符数组。
s = 'Hello'; % 等价于字符数组 ['H' 'e' 'l' 'l' 'o']
多行字符串用""定义(MATLAB R2017a 及以后):
s = "Hello
World";
- 长度查询
length(s):返回字符串的字符数。
size(s):返回字符串数组的维度。 - 常用操作函数
操作 函数示例 说明
合并 strcat(s1, s2) 或 [s1, s2] 连接字符串
大小写转换 upper(s) / lower(s) 转大写 / 小写
删除空格 strtrim(s) 移除首尾空格
比较 strcmp(s1, s2) 字符串相等返回true
查询子串 contains(s, substr) 判断是否包含子串
左右对齐 strjust(s, ‘left’/‘right’) 文本对齐
十九、常见函数
函数 功能描述
help 查询函数帮助,如help plot
clear 删除工作区变量,如clear x删除变量x
clc 清空命令窗口
size 返回数组维度,如size(A)返回[m, n]
length 返回数组最长维度的长度,等价于max(size(A))
find 查找非零元素索引,如find(x > 5)
rand 生成均匀分布随机数,如rand(3)生成 3×3 随机矩阵
randn 生成标准正态分布随机数
linspace 创建等距向量,如linspace(a, b, n)生成n个从a到b的点
who 列出工作区变量名
whos 详细列出工作区变量(包括大小、类型等)
class 返回变量的数据类型,如class(x)
二十、两种循环控制
- for循环
语法:
for variable = values
% 循环体
end
特点:循环次数已知,由values指定(如向量、矩阵)。
for i = 1:5
disp(i);
end
- while循环
语法:
while condition
% 循环体
end
特点:循环次数未知,只要condition为true就继续执行。
i = 1;
while i <= 5
disp(i);
i = i + 1;
end
- 区别
循环类型 循环次数确定性 适用场景
for 已知 遍历数组、固定次数循环
while 未知 条件满足时持续执行
二十一、两种条件控制 - if-else语句
语法:
if condition1
% 代码块1
elseif condition2
% 代码块2
else
% 代码块3
end
示例:
x = 10;
if x > 5
disp('x大于5');
else
disp('x小于等于5');
end
- switch-case语句
语法:
switch expression
case value1
% 代码块1
case value2
% 代码块2
otherwise
% 代码块3
end
示例:
day = 3;
switch day
case 1
disp('星期一');
case 2
disp('星期二');
otherwise
disp('其他');
end
- 区别
条件类型 判断方式 适用场景
if-else 基于逻辑表达式 复杂条件判断
switch-case 基于表达式值的匹配 单一变量多值匹配
二十三、Polyfit 与 Polyval - polyfit(x, y, n)
功能:多项式拟合,用n次多项式逼近数据点(x, y)。
返回:多项式系数向量p(降幂排列)。
示例:
x = [1 2 3 4 5];
y = [2 4 6 8 10];
p = polyfit(x, y, 1); % 一次多项式拟合(直线)
% p = [2 0],对应多项式2x + 0
- polyval(p, x)
功能:计算多项式p在点x处的值。
示例:
x_new = 6;
y_new = polyval(p, x_new); % 计算2*6 + 0 = 12
二十四、脚本文件与函数文件的区别
特性 脚本文件 (.m) 函数文件 (.m)
结构 无输入输出参数,按顺序执行 有明确输入输出参数
变量作用域 使用工作区全局变量 使用函数内局部变量
文件名要求 可任意命名 必须与函数名一致
调用方式 直接执行 通过函数名 + 参数调用
示例 批量数据处理 封装特定功能(如计算面积)
二十五、基本绘图命令
- 二维绘图
函数 功能描述
plot(x, y) 绘制折线图,颜色默认蓝色。可通过’Color’或简写(如’r’)设置颜色。
stem(x, y) 绘制离散序列图(带茎线)。
semilogx(x, y) x 轴为对数坐标,y 轴为线性坐标。
semilogy(x, y) y 轴为对数坐标,x 轴为线性坐标。
loglog(x, y) x、y 轴均为对数坐标。 - 图形修饰
函数 功能描述
title(‘text’) 添加标题。
xlabel(‘text’)/ylabel(‘text’) 添加 x 轴 /y 轴标签。
legend(‘label1’, ‘label2’) 添加图例,对应不同曲线。
grid on/off 显示 / 隐藏网格线。
axis([xmin xmax ymin ymax]) 设置坐标轴范围。
figure 创建新图形窗口。
subplot(m, n, p) 创建子图,将窗口分为m×n网格,p为当前子图位置。 - 三维绘图
函数 功能描述
mesh(X, Y, Z) 绘制三维网格图。
surf(X, Y, Z) 绘制三维曲面图(带颜色填充)。 - 颜色设置示例
x = 0:0.1:2*pi;
y1 = sin(x);
y2 = cos(x);
plot(x, y1, 'r-', x, y2, 'b--'); % 红色实线和蓝色虚线
二十八、多项式操作
- 存储与显示
多项式用系数向量(降幂排列)存储。
p = [3 0 2]; % 表示3x² + 2
poly2str(p, ‘x’):将系数向量转换为字符串形式。
poly2str(p, 'x') % 输出 '3 x^2 + 2'
- 四则运算
操作 函数示例 说明
乘法 conv(p1, p2) 多项式相乘
除法 [q, r] = deconv(p1, p2) 多项式相除(商q和余r) - 求导与求值
polyder§:计算多项式导数。
p = [3 0 2]; % 3x² + 2
dp = polyder(p); % 导数为6x,即[6 0]
polyval(p, x):计算多项式在x处的值(见前文示例)。
4. 求根
roots§:计算多项式的根。
p = [1 -3 2]; % x² - 3x + 2
r = roots(p); % 根为2和1
二十九、方程求解
- 线性方程组求解(Ax = b)
直接法:x = A\b。
A = [2 1; 1 3];
b = [4; 7];
x = A\b; % 解为x = [1; 2]
- 单变量非线性方程求解(f (x) = 0)
fzero(fun, x0):求函数fun在x0附近的零点。
% 求解x³ - 2x - 5 = 0
fun = @(x) x^3 - 2*x - 5;
x = fzero(fun, 2); % 初始猜测值为2,结果约为2.0946
我本来收集了32条知识点,但是考虑到入门门槛和难度,删去了微积分和多项式计算的部分内容,后续会考虑写一份补充文章。
2315

被折叠的 条评论
为什么被折叠?



