2023 年 数维杯(B题)国际大学生数学建模挑战赛 |数学建模完整代码+建模过程全解全析

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2021年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。
让我们来看看数维杯(B题)!
在这里插入图片描述

问题重述:

问题B:棉秆热解的催化反应

随着全球对可再生能源的需求增加,生物质能源因其成熟的可再生能源来源而受到广泛关注。棉秆作为一种农业废弃物,因其富含纤维素和木质素等生物质成分而被视为重要的生物质资源。尽管棉秆的热解可以产生各种形式的可再生能源,但其热解产品的质量和产量受到多种因素的影响,如热解温度和催化剂。因此,研究棉秆热解产物(附录中有名词定义)的机制和性质,以及研究催化剂在热解过程中的机制和影响对于棉秆的高效利用和可持续发展具有重要意义。某个化学工程实验室采用模型化合物法建立了热解组合:硫脱灰灰与棉秆以及硫脱灰灰与模型化合物。通过在不同混合比下对这些热解组合进行热解,以研究硫脱灰灰对棉秆热解产物生成的催化机制和影响。同时,在选择模型化合物时,需要考虑它们在实验过程中的可控性和稳定性,以及它们对棉秆热解的贡献。CE(纤维素寡糖)和LG(木质素)是棉秆中纤维素和木质素的代表性成分,可以更精细地控制实验条件,以研究硫脱灰灰对不同生物质成分的目标催化效应。因此,选择CE和LG作为模型化合物是基于对棉秆生物质组成和化学结构特性的合理判断。实验结果见附录1和附录2。硫脱灰灰/生物质热解实验采用固定床热解,在混合比例为10/100、20/100、30/100、40/100、50/100、60/100、80/100和100/100的情况下进行。这些混合比例的选择基于在这些实验条件下平行实验的相对误差约为5%。如果选择的混合比例太小,如5/100或7/100,相对误差将对实验结果产生显著影响,严重影响实验的探索和优化过程。如果能够使用数学模型和人工智能学习来预测在有限数据条件下的热解产品产量或产量,将不仅极大地减少实验优化所需的时间,还将为热解产品分布变化趋势提供准确指导。请通过数学建模回答以下问题:

  1. 对附录I中的每个热解组合,分析与相应热解组合的混合比相关的热解产物(焦油、水、焦渣、合成气)产量,并解释硫脱灰灰在作为催化剂时是否在促进棉秆、纤维素和木质素热解中发挥重要作用?
  2. 根据附录II,讨论每个三种热解组合的混合比对热解气体产量的影响,并通过制作相应的图像进行解释。
  3. 在相同硫脱灰灰比例的催化作用下,CE和LG的热解产物产量以及热解气体组分的产量是否有显著差异?请提供原因。
  4. 如何建立硫脱灰灰对CE和LG等模型化合物的催化反应机理模型,并对反应动力学进行建模和分析?
  5. 请使用数学模型或人工智能学习方法,在有限数据条件下预测热解产物的产量或数量。

问题一

  1. 建立回归模型:

考虑使用混合比例X和硫脱灰灰的催化作用D对热解产物 Y进行建模:

Y = β 0 + β 1 X + β 2 D + β 3 X D + ϵ Y = \beta_0 + \beta_1 X + \beta_2 D + \beta_3 XD + \epsilon Y=β0+β1X+β2D+β3XD+ϵ

其中:

  • Y 是热解产物的产量。
  • X是混合比例。
  • D是硫脱灰灰的催化作用(取1表示使用,0表示不使用)。
  • β 0 \beta_0 β0 是截距。
  • β 1 \beta_1 β1 是混合比例的系数。
  • β 2 \beta_2 β2是硫脱灰灰催化作用的系数。
  • β 3 \beta_3 β3是混合比例和硫脱灰灰催化作用的交互项的系数。
  • ϵ \epsilon ϵ是误差项。
  1. 最小二乘法估计参数:

最小二乘法的目标是最小化残差平方和:

Minimize  ∑ i = 1 n ( Y i − ( β 0 + β 1 X i + β 2 D i + β 3 X i D i ) ) 2 \text{Minimize } \sum_{i=1}^{n} (Y_i - (\beta_0 + \beta_1 X_i + \beta_2 D_i + \beta_3 X_iD_i))^2 Minimize i=1n(Yi(β0+β1Xi+β2Di+β3XiDi))2

对模型参数 β 0 , β 1 , β 2 , β 3 \beta_0, \beta_1, \beta_2, \beta_3 β0,β1,β2,β3 进行最小二乘法估计,可以得到估计值 β ^ 0 , β ^ 1 , β ^ 2 , β ^ 3 \hat{\beta}_0, \hat{\beta}_1, \hat{\beta}_2, \hat{\beta}_3 β^0,β^1,β^2,β^3

  1. 验证参数显著性:

通过 t 检验来验证参数的显著性。对每个参数进行 t 检验,检验的零假设为参数等于零,备择假设为参数不等于零。如果 t 统计量的 p 值小于显著性水平(通常设为0.05),则可以拒绝零假设,认为该参数是显著的。

这个过程可以使用统计软件进行实施,例如Python中的statsmodels或R中的lm函数。在这些软件中,通常可以得到参数估计、t统计量和p值等信息,用于判断模型的拟合效果和参数的显著性。

import pandas as pd
import statsmodels.api as sm# 读取数据
data = pd.read_excel('附件I.xlsx')  # 假设数据存储在Excel文件中# 数据预处理
X = data[['混合比例', '硫脱灰灰']]
Y = data['热解产物产量']# 添加截距项
X = sm.add_constant(X)# 拟合回归模型
model = sm.OLS(Y, X).fit()# 打印回归结果摘要
print(model.summary())# 参数显著性检验
p_values = model.pvalues
print("\n参数显著性检验:")
for i in range(len(p_values)):print(f"参数 {model.params.index[i]} 的 p 值为 {p_values[i]}")# 预测值
predictions = model.predict(X)# 残差分析
residuals = model.resid
print("\n残差分析:")
print("平均残差:", residuals.mean())
print("残差标准差:", residuals.std())# 绘制预测值与实际值的散点图
import matplotlib.pyplot as plt
#见完整版代码

问题二

  1. 热解组合回归模型建立:

    对于每个热解组合,建立一个回归模型,将混合比例 X作为自变量,热解气体产量(例如,H_2、CO、CO_2、CH_4等)作为因变量。这样的模型可以表示为:

Y i = β 0 i + β 1 i X + ϵ i Y_i = \beta_{0i} + \beta_{1i}X + \epsilon_i Yi=β0i+β1iX+ϵi

其中 Y i Y_i Yi 是热解气体产量, β 0 i \beta_{0i} β0i 是截距, β 1 i \beta_{1i} β1i是混合比例的系数, ϵ i \epsilon_i ϵi是误差项。对于每个热解组合,都会有一个相应的模型。

  1. 最小二乘法参数估计:

    使用最小二乘法对每个热解组合的模型进行参数估计,得到相应的模型参数。

  2. 参数显著性检验:

    对于每个热解组合的模型,进行参数显著性检验,判断混合比例的系数是否显著不等于零。这可以通过 t 检验或 F 检验来实现。显著性检验结果将有助于确定混合比例是否对热解气体产量产生显著影响。

  3. 制作图像进行解释:

    对于每个热解组合,可以制作散点图或折线图,横轴是混合比例 (X),纵轴是相应的热解气体产量。这样的图像有助于直观地理解混合比对热解气体产量的影响。可以分别绘制每个气体的图像,也可以考虑绘制多个气体在同一图中进行对比。

  4. 模型评估:

    在建立模型后,进行模型评估,检查残差是否符合模型假设,如正态性、独立性和同方差性等。这有助于验证模型是否适用于给定数据。

import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt
import seaborn as sns# 读取数据
data = pd.read_excel('附件II.xlsx')# 遍历每个热解组合
for combination in data['热解组合'].unique():subset = data[data['热解组合'] == combination]# 数据预处理X = subset[['混合比例']]Y = subset[['H2', 'CO', 'CO2', 'CH4']]  # 假设有这些热解气体产量的数据# 添加截距项X = sm.add_constant(X)# 拟合回归模型model = sm.OLS(Y, X).fit()# 打印回归结果摘要print(f"\n热解组合: {combination}")print(model.summary())# 绘制残差图plt.figure(figsize=(12, 8))for i, gas in enumerate(Y.columns):plt.subplot(2, 2, i + 1)sns.residplot(x=model.predict(), y=model.resid, lowess=True, color='blue')plt.title(f'Residuals vs Fitted for {gas}')plt.xlabel('Fitted values')plt.ylabel('Residuals')

问题三

  1. 热解产物建模:

    a. 选择模型类型: 针对CE和LG两种模型类型,分别建立回归模型。对于热解产物(tar、water、char等),建立对应的回归模型,其中混合比例 (X) 是自变量。

    b. 数据预处理: 提取所需的数据,包括混合比例和热解产物的产量。对数据进行处理,确保数据质量和一致性。

    c. 回归模型建立: 使用最小二乘法拟合回归模型,建立混合比例与热解产物之间的关系。

    d. 模型评估: 检查模型的拟合效果,分析残差是否满足模型假设,如正态性、独立性和同方差性。

    e. 参数显著性检验: 对回归模型的参数进行显著性检验,判断混合比例的系数是否显著不等于零。

  2. 热解气体建模:

    a. 选择模型类型: 对于CE和LG两种模型类型,分别建立回归模型。对于热解气体(H2、CO、CO2、CH4等),建立对应的回归模型,其中混合比例 (X) 是自变量。

    b. 数据预处理: 提取所需的数据,包括混合比例和热解气体的产量。对数据进行处理,确保数据质量和一致性。

    c. 回归模型建立: 使用最小二乘法拟合回归模型,建立混合比例与热解气体之间的关系。

    d. 模型评估: 检查模型的拟合效果,分析残差是否满足模型假设,如正态性、独立性和同方差性。

    e. 参数显著性检验: 对回归模型的参数进行显著性检验,判断混合比例的系数是否显著不等于零。

  3. 结果解释与比较:

    a. 制作图像: 为每个模型制作图像,以直观展示混合比例对热解产物和热解气体的影响。可以考虑绘制散点图、折线图等。

    b. 参数比较: 比较两种模型中混合比例的系数,看是否存在显著差异。这有助于理解不同模型对热解产物和热解气体产量的影响是否相似。

    c. 模型解释: 解释模型中各项参数的物理或化学意义,帮助理解混合比例对热解产物和热解气体的具体影响机制。

    d. 总结结论: 对CE和LG的热解产物和热解气体建立的模型进行综合比较,总结各自特点,并得出对于相同硫脱灰灰作用下的热解过程的结论。

import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt
import seaborn as sns# 读取数据
data = pd.read_excel('附件III.xlsx')# 遍历每个模型类型
for model_type in data['模型类型'].unique():subset = data[data['模型类型'] == model_type]# 数据预处理X = subset[['混合比例']]Y = subset[['tar', 'water', 'char', 'H2', 'CO', 'CO2', 'CH4']]# 添加截距项X = sm.add_constant(X)# 拟合回归模型model = sm.OLS(Y, X).fit()# 打印回归结果摘要print(f"\n模型类型: {model_type}")print(model.summary())# 绘制残差图plt.figure(figsize=(12, 8))for i, component in enumerate(Y.columns):plt.subplot(2, 4, i + 1)sns.residplot(x=model.predict(), y=model.resid, lowess=True, color='blue')plt.title(f'Residuals vs Fitted for {component}')plt.xlabel('Fitted values')plt.ylabel('Residuals')plt.tight_layout()plt.show()# 参数显著性检验p_values = model.pvaluesprint("\n参数显著性检验:")for i in range(len(p_values)):print(f"参数 {model.params.index[i]} 的 p 值为 {p_values[i]}")# 模型评估print("\n模型评估:")print("平均残差:", model.resid.mean())print("残差标准差:", model.resid.std())# 绘制预测值与实际值的散点图plt.figure(figsize=(12, 8))for i, component in enumerate(Y.columns):plt.subplot(2, 4, i + 1)plt.scatter(X['混合比例'], Y[component], label=f"{component} 实际值")plt.plot(X['混合比例'], model.predict(X), label=f"{component} 预测值")plt.xlabel('混合比例')plt.ylabel(f'{component} 产量')

问题四

  1. 选择一级反应动力学模型:

    • 假设反应遵循一级反应动力学,即 A → B A \rightarrow B AB的简化反应。该模型的速率方程可表示为:

    − d [ A ] d t = k [ A ] -\frac{d[A]}{dt} = k[A] dtd[A]=k[A]

    这里,[A] 是反应物 A 的浓度,k 是速率常数。

  2. 数据预处理:

    • 提取实验数据,包括反应时间 (t) 和产物的浓度。确保数据质量,进行异常值处理和缺失值填充。
  3. 模型参数估计:

    • 使用最小二乘法拟合一级反应动力学模型,估计速率常数 (k)。

ln ⁡ ( [ A ] 0 / [ A ] ) = k t \ln([A]_0/[A]) = kt ln([A]0/[A])=kt

其中 [ A ] 0 [A]_0 [A]0是初始反应物 A 的浓度。

  1. 模型评估与 t 检验:

    • 检查模型的拟合效果,分析残差是否满足模型假设。
    • 进行 t 检验,检验速率常数k是否显著不等于零。如果 k 的 p 值小于显著性水平(通常设定为 0.05),则可以拒绝k=0的假设。
  2. 模型选择与比较:

    • 如果有其他可能的反应动力学模型,使用信息准则(如AIC、BIC)进行模型选择和比较。
  3. 预测与解释:

    • 利用建立的一级反应动力学模型进行预测,分析反应时间对产物浓度的影响。
    • 解释模型中的速率常数 k,了解反应动力学的化学或物理含义。
  4. 灵敏度分析:

    • 进行灵敏度分析,了解模型参数对预测结果的影响程度。
  5. 结果可视化:

    • 制作图表,展示建立的一级反应动力学模型在CE和LG反应过程中的拟合情况,以及反应时间与产物浓度之间的关系。
  6. 结论与讨论:

    • 总结对CE和LG的一级反应动力学建模结果,讨论模型的适用性、局限性和未来可能的改进方向。
import pandas as pd
import numpy as np
import statsmodels.api as sm
import matplotlib.pyplot as plt# 读取数据
data = pd.read_excel('反应动力学数据.xlsx')# 数据预处理
t = data['反应时间'].values
A_concentration = data['反应物浓度'].values# 添加截距项
t = sm.add_constant(t)# 拟合一级反应动力学模型
model = sm.OLS(np.log(A_concentration), t).fit()# 打印回归结果摘要
print(model.summary())

问题五

  1. 数据准备与理解:

    • 理解实验数据的特征和分布,确保数据集包括输入特征(如温度、时间、催化剂浓度)和目标变量(产物产量)。
    • 将数据分割为训练集和测试集。
  2. 特征选择与工程:

    • 选择合适的输入特征,可考虑使用领域知识和特征重要性分析。
    • 对特征进行必要的预处理,如归一化或标准化。
  3. 建立随机森林模型:

    • 使用训练集训练随机森林回归模型,可以使用Scikit-Learn中的RandomForestRegressor类。
    • 设置合适的超参数,如树的数量(n_estimators)。
  4. 模型评估:

    • 使用测试集评估模型性能,使用均方误差(MSE)等指标来评估预测效果。
  5. 特征重要性分析:

    • 随机森林提供了特征重要性的信息,可通过feature_importances_属性获取。
    • 分析特征重要性,了解哪些特征对于预测产物产量影响最大。
  6. 调参优化:

    • 调整随机森林的超参数,如树的深度、最小分割样本数等,以优化模型性能。
    • 可以使用交叉验证等技术进行调参。
  7. 结果可视化:

    • 将实际产物产量与模型预测进行可视化,通过散点图或其他图表比较两者。
  8. 模型解释与应用:

    • 解释模型的预测结果,了解各特征对产物产量的相对重要性。
    • 将模型应用于新数据集进行预测,如果性能满足要求,可以考虑部署模型到实际应用中。
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error
import matplotlib.pyplot as plt# 读取数据
data = pd.read_excel('热解产物数据.xlsx')# 数据预处理
X = data[['温度', '时间', '催化剂浓度']]  # 输入特征
y = data['产物产量']  # 目标变量# 分割数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 创建随机森林模型
model = RandomForestRegressor(n_estimators=100, random_state=42)# 训练模型
model.fit(X_train, y_train)# 预测测试集
predictions = model.predict(X_test)# 评估模型性能
mse = mean_squared_error(y_test, predictions)
print(f'Mean Squared Error: {mse}')# 可视化预测结果
plt.scatter(y_test, predictions)

更多完整思路+代码看这里:
2023 年 数维杯(B题)国际大学生数学建模挑战赛

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/193682.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云的99元服务器和腾讯云的88元云服务器选择哪个?怎么选?

近日,阿里云宣布在2023年双十一优惠活动中推出了一系列降价措施,使得同配置的云服务器比腾讯云更具竞争力。这一消息不仅在云计算领域引起了轰动,更为广大互联网用户提供了更为实惠的选择。 阿里云推出99元一年的服务器,续费价格…

[云原生2.] Kurbernetes资源管理 ---- (陈述式资源管理方式)

1. K8s管理资源的方法类别 1.1 陈述式资源管理方式 主要依赖命令行工具kubectl进行管理 可理解为使用一条命令和参数选项来实现资源的管理操作 1.2 声明式资源管理方式 主要依赖统一资源配置清单进行管理 可以理解为使用yaml配置文件的定义来实现资源的管理操作 1.3 GUI式…

算法-双指针-简单-移动零

记录一下算法题的学习2 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 2…

【分享】Excel“只读方式”的两种模式

查阅Excel表格的时候,担心不小心修改了内容,可以给Excel设置以“只读方式”打开,这样就算修改了内容也不能直接保存表格。Excel表格可以设置两种“只读方式”,一起来看看吧! “只读方式” 1: 打开Excel表…

华为 Mate 60 Pro 拆解:陆制零件比率上升至47% | 百能云芯

近日,日经新闻联合研究公司Fomalhaut Techno Solutions对华为 Mate 60 Pro 进行了拆解,揭示了这款于8月发布的新型智能手机的成本结构。拆解结果显示,该手机的国产零部件比例达到了47%,相较于三年前的 Mate 40 Pro,提高…

S25FL256S介绍及FPGA实现思路

本文介绍 S25FL256S 这款 FLASH 芯片,并进行 FPGA 读写控制的实现(编程思路及注意事项)。 文章目录 S25FL-S 介绍管脚功能说明SPI 时钟模式SDRDDR 工作模式FLASH存储阵列(地址空间映射)常用寄存器及相关指令Status Reg…

Android 14 Beta 1

Android 14的第一个 Beta 版,围绕隐私、安全、性能、开发人员生产力和用户定制等核心主题构建,同时继续改进平板电脑、可折叠设备等大屏幕设备的体验。我们一直在完善 Android 14 的功能和稳定性方面取得稳步进展,现在是时候向开发者和早期采…

mysql之搭建MHA架构实现高可用

1、定义 全称是masterhigh avaliabulity。基于主库的高可用环境下可以实现主从复制及故障切换(基于主从复制才能故障切换) MHA最少要求一主两从,半同步复制模式 2、作用 解决mysql的单点故障问题。一旦主库崩溃,MHA可以在0-30…

Elasticsearch:检索增强生成 (Retrieval Augmented Generation -RAG)

作者:JOE MCELROY 什么是检索增强生成 (RAG) 以及该技术如何通过提供相关源知识作为上下文来帮助提高 LLMs 生成的响应的质量。 生成式人工智能最近取得了巨大的成功和令人兴奋的成果,其模型可以生成流畅的文本、逼真的图像,甚至视频。 就语…

二叉树的创建与遍历

目录 前言: 二叉树的概念与结构 二叉树的链式存储 二叉树的创建 二叉树的销毁 二叉树结点个数计算 二叉树叶子结点个数计算 二叉树第k层节点个数的计算 二叉树高度的计算 二叉树查找值为x的结点 二叉树的遍历 二叉树的前序遍历 二叉树的中序遍历 二叉树…

代码随想录算法训练营第五十五天 | LeetCode 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结

代码随想录算法训练营第五十五天 | LeetCode 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总结 文章链接:两个字符串的删除操作、编辑距离、编辑距离总结 视频链接:两个字符串的删除操作、编辑距离 1. LeetCode 583. 两个字符串的删除操作 1.1 思…

计算机编程入门软件,计算机编程初学入门什么语言

计算机编程入门软件,计算机编程初学入门什么语言 给大家分享一款中文编程工具,零基础轻松学编程,不需英语基础,编程工具可下载。 这款工具不但可以连接部分硬件,而且可以开发大型的软件,象如图这个实例就是…

科研学习|研究方法——逻辑回归系数的显著性检验(python实现)

1. 背景 回归方程与回归系数的显著性检验 2. statsmodels 库 statsmodels库可以用来做逻辑回归、线性回归。并且会在summary中给出显著性检验的结果。最终我们想要的就是如下图的报告。 3. 计算过程 如果我们使用的sklearn构建的逻辑回归就没有办法直接输出这个报告&#xff0c…

swiper垂直方向全屏实现鼠标滚轮滚动一下切换一屏

效果 20231116092014 添加mousewheelControl: true,这个属性即可 <div class"swiper-container"><div class"swiper-wrapper"><div class"swiper-slide" > <div class"" style"height: 100%; background-…

如何使用iPhone15在办公室观看家里电脑上的4k电影?

如何使用iPhone15在办公室观看家里电脑上的4k电影&#xff1f; 文章目录 如何使用iPhone15在办公室观看家里电脑上的4k电影&#xff1f;1.使用环境要求&#xff1a;2.下载群晖videostation&#xff1a;3.公网访问本地群晖videostation中的电影&#xff1a;4.公网条件下使用电脑…

jenkins+centos7上传发布net6+gitlab

工作中实践了一下jenkins的操作&#xff0c;所以记录一下这次经验&#xff0c;没有使用到docker 先看下成果&#xff1a; 选择发布项目 选择要发布的分支 构建中 发布成功 开始 首先安装好jenkins并注册自己的jenkins账号 因为我们的项目代码管理使用的是gitlab&#xff0c…

使用python电脑轻量级控制手机—adb命令和手机投屏

文章目录 一、通过无线连接手机和电脑二、使用adb命令轻量级控制手机二、使用scrcpy控制手机 通过电脑控制手机有多种方式如appnium等&#xff0c;本文介绍的是两种轻量级的方案&#xff0c;使用adb命令刚和手机投屏。 一、通过无线连接手机和电脑 1、手机设置 开发者选项—us…

【视觉SLAM十四讲学习笔记】第二讲——初识SLAM

专栏系列文章如下&#xff1a; 【视觉SLAM十四讲学习笔记】第一讲 一个机器人&#xff0c;如果想要探索某一块区域&#xff0c;它至少需要知道两件事&#xff1a; 我在什么地方——定位周围环境是什么样——建图 一方面需要明白自身的状态&#xff08;即位置&#xff09;&#…

Spring Boot 整合xxl-job实现分布式定时任务

xxl-job介绍 XXL-JOB是一个分布式任务调度平台&#xff0c;其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线&#xff0c;开箱即用。 xxl是xxl-job的开发者大众点评的许雪里名称的拼音开头。 设计思想 将调度行为抽象形成“调度…

高频CSS面试题

给大家推荐一个实用面试题库 1、前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;web前端面试题库 BFC 块级格式上下文(block format context)是页面一块独立的渲染区域&#xff0c;具有一套独立的渲染规则 内部的…