【数学建模】相关系数

第一部分:相关系数简介

  • 总体与样本
    • 总体:指研究对象的全体,比如全国人口普查数据。
    • 样本:从总体中抽取的一部分个体,如通过问卷调查收集的学生数据。
  • 皮尔逊相关系数
    • 总体皮尔逊相关系数:衡量两个变量之间的线性相关性。它是将两个变量标准化后的协方差,消除了量纲的影响。
    • 样本皮尔逊相关系数:与总体相关系数类似,但在计算时分母为(n-1)而不是(n),这是为了更好地估计总体相关系数。
  • 相关性可视化:通过绘制散点图来直观展示两个变量之间的相关性。

第二部分:皮尔逊相关系数的理解误区

  • 理解误区
    • 非线性相关:即使两个变量之间存在强烈的非线性关系,皮尔逊相关系数也可能很小。
    • 离群点的影响:单个离群点可能会导致相关系数的显著变化。
    • 相关性不代表因果关系:即使两个变量高度相关,也不一定存在因果联系。
    • 零相关性:相关系数为0并不意味着变量之间没有任何关系,可能存在着非线性关系。

第三部分:皮尔逊相关系数的假设检验

  • 假设检验:用于判断两个变量之间的相关性是否显著,即是否真的存在线性相关而非偶然出现。
    • 拒绝域:在假设检验中,如果计算出的统计量落入拒绝域,则拒绝原假设。
    • 接受域:如果统计量落在接受域内,则接受原假设。
  • p值判断法:一种更加直观的检验方法,通过比较计算出的p值与预设的显著性水平(如0.05),来判断是否拒绝原假设。

第四部分:计算各列之间的相关系数及p值

  • 相关系数表:显示了不同变量之间的相关性强度。
  • 显著性标记:用来表示相关系数的显著性水平,如***表示p值小于0.01,**表示p值小于0.05等。

第五部分:皮尔逊相关系数假设检验的条件

  • 条件
    • 正态分布:数据应当成对来自于正态分布的总体。
    • 数据差距:数据之间的差距不能太大,以减少异常值的影响。
    • 独立抽样:样本之间应该是独立的。

第六部分:正态分布检验

  • JB检验(大样本):适用于样本量较大的情况,通过比较样本的偏度和峰度与正态分布的偏度和峰度来进行检验。
  • Shapiro-Wilk检验(小样本):适用于较小的样本量(通常为3到50),用于检验数据是否符合正态分布。
  • Q-Q图:通过比较数据点与理论正态分布的分位数,来直观判断数据是否接近正态分布。

第七部分:操作步骤总结

  • Excel中的美化步骤
    • 调整单元格格式为正方形。
    • 设置文本居中对齐。
    • 使用条件格式中的色阶功能来突出相关系数的高低。
    • 编辑条件格式规则以实现更精细的控制。

小结

通过上述内容,我们可以了解到皮尔逊相关系数的计算和应用,以及如何在实际数据分析中使用它来评估变量之间的线性相关性,并进行相应的假设检验。此外,我们还了解到了如何利用统计软件和Excel来处理数据,以及如何通过图形化的方式直观地展示数据和结果。

function [ R , P ]= fun_spearman(X, kind)  
% % 输入值:% X: m*n维数据矩阵,每一行表示一个样本,每一列表示一个指标;且 m >=30 以及 n >= 2 % kind=1: 单侧检验;kind=2: 双侧检验 (不输入默认为2)
% % 返回值:% R: 斯皮尔曼相关系数矩阵(n*n维)% P: 对应的p值矩阵(n*n维)if nargin == 1  % 判断用户输入的参数,如果只输入了一个参数,则默认kind = 2kind = 2;end[m,n] = size(X); % 计算样本个数和指标个数if m < 30  % 判断是否样本数太少disp('样本个数少于30,请直接查临界值表进行假设检验')elseif n <2  % 判断是否指标数太少disp('指标个数太少,无法计算')elseif kind ~= 1 && kind ~= 2 % 判断kind是否为1或者2disp('kind只能取1或者2')else  % 如果上述输入均没问题的话就执行下面的操作R = ones(n); % 初始化R矩阵P = ones(n); % 初始化P矩阵for i = 1: nfor j = (i+1): n   % 这样设置循环只计算主对角线上半部分的值r = calculate_r(X(:, i), X(:, j));  % 用子函数 calculate_r 计算i和j两列的相关系数rp = calculate_p(r, m, kind); % 用子函数 calculate_p 计算p值R(i, j) = r;  R(j, i) = r;  % 把计算出来的相关系数r填充到我们的R矩阵中,注意R矩阵对称P(i, j) = p; P(j, i) = p;  % 把计算出来的p值填充到我们的P矩阵中,注意P矩阵对称endendendend% % 注意:代码文件仅供参考,一定不要直接用于自己的数模论文中
% % 国赛对于论文的查重要求非常严格,代码雷同也算作抄袭
% % 视频中提到的附件可在售后群(购买后收到的那个无忧自动发货的短信中有加入方式)的群文件中下载。包括讲义、代码、我视频中推荐的资料等。
% % 关注我的微信公众号《数学建模学习交流》,后台发送“软件”两个字,可获得常见的建模软件下载方法;发送“数据”两个字,可获得建模数据的获取方法;发送“画图”两个字,可获得数学建模中常见的画图方法。另外,也可以看看公众号的历史文章,里面发布的都是对大家有帮助的技巧。
% % 购买更多优质精选的数学建模资料,可关注我的微信公众号《数学建模学习交流》,在后台发送“买”这个字即可进入店铺(我的微店地址:https://weidian.com/?userid=1372657210)进行购买。
% % 视频价格不贵,但价值很高。单人购买观看只需要58元,三人购买人均仅需46元,视频本身也是下载到本地观看的,所以请大家不要侵犯知识产权,对视频或者资料进行二次销售。
% % 如何修改代码避免查重的方法:https://www.bilibili.com/video/av59423231(必看)
function [p]= calculate_p(r, m, kind)
% % 输入值:% r:斯皮尔曼相关系数% m: 样本个数% kind: 1表示单侧检验 2表示双侧检验
% % 返回值:% p:计算出来的p值z = abs(r) * sqrt(m-1); % 计算检验值  注意这里的相关系数我们先转换为正数再进行计算p = (1 - normcdf(z)) * kind; % 计算p值,双侧检验的p值是单侧检验的2倍end% % 注意:代码文件仅供参考,一定不要直接用于自己的数模论文中
% % 国赛对于论文的查重要求非常严格,代码雷同也算作抄袭
% % 视频中提到的附件可在售后群(购买后收到的那个无忧自动发货的短信中有加入方式)的群文件中下载。包括讲义、代码、我视频中推荐的资料等。
% % 关注我的微信公众号《数学建模学习交流》,后台发送“软件”两个字,可获得常见的建模软件下载方法;发送“数据”两个字,可获得建模数据的获取方法;发送“画图”两个字,可获得数学建模中常见的画图方法。另外,也可以看看公众号的历史文章,里面发布的都是对大家有帮助的技巧。
% % 购买更多优质精选的数学建模资料,可关注我的微信公众号《数学建模学习交流》,在后台发送“买”这个字即可进入店铺(我的微店地址:https://weidian.com/?userid=1372657210)进行购买。
% % 视频价格不贵,但价值很高。单人购买观看只需要58元,三人购买人均仅需46元,视频本身也是下载到本地观看的,所以请大家不要侵犯知识产权,对视频或者资料进行二次销售。
% % 如何修改代码避免查重的方法:https://www.bilibili.com/video/av59423231(必看)
function [r]= calculate_r(X, Y)
% % 输入值:% X: 列向量% Y: 列向量,且与X同维度
% % 返回值:% r: X和Y的斯皮尔曼相关系数(第一种定义方法)RX = rank_data(X);  % 调用自定义函数 rank_data 来计算X的等级RY = rank_data(Y);  % 调用自定义函数 rank_data 来计算Y的等级d = RX - RY; % 计算X和Y等级差n = size(X,1); % 计算样本个数nr = 1 - (6 * sum(d .* d)) / (n * (n^2-1));  % 利用公式计算斯皮尔曼相关系数end% % 注意:代码文件仅供参考,一定不要直接用于自己的数模论文中
% % 国赛对于论文的查重要求非常严格,代码雷同也算作抄袭
% % 视频中提到的附件可在售后群(购买后收到的那个无忧自动发货的短信中有加入方式)的群文件中下载。包括讲义、代码、我视频中推荐的资料等。
% % 关注我的微信公众号《数学建模学习交流》,后台发送“软件”两个字,可获得常见的建模软件下载方法;发送“数据”两个字,可获得建模数据的获取方法;发送“画图”两个字,可获得数学建模中常见的画图方法。另外,也可以看看公众号的历史文章,里面发布的都是对大家有帮助的技巧。
% % 购买更多优质精选的数学建模资料,可关注我的微信公众号《数学建模学习交流》,在后台发送“买”这个字即可进入店铺(我的微店地址:https://weidian.com/?userid=1372657210)进行购买。
% % 视频价格不贵,但价值很高。单人购买观看只需要58元,三人购买人均仅需46元,视频本身也是下载到本地观看的,所以请大家不要侵犯知识产权,对视频或者资料进行二次销售。
% % 如何修改代码避免查重的方法:https://www.bilibili.com/video/av59423231(必看)

这段代码提供了计算斯皮尔曼相关系数及其对应的p值的功能。下面是代码的详细解释和拓展:

主函数 fun_spearman

该函数接收一个数据矩阵 X 和一个可选参数 kind,返回斯皮尔曼相关系数矩阵 R 和对应的p值矩阵 P

参数说明
  • X: m×n 维数据矩阵,每一行表示一个样本,每一列表示一个指标。
  • kind: 检验类型,1表示单侧检验,2表示双侧检验,默认为2。
返回值
  • R: 斯皮尔曼相关系数矩阵(n×n维)。
  • P: 对应的p值矩阵(n×n维)。
函数逻辑
  1. 参数检查:
    • 如果只输入了一个参数,则默认 kind = 2
    • 检查样本个数是否至少为30。
    • 检查指标个数是否至少为2。
    • 检查 kind 是否为1或2。
  1. 初始化输出矩阵:
    • 创建 RP 矩阵,并将其所有元素初始化为1。
  1. 计算相关系数和p值:
    • 遍历所有可能的指标对,计算斯皮尔曼相关系数和p值。
    • 使用 calculate_rcalculate_p 子函数来计算相关系数和p值。
    • 将计算结果填入 RP 矩阵中。

子函数 calculate_r

该函数用于计算斯皮尔曼相关系数。

参数说明
  • X: 列向量。
  • Y: 列向量,与 X 同维度。
返回值
  • r: 斯皮尔曼相关系数。
函数逻辑
  1. 计算等级:
    • 使用 rank_data 函数计算 XY 的等级。
  1. 计算等级差:
    • 计算等级之间的差异 d
  1. 计算相关系数:
    • 使用斯皮尔曼相关系数的定义公式计算相关系数 r

子函数 calculate_p

该函数用于计算p值。

参数说明
  • r: 斯皮尔曼相关系数。
  • m: 样本个数。
  • kind: 检验类型,1表示单侧检验,2表示双侧检验。
返回值
  • p: p值。
函数逻辑
  1. 计算检验值:
    • 计算检验值 z,其中相关系数 r 被转换为正值。
  1. 计算p值:
    • 使用标准正态分布累积分布函数 normcdf 计算单侧p值。
    • 对于双侧检验,将单侧p值乘以2得到最终的p值。

子函数 rank_data

该函数用于计算向量的等级。

参数说明
  • data: 输入向量。
返回值
  • rankedData: 输出等级向量。
函数逻辑
  1. 排序:
    • 对输入向量进行排序。
  1. 计算等级:
    • 计算每个元素的等级。

使用示例

假设我们有一个数据矩阵 X,包含多组观测值。

X = [3 5 6 1; 7 8 2 4; 2 4 8 9; 1 3 9 2];  % 示例数据
[R, P] = fun_spearman(X);
disp(R);  % 显示斯皮尔曼相关系数矩阵
disp(P);  % 显示p值矩阵

注意事项

  • 该代码仅供学习参考,不应用于正式的研究或竞赛提交,以免造成代码雷同。
  • 在实际使用时,需要自行修改代码以避免与他人雷同。
  • 代码中的 rank_data 函数未给出实现细节,这里可以使用MATLAB内置的 rank 函数或其他方法来实现。

扩展说明

  • 如果需要对等级进行平局处理(例如,多个相同数值的等级分配),可以在 rank_data 函数中加入相应的逻辑。
  • 可以添加更多的错误处理逻辑,比如当输入矩阵不是二维时抛出错误。
  • 可以增加更多的输出信息,如在计算过程中打印进度条等,方便用户了解程序运行状态。

在数学建模中,相关系数是一种重要的统计工具,用于衡量两个变量之间的关联程度。相关系数可以帮助我们理解数据集中的变量是如何相互作用的,这对于预测模型的建立和解释是非常有用的。以下是几种常用的相关系数及其在数学建模中的应用说明:

1. 皮尔逊相关系数(Pearson correlation coefficient)

皮尔逊相关系数衡量的是两个变量之间的线性相关性。它的值范围是 ([-1, 1]),其中:

  • 1 表示完全正相关;
  • -1 表示完全负相关;
  • 0 表示没有线性相关性。
计算公式

[ r = \frac{\sum (X_i - \bar{X})(Y_i - \bar{Y})}{\sqrt{\sum (X_i - \bar{X})2 \sum (Y_i - \bar{Y})2}} ]
其中,(\bar{X}) 和 (\bar{Y}) 分别是 (X) 和 (Y) 的平均值。

应用场景
  • 用于分析变量间的线性关系。
  • 用于特征选择,帮助识别哪些变量对预测目标变量最有价值。
  • 用于检测模型中的多重共线性问题。

2. 斯皮尔曼等级相关系数(Spearman's rank correlation coefficient)

斯皮尔曼等级相关系数是一种非参数统计方法,用于衡量两个变量之间的单调关系。它适用于数据不是正态分布的情况,或当数据以等级形式给出时。

计算公式

[ r_s = 1 - \frac{6 \sum d_i2}{n(n2-1)} ]
其中,(d_i) 是第 (i) 个观测值中 (X) 和 (Y) 的等级差,(n) 是观测值的数量。

应用场景
  • 用于非正态分布的数据。
  • 用于数据中存在异常值的情况。
  • 用于检测两个变量之间的非线性关系。

3. 肯德尔秩相关系数(Kendall's tau correlation coefficient)

肯德尔秩相关系数也是衡量两个变量之间顺序关系的一种方法,适用于分类变量或等级数据。

计算公式

[ \tau = \frac{(\text{number of concordant pairs}) - (\text{number of discordant pairs})}{\frac{1}{2} n(n-1)} ]
其中,(n) 是观测值的数量。

应用场景
  • 用于评委对选手的评分等场景。
  • 用于医院的尿糖化验报告等场景。

4. 相关系数的假设检验

无论是皮尔逊相关系数还是斯皮尔曼等级相关系数,通常都需要进行假设检验来确定相关系数是否显著。常用的假设检验方法包括t检验和秩和检验。

t检验
  • 用于皮尔逊相关系数的假设检验。
  • 通常情况下,如果p值小于0.05,则认为相关系数显著。
秩和检验
  • 用于斯皮尔曼等级相关系数的假设检验。
  • 同样,如果p值小于0.05,则认为相关系数显著。

实现代码示例

以下是一个简单的MATLAB代码示例,用于计算斯皮尔曼等级相关系数及其对应的p值:

function [ R , P ] = fun_spearman(X, kind)
% 输入值:
% X: m*n维数据矩阵,每一行表示一个样本,每一列表示一个指标;且 m >=30 以及 n >= 2
% kind=1: 单侧检验;kind=2: 双侧检验 (不输入默认为2)if nargin == 1  % 判断用户输入的参数,如果只输入了一个参数,则默认kind = 2kind = 2;
end[m,n] = size(X); % 计算样本个数和指标个数if m < 30  % 判断是否样本数太少error('样本个数少于30,请直接查临界值表进行假设检验');elseif n <2  % 判断是否指标数太少error('指标个数太少,无法计算');elseif kind ~= 1 && kind ~= 2 % 判断kind是否为1或者2error('kind只能取1或者2');else  % 如果上述输入均没问题的话就执行下面的操作R = ones(n); % 初始化R矩阵P = ones(n); % 初始化P矩阵for i = 1: nfor j = (i+1): n   % 这样设置循环只计算主对角线上半部分的值r = calculate_r(X(:, i), X(:, j));  % 用子函数 calculate_r 计算i和j两列的相关系数rp = calculate_p(r, m, kind); % 用子函数 calculate_p 计算p值R(i, j) = r;  R(j, i) = r;  % 把计算出来的相关系数r填充到我们的R矩阵中,注意R矩阵对称P(i, j) = p; P(j, i) = p;  % 把计算出来的p值填充到我们的P矩阵中,注意P矩阵对称endend
end% 子函数 calculate_r
function [r]= calculate_r(X, Y)
% 输入值:
% X: 列向量
% Y: 列向量,且与X同维度
% 返回值:
% r: X和Y的斯皮尔曼相关系数(第一种定义方法)RX = rank_data(X);  % 调用自定义函数 rank_data 来计算X的等级
RY = rank_data(Y);  % 调用自定义函数 rank_data 来计算Y的等级
d = RX - RY; % 计算X和Y等级差
n = size(X,1); % 计算样本个数n
r = 1 - (6 * sum(d .* d)) / (n * (n^2-1));  % 利用公式计算斯皮尔曼相关系数end% 子函数 calculate_p
function [p]= calculate_p(r, m, kind)
% 输入值:
% r:斯皮尔曼相关系数
% m: 样本个数
% kind: 1表示单侧检验 2表示双侧检验
% 返回值:
% p:计算出来的p值z = abs(r) * sqrt(m-1); % 计算检验值  注意这里的相关系数我们先转换为正数再进行计算
p = (1 - normcdf(z)) * kind; % 计算p值,双侧检验的p值是单侧检验的2倍end% 子函数 rank_data
function rankedData = rank_data(data)
% 计算等级
sortedIndices = sortrows(data);
ranks = (1:size(data,1))';
rankedData = ranks(sortedIndices);
end

使用示例

假设我们有一组数据 X,我们可以这样调用上面定义的函数来计算斯皮尔曼相关系数和p值:

X = [3 5 6 1; 7 8 2 4; 2 4 8 9; 1 3 9 2];  % 示例数据
[R, P] = fun_spearman(X);
disp(R);  % 显示斯皮尔曼相关系数矩阵
disp(P);  % 显示p值矩阵

通过这种方式,你可以轻松地在数学建模项目中应用相关系数分析来探索变量之间的关系。

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

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

相关文章

Linux 8250串口控制器

1 8250串口类型的识别 Intel HW都使用DesignWare 8250&#xff1a; drivers/mfd/intel-lpss-pci.c drivers/tty/serial/8250/8250_dw.c IIR寄存器的高2位bit7、bit6用来识别8250串口的类型&#xff1a; 0 - 8250&#xff0c;无FIFO 0 - 并且存在SCR&#xff08;Scratch registe…

安科瑞Acrel-1000DP分布式光伏监控系统平台的设计与应用-安科瑞 蒋静

针对用户新能源接入后存在安全隐患、缺少有效监控、发电效率无法保证、收益计算困难、运行维护效率低等通点&#xff0c;提出的Acrel-1000DP分布式光伏监控系统平台&#xff0c;对整个用户电站全面监控&#xff0c;为用户实现降低能源使用成本、减轻变压器负载、余电上网&#…

如何构建大数据治理平台,助力企业数据决策

建设背景 &#xff08;1&#xff09;什么是数据资产 资产由企业及组织拥有和控制&#xff0c;能够提供增值服务、带来经济利益的重要资源。 资产不但需要管理&#xff0c; 更需要运营。 &#xff08;2&#xff09;数据资产运营中的问题 数据资产运营中存在的问题主要包括以下…

CANopen协议的理解

本文的重点是对CANopen协议的理解&#xff0c;不是编程实现 参考链接 canopen快速入门 1cia301协议介绍_哔哩哔哩_bilibili CANopen是什么&#xff1f; CANopen通讯基础&#xff08;上&#xff09;_哔哩哔哩_bilibili CANopen概述 图1. CAN报文标准帧的格式 CAN的报文可简单…

docker-compose 部署 flink

下载 flink 镜像 [rootlocalhost ~]# docker pull flink Using default tag: latest latest: Pulling from library/flink 762bedf4b1b7: Pull complete 95f9bd9906fa: Pull complete a880dee0d8e9: Pull complete 8c5deab9cbd6: Pull complete 56c142282fae: Pull comple…

Redis搭建集群

功能概述 Redis Cluster是Redis的自带的官方分布式解决方案&#xff0c;提供数据分片、高可用功能&#xff0c;在3.0版本正式推出。 使用Redis Cluster能解决负载均衡的问题&#xff0c;内部采用哈希分片规则&#xff1a; 基础架构图如下所示&#xff1a; 图中最大的虚线部分…

路由器WAN口和LAN口有什么不一样?

“ 路由器WAN口和LAN口的区别&#xff0c;WAN是广域网端口&#xff0c;LAN是本地网端口。WAN主要用于连接外部网络&#xff0c;而LAN用来连接家庭内部网络&#xff0c;两者主要会在标识上面有区别。以往大部分路由器的WAN只有一个&#xff0c;LAN口则有四个或以上&#xff0c;近…

《深度学习》—— 神经网络基本结构

前言 深度学习是一种基于神经网络的机器学习算法&#xff0c;其核心在于构建由多层神经元组成的人工神经网络&#xff0c;这些层次能够捕捉数据中的复杂结构和抽象特征。神经网络通过调整连接各层的权重&#xff0c;从大量数据中自动学习并提取特征&#xff0c;进而实现预测或…

Banana Pi BPI-SM9 AI 计算模组采用算能科技BM1688芯片方案设计

产品概述 香蕉派 Banana Pi BPI-SM9 16-ENC-A3 深度学习计算模组搭载算能科技高集成度处理器 BM1688&#xff0c;功耗低、算力强、接口丰富、兼容性好。支持INT4/INT8/FP16/BF16/FP32混合精度计算&#xff0c;可支持 16 路高清视频实时分析&#xff0c;灵活应对图像、语音、自…

Python面试宝典第48题:找丑数

题目 我们把只包含质因子2、3和5的数称作丑数&#xff08;Ugly Number&#xff09;。比如&#xff1a;6、8都是丑数&#xff0c;但14不是&#xff0c;因为它包含质因子7。习惯上&#xff0c;我们把1当做是第一个丑数。求按从小到大的顺序的第n个丑数。 示例 1&#xff1a; 输入…

基于MinerU的PDF解析API

基于MinerU的PDF解析API - MinerU的GPU镜像构建 - 基于FastAPI的PDF解析接口支持一键启动&#xff0c;已经打包到镜像中&#xff0c;自带模型权重&#xff0c;支持GPU推理加速&#xff0c;GPU速度相比CPU每页解析要快几十倍不等 主要功能 删除页眉、页脚、脚注、页码等元素&…

uniapp使用高德地图设置marker标记点,后续根据接口数据改变某个marker标记点,动态更新

最近写的一个功能属实把我难倒了,刚开始我请求一次数据获取所有标记点,然后设置到地图上,然后后面根据socket传来的数据对这些标记点实时更新,改变标记点的图片或者文字, 1:第一个想法是直接全量替换,事实证明这样不行,会很卡顿,有明显闪烁感,如果标记点比较少,就十几个可以用…

【网络安全】-rce漏洞-pikachu

rce漏洞包含命令执行漏洞与代码执行漏洞 文章目录 前言 什么是rce漏洞&#xff1f; 1.rce漏洞产生原因&#xff1a; 2.rce的分类&#xff1a; 命令执行漏洞&#xff1a; 命令拼接符&#xff1a; 常用函数&#xff1a; 代码执行漏洞&#xff1a; 常用函数&#xff1a; 分类&…

信号与线性系统综合实验

文章目录 一、实验目的二、实验内容及其结果分析&#xff08;一&#xff09;基础部分&#xff08;二&#xff09;拓展部分&#xff08;三&#xff09;应用设计部分 三、心得体会 一、实验目的 1、掌握连续时间信号与系统的时域、频域综合分析方法&#xff1b;   2、掌握运用M…

SAP B1 单据页面自定义 - 用户界面编辑字段

背景 接《SAP B1 基础实操 - 用户定义字段 (UDF)》&#xff0c;在设置完自定义字段后&#xff0c;如下图&#xff0c;通过打开【用户定义字段】可打开表单右侧的自定义字段页。然而再开打一页附加页面操作繁复&#xff0c;若是客户常用的定义字段&#xff0c;也可以把这些用户…

JMM 指令重排 volatile happens-before

在单线程程序中&#xff0c;操作系统会通过编译器优化重排序、指令级并行重排序、内存系统重排序三个步骤对源代码进行指令重排&#xff0c;提高代码执行的性能。 但是在多线程情况下&#xff0c;操作系统“盲目” 地进行指令重排可能会导致我们不想看到的问题&#xff0c;如经…

2024第三届大学生算法大赛 真题训练2 解题报告 | 珂学家 | FFT/NTT板子

前言 题解 D是FFT板子题&#xff0c;这么来看&#xff0c;其实处于ACM入门题&#xff0c;哭了T_T. D. 行走之谜 思路: FFT 如果你知道多项式乘法&#xff0c;继而知道FFT&#xff0c;那题纯粹就是板子题&#xff0c;可惜当时比赛的时候&#xff0c;无人AC。 这题来简单抽象…

物联网之PWM呼吸灯、脉冲、LEDC

MENU 前言原理硬件电路设计软件程序设计analogWrite()函数实现呼吸灯效果LEDC输出PWM信号 前言 学习制作呼吸灯&#xff0c;通过LED灯的亮度变化来验证PWM不同电压的输出。呼吸灯是指灯光在单片机的控制之下完成由亮到暗的逐渐变化&#xff0c;感觉好像是人在呼吸。 原理 脉冲宽…

【中秋月饼系列】2024年立体月饼新鲜出炉----python画月饼(1)附完整代码

【中秋月饼系列】2024年立体月饼新鲜出炉 ----python画月饼&#xff08;1&#xff09;附完整代码 本文目录&#xff1a; 零、时光宝盒 一、2024年中秋节立体逼真月饼&#xff08;效果展示&#xff09; 二、Python 海龟画图主要方法 &#xff08;1&#xff09;海龟画图的主…

学习大数据DAY56 业务理解和第一次接入

作业1 1 了解行业名词 ERP CRM OA MES WMS RPA SAAS 了解每个系统的功能和应用 ERP 系统&#xff0c;&#xff08;Enterprise Resource Planning&#xff0c;企业资源计划系统&#xff09;&#xff1a;ERP 系统 是一种用于管理企业各类资源的软件系统&#xff0c;包括生产管理…