快速计算平台matlab到C++ 代码转换
来源:互联网 发布:apache camel中文教程 编辑:程序博客网 时间:2024/06/09 20:00
main.m是类似于主函数,是整个程序的骨干,所引用的函数如果不是系统默认的函数就是那么就是引用其他的文件
C++的数据是串行的,而matlab的程序是批处理的程序。批处理是指一次加载所有数据把需要用到的参数先算完,然后组合。而串行是指当需要计算的时候我才计算,不需要的计算的时候可能先不算
main.m文件中26行到30行表明要加载数据的类型,33行 加载数据到data,是自己写的工具类,具体内容需要到loading_data.m去看。
main.m文件41行调用 wald_wolfowitz_test,返回的 是计算后的所有lnprice
wald_wolfowitz_test.m文件中6-9行是dataflag的初始化,就是查看所有data_flag是正还是负。
15行是遍历剩下的数据集。对应于momententer.cpp中136行main.m文件46行中调用了par_calibration方法,par_calibration.m中31行调用了hitting_time_method方法。
hitting_time_method.m文件中,第33-51行使用滑动窗口,对应于momentEnter.cpp中191-203中计算search_index,后面类似计算出sign_mu ,mu,sigma 在hitting_time_method.m文件第70多行的时候
par_calibration.m文件中,44-54行类似于231-236行中。
main.m文件中,48-49行计算lossing_stop_down和lossing_stop_up. 调用了moment_tum_trading_strategy函数
在moment_trading_strategy.m文件中,52行是计算相应的a, 函数中有fsolve函数。fsolve是计算sum_function的值,类似于梯度下降。fsolve函数终止条件是计算400次或者算出的结果A达到某个条件。C++没有fsolve函数,需要自己实现
之前调用了sum_function,打开sum_function.m. 我们可以看到第28行,最后一行计算出F即sum_function需要的参数有par,a和expected_loss。expected_loss是已知的,a是已知的,par需要靠A算出来,没法直接算出来。所以我们需要预先把par算出来,才能实现fsolve函数
所以momentEnter.cpp中 246-256中第一个循环是计算出par 下面才是fsolve的C++实现。
- 快速计算平台matlab到C++ 代码转换
- 基于MATLAB Coder将matlab代码转换成C代码
- Matlab 集群计算平台搭建
- Matlab 集群计算平台搭建
- MATLAB集群计算平台搭建
- Matlab 分布式计算平台搭建
- 用matlab转换图片为C代码,实现液晶屏显示
- Jacket Engine for Matlab——把并行计算和可视化转移到GPU平台
- 快速云计算平台 - FastCloud
- 计算laws的matlab代码
- MATLAB 数值计算练习代码
- matlab调用C代码
- Matlab代码转C
- matlab C代码生成
- Matlab生成c代码
- Matlab生成C代码
- 计算日期到天数转换
- 计算日期到天数转换
- C语言作业@2017.11.11-11.12
- 数据结构与算法(Java)-002- Java功能复习
- 如何优雅地升级内核?
- 系统级 I/O与缓冲机制
- scrapy的保存数据
- 快速计算平台matlab到C++ 代码转换
- byte[]与各种数据类型互相转换示例
- MYSQL连接与断开服务器
- 百度统计数据导出服务踩的坑
- 递归来实现一个二分查找算法函数bi_search()
- JQuery DataTables 重载当前列表
- 2017哈尔滨ccpc部分题解
- mysq数据库web远程管理
- CentOS7操作系统下实现mysql数据库的主主复制