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

2024年华中杯数学建模A题太阳能路灯光伏板的朝向设计问题解题全过程文档及程序

2024年华中杯数学建模

A题 太阳能路灯光伏板的朝向设计问题

原题再现

  太阳能路灯由太阳能电池板组件部分(包括支架)、LED灯头、控制箱(包含控制器、蓄电池)、市电辅助器和灯杆几部分构成。太阳能电池板通过支架固定在灯杆上端。太阳能电池板也叫光伏板, 它利用光伏效应接收太阳辐射能并转化为电能输出,经过充放电控制器储存在蓄电池中。太阳能辐射由直射辐射和散射辐射组成,其中直射辐射对聚集太阳能系统起到了至关重要的影响。大气层对太阳能直射辐射的衰减变化量与其辐射强度、所穿过的大气层厚度成正比,其中衰减系数(W/(m2/km))反映了一个地区大气层的透光性能。通常地球表面大气层厚度按1000公里计算,大气层可视为包裹地球的球壳。太阳光到达大气层外层上的平均太阳能辐射强度I0为1353W/m2。受地球运行轨道及太阳光传播的距离影响,大气层外层太阳能辐射强度随时间发生改变。附件sheet2给出了1-12月份大气层外层太阳能辐射强度具体数值。
  安装光伏板的朝向直接影响到光伏板获得太阳辐射能量的多少。光伏板的朝向包括方位角和水平仰角,方位角为光伏板的法线在水平面上的投影与正南方向的夹角。并按如下方法规定:如果一个光伏板朝向正南,那么它的方位角为零;如果一个光伏板朝向正东,那么它的方位角为90º ;如果一个光伏板朝向正西,那么它的方位角为−90º;水平仰角为光伏电池板平面与水平面的夹角。当太阳光线和光伏板的法线方向一致时,光伏板瞬时受到的太阳照射能量最大,否则会有余弦损失。
  某城区地处北纬30‘,35’,东经114‘19’,附件sheet1给出了该城区2023年5月23日晴天状况下测得地表水平面受到的太阳直射强度值。关于赤纬角、太阳高度角、太阳时角等相关概念,可参见全国大学生数学建模竞赛2012B 题附件6、2015A题讲解和2023A题附录。请在仅考虑太阳直射辐射的情况下建立数模,回答如下问题:
  1. 请计算2025年每月15日,在晴天条件下,该城区一块面积为1m2的光伏板朝向正南方且水平倾角分别为20‘、40’、60‘时受到的最大太阳直射强度和太阳直射辐射总能量;
  2. 如果光伏板受到的太阳直射辐射总能量最大时,可使路灯蓄电池储电量最大。请设计该城区固定安装太阳能光伏板的朝向,使光伏板在晴天条件下受到的太阳直射辐射日均总能量最大;
  3. 当光板受到太阳直射强度过低时,它转换电能的效率也很低;而当光伏板受到太阳直射强度过高时,它转换电能实现储电的效率也会受到限制。理想的情况是,光伏板受到太阳直射强度上午大于150W/m2、下午大于100W/m2的时间尽可能长,这样可以使路灯蓄电池的储电效率更高。综合考虑路灯蓄电池的储电效率高和储电量大这两个目标,请设计出光伏板固定安装的最优朝向,并计算晴天条件下光伏板受到的太阳直射辐射日均总能量和太阳直射辐射(上午大于150 W/m2、下午大于100W/m2)时长。

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

  对于问题一,大气层对太阳能直射辐射的衰减变化量与其辐射强度、所穿过的大气层厚度成正比。对此,我们通过分析太阳光线变化过程中的几何关系,建立了太阳辐射衰减模型。我们利用所给的5月23日地表太阳直射强度数据,确定了衰减系数的值。然后,我们通过分析太阳光线与倾斜面的关系,建立了倾斜面上的辐射模型。通过分析斜面上的瞬时太阳辐射强度变化规律,可以得到相应的最大辐射强度。每日太阳辐射总能量即为所建立的函数对时间的积分。但由于函数关系较为复杂,我们使用离散型数值积分方法进行近似计算,得到了比较符合实际的结果。
  对于问题二,需要设计出固定安装太阳能光伏板的朝向,使光伏板在晴天条件下受到的太阳直射辐射日均总能量最大。我们分别基于遗传算法和模拟退火算法建立了优化模型。遗传算法和模拟退火算法都是启发式搜索算法,在处理一些复杂的的优化问题时具有良好的鲁棒性和通用性。基于两种模型的计算结果,通过多维比较,我们确定了在该题背景下基于模拟退火算法的优化模型得出的解更优,确定了太阳能光伏板的水平方位角和倾角分别为−0.23◦,27.86◦。
  对于问题三,为了解决该多目标优化问题,我们在遗传算法的基础上,设计出基于精英策略的多目标非支配排序遗传算法NSGA-II。通过快速非支配排序算法识别出非支配个体,同时通过精英策略,将父代种群和子代种群合并,从合并后的种群中根据非支配排序和拥挤度选择个体组成新的父代种群,确保了优秀个体能够保留到下一代中,从而提高了算法的收敛速度和解的精度。根据NSGA-II 得出的最优解分布以及 Pareto 前沿面,我们采用 CRITIC 权重法来确定储电效率和储电量的权重,得到方位角为0.84◦,倾角 28.26◦, 日均总能量和相应时长为 4396.54W·h,9.27h。

模型假设:

  假设1 我们只考虑太阳直射辐射对太阳能光伏板工作的影响。
  解释. 直射辐射是太阳能辐射中最主要的部分,为了简化问题,我们不再考虑其他类型的辐射。
  假设2 我们忽略温度对太阳能光伏板发电效率的影响。
  解释. 温度过高会显著影响太阳能光伏板的发电效率,但由于缺乏相关信息且为使问题尽可能简化,我们在此问题中暂不考虑温度的影响。
  假设3 我们仅在晴天的情况下进行分析,计算并由此确定最佳朝向。
  解释. 由于阴雨天气及极端天气出现较为随机,难以准确预测未来的天气状况,故我们仅在晴天的前提下进行计算。
  假设4 我们所获得的5月23日地表太阳直射强度和1-12月份大气层外层太阳能辐射强度的数据是可靠的,且每年相同日期的太阳辐射强度规律是相同的。
  解释. 参考资料中建立的公式仅与一年中的具体日期与时间点有关,未涉及年份的计算,我们暂且忽略年度差异。

问题分析:

  对于问题一,首先我们假定我们所获得的5月23日地表太阳直射强度和1-12月份大气层外层太阳能辐射强度的数据是可靠的,且每年相同日期的太阳辐射强度规律是相同的。由此我们可以利用题目中所给的两个数据进行分析与计算。由题目背景信息可知,大气层对太阳能直射辐射的衰减变化量与其辐射强度、所穿过的大气层厚度成正比。随着时间的变化,太阳辐射强度和太阳光线所穿过的大气层厚度也会随之改变。对此,我们通过分析太阳光线变化过程中的几何关系,建立了太阳辐射衰减模型。我们利用所给的5月23日地表太阳直射强度数据,确定了衰减系数的值,并由此计算出特定时间穿过大气层后的太阳辐射强度。然后,我们通过分析太阳光线与倾斜面的关系,建立了倾斜面上的辐射模型。对于问题中给定斜面的倾角,我们得到了任意时刻斜面上的瞬时太阳辐射强度。通过分析斜面上的瞬时太阳辐射强度变化规律,我们可以得到相应的最大辐射强度。而我们发现每日太阳辐射总能量即为所建立的函数对时间的积分。但由于函数关系较为复杂,我们使用离散型数值积分方法进行近似计算,得到了比较符合实际的结果。
  对于问题二,需要在问题一建立的模型基础上,设计出固定安装太阳能光伏板的朝向,使光伏板在晴天条件下受到的太阳直射辐射日均总能量最大。依据问题背景,这是一个双变量单目标优化问题,又考虑到此题非线性等实际情况,我们分别基于遗传算法和模拟退火算法建立了优化模型。遗传算法和模拟退火算法都是启发式搜索算法,在处理一些复杂的的优化问题时具有良好的鲁棒性和通用性。基于两种模型的计算结果,通过多维比较,我们确定了在该题背景下基于模拟退火算法的优化模型得出的解更优,从而确定了符合实际的太阳能光伏板的水平方位角和倾角。
  对于问题三,需要在前两个问题建立的模型基础上,设计出同时能满足路灯蓄电池的储电效率高和储电量大两个目标的光伏板固定安装最优朝向。根据问题背景,储电效率与光伏板受到太阳直射强度上午大于150W/m2、下午大于100W/m2的时间呈正相关关系,储电量同光伏板受到的太阳直射辐射日均总能量呈正相关关系。因此为了解决该多目标优化问题,我们在遗传算法的基础上,设计出基于精英策略的多目标非支配排序遗传算法NSGA-II。算法的主要策略是通过快速非支配排序算法识别出非支配个体,即Pareto最优解。同时通过精英策略,即通过将父代种群和子代种群合并,然后从合并后的种群中根据非支配排序和拥挤度选择个体组成新的父代种群,确保了优秀个体能够保留到下一代中,从而提高了算法的收敛速度和解的精度。根据NSGAII 得出的最优解分布以及Pareto 前沿面,我们采用 CRITIC 权重法(一种比熵权法和标准离差法处理效果更优的客观赋权法)来确定储电效率和储电量的权重,从而得出比较符合实际问题答案。

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

在这里插入图片描述
在这里插入图片描述

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

部分程序代码:

import numpy as np
import math
K_legal = 0.0005624701263657791
I0=1334
b=6371
B=7371
phi=30.35
pi=3.1415926
standard_meridian=120
#计算光线直射穿过大气层长度
def calculate_length(phi, delta, omega, b, B):
phi_rad = np.radians(phi)
delta_rad = np.radians(delta)
omega_rad = np.radians(omega)
r_double_prime = b * np.cos(phi_rad - delta_rad)
L_1 = np.sqrt(B**2 - r_prime**2)
r_1 = r_double_prime * np.sin(omega_rad)
r_2 = r_double_prime * np.cos(omega_rad)
L_3 = np.sqrt(L_1**2 - r_1**2)
L_4 = L_3 - r_2
return L_4
#计算赤纬角
def calculate_declination(local_time):
day_of_year = local_time.timetuple().tm_yday
earth_tilt = 23.45
day_angle = 2 * np.pi * day_of_year / 365
sin_declination = np.sin(day_angle) * np.sin(np.radians(earth_tilt)) declination = np.degrees(np.arcsin(sin_declination))
return declination
#计算时角
def calculate_hour_angle(local_time):
time_difference = local_time - local_time.replace(hour=12, minute=0, second=0, microsecond=0) time_difference_in_hours = time_difference.total_seconds() / 3600
hour_angle = time_difference_in_hours * 15 # degrees
return hour_angle
#函数计算出日均太阳直射辐射强度比值
def Ra(x, y):
angle_x = np.radians(x) # 将角度转换为弧度
angle_y = np.radians(y) # 将角度转换为弧度
omega = calculate_hour_angle(local_time)
delta=calculate_declination(local_time)
phi1=math.radians(phi)
delta1=math.radians(delta)
omega1=math.radians(omega)
alpha=math.asin(math.sin(phi1)*math.sin(delta1)+math.cos(phi1)*math.cos(delta1)*math.cos( 
omega1))
if local_time.hour<12:
A = math.acos((math.sin(delta1) - math.sin(phi1) * math.sin(alpha)) / (math.cos(alpha) * math.cos(phi1)))
else:
A = math.acos((math.sin(delta1) - math.sin(phi1) * math.sin(alpha) ) / (math.cos(alpha)* math.cos(phi1)))
A=2*pi-A
Ra=-math.cos(alpha)*math.cos(A)*np.sin(angle_y)*np.cos(angle_x)+math.cos(alpha)*math.sin(A)*np
.sin(angle_x)*np.sin(angle_y)+np.cos(angle_y)*math.sin(alpha) 
if Ra<0:
Ra=0
return Ra
import mathfrom random import randomimport matplotlib.pyplot as pltfrom datetime import datetime, timedeltaimport numpy as np
K_legal = 0.0005624701263657791b=6371B=7371phi=30.35pi=3.1415926standard_meridian=120#计算光线直射穿过大气层长度def calculate_length(phi, delta, omega, b, B):phi_rad = np.radians(phi)delta_rad = np.radians(delta)omega_rad = np.radians(omega)r_prime = b * np.sin(phi_rad - delta_rad)r_double_prime = b * np.cos(phi_rad - delta_rad)L_1 = np.sqrt(B**2 - r_prime**2)r_1 = r_double_prime * np.sin(omega_rad)r_2 = r_double_prime * np.cos(omega_rad)L_3 = np.sqrt(L_1**2 - r_1**2)L_4 = L_3 - r_2return L_4#计算赤纬角def calculate_declination(local_time):day_of_year = local_time.timetuple().tm_ydayearth_tilt = 23.45 # Earth's tilt in degrees# Day angle in radiansday_angle = 2 * np.pi * day_of_year / 365# Calculating sin of declinationsin_declination = np.sin(day_angle) * np.sin(np.radians(earth_tilt))# Convert sin of declination to declination angle in degrees declination = np.degrees(np.arcsin(sin_declination))return declination
#计算时角def calculate_hour_angle(local_time):time_difference = local_time - local_time.replace(hour=12, minute=0, second=0, microsecond=0) time_difference_in_hours = time_difference.total_seconds() / 3600hour_angle = time_difference_in_hours * 15 # degreesreturn hour_angledef func(x,y):# 设置起始日期和结束日期sum2 = 0angle_x = np.radians(x) # 将角度转换为弧度angle_y = np.radians(y) # 将角度转换为弧度start_date = datetime(2024, 1, 1)end_date = datetime(2024, 12, 31)# 设置每天的起始时间和结束时间start_time_of_day = datetime(2024, 1, 1, 6, 00)end_time_of_day = datetime(2024, 1, 1, 19, 00)# 初始化一个列表来保存每一天的日期dates = []# 遍历每一天local_time = start_datewhile local_time <= end_date:dates.append(local_time.date()) # 只保存日期部分local_time += timedelta(days=1)# 现在,我们遍历每一天,并为每一天生成从早上8点到下午17点的每30分钟的时间点for date in dates:sum1 = 0local_time = datetime.combine(date, start_time_of_day.time())# print(local_time)while local_time <= datetime.combine(date, end_time_of_day.time()):# print(local_time)month_to_I0 = {1: 1405,2: 1394,3: 1378,4: 1353,5: 1334,6: 1316,7: 1308,
8: 1315,9: 1330,10: 1350,11: 1372,12: 1392}omega = calculate_hour_angle(local_time)delta = calculate_declination(local_time)phi1 = math.radians(phi)delta1 = math.radians(delta)omega1 = math.radians(omega)alpha = math.asin(math.sin(phi1) * math.sin(delta1) + math.cos(phi1) * math.cos(delta1) * math.cos( omega1))if local_time.hour < 12:A = math.acos((math.sin(delta1) - math.sin(phi1) * math.sin(alpha)) / (math.cos(alpha) * math. cos(phi1)))else:domain = (math.sin(delta1) - math.sin(phi1) * math.sin(alpha)) / (math.cos(alpha) * math.cos(phi1))if domain > 1:domain = 1if domain < -1:domain = -1A = math.acos(domain)A = 2 * pi - ARa1 = -math.cos(alpha) * math.cos(A) * np.sin(angle_y) * np.cos(angle_x) + math.cos( alpha) * math.sin(A) * np.sin(angle_x) * np.sin(angle_y) + np.cos(angle_y) * math.sin(alpha)if Ra1 < 0:Ra1 = 0if Ra1 > 1:Ra1 = 1I0 = month_to_I0.get(local_time.month)L = calculate_length(phi, delta, omega, b, B)I_values = I0 * np.exp(-K_legal * L) * Ra1# print(I_values)sum1 += I_values /2# 将当前时间增加30分钟local_time += timedelta(minutes=30)sum2 += sum1
return -sum2/365class SA:def __init__(self, func, iter=10, T0=100, Tf=2, alpha=0.9):self.func = funcself. iter = iter # 内循环迭代次数,即为L =100self.alpha = alpha # 降温系数,alpha=0.99self.T0 = T0 # 初始温度T0为100self.Tf = Tf # 温度终值Tf为0.01self.T = T0 # 当前温度self.x = [random() * 180 - 90 for i in range( iter)] # 随机生成100个x的值self.y = [random() * 90 for i in range( iter)] # 随机生成100个y的值self.most_best = []self.history = {'f': [], 'T': []}def generate_new(self, x, y): # 扰动产生新解的过程while True:x_new = x + self.T * (random() - random())y_new = y + self.T * (random() - random())if (-90 <= x_new <= 90) & (0 <= y_new <= 90):break # 重复得到新解,直到产生的新解满足约束条件return x_new, y_newdef Metrospolis(self, f, f_new): # Metropolis准则if f_new <= f:return 1else:p = math.exp((f - f_new) / self.T)if random() < p:return 1else:return 0def best(self): # 获取最优目标函数值f_list = [] # f_list数组保存每次迭代之后的值for i in range(self. iter):f = self.func(self.x[i], self.y[i])f_list.append(f)f_best = min(f_list)idx = f_list.index(f_best)return f_best, idx # f_best,idx分别为在该温度下,迭代L次之后目标函数的最优解和最优解的下 标
def run(self):count = 0# 外循环迭代,当前温度小于终止温度的阈值while self.T > self.Tf:# 内循环迭代100次for i in range(self. iter):f = self.func(self.x[i], self.y[i]) # f为迭代一次后的值x_new, y_new = self.generate_new(self.x[i], self.y[i]) # 产生新解 f_new = self.func(x_new, y_new) # 产生新值if self.Metrospolis(f, f_new): # 判断是否接受新值self.x[i] = x_new # 如果接受新值,则把新值的x,y存入x数组和y数组 self.y[i] = y_new# 迭代L次记录在该温度下最优解ft, _ = self.best()self.history['f'].append(ft)self.history['T'].append(self.T)# 温度按照一定的比例下降(冷却)self.T = self.T * self.alphacount += 1# 得到最优解print(self.T)f_best, idx = self.best()print(f"F={f_best}, x={self.x[idx]}, y={self.y[idx]}")sa = SA(func)sa.run()plt.plot(sa.history['T'], sa.history['f'])plt.title('SA')plt.xlabel('T')plt.ylabel('f')plt.gca().invert_xaxis()plt.show()
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

相关文章:

2024年华中杯数学建模A题太阳能路灯光伏板的朝向设计问题解题全过程文档及程序

2024年华中杯数学建模 A题 太阳能路灯光伏板的朝向设计问题 原题再现 太阳能路灯由太阳能电池板组件部分&#xff08;包括支架&#xff09;、LED灯头、控制箱&#xff08;包含控制器、蓄电池&#xff09;、市电辅助器和灯杆几部分构成。太阳能电池板通过支架固定在灯杆上端。…...

Spring Cloud Zookeeper 快速入门demo

1.什么是Spring Cloud Zookeeper &#xff1f; Spring Cloud Zookeeper 是一个用于构建分布式系统的工具&#xff0c;它利用 Apache Zookeeper 提供的服务来实现服务注册与发现、配置管理、负载均衡等功能。具体来说&#xff0c;Spring Cloud Zookeeper 可以做以下几件事情&am…...

防火墙有什么作用

防火墙的作用&#xff1a;1. 提供网络安全防护&#xff1b;2. 实施访问控制和流量过滤&#xff1b;3. 检测和阻止恶意攻击&#xff1b;4. 保护内部网络免受未经授权的访问&#xff1b;5. 监控网络流量和安全事件&#xff1b;6. 支持虚拟专用网络&#xff08;VPN&#xff09;。防…...

使用aspx,完成一个转发http的post请求功能的api接口,url中增加目标地址参数,传递自定义header参数

使用aspx&#xff0c;完成一个转发http的post请求功能的api接口&#xff0c;url中增加目标地址参数&#xff0c;传递自定义header参数 首先&#xff0c;简单实现一下&#xff0c;如何在ASPX页面中实现这个功能实现代码说明&#xff1a;注意事项&#xff1a; 然后进阶&#xff0…...

ES使用script进行复杂排序

es数据字段&#xff0c;关注_source内容&#xff0c;为自定义的es表字段内容 {"clerk_id": 3150036230,"clerk_follow_status": 60,"create_time": 1729156110000,"channel": 1,"mid": 1538020071,"binlog_timestamp&…...

大数据技术Kafka详解 ② | Kafka基础与架构介绍

目录 1、kafka的基本介绍 2、kafka的好处 3、分布式发布与订阅系统 4、kafka的主要应用场景 4.1、指标分析 4.2、日志聚合解决方法 4.3、流式处理 5、kafka架构 6、kafka主要组件 6.1、producer(生产者) 6.2、topic(主题) 6.3、partition(分区) 6.4、consumer(消费…...

观察者模式的理解和实践

引言 在软件开发中&#xff0c;设计模式是开发者们为了解决常见的设计问题而总结出来的一系列最佳实践。观察者模式&#xff08;Observer Pattern&#xff09;是其中一种非常经典且使用率极高的设计模式。它主要用于定义对象之间的一对多关系&#xff0c;使得当一个对象的状态发…...

Web3.0:连接分布式未来的纽带

随着技术的不断进步&#xff0c;Web3.0正逐渐成为人们关注的焦点。作为Web的下一代&#xff0c;Web3.0将引领我们进入一个全新的数字时代&#xff0c;重新定义了我们与互联网的关系 Web3.0&#xff0c;也称为“分布式Web”&#xff0c;是互联网的下一代演进。它不仅是信息的传…...

鸿蒙Next通过oss上传照片到阿里云

前言 最近在写纯血鸿蒙的APP&#xff0c;需要用到oss上传照片&#xff0c;之前的客户端 Android 和 IOS 都已经实现了&#xff0c;获取的阿里云签名的上传地址是服务端实现的&#xff0c;相信大部分公司都是这样的模式&#xff0c;服务端也是调用阿里云的SDK来实现的&#xff…...

微信小程序实现图片拖拽调换位置效果 -- 开箱即用

在编写类似发布朋友圈功能的功能时&#xff0c;需要实现图片的拖拽排序&#xff0c;删除图片等功能。 一、效果展示 **博主的小程序首页也采用了该示例代码&#xff0c;可以在威信中搜索&#xff1a;我的百宝工具箱 二、示例代码 1.1、在自己的小程序中创建组件 1.2、组件…...

Django异步视图adrf解决办法

提问 在Django编写异步视图的时候会出现 AssertionError: Expected a Response, HttpResponse or HttpStreamingResponse to be returned from the view 或者 TypeError: sync_to_async can only be applied to sync functions. 诸如此类的错误的时候一般发生在异步视图中…...

C++:类和对象(2)

1. 类的默认成员函数&#xff1a; 类的默认成员函数就是用户没有显示实现&#xff0c;编译器会自动生成的成员函数称为默认成员函数。一个类&#xff0c;我们不写的情况下编译器会默认生成6个默认成员函数&#xff08;构造函数&#xff0c;析构函数&#xff0c;拷贝构造函数&a…...

.NET用C#导入Excel数据到数据库

将Excel文件中的数据导入到数据库中不仅能够提升数据处理的效率和准确性&#xff0c;还能极大地促进数据分析和决策制定的过程。尤其在企业级应用中&#xff0c;Excel作为数据输入和初步整理的工具非常普遍&#xff0c;但其功能对于复杂查询、大规模数据管理和跨部门的数据共享…...

市场上显卡型号需求分析

两个平台统计&#xff1a;&#xff08;关键词统计&#xff0c;仅做参考&#xff09; GPU型号&#xff5c;平台 github(提交量/万) huggingface&#xff08;模型量/个&#xff09; H100 6.6 210 A100 17.2 483 V100 14.4 484 4090 27.3 31 3090 11.1 92 在git…...

IO模型分类

IO模型分类 简单了解 阻塞I/O 当用户程序执行read&#xff0c;线程被阻塞&#xff0c;等待两个过程&#xff0c;内核数据准备好和数据从内核态拷贝到用户态。read才返回 非阻塞I/O 非阻塞的read请求在还没准备好数据就返回&#xff0c;期间程序不断轮询内核直到数据准备完…...

使用API有效率地管理Dynadot域名,查看域名优惠信息

前言 Dynadot是通过ICANN认证的域名注册商&#xff0c;自2002年成立以来&#xff0c;服务于全球108个国家和地区的客户&#xff0c;为数以万计的客户提供简洁&#xff0c;优惠&#xff0c;安全的域名注册以及管理服务。 Dynadot平台操作教程索引&#xff08;包括域名邮箱&…...

QT 中 QMessageBox 的简单用法

效果 思路 // 创建一个question弹出对话框&#xff0c;添加两个按钮&#xff1a;Yes和NoQMessageBox *box new QMessageBox(QMessageBox::Question, "提示", "确认删除的信息吗&#xff1f;", QMessageBox::Yes | QMessageBox::No, this);box->button(…...

2024-12-6-sklearn学习(4) 支持向量机 吴楚东南坼,乾坤日夜浮。

文章目录 sklearn学习(4) 支持向量机4.1 分类4.1.1 多元分类4.1.2 得分和概率4.1.3 非均衡问题 4.2 回归4.3 密度估计, 异常&#xff08;novelty&#xff09;检测4.4 复杂度4.5 使用诀窍(Tips on Practical Use)4.6 核函数4.6.1 自定义核4.6.1.1 使用 python 函数作为内核4.6.1…...

Linux 正确关机方式详解

在Linux系统中&#xff0c;正确地关机是一个重要的操作&#xff0c;它不仅影响到系统的数据完整性&#xff0c;还可能影响到其他用户的工作。本文将详细介绍Linux系统中的各种关机方式&#xff0c;包括它们的使用场景和具体命令。 为什么需要正确关机 在DOS和Windows系统中&a…...

React Portals 有什么用

React Portals是React提供的一种机制&#xff0c;它允许开发者将组件渲染到DOM树中的不同位置&#xff0c;而不受组件层次结构的限制。React Portals的主要用途和优势包括以下几个方面&#xff1a; 用途和优势 处理全局UI元素 React Portals允许将UI元素渲染到应用的根DOM之外…...

光学偏振的基础知识

前言与目录 XXX 目录 一、 二、 三、 一、总结 光的偏振 光具有三个基本特性&#xff0c;即波长、强度和偏振。光的波长很容易理解&#xff0c;以常见的可见光为例&#xff0c;波长范围为380~780nm。光的强度也很容易理解&#xff0c;一束光的强弱可以通过功率的大小来表征…...

小程序 - 计算器

小程序交互练习 - 计算器小程序 目录 计算器 功能描述 准备工作 创建项目 配置导航栏 创建utils目录 math.js文件内容 calc.js文件内容 页面内容 页面样式内容 页面脚本事件 功能截图 总结 计算器 在日常生活中&#xff0c;计算器是人们广泛使用的工具&#xff0…...

软件架构:从传统单体到现代微服务的技术演变

1.引言 在软件开发中&#xff0c;架构设计不仅仅是程序员的技术任务&#xff0c;它更是一个项目成功的关键。无论是小型应用还是大型分布式系统&#xff0c;软件架构都直接影响着系统的可维护性、可扩展性、性能和稳定性。理解软件架构的必要性&#xff0c;能够帮助开发人员做…...

CTF之密码学(rot密码)

ROT加密算法&#xff0c;也被称为Caesar加密&#xff0c;是一种简单的字母替换加密算法。以下是对ROT加密算法的详细介绍&#xff1a; 一、基本原理 ROT加密算法通过将字母表中的每个字母向后&#xff08;或向前&#xff09;移动固定的位置来加密文本。选择一个固定的偏移量&…...

linux安装nodejs管理器,并配置node、npm 软链接

一&#xff0c;安装nodejs管理器 注意——不同版本&#xff0c;可能有问题 亲测这个版本&#xff0c;安装后&#xff0c;npm正常使用——v20.10.0 二&#xff0c;配置软链接——快速访问——不要多些空格&#xff08;会出现invalid option错误&#xff09; ln -s /www/server…...

Linux 环境下 PostgreSQL 常用命令操作指南

在 Linux 系统中&#xff0c;PostgreSQL 配备了一系列实用命令以进行数据库操作。具体如下&#xff1a; 注意事项&#xff1a;若采用 docker 部署&#xff0c;需预先进入 docker 容器。 进入 docker 容器命令&#xff1a; docker exec -it 容器名 bash 向容器内复制本地文件命…...

Implicit style-content separation using lora

1.Introduction 图像风格化,这个任务涉及根据某些风格参考改编图像的风格,这些参考可以是基于文本或基于图像的,同时保持其内容不变,内容指的是图像的语义信息和结构,而风格通常指的是视觉特征和模式,例如颜色和纹理。这是一个有挑战的任务,因为风格和内容之间的强关联…...

网易博客旧文-----如何在WINDOWS下载安卓(android)源代码并和eclipse做关联

如何在WINDOWS下载安卓&#xff08;android&#xff09;源代码并和eclipse做关联 2013-02-05 17:27:16| 分类&#xff1a; 安卓开发 | 标签&#xff1a; |举报 |字号大中小 订阅 编写安卓程序时&#xff0c;有时想看看安卓某些类的实现&#xff0c;但默认情况下环境是不带的。…...

Qt入门9——绘图

基本概念 虽然Qt已经内置了很多的控件,但是不能保证现有控件就可以应对所有场景. 很多时候我们需要更强的"DIY"能力&#xff1b; Qt 提供了画图相关的API,可以允许我们在窗口上绘制任意的图形形状,来完成更复杂的界面设计。 绘图api核心类&#xff1a; 类说明QPaint…...

漫画之家系统:Spring Boot框架下的漫画版权保护

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&a…...

K8S服务突然中断无法访问:报The node had condition: [DiskPressure]异常

一、背景 程序在运行过程中&#xff0c;突然无法访问&#xff0c;发现后台接口也无法访问&#xff1b;查看kuboard&#xff0c;发现报如下异常&#xff1a;The node had condition: [DiskPressure]. 继续查看磁盘使用率&#xff0c;发现系统盘使用率已经高达93%。问题前后呼应…...

5.11【机器学习】

先是对图像进行划分 划分完后&#xff0c; 顺序读取文件夹&#xff0c;在文件夹里顺序读取图片&#xff0c; 卷积层又称为滤波器&#xff0c;通道是说滤波器的个数&#xff0c;黑白通道数为1&#xff0c;RGB通道个数为3 在输入层&#xff0c;对于输入层而言&#xff0c;滤波…...

JavaWeb开发12

登陆拦截 会话技术 会话&#xff1a;用户打开浏览器&#xff0c;访问web服务器的资源&#xff0c;会话建立&#xff0c;直到有一方断开连接&#xff0c;会话结束。在一次会话中可以包含多次请求和响应 会话跟踪&#xff1a;一种维护浏览器状态的方法&#xff0c;服务器需要识…...

《乌合之众》笔记

1.集体会降智&#xff0c;会互相传染 2.群体是无名氏&#xff0c;因此没必要承担责任。约束个人的责任感消失 3.有意识人格的消失&#xff0c;无意识人格的得势&#xff0c;思想和感情因为暗示和互相传染而转向一个共同的方向&#xff0c;以及立刻把暗示的观念转化为行动的倾…...

[241206] X-CMD 发布 v0.4.15:env 升级,mirror 支持华为/腾讯 npm 镜像,pb-wayland 剪贴板

目录 X-CMD 发布 v0.4.15&#x1f4c3;Changelog&#x1f4e6; env|pkg&#x1fa9e; mirror&#x1f4d1; pb&#x1f3a8; theme|starship|ohmyposh&#x1f916; chat&#x1f4dd; man✅ 升级指南 X-CMD 发布 v0.4.15 &#x1f4c3;Changelog &#x1f4e6; env|pkg 新增…...

Vue前端开发-路由跳转及带参数跳转

在Vue 3中&#xff0c;由于没有实例化对象this&#xff0c;因此&#xff0c;无法通过this去访问 $route对象&#xff0c;而是通过导入一个名为 useRouter 的方法&#xff0c;执行这个方法后&#xff0c;返回一个路由对象&#xff0c;通过这个路由对象就可以获取到当前路由中的信…...

AI赋能:构建安全可信的智能电子档案库

在档案的政策与法规上&#xff0c;《中华人民共和国档案法》2020年修订新增&#xff0c;对电子档案的合法要件、地位和作用、安全管理要求和信息化系统建设等方面作出了明确规定&#xff0c;保障数字资源的安全保存和有效利用。 日前&#xff0c;国家档案局令第22号公布《电子…...

时间序列绘图1

用到的包 #时间序列预测 library(forecast) #数据可视化 library(ggplot2) #包含《Forecasting: Principles and Practice》第三版中使用的数据集和函数 library(fpp3)时间序列图 #提取1990年及以后的零售贸易职位的数据&#xff0c;并选择月份和就业人数 us_employment |>…...

云计算.运维.面试题

1、计算机能直接识别的语言( C )。 A、汇编语言 B、自然语言 C、机器语言 D、高级语言 2、应用软件是指( D )。 A、所有能够使用的软件 B、能被各应用单位共同使用的某种软件 C、所有计算机上都应使用的基本软件D、专门为某一应用目的而编制的软件 3、计算机的显示器是一…...

Bootstrap-HTML(三)Bootstrap5列表组全解析

Bootstrap-HTML&#xff08;三&#xff09;Bootstrap5列表组全解析 前言&#xff08;一&#xff09;HTML 列表基础回顾1.无序列表2.有序列表3.定义列表 二、无样式的有序列表和无序列表内联列表 三、Bootstrap5 列表组1.基础的列表组2.设置禁用和活动项3.链接项的列表组4.移除列…...

黑马程序员MybatisPlus/Docker相关内容

Day01 MP相关知识 1. mp配置类&#xff1a; 2.条件构造器&#xff1a; 具体的实现例子&#xff1a; ①QuerryWapper&#xff1a; ②LambdaQueryWrapper: 3.MP的自定义SQL 4.MP的Service层的实现 5.IService下的Lambda查询 原SQL语句的写法&#xff1a; Lambda 查询语句的…...

01_Node.js入门 (黑马)

01_Node.js入门 知识点自测 从 index.js 出发&#xff0c;访问到 student/data.json 的相对路径如何写? A&#xff1a;../public/teacher/data.json B&#xff1a;./public/student/data.json C&#xff1a;../student/data.json <details><summary>答案</sum…...

在Java中使用Apache POI导入导出Excel(六)

本文将继续介绍POI的使用&#xff0c;上接在Java中使用Apache POI导入导出Excel&#xff08;五&#xff09; 使用Apache POI组件操作Excel&#xff08;六&#xff09; 43、隐藏和取消隐藏行 使用 Excel&#xff0c;可以通过选择该行&#xff08;或行&#xff09;来隐藏工作表…...

黑马微服务开发与实战学习笔记_MybatisPlus_P2核心功能

系列博客目录 文章目录 系列博客目录Part1:条件构造器案例 基于QueryWrapper的查询案例 基于UpdateWrapper的查询条件构造器的用法总结 Part2:自定义SQL案例1案例2解决方案 Part3:IService接口IService接口基本用法实战案例准备工作开始基本用法实战IService的Lambda查询实战 批…...

华为云域名网站修改DNS服务器教程

修改单个域名的DNS服务器 登录域名注册控制台。 进入“域名列表”页面。 在域名列表中,单击“域名”列的待修改DNS服务器的域名。 进入域名信息页面。 图1 域名信息 在域名信息页面,单击“DNS服务器”后的“修改”,进入“修改DNS服务器”页面。 图2 修改DNS服务器 在…...

Redis 基础、Redis 应用

Redis 基础 什么是 Redis&#xff1f; Redis &#xff08;REmote DIctionary Server&#xff09;是一个基于 C 语言开发的开源 NoSQL 数据库&#xff08;BSD 许可&#xff09;。与传统数据库不同的是&#xff0c;Redis 的数据是保存在内存中的&#xff08;内存数据库&#xf…...

三分钟掌握MySQL-MVCC底层原理

MVCC介绍 mvcc是mysql为了解决脏读、不可重复读等事务之间读写问题而诞生的&#xff1b;它替代了一些场景下的低效锁&#xff0c;在保证隔离性的基础上&#xff0c;提升了读取效率和并发性。 MVCC实现 在mysql中mvcc是基于mysql的undo log和readview来实现的。 undo log 在…...

CSS 快速上手

目录 一. CSS概念 二. CSS语法 1. 基本语法规范 2. CSS的三种引入方式 (1) 行内样式 (2) 内部样式表 (3) 外部样式表 3. CSS选择器 (1) 标签选择器 (2) 类选择器 (3) id选择器 (4) 通配符选择器 (5) 复合选择器 <1> 空格 <2> 没有空格 <3> &q…...

51c视觉~YOLO~合集4

我自己的原文哦~ https://blog.51cto.com/whaosoft/12512597 1、Yolo8 1.1、检测PCB元件 技术世界正在以惊人的速度发展&#xff0c;而这种转变的核心是一个革命性的工具 — 计算机视觉。它最有趣的应用之一是电子印刷电路板 &#xff08;PCB&#xff09; 的检测和分析。本文…...

深入浅出:PHP函数的定义与使用

文章目录 前言什么是函数定义函数语法示例 调用函数示例 参数传递按值传递示例按引用传递示例默认参数示例可变数量的参数示例 返回值示例 变量作用域全局作用域示例局部作用域示例静态作用域示例 匿名函数示例闭包示例 递归函数示例 内置函数常见内置函数示例 用户自定义函数示…...