统计库功能扩展与测试

1、除了专门的中位数(Median)函数外,还有一个更通用的分位数(Quantile)函数。在函数映射中,用使用分位数为 0.5 的分位数函数的匿名 lambda 表达式替换中位数函数,同时保留原来的“中位数”标签。或者,添加一个标记为“Q2”的新函数映射。该操作将被合并到结果包中,之后依次重新构建 StatsLib 项目、StatsDll 项目和 StatsLibTest 项目,并检查所有测试是否通过,不需要为此添加单独的测试,要求所有测试结果保持不变。最后重新构建 StatsConsole 和 StatsViewer,并检查是否显示了预期的结果。

在函数映射里,用调用分位数为 0.5 的分位数函数的匿名 lambda 表达式替换中位数函数,保留“中位数”标签;或者添加标记为“Q2”的新函数映射。

依次重新构建以下项目:

  • StatsLib 项目
  • StatsDll 项目
  • StatsLibTest 项目

确保所有测试通过,且无需添加单独测试,测试结果应保持不变。

接着重新构建:

  • StatsConsole
  • StatsViewer

检查是否显示预期结果。

2、在线性回归结果中添加对计算相关系数 r 和 r² 系数的支持。相关系数衡量观测值和预测值之间的相关性。r² 统计量表示回归系数能解释多少变异。使用公式 const double r = ss_xy / std::sqrt(ss_xx * ss_yy); 来计算相关系数 r,并添加 r² 的计算。此外,将新系数添加到结果包中。在 StatsLibTest 项目的测试文件 test_linear_regression.cpp 里,于测试夹具 TestLinearRegression 中添加代码来测试结果。重新构建 StatsLibTest 项目,检查所有测试是否通过。运行 StatsConsole 应用程序,加载 xs 和 ys 数据集(与测试中使用的数据集相同),检查回归系数和相关系数是否显示。使用 StatsViewer 应用程序进行类似测试。

  1. 按照公式
    cpp const double r = ss_xy / std::sqrt(ss_xx * ss_yy);
    计算相关系数 r ,并添加 的计算。

  2. 将新计算的 r 系数添加到结果包中。

  3. StatsLibTest 项目的 test_linear_regression.cpp 文件的 TestLinearRegression 测试夹具中添加代码测试结果。

  4. 重新构建 StatsLibTest 项目并检查所有测试是否通过。

  5. 运行 StatsConsole 应用程序,加载 xs ys 数据集,检查回归和相关系数是否显示。

  6. 使用 StatsViewer 应用程序进行类似测试。

3、在StatsCLR项目中,要公开z - 检验功能。可以创建一个托管的ZTest类,该类包装底层的原生C++类并调用Perform和Results函数。所需步骤如下:在StatisticalTests.h中,添加public ref class ZTest { };,遵循TTest包装器的类定义。在StatisticalTests.cpp中,添加类的实现。构造函数需要调用底层C++构造函数的适当版本。可以使用现有的转换函数将构造函数参数转换为标准库类型。Perform和Results的实现只需将调用转发到底层的非托管原生实例。结果需要转换为托管字典,同样可以使用现有的转换函数。重新构建StatsCLR项目。在StatsCLR.UnitTests中,为我们处理的三种类型的z - 检验添加测试用例:TestSummaryDataZTest、TestOneSampleZTest和TestTwoSampleZTest。这些测试用例与原生C++类的测试用例类似,可以使用相同的数据。检查测试用例是否无错误运行。请概述实现公开z - 检验功能的步骤。

步骤如下:

  1. StatisticalTests.h 中添加
    cpp public ref class ZTest { };
    参考 TTest 包装器的类定义。

  2. StatisticalTests.cpp 中添加类实现
    - 构造函数调用底层 C++ 构造函数合适版本
    - 用现有转换函数将构造函数参数转为标准库类型
    - Perform Results 实现将调用转发到底层非托管原生实例
    - 用现有转换函数把结果转为托管字典

  3. 重新构建 StatsCLR 项目
    - 在 StatsCLR.UnitTests 中添加以下三种 z-检验的测试用例:

    • TestSummaryDataZTest
    • TestOneSampleZTest
    • TestTwoSampleZTest
【最优潮流】直流最优潮流(OPF)课设(Matlab代码实现)内容概要:本文档主要围绕“直流最优潮流(OPF)课设”的Matlab代码实现展开,属于电力系统优化领域的教学科研实践内容。文档介绍了通过Matlab进行电力系统最优潮流计算的基本原理编程实现方法,重点聚焦于直流最优潮流模型的构建求解过程,适用于课程设计或科研入门实践。文中提及使用YALMIP等优化工具包进行建模,并提供了相关资源下载链接,便于读者复现学习。此外,文档还列举了大量电力系统、智能优化算法、机器学习、路径规划等相关的Matlab仿真案例,体现出其服务于科研仿真辅导的综合性平台性质。; 适合人群:电气工程、自动化、电力系统及相关专业的本科生、研究生,以及从事电力系统优化、智能算法应用研究的科研人员。; 使用场景及目标:①掌握直流最优潮流的基本原理Matlab实现方法;②完成课程设计或科研项目中的电力系统优化任务;③借助提供的丰富案例资源,拓展在智能优化、状态估计、微电网调度等方向的研究思路技术手段。; 阅读建议:建议读者结合文档中提供的网盘资源,下载完整代码工具包,边学习理论边动手实践。重点关注YALMIP工具的使用方法,并通过复现文中提到的多个案例,加深对电力系统优化问题建模求解的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值