当前位置: 首页 > news >正文

2023年五一杯数学建模C题双碳目标下低碳建筑研究求解全过程论文及程序

2023年五一杯数学建模

C题 双碳目标下低碳建筑研究

原题再现:

  “双碳”即碳达峰与碳中和的简称,我国力争2030年前实现碳达峰,2060年前实现碳中和。“双碳”战略倡导绿色、环保、低碳的生活方式。我国加快降低碳排放步伐,大力推进绿色低碳科技创新,以提高产业和经济的全球竞争力。
  低碳建筑是指在建筑材料与设备制造、施工建造和建筑物使用的整个生命周期内,减少化石能源的使用,提高能效,降低二氧化碳排放量。
请查找相关资料,解决以下问题:
  问题1:现在有一间长4米、宽3米、高3米的单层平顶单体建筑,墙体为砖混结构,厚度30厘米(热导系数 ),屋顶钢筋混凝土浇筑,厚度30厘米(热导系数 ),门窗总面积5平方(热导系数 ),地面为混凝土 (热导系数 )。该建筑物所处地理位置一年(按365天计算)的月平均温度(单位:摄氏度)见下表。
在这里插入图片描述
  假设该建筑物内温度需要一直保持在18-26度,在温度不适宜的时候要通过电来调节温度,消耗一度电相当于0.28千克碳排放。请计算该建筑物通过空调(假设空调制热性能系数COP为3.5,制冷性能系数EER为2.7)调节温度的年碳排放量。(尽量使用本题所给条件计算碳排放,不考虑其他损耗)
  问题2:在居住建筑的整个生命周期 (建造、运行、拆除)中,影响碳排放的因素有很多,如建筑设计标准、气候、建材生产运输、地区差异、建造拆除能耗、装修风格、使用能耗、建筑类型等。请查找、分析资料,建立数学模型,找出与上述因素相关度大且易于量化的指标,基于这些指标对居住建筑整个生命周期的碳排放进行综合评价。
  问题3:在问题2的基础上,分别考虑建筑生命周期三个阶段的碳排放问题,查找相关资料,建立数学模型,对2021年江苏省13个地级市的居住建筑碳排放进行综合评价,并对所建评价模型的有效性进行验证。
  问题4:准确的碳排放预测能够为制定减排政策、优化低碳建筑设计提供重要的参考依据。建立碳排放预测模型,基于江苏省建筑全过程碳排放的历史数据,对2023年江苏省建筑全过程的碳排放量进行预测。
  问题5:请结合前面的讨论给出江苏省建筑碳减排的政策建议。

整体求解过程概述(摘要)

  研究双碳背景下住宅建筑全生命周期碳排放,运用相关分析和主成分分析方法,建立灰色预测模型,旨在促进中国到2030年实现碳峰值,到2060年实现炭中和,促进低碳科技创新,提高人民生活水平。
  针对问题1:本课题研究了通过空调调节建筑物室内温度所产生的碳排放,基于导热系数与面积、厚度、温差的关系,建立了热传导数学模型,计算了不同月份建筑物的热流,得出空调年耗电量为1324.71kW,由于每千瓦的耗电量产生0.28kg的碳,通过空调调温的建筑物年碳排放量为370.9192kg。
  针对问题2:本课题综合评价了影响住宅建筑全生命周期碳排放的因素。施工阶段选择的指标包括降水量、气温、建筑能耗、建筑面积、建筑材料中的生铁和水泥用量、运营阶段的水耗、电耗和天然气耗、拆迁阶段的建筑垃圾。通过相关性分析,确定这10个指标的相关性大于0.3,表明所选指标与住宅建筑生命周期碳排放量具有一定的相关性。然后利用主成分分析方法,得到了10个指标的综合得分,其中建筑面积对住宅建筑碳排放的影响最大,得分为0.136。
  针对第三个问题,在第二个问题的基础上,对江苏省13个地级市的住宅建筑碳排放进行了综合评价。第二个问题是找到12个与碳排放相关的指标,使用Matlab对其进行主成分分析,绘制相关热力学图,并得到综合得分排名:南京碳排放量最多,宿迁最少。找到12个与碳排放相关的指标,使用Matlab对其进行主成分分析,绘制相关热力学图,得到综合得分排序为:南京、苏州、南通、无锡、常州、扬州、徐州、台州、盐城、淮安、连云港、镇江、宿迁,表明南京碳排放量最多,宿迁最少。
  对于问题4:基于江苏省建设全过程碳排放的历史数据,本课题对2023年的碳排放进行了预测。基于江苏省2015-2022年全建设过程碳排放的历史数据,利用灰色预测中的GM(1,1)模型,预测2023年江苏省全建设过程的碳排放量为155.76万吨。
  针对问题5:在分析前四个问题的基础上,从材料、施工、运营、拆迁指标、区域差异和碳排放发展趋势等方面提出了江苏省碳减排的建议,如适当增加墙体厚度、控制建筑面积和提高绿化率、减少建筑垃圾排放、平衡各区域经济发展。

模型假设:

  结合本题的实际,为确保模型求解的准确性和合理性,本文排除一些因素的干扰,提出以下几点假设:
  1.假设计算相关建筑的能耗,门窗面积对其无影响;
  2.假设计算建筑物热损失时不存在极端因素;
  3.在计算调节能耗时,假设空调调节不高于18度或低于26度。

问题分析:

  问题1分析
  问题1需要研究通过空调温度计算建筑物的年碳排放量。首先,由于空调有制冷和制热两种模式,不需要打开空调,十二个月分为三个部分。第一部分是:11月至4月,空调需要开启暖风;第二部分是6月至8月。空调需要开启冷风;第三部分是5月、9月和10月,不需要打开空调。如果高于26度,则需要调整到26度;对于低于18度的情况,需要打结到18度。地面、墙壁和屋顶的厚度为30cm,门窗面积太小。通过建筑物与外界换热功率与导热系数、接触面积、厚度和温差、建筑物传热热流、热流比和热(冷)性能系数的关系,可以计算出空调器的工作功率、空调器的电耗和年碳排放量。

  问题2分析
  问题2需要分析一些指标,以全面评估住宅建筑在其整个生命周期中的碳排放量。建筑物的整个生命周期包括三个阶段:建造、运营和拆除。本文寻找了2018年至2021年中国住宅建筑的年度碳排放量,并选取了10个指标,其中包括建设、运营和拆迁三个阶段的重要影响因素。首先,利用相关性分析来判断碳排放量与这六个指标之间是否存在相关性。然后利用主成分分析方法对数据进行降维,给出不同主成分对应贡献率的权重,最后得出各指标对碳排放的重要性。

  问题3分析
  问题3需要根据对问题2中获得的相关结果的分析,并考虑建筑生命周期三个阶段的相关排放,于2021年对江苏省13个地级市的住宅建筑的碳排放进行综合评估。寻找建筑生命周期三个阶段的相关指标,对相关指标采用主成分分析方法,使用Matlab制作相关热图,观察相关性,并对指标进行降维处理,最终确定主成分,通过贡献率对主成分赋权,得出13个地级市住宅建筑碳排放综合得分,并对其进行评价。

  问题4分析
  问题4要求基于江苏省建设全过程碳排放的历史数据,开展江苏省2023年建设全过程二氧化碳排放预测研究。查阅相关文献,找出江苏省历年住宅建筑碳排放量,利用灰色预测中的GM(1,1)模型对历年住宅建筑物碳排放量进行预测,得到2023年江苏省建筑全过程碳排放量。

  问题5分析
  在前面讨论的基础上,本课题提出了江苏省建筑碳减排的建议。为了实现我国双碳目标下的低碳建筑,应从多方面提出建议。通过问题1、问题2、问题3和问题4,可以分别得出材料对碳排放的影响、不同指标对碳排放量的影响、区域差异对碳排放总量的影响以及历年碳排放的发展趋势。

模型的建立与求解整体论文缩略图

在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

程序代码:

部分程序如下:
import numpy as np
import matplotlib.pyplot as plt
# 定义居住建筑碳排放模型
def building_carbon_emission_model(weight_coeff, index_values):return np.dot(weight_coeff, index_values)
# 设置模拟次数
n_simulations = 10000
# 设置权重系数概率分布范围(示例)
weight_coeff_dist = np.array([[0.2, 0.4],[0.3, 0.5],[0.1, 0.3],[0.2, 0.4]])
# 设置指标取值概率分布范围
index_values_dist = np.array([[10, 50],[20, 100],[5, 25],[10, 50]])
# 初始化存储模型输出的数组
model_outputs = np.zeros(n_simulations)
# 进行蒙特卡洛模拟
for i in range(n_simulations):# 对权重系数进行随机抽样weight_coeff_sample = np.random.uniform(weight_coeff_dist[:, 0], weight_coeff_dist[:, 1] # 对指标取值进行随机抽样index_values_sample = np.random.uniform(index_values_dist[:, 0], index_values_dist[:, 1])# 计算模型输出model_outputs[i] = building_carbon_emission_model(weight_coeff_sample, index_values_sample)
# 分析模型输出
mean_output = np.mean(model_outputs)
std_output = np.std(model_outputs)
confidence_interval = np.percentile(model_outputs, [2.5, 97.5])
print(f"Mean: {mean_output}")
print(f"Standard Deviation: {std_output}")
print(f"95% Confidence Interval: {confidence_interval}")
# 绘制模型输出的直方图
plt.hist(model_outputs, bins=50)
plt.xlabel("Carbon Emission")
plt.ylabel("Frequency")
plt.show()
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
from statsmodels.tsa.arima.model import ARIMA
from sklearn.metrics import mean_squared_error
import itertools# ACF和PACF图
plot_acf(df['log_emission_diff'])
plt.title('ACF')
plot_pacf(df['log_emission_diff'])
plt.title('PACF')
# 确定参数范围
p_range = range(0, 3)
d_range = range(0, 2)
q_range = range(0, 3)# 计算所有参数组合的AIC
best_aic = float('inf')
best_order = None
for p, d, q in itertools.product(p_range, d_range, q_range):if p == 0 and d == 0 and q == 0:continuetry:model = ARIMA(df['log_emission'], order=(p, d, q))results = model.fit()if results.aic < best_aic:best_aic = results.aicbest_order = (p, d, q)except:continue
print(f'Best ARIMA parameters: {best_order}, AIC: {best_aic}')
clear; clc
year = 2015:1:2022; %年份
x0 = [102.3 108.7 115.2 121.6 128.1 134.5 140.96 147.41] ;%原始数据序列
n = length(x0); 
year = year' ;
x0 = x0' ;%画出时序图,观察是否是以年份为度量的非负数据
figure(1) ;
plot(year, x0, 'o-') ;
grid on ;
set(gca,'xtick',year(1:1:end)) ; %设置x轴的间隔为1
xlabel('年份');  ylabel('碳排放量');%GM模型适用于数据较短的非负序列,所以要进行非负检验
ERROR = 0;  % 建立一个错误指标,一旦出错就指定为1
% 判断是否有负数元素,当然数据量要4~10期才考虑使用GM
if sum(x0<0) > 0  disp('原始数据有负值,不能使用GM')ERROR = 1;
end%进行准指数规律检验和进行级比检验
if ERROR == 0   disp('------------------------------------------------------------')disp('准指数规律检验')x1 = cumsum(x0);   % 一次累加rho = x0(2:end) ./ x1(1:end-1) ;   % 计算光滑度rho(k) = x0(k)/x1(k-1)% 画出光滑度的图形,并画上0.5的直线,表示临界值figure(2)plot(year(2:end),rho,'o-',[year(2),year(end)],[0.5,0.5],'-'); grid on;text(year(end-1)+0.2,0.55,'临界线')   % 在坐标(year(end-1)+0.2,0.55)上添加文本set(gca,'xtick',year(2:1:end))  % 设置x轴横坐标的间隔为1xlabel('年份');  ylabel('原始数据的光滑度');  % 给坐标轴加上标签disp(strcat('指标1:光滑比小于0.5的数据占比为',num2str(100*sum(rho<0.5)/(n-1)),'%'))disp(strcat('指标2:除去前两个时期外,光滑比小于0.5的数据占比为',num2str(100*sum(rho(3:end)<0.5)/(n-3)),'%'))disp('参考标准:指标1一般要大于60%, 指标2要大于90%,你认为本例数据可以通过检验吗?')flag = 1 ;endfor k = 2 : nlamda(k) = x0(k-1) / x0(k) ;if (lamda(k) < exp(-2 / (n+1)) || lamda(k) > exp(2 / (n+1)))disp('不通过级比检验!!!') ;flag = 0 ;endendif flag == 1disp('通过级比检验!!!') ;end
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

相关文章:

2023年五一杯数学建模C题双碳目标下低碳建筑研究求解全过程论文及程序

2023年五一杯数学建模 C题 双碳目标下低碳建筑研究 原题再现&#xff1a; “双碳”即碳达峰与碳中和的简称&#xff0c;我国力争2030年前实现碳达峰&#xff0c;2060年前实现碳中和。“双碳”战略倡导绿色、环保、低碳的生活方式。我国加快降低碳排放步伐&#xff0c;大力推进…...

信息安全工程师(57)网络安全漏洞扫描技术与应用

一、网络安全漏洞扫描技术概述 网络安全漏洞扫描技术是一种可以自动检测计算机系统和网络设备中存在的漏洞和弱点的技术。它通过使用特定的方法和工具&#xff0c;模拟攻击者的攻击方式&#xff0c;从而检测存在的漏洞和弱点。这种技术可以帮助组织及时发现并修补漏洞&#xff…...

练习题 - Scrapy爬虫框架 Spider Middleware 爬虫页中间件

在 web 爬虫开发中,Scrapy 是一个非常强大且灵活的框架,它可以帮助开发者轻松地从网页中提取数据。Scrapy 的下载器中间件(Downloader Middleware)是 Scrapy 处理下载请求和响应的一个重要组件。通过使用和编写下载器中间件,开发者可以自定义请求的处理过程,增加请求头信…...

探索C++的工具箱:双向链表容器类list(1)

引言 在C中&#xff0c;std::list 是一个标准库提供的容器类&#xff0c;属于C STL&#xff08;标准模板库&#xff09;。std::list 是一种独特而强大的容器&#xff0c;它使用双向链表结构来管理元素。无论是在处理动态数据集合&#xff0c;还是在需要频繁进行插入和删除操作时…...

大厂高频算法考点--单调栈

什么是单调栈&#xff1a; 单调栈就是借助一个栈&#xff0c;在仅仅使用当前栈的条件下&#xff0c;时间复杂度是N&#xff08;n&#xff09;,将每个节点最有离这他最近的大于或者是小于的数据返回&#xff0c;将已知数组的元素放到栈里。再自我实现的代码里面我们使用数组实现…...

Unity使用Git及GitHub进行项目管理

git: 工作区,暂存区(存放临时要存放的内容),代码仓库区1.初始化 git init 此时展开隐藏项目,会出现.git文件夹 2.减小项目体积 touch .gitignore命令 创建.gitignore文件夹 gitignore文件夹的内容 gitignore中添加一下内容 # This .gitignore file should be place…...

如何将本地 Node.js 服务部署到宝塔面板:完整的部署指南

文章简介&#xff1a; 将本地开发的 Node.js 项目部署到线上服务器是开发者常见的工作流程之一。在这篇文章中&#xff0c;我将详细介绍如何将本地的 Node.js 服务通过宝塔面板&#xff08;BT 面板&#xff09;上线。宝塔面板是一个强大的服务器管理工具&#xff0c;具有简洁的…...

SpringBoot项目启动报错:命令行太长解决

文章目录 SpringBoot项目启动报错&#xff1a;命令行太长解决1. 第一种方法1. 第二种方法1-1 旧版本Idea1-2 新版本Idea 3. 重新启动SpringBoot项目即可解决 SpringBoot项目启动报错&#xff1a;命令行太长解决 报错信息&#xff1a; 1. 第一种方法 1. 第二种方法 找到项目…...

使用Docker启动的Redis容器使用的配置文件路径等问题以及Python使用clickhouse_driver操作clickhouse数据库

一、使用Docker启动的Redis容器使用的配置文件路径等问题 1.docker启动的redis使用的配置文件路径是什么 使用docker搭建redis服务&#xff0c;本身redis启动的时候可以指定配置文件的&#xff0c; redis-server /指定配置文件路径/redis.conf。 但手上也没有一个redis配置文件…...

硬盘格式化后能恢复数据吗?4款好用的数据恢复软件,格式化后也能安心

咱们今天来谈谈一个挺烦人的问题——硬盘格式化后能恢复数据吗&#xff1f;别担心&#xff0c;能的&#xff01;只要你用对方法&#xff0c;就算硬盘被清空了&#xff0c;那些重要文件还是能找回来的。下面&#xff0c;我就给你们介绍几款超给力的数据恢复软件&#xff0c;让你…...

【选择C++游戏开发技术】

在选择C游戏开发技术时&#xff0c;以下几个因素是需要考虑的&#xff1a; 1. 游戏类型&#xff1a;不同类型的游戏可能需要不同的技术。例如&#xff0c;2D游戏通常采用基于精灵的引擎&#xff0c;而3D游戏通常采用基于物理模拟的引擎。根据游戏类型选择适合的技术是很重要的…...

Oracle数据库系统表空间过大,清理SYSTEM、SYSAUX表空间

一.前言 在oracle数据库中&#xff0c;system为系统表空间&#xff0c;存放着一些我们经常用到的系统表和视图&#xff0c;sysaux为辅助表空间&#xff0c;辅助着系统表空间。这两个表空间不宜添加数据文件&#xff0c;会使系统表空间过于臃肿&#xff0c;从而影响数据库的使用…...

LaTeX参考文献工具和宏包bibmap项目简介

LaTeX参考文献工具和宏包bibmap项目简介 LaTeX 中的参考文献生成方式主要有三种&#xff1a;第一种是手动写thebibliography环境的&#xff0c;第二种事基于bibtex程序的&#xff0c;第三种则是基于biblatex宏包和biber程序的。本文介绍的bibmap项目则提供了第四种方法。目前b…...

微软的 Drasi:一种轻量级的事件驱动编程方法

微软的开源数据变化处理平台有望提供一种全新的方式来构建和管理可产生持续事件流的云应用程序。 Microsoft Azure 孵化团队是微软超大规模云中比较有趣的组成部分之一。它介于传统软件开发团队和研究组织之间&#xff0c;致力于构建大规模分布式系统问题的解决方案。 这些解决…...

vue3 笔记-插槽

结构类似的模块&#xff0c;我们可以考虑用插槽&#xff0c;以便后续复用&#xff1a; 代码&#xff1a; 1.插槽 <script setup> defineProps({title: {required: true,type: String},number: {required: true,type: Number} }) </script><template><d…...

C# 字符串常用方法

文章目录 Length&#xff1a;获取字符串中字符的个数&#xff08;不包括末尾的空字符&#xff09;ToLower() 和 ToUpper()&#xff1a;将字符串转换为小写或大写形式Substring(int startIndex, int length)&#xff1a;从指定索引开始截取指定长度的子字符串Remove(int startIn…...

字节跳动青训营——入营考核解答(持续更新中~~~)

考核内容&#xff1a; 在指定的题库中自主选择不少于 15 道算法题并完成解题&#xff0c;其中题目难度分配如下&#xff1a; 简单题不少于 10 道中等题不少于 4 道困难题不少于 1 道 解答代码 8.进制求和转换&#xff08;难&#xff09; 代码实现&#xff1a; import jav…...

JavaWeb合集15-Apache POI

十五、Apache POI Apache POI是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是&#xff0c;我们可以使用POI在Java 序中对Miscrosoft Office各种文件进行读写操作。一般情况下&#xff0c;POI都是用于操作Excel文件。 使用场景&#xff1a;银行网银系统导出交…...

Threejs 实现3D 地图(01)创建基本场景

"d3": "^7.9.0", "three": "^0.169.0", "vue": "^3.5.10" <script setup> import { onMounted,ref } from vue import * as THREE from three import * as d3 from "d3"; //莫开托坐标 矫正地图…...

snmpdelta使用说明

1.snmpdelta介绍 snmpdelta命令是用来获取下一个节点的OID的值。 2.snmpdelta安装 1.snmpdelta安装 命令: yum -y install net-snmp net-snmp-utils [root@logstash ~]# yum -y install net-snmp net-snmp-utils Loaded plugins: fastestmirror Loading mirror speeds f…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...