MATLAB 期末复习知识点补充(下)

MATLAB 期末复习知识点补充(下)

十七、逻辑型数据
  1. 两种状态
    逻辑型数据只有两个状态:true(真)和false(假),分别对应数值 1 和 0,但逻辑型与数值型是不同的数据类型。
  2. 占用字节
    逻辑型数据占用 1 个字节(8 位)的内存空间。
  3. 创建函数
    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]
十八、字符串操作
  1. 存储与定义
    字符串以单引号定义,存储为字符数组。
s = 'Hello';  % 等价于字符数组 ['H' 'e' 'l' 'l' 'o']

多行字符串用""定义(MATLAB R2017a 及以后):

s = "Hello
     World";
  1. 长度查询
    length(s):返回字符串的字符数。
    size(s):返回字符串数组的维度。
  2. 常用操作函数
    操作 函数示例 说明
    合并 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)

二十、两种循环控制
  1. for循环
    语法:
for variable = values
    % 循环体
end

特点:循环次数已知,由values指定(如向量、矩阵)。

for i = 1:5
    disp(i);
end
  1. while循环
    语法:
while condition
    % 循环体
end

特点:循环次数未知,只要condition为true就继续执行。

i = 1;
while i <= 5
    disp(i);
    i = i + 1;
end
  1. 区别
    循环类型 循环次数确定性 适用场景
    for 已知 遍历数组、固定次数循环
    while 未知 条件满足时持续执行
    二十一、两种条件控制
  2. if-else语句
    语法:
if condition1
    % 代码块1
elseif condition2
    % 代码块2
else
    % 代码块3
end

示例:

x = 10;
if x > 5
    disp('x大于5');
else
    disp('x小于等于5');
end
  1. 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
  1. 区别
    条件类型 判断方式 适用场景
    if-else 基于逻辑表达式 复杂条件判断
    switch-case 基于表达式值的匹配 单一变量多值匹配
    二十三、Polyfit 与 Polyval
  2. 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
  1. polyval(p, x)
    功能:计算多项式p在点x处的值。
    示例:
x_new = 6;
y_new = polyval(p, x_new);  % 计算2*6 + 0 = 12
二十四、脚本文件与函数文件的区别

特性 脚本文件 (.m) 函数文件 (.m)
结构 无输入输出参数,按顺序执行 有明确输入输出参数
变量作用域 使用工作区全局变量 使用函数内局部变量
文件名要求 可任意命名 必须与函数名一致
调用方式 直接执行 通过函数名 + 参数调用
示例 批量数据处理 封装特定功能(如计算面积)

二十五、基本绘图命令
  1. 二维绘图
    函数 功能描述
    plot(x, y) 绘制折线图,颜色默认蓝色。可通过’Color’或简写(如’r’)设置颜色。
    stem(x, y) 绘制离散序列图(带茎线)。
    semilogx(x, y) x 轴为对数坐标,y 轴为线性坐标。
    semilogy(x, y) y 轴为对数坐标,x 轴为线性坐标。
    loglog(x, y) x、y 轴均为对数坐标。
  2. 图形修饰
    函数 功能描述
    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为当前子图位置。
  3. 三维绘图
    函数 功能描述
    mesh(X, Y, Z) 绘制三维网格图。
    surf(X, Y, Z) 绘制三维曲面图(带颜色填充)。
  4. 颜色设置示例
x = 0:0.1:2*pi;
y1 = sin(x);
y2 = cos(x);
plot(x, y1, 'r-', x, y2, 'b--');  % 红色实线和蓝色虚线
二十八、多项式操作
  1. 存储与显示
    多项式用系数向量(降幂排列)存储。
p = [3 0 2];  % 表示3x² + 2

poly2str(p, ‘x’):将系数向量转换为字符串形式。

poly2str(p, 'x')  % 输出 '3 x^2 + 2'
  1. 四则运算
    操作 函数示例 说明
    乘法 conv(p1, p2) 多项式相乘
    除法 [q, r] = deconv(p1, p2) 多项式相除(商q和余r)
  2. 求导与求值
    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
二十九、方程求解
  1. 线性方程组求解(Ax = b)
    直接法:x = A\b。
A = [2 1; 1 3];
b = [4; 7];
x = A\b;  % 解为x = [1; 2]
  1. 单变量非线性方程求解(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条知识点,但是考虑到入门门槛和难度,删去了微积分和多项式计算的部分内容,后续会考虑写一份补充文章。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值