• 基于Matlab求解高教社杯全国大学生数学建模竞赛(CUMCM2012A题)-葡萄酒的评价(源码+数据)


    题目

    确定葡萄酒质量时一般是通过聘请一批有资质的评酒员进行品评。每个评酒员在对葡萄酒进行品尝后对其分类指标打分,然后求和得到其总分,从而确定葡萄酒的质量。酿酒葡萄的好坏与所酿葡萄酒的质量有直接的关系,葡萄酒和酿酒葡萄检测的理化指标会在一定程度上反映葡萄酒和葡萄的质量。附件1给出了某一年份一些葡萄酒的评价结果,附件2和附件3分别给出了该年份这些葡萄酒的和酿酒葡萄的成分数据。请尝试建立数学模型讨论下列问题:c

    • 1.分析附件1中两组评酒员的评价结果有无显著性差异,哪一组结果更可信?
    • 2.根据酿酒葡萄的理化指标和葡萄酒的质量对这些酿酒葡萄进行分级。
    • 3.分析酿酒葡萄与葡萄酒的理化指标之间的联系。
    • 4.分析酿酒葡萄和葡萄酒的理化指标对葡萄酒质量的影响,并论证能否用葡萄和葡萄酒的理化指标来评价葡萄酒的质量?

    附件1:葡萄酒品尝评分表(含4个表格)
    附件2:葡萄和葡萄酒的理化指标(含2个表格)
    附件 3:葡萄和葡萄酒的芳香物质(含4个表格)

    第一问思路

    1.分析附件1中两组评酒员的评价结果有无显著性差异,哪一组结果更可信?

    首先获取红葡萄酒评分数据的大小,并定义一个常数K1。然后,通过循环计算每个样品的总得分,并将结果保存在SX1和SX2中。接着,计算每组样品得分的均值,保存在Mean1和Mean2中。最后,计算检验值,保存在S1和T1中。

    然后,代码进行白葡萄酒的T检验计算过程。与红葡萄酒的计算过程类似,只是数据来源是白葡萄酒评分数据,并且定义了不同的常数K2。

    最后,代码显示和比较结果。首先定义了一些常数a和b作为阈值,然后绘制了红酒和白酒的T检验值与阈值的对比图。最后,输出了两组品酒师对红酒和白酒的平均显著性T检验值。

    第二问思路

    2.根据酿酒葡萄的理化指标和葡萄酒的质量对这些酿酒葡萄进行分级。

    首先,代码准备了需要的数据,即红葡萄酒评分数据(X1和X2)。

    接下来,代码计算每组品酒师对每个样品的方差。首先获取红葡萄酒评分数据的大小,并定义一个常数K。然后,通过循环计算每个样品的总得分,并将结果保存在SX1和SX2中。接着,计算每个样品的平均得分u0。最后,计算方差,保存在SD1和SD2中。

    然后,代码显示和比较结果。首先,将每组方差的总和保存在TSD中。然后,绘制红葡萄酒评分方差的图像,分别显示一组方差和二组方差。最后,输出一组和二组对红葡萄酒总方差的计算结果。

    第三问思路

    3.分析酿酒葡萄与葡萄酒的理化指标之间的联系。

    首先,代码准备了需要的数据,即样本数据矩阵X。

    接下来,代码使用k-Means聚类法确定最佳的聚类数。通过循环,计算不同聚类数下的轮廓值,并保存在silh_m中。然后,绘制不同聚类数对应的平均轮廓值的图像。接着,绘制2至5类时的轮廓值分布图,以帮助选择最佳的聚类数。

    然后,代码进行K-means聚类过程,并将结果显示出来。使用kmeans函数对数据进行聚类,并获取聚类结果的索引和聚类中心。然后,根据聚类结果的索引,提取同一类别的样本编号,并绘制聚类结果的图像。最后,输出聚类结果,包括每个类别的中心点和样本编号。

    接着,代码进行层次聚类分析。通过pdist函数计算样本间的欧式距离,然后使用linkage函数创建系统聚类树,最后绘制聚类树形图。

    最后,代码使用Fuzzy C-means聚类方法对数据进行聚类,并将结果显示出来。使用fcm函数对数据进行模糊C均值聚类,获取聚类中心和隶属度矩阵。然后,根据隶属度矩阵,提取每个类别的样本编号,并绘制聚类结果的图像。

    第四问思路

    4.分析酿酒葡萄和葡萄酒的理化指标对葡萄酒质量的影响,并论证能否用葡萄和葡萄酒的理化指标来评价葡萄酒的质量?

    首先,代码准备了需要的数据,即葡萄酒的理化指标数据(A)。

    接下来,代码对数据进行标准化处理。通过循环,计算每个指标的标准化值,并保存在SA中。

    然后,代码计算相关系数矩阵的特征值和特征向量。使用corrcoef函数计算相关系数矩阵,使用eig函数计算特征值和特征向量。

    接着,代码选择主成分及对应的特征向量。根据设定的主成分信息保留率T,通过循环找到满足累积贡献率大于等于T的主成分个数。然后,提取主成分对应的特征向量,保存在PV中。

    然后,代码计算各评价对象的主成分得分。通过矩阵运算,计算每个样本在各主成分上的得分,并计算总分。将主成分得分和总分放在同一个矩阵result_report中,并按总分降序排序。

    接着,代码进行Kmeans聚类及结果报告。使用kmeans函数对主成分得分进行聚类,并获取聚类结果的索引和聚类中心。然后,绘制白葡萄酒样品编号与主成分得分的图像,并根据聚类结果的索引将样本分组。

    最后,输出聚类结果,包括每个类别的中心点和样本编号。

    源码+数据下载

    基于Matlab求解高教社杯全国大学生数学建模竞赛(CUMCM2012A题)-葡萄酒的评价(源码+数据):https://download.csdn.net/download/m0_62143653/88366362

  • 相关阅读:
    谁会拒绝一款开源的 3D 博客呢?
    【饭谈】自动化有三宝:工资高,福利好,代码和人总有一个能跑
    Java项目论文+PPT+源码等]基于javaweb的网上订餐管理系统|点餐餐饮餐厅
    工业互联网安全备受关注,防御体系该如何建设?
    6.6.编解码器信息的收集之二
    Rust ?运算符 Rust读写txt文件
    docker安装nginx详解
    webpack实战:某网站JS逆向分析
    TDSQL PG版节省30%磁盘空间的同时如何保障数据安全?|DB·洞见
    2.3 矩阵消元
  • 原文地址:https://blog.csdn.net/m0_62143653/article/details/133607523