Matlab/Simulink环境下时滞系统的模糊PID控制仿真模型构建

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:时滞系统在控制系统设计中是常见且具有挑战性的,因其存在响应延迟。本文探讨时滞系统的模糊PID控制及其在MATLAB/Simulink中的仿真模型实现。模糊控制结合PID的优点,可以有效地处理非线性和不确定性问题,特别是在时滞系统中。本文将详细介绍模糊PID控制器的设计原理,并展示如何在MATLAB/Simulink环境中构建仿真模型,包括设计模糊控制器、设置模糊规则库、连接PID控制器,并通过仿真运行来分析系统性能。用户可以利用提供的仿真模型文件和说明文档,更好地理解模糊PID控制在时滞系统中的应用和效果。 模糊PID控制

1. 时滞系统概念及其控制挑战

时滞系统的基本概念

时滞系统是指系统内部或输入与输出之间存在时间延迟的现象。在许多实际应用中,如化工过程控制、通信网络、生物医学系统等,时滞现象普遍存在,且对系统的性能和稳定性造成显著影响。时滞的存在使得系统控制变得更加复杂,因为控制系统需要预测未来的行为或响应,以便做出及时的调整。

控制挑战

控制时滞系统的挑战主要体现在以下几个方面:

  1. 预测困难 :由于时滞的存在,控制系统难以准确预测未来的系统状态,这增加了控制策略设计的难度。
  2. 稳定性问题 :时滞可能导致系统的不稳定,特别是在高增益反馈控制中,时滞因素可能诱发振荡甚至不稳定。
  3. 性能下降 :时滞会影响系统的响应速度和调节精度,导致系统性能下降。

控制策略

针对时滞系统的控制挑战,常见的控制策略包括:

  • PID控制 :传统的PID控制器需要根据时滞特性的调整来优化其参数,以适应时滞系统的特点。
  • 先进控制理论 :如Smith预估器、预测控制等,这些方法可以预测未来状态或补偿时滞带来的影响。
  • 模糊控制 :模糊控制不需要精确的系统模型,可以通过模糊规则来处理时滞系统的不确定性和复杂性。

在后续章节中,我们将详细探讨模糊控制和PID控制在时滞系统中的应用和设计,以及如何通过Matlab/Simulink工具构建和优化仿真模型。

2. 模糊控制原理与设计

在本章节中,我们将深入探讨模糊控制的原理与设计方法。模糊控制作为一种基于模糊逻辑的控制策略,它在处理不确定性和复杂性系统方面显示出独特的优势。我们将从模糊逻辑基础开始,逐步深入到模糊控制器的设计及其在时滞系统中的应用。

2.1 模糊逻辑基础

模糊逻辑是模糊控制的理论基础,它提供了一种处理不确定信息的方法。在这一节中,我们将介绍模糊集合与隶属度的概念,以及模糊规则与推理机制。

2.1.1 模糊集合与隶属度

模糊集合是模糊逻辑的核心概念之一,它允许一个元素同时属于多个集合,并且具有不同程度的隶属度。隶属度是一个介于0和1之间的数值,表示元素属于某个模糊集合的程度。

例如,考虑一个温度控制系统,我们可以定义一个模糊集合“暖”来描述温度。如果温度是20°C,它可能具有0.1的隶属度在“暖”这个集合;而如果温度是25°C,它可能具有0.8的隶属度在“暖”这个集合。这种描述比传统的二值逻辑(是或否)更加灵活和贴近实际情况。

2.1.2 模糊规则与推理机制

模糊规则是模糊控制的基本单元,它基于模糊逻辑将输入转换为输出。模糊推理机制则是模糊规则的应用过程,它根据输入的模糊集合和模糊规则进行推理,得到输出的模糊集合。

以一个简单的模糊控制器为例,它可以有两个输入:误差(E)和误差变化率(EC)。输出是一个控制信号(U)。一个模糊规则可能看起来像这样:“如果误差是大且误差变化率是小,则控制信号是中等”。这个规则表达了在误差较大且变化率较小的情况下,控制信号应该是中等程度的概念。

2.2 模糊控制器的设计

模糊控制器的设计是将模糊逻辑应用到实际控制系统中的关键步骤。在这一节中,我们将讨论模糊控制器的结构组成和设计步骤。

2.2.1 模糊控制器的结构组成

一个典型的模糊控制器包含三个主要部分:模糊化接口、模糊规则库和去模糊化接口。

  1. 模糊化接口 :将实际输入数据转换为模糊值。
  2. 模糊规则库 :包含一系列的模糊规则,用于决策过程。
  3. 去模糊化接口 :将模糊输出转换为实际的控制信号。

在设计模糊控制器时,我们需要确定这些部分的具体参数和结构。

2.2.2 模糊控制器的设计步骤

设计一个模糊控制器通常包括以下步骤:

  1. 确定输入输出变量 :识别系统中的关键变量,并定义它们的模糊集合。
  2. 定义隶属度函数 :为每个模糊集合创建隶属度函数。
  3. 设计模糊规则 :根据系统行为和专家知识创建模糊规则。
  4. 选择去模糊化方法 :选择一种适合的方法将模糊输出转换为实际值。

2.3 模糊控制的优势与局限

模糊控制在处理不确定性问题时显示出其独特的优势,但同时也存在一些局限性。

2.3.1 模糊控制在时滞系统中的优势

模糊控制器在处理非线性和时滞系统时表现出色。它们能够处理不精确或不完整的数据,并且能够适应系统参数的变化。此外,模糊控制不需要精确的数学模型,这在许多实际应用中是一个巨大的优势。

2.3.2 模糊控制的局限性和挑战

尽管模糊控制有其优势,但它也存在局限性。例如,模糊规则的定义和优化可能需要专家的知识和大量的实验。此外,模糊控制器可能在某些情况下表现出过度的保守性,这可能导致控制性能不佳。

在本章节中,我们介绍了模糊控制的基本原理和设计方法。通过理解模糊逻辑的基础、模糊控制器的结构组成以及设计步骤,我们可以开始构建适用于时滞系统的模糊控制器。然而,模糊控制并非万能,它的局限性也需要我们在设计过程中加以考虑。在下一章中,我们将介绍PID控制的基础,为之后介绍模糊PID控制器的设计原理和应用打下基础。

3. PID控制基础

在本章节中,我们将深入探讨PID控制的基础知识,包括其原理、参数调整方法以及在时滞系统中的应用。PID控制器作为工业控制系统中最常用的算法之一,它的理解和应用对于工程师来说至关重要。

3.1 PID控制器原理

3.1.1 PID控制的定义和组成

PID控制器是一种线性控制器,它根据给定的参考值(设定值)与实际输出值(测量值)之间的偏差来进行控制。PID代表比例(Proportional)、积分(Integral)、微分(Derivative),这三种控制作用合在一起,形成了PID控制器的基本结构。

比例控制负责对偏差进行快速响应;积分控制用于消除稳态误差,保证系统的长期稳定性;微分控制则预测偏差的趋势,对快速变化的误差做出快速响应。

3.1.2 PID控制的数学模型

PID控制器的数学模型可以用以下公式表示:

$$ u(t) = K_p e(t) + K_i \int_{0}^{t} e(\tau) d\tau + K_d \frac{de(t)}{dt} $$

其中,$u(t)$是控制器输出,$e(t)$是偏差,$K_p$、$K_i$和$K_d$分别是比例、积分、微分的增益系数,它们决定了控制器的响应特性。

代码块解释:
% PID 控制器参数
Kp = 1; % 比例增益
Ki = 0.1; % 积分增益
Kd = 0.01; % 微分增益

% 假设系统的采样时间为0.1秒
dt = 0.1;

% 设定时间范围和误差值
t = 0:dt:100;
e = sin(t); % 假设误差为正弦波

% PID 控制器的实现
u = zeros(size(t)); % 初始化控制器输出
integral_e = 0; % 初始化积分项
for i = 1:length(t)
    % 计算当前误差
    error = e(i);
    % 积分项
    integral_e = integral_e + error * dt;
    % 微分项
    derivative_e = (error - last_error) / dt;
    % 更新控制器输出
    u(i) = Kp * error + Ki * integral_e + Kd * derivative_e;
    % 更新上一次误差
    last_error = error;
end

在上述代码中,我们模拟了一个简单的PID控制器的响应过程。这里 Kp Ki Kd 分别代表比例、积分、微分增益, dt 代表采样时间, t 代表时间序列, e 代表误差序列。我们计算了每个时间点的控制器输出 u ,其中包含了比例、积分和微分三个部分的贡献。

3.2 PID控制器参数调整

3.2.1 参数调整的基本方法

PID参数的调整是控制系统设计中的一个重要环节。基本的参数调整方法包括手动调整和自动调整。

手动调整通常依赖于经验,工程师会根据系统的动态响应特性逐步调整PID参数,直到获得满意的控制效果。常用的调整步骤包括:

  1. 首先设置比例增益 Kp ,忽略积分和微分作用,观察系统响应速度和稳定性。
  2. 增加积分增益 Ki ,以消除稳态误差,但避免过调和振荡。
  3. 调整微分增益 Kd ,以改善系统的响应速度和减少振荡。

自动调整方法则包括使用软件工具或者算法(如Ziegler-Nichols方法、Cohen-Coon方法等)来进行参数的优化。

3.2.2 PID参数优化策略

PID参数的优化是一个复杂的工程问题,需要考虑到系统的动态特性、噪声干扰以及控制目标等多个因素。常用的优化策略包括:

  1. 最小化系统的稳态误差。
  2. 最大化系统的鲁棒性,即在系统参数变化或外部干扰情况下保持稳定的性能。
  3. 最小化系统的过渡过程时间。
  4. 最小化控制能量的消耗。

在实际应用中,可以结合多种优化策略来获得最佳的PID参数。例如,可以使用遗传算法、粒子群优化或者模拟退火算法等智能优化算法来自动寻找最优参数。

代码块解释:
% 使用遗传算法进行PID参数优化
% 定义适应度函数,这里以最小化系统响应时间为目标
fitnessFcn = @(x) x(1) + x(2) + x(3); % x为PID参数向量

% 定义PID参数的范围
lb = [0, 0, 0]; % 下界
ub = [10, 10, 10]; % 上界

% 定义遗传算法的选项
options = optimoptions('ga', ...
    'PopulationSize', 100, ...
    'MaxGenerations', 100, ...
    'CrossoverFraction', 0.8, ...
    'MutationRate', 0.1);

% 运行遗传算法
[x_opt, fval] = ga(fitnessFcn, 3, [], [], [], [], lb, ub, [], options);

% 输出最优PID参数
Kp_opt = x_opt(1);
Ki_opt = x_opt(2);
Kd_opt = x_opt(3);

在上述代码中,我们使用了MATLAB的遗传算法工具箱来进行PID参数的优化。 fitnessFcn 定义了优化目标,即最小化PID参数的和。 lb ub 定义了PID参数的搜索范围。 options 定义了遗传算法的配置选项。最终, ga 函数输出了最优的PID参数向量 x_opt

3.3 PID控制在时滞系统中的应用

3.3.1 传统PID在时滞系统中的局限性

传统PID控制器在设计时通常假设系统模型是精确已知的,且系统的动态特性是稳定的。然而,在时滞系统中,由于存在时间延迟,这使得传统PID控制器难以获得理想的控制效果。时滞会导致系统响应缓慢,甚至产生振荡,从而影响控制性能。

3.3.2 改进的PID控制策略

为了克服时滞系统中的控制挑战,工程师们提出了多种改进的PID控制策略。例如:

  1. PID-PD控制 :在传统PID控制器的基础上增加一个预估器,用于预测系统的未来状态。
  2. PID-Smith预估器 :结合Smith预估器来补偿时滞的影响,通过模型预测来改善控制性能。
  3. PID-IMC控制 :使用内部模型控制(Internal Model Control)来设计PID控制器,以更好地处理时滞问题。

这些改进的策略可以有效提高PID控制器在时滞系统中的性能,减少系统的稳态误差和过渡过程时间。

代码块解释:
% PID-IMC 控制器设计
% 定义系统的传递函数模型
G = tf(1, [10, 1]); % 假设系统为一阶加时滞模型

% 设计内部模型控制器
K_imc = pidtune(G, 'pid') + pid(G(0)); % 使用pidtune函数设计IMC控制器

% 将IMC控制器转换为PID控制器
K_pid = imc2pid(K_imc); % 使用imc2pid函数转换

% 分析控制器性能
stepinfo(K_pid)

在上述代码中,我们使用MATLAB的控制系统工具箱中的 pidtune imc2pid 函数来设计一个内部模型控制(IMC)PID控制器。首先,我们定义了系统的传递函数模型 G ,然后设计了内部模型控制器 K_imc 。最后,我们将其转换为PID控制器 K_pid ,并使用 stepinfo 函数来分析其性能。

在本章节中,我们介绍了PID控制的基础知识,包括其原理、参数调整方法以及在时滞系统中的应用。下一章节,我们将深入探讨模糊PID控制器的设计原理,以及如何在Matlab/Simulink环境中构建仿真模型。

4. 模糊PID控制器设计原理

在本章节中,我们将深入探讨模糊PID控制器的设计原理,这种结合了模糊逻辑和传统PID控制技术的控制器为时滞系统的控制提供了一种新的思路。我们将从模糊PID控制的基本思想开始,逐步分析其工作原理、设计方法以及稳定性分析。

4.1 模糊PID控制的基本思想

4.1.1 模糊PID控制器的工作原理

模糊PID控制器是一种基于模糊逻辑的控制器,它通过模糊推理机制来调整PID参数,以适应时滞系统的动态变化。在传统的PID控制器中,PID参数(比例、积分、微分)是固定的,而在模糊PID控制器中,这些参数会根据系统的实时状态动态调整。模糊规则用于解释系统输入和输出之间的关系,并根据这些关系实时调整PID参数。

4.1.2 模糊PID控制器的优势分析

模糊PID控制器相比传统PID控制器具有多方面的优势。首先,它能够更好地处理时滞和非线性问题,因为模糊逻辑能够处理模糊的、不精确的信息。其次,模糊PID控制器在参数调整上更加灵活,能够根据系统状态的变化实时优化控制效果。此外,模糊PID控制器的设计过程更加直观,便于工程师理解和实施。

4.2 模糊PID控制器的设计方法

4.2.1 模糊PID控制器的结构设计

模糊PID控制器的结构设计是其性能的关键。一般来说,模糊PID控制器包括三个主要部分:模糊化接口、模糊规则库和模糊推理机制。模糊化接口负责将精确的输入数据转换为模糊集合,模糊规则库定义了模糊控制的规则,而模糊推理机制则根据这些规则和当前的输入状态计算出PID参数的调整值。

4.2.2 模糊规则的设计与优化

模糊规则的设计是模糊PID控制器设计中最为关键的步骤之一。模糊规则需要根据系统的动态特性和控制目标来设计。通常,这些规则会以“如果-那么”的形式表达。例如,“如果误差大且误差变化率大,则增加比例增益”。优化模糊规则的目标是找到一组能够使系统性能达到最优的规则。

4.3 模糊PID控制系统的稳定性分析

4.3.1 稳定性分析的基本概念

稳定性分析是任何控制系统设计中的重要组成部分。对于模糊PID控制系统,稳定性分析的目标是确保在所有可能的操作条件下,系统都能够保持稳定运行。这通常涉及到系统的动态响应分析和对模糊规则的稳定性验证。

4.3.2 模糊PID控制系统的稳定性验证

模糊PID控制系统的稳定性验证是一个复杂的过程,通常需要使用先进的数学工具和仿真技术。可以通过Lyapunov稳定性理论、BIBO稳定性理论等方法来分析系统的稳定性。此外,仿真测试也是验证系统稳定性的重要手段,通过在不同工况下运行仿真模型来评估系统的响应和稳定性。

4.3.3 模糊PID控制系统的稳定性分析实例

为了更好地理解模糊PID控制系统的稳定性分析,我们可以通过一个简单的例子来说明。假设我们有一个温度控制系统,其中温度传感器测量当前温度,控制器根据温度误差和误差变化率调整加热器的功率输出。通过设计适当的模糊规则和参数调整策略,我们可以确保系统在各种工况下都能稳定地维持设定温度。

4.3.4 模糊PID控制器的设计案例分析

在这个案例分析中,我们将展示如何设计一个模糊PID控制器来控制一个简化的温度控制系统。首先,我们需要定义系统的输入(温度误差和误差变化率)和输出(加热器的功率调整)。然后,我们设计一组模糊规则来描述这些输入和输出之间的关系。最后,我们使用仿真工具来测试和优化控制器的性能。

4.3.5 模糊PID控制器的仿真模型构建

在设计模糊PID控制器时,使用仿真模型进行测试和验证是非常重要的。我们可以使用Matlab/Simulink等软件来构建控制器的仿真模型。在这个模型中,我们需要包括系统的动态模型、模糊控制器模块以及反馈控制环路。通过运行仿真,我们可以观察系统的动态响应,并根据需要调整模糊规则和PID参数。

4.3.6 模糊PID控制系统的性能评估

性能评估是模糊PID控制系统设计的最后一步。在这个阶段,我们需要评估控制器的响应时间、超调量、稳态误差等指标。通过对比不同工况下的仿真结果,我们可以评估控制器的鲁棒性和适应性。此外,我们还可以通过实际系统的测试来验证仿真的准确性。

通过本章节的介绍,我们了解了模糊PID控制器的设计原理和方法,并通过实例分析和仿真模型构建,展示了如何将理论应用到实际的控制系统设计中。下一章节中,我们将探讨Matlab/Simulink环境在控制系统中的应用,以及如何使用这些工具来构建和测试模糊PID控制器。

5. Matlab/Simulink环境介绍

5.1 Matlab/Simulink概述

5.1.1 Matlab/Simulink的特点和功能

Matlab/Simulink是MathWorks公司推出的一款基于模型的设计和仿真平台,广泛应用于控制系统、信号处理、通信系统等领域。Matlab提供了强大的数学计算和数据可视化功能,而Simulink则是其扩展,支持图形化编程和多域仿真。Simulink的一大特点是能够通过拖拽的方式搭建复杂的系统模型,无需编写复杂的代码。此外,Simulink提供了丰富的预定义模块和算法库,可以模拟各种动态系统,并且支持自定义模块开发。

5.1.2 Matlab/Simulink在控制系统中的应用

在控制系统领域,Matlab/Simulink主要用于设计、分析和测试控制算法。它可以帮助工程师进行系统建模、控制器设计、实时仿真和代码生成等工作。通过Simulink,用户可以快速构建出时域和频域模型,进行系统响应分析,并对控制器参数进行实时调整,以达到最优的控制效果。此外,Simulink还支持与硬件设备的接口,使得控制器可以在实际硬件上进行测试和验证。

5.2 Matlab/Simulink的操作界面

5.2.1 Simulink库浏览器和模块操作

Simulink的界面主要由库浏览器、模型窗口和调试工具栏等组成。库浏览器位于Simulink界面的左侧,列出了所有可用的模块和库。用户可以从中拖拽所需的模块到模型窗口中,进行模型构建。Simulink提供了丰富的模块库,包括信号源、信号处理、数学运算、控制系统等,覆盖了各种仿真需求。

5.2.2 模型构建和仿真运行的基本步骤

构建Simulink模型的基本步骤如下:

  1. 创建新模型 :通过点击"File" -> "New" -> "Model"创建一个新的Simulink模型。
  2. 打开库浏览器 :从Simulink界面的左侧打开库浏览器。
  3. 拖拽模块 :从库浏览器中拖拽所需的模块到模型窗口中。
  4. 连接模块 :使用鼠标拖拽的方式将模块之间的端口连接起来。
  5. 配置模块参数 :双击模块打开参数设置窗口,根据需要配置参数。
  6. 设置仿真参数 :点击"Simulation" -> "Model Configuration Parameters"设置仿真的时间和步长等参数。
  7. 运行仿真 :点击模型窗口的绿色三角形按钮开始仿真。
  8. 查看结果 :使用Scope模块或Matlab命令窗口查看仿真结果。

5.3 Matlab/Simulink中的高级功能

5.3.1 Matlab函数与Simulink模块的交互

Matlab函数与Simulink模块之间的交互是通过MATLAB Function模块实现的。用户可以将自定义的Matlab代码嵌入到Simulink模型中,实现复杂的数据处理和算法逻辑。这使得Simulink模型不仅可以使用图形化模块,还可以利用Matlab强大的数值计算能力。

5.3.2 Simulink模型的优化和调试工具

Simulink提供了多种优化和调试工具,帮助用户提高模型的性能和准确性。一些常用的工具包括:

  • Simulink Profiler :分析模型的性能瓶颈。
  • Simulink Coverage :检查模型的覆盖情况,确保测试充分。
  • Simulink Design Verifier :验证模型设计的正确性。
  • Simulink Model Advisor :提供模型优化建议。

通过这些工具,用户可以对模型进行深入的分析和优化,提高仿真的效率和准确性。

在本章节中,我们介绍了Matlab/Simulink环境的基本概念、操作界面和高级功能。通过这些介绍,读者可以对如何使用Simulink进行控制系统的设计和仿真有一个初步的了解。接下来的章节将详细介绍如何利用Matlab/Simulink构建模糊PID控制器的仿真模型,并进行仿真实验和优化。

6. 模糊PID仿真模型构建步骤

6.1 模型建立的基本流程

在开始构建模糊PID仿真模型之前,我们需要遵循一系列步骤来确保模型的准确性和有效性。这些步骤包括系统模型的建立和模糊PID控制器的设计。

6.1.1 系统模型的建立

首先,我们需要根据实际的物理系统或过程来建立数学模型。这通常涉及到对系统动态特性的分析,包括但不限于系统的时滞特性、非线性因素以及各种干扰。数学模型的建立可以通过以下步骤进行:

  1. 参数识别 :通过实验数据或者已有的研究资料,识别系统的关键参数。
  2. 建立方程 :根据系统的物理定律或理论,建立描述系统动态的数学方程。
  3. 模型简化 :如果方程过于复杂,可以进行必要的简化,保留主要的动态特性。

6.1.2 模糊PID控制器的设计

模糊PID控制器的设计是模糊PID仿真模型构建的核心部分。设计过程通常包括以下几个步骤:

  1. 确定输入输出变量 :明确控制器的输入(如误差和误差变化率)和输出(控制量)。
  2. 定义模糊集和隶属度函数 :为输入输出变量定义模糊集,并设计相应的隶属度函数。
  3. 制定模糊规则 :根据专家经验或实验数据,制定模糊控制规则。

6.2 模型的仿真实验

在建立了系统模型和模糊PID控制器后,我们可以通过仿真实验来验证控制器的性能。

6.2.1 仿真实验的设计

仿真实验的设计需要考虑实验的目的和条件。实验设计时,我们可以设置不同的工况,如:

  1. 阶跃响应 :模拟系统对突变输入的响应,评估控制器的瞬态性能。
  2. 干扰抑制 :模拟外部干扰对系统的影响,评估控制器的鲁棒性。
  3. 参数变化 :模拟系统参数变化,评估控制器的自适应性。

6.2.2 仿真结果的分析与评估

仿真完成后,我们需要对结果进行分析,评估控制器的性能。主要评估指标包括:

  1. 稳定性 :系统是否能够在各种工况下保持稳定运行。
  2. 快速性 :系统对突变输入的响应速度。
  3. 准确性 :系统输出与期望输出之间的误差大小。

6.3 仿真模型的优化与完善

在分析评估仿真结果后,我们可能需要对模型进行优化和完善,以提高控制器的性能。

6.3.1 模型优化的策略

模型优化可以通过以下策略进行:

  1. 参数调整 :根据仿真结果,调整模糊集的隶属度函数或者模糊规则。
  2. 控制器结构优化 :可能需要增加或减少模糊规则的数量,或者调整控制器的结构。

6.3.2 模型完善与实际应用的衔接

最终,我们需要将仿真模型与实际应用衔接起来。这涉及到:

  1. 软件实现 :将仿真模型转化为可执行的软件代码。
  2. 硬件集成 :将控制器与实际的硬件系统集成。
  3. 现场调试 :在实际环境中进行调试,确保控制器的性能满足实际需求。

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:时滞系统在控制系统设计中是常见且具有挑战性的,因其存在响应延迟。本文探讨时滞系统的模糊PID控制及其在MATLAB/Simulink中的仿真模型实现。模糊控制结合PID的优点,可以有效地处理非线性和不确定性问题,特别是在时滞系统中。本文将详细介绍模糊PID控制器的设计原理,并展示如何在MATLAB/Simulink环境中构建仿真模型,包括设计模糊控制器、设置模糊规则库、连接PID控制器,并通过仿真运行来分析系统性能。用户可以利用提供的仿真模型文件和说明文档,更好地理解模糊PID控制在时滞系统中的应用和效果。

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值