呵呵,项目的第一个阶段今天终于可以结束了。奋斗了好几个月,终于可以让自己喘口气。
先不说太多,能比较顺利的结束,还要说说一个算法,我们在比对的结果中得到了很多数值,可是我们要在这些数值中找到与正确解相邻的数值,然后去平均来作为下一步算法的输入参数。所以这个平均值对后面的计算结果尤其重要。之前我们尝试过一些方法。比如全部先取平均,然后去除离平均值最大的数值,这样重复几次之后,留下的应该是比较理想的结果。可是事与愿违。在找同学商量之后,发现一下的算法还不错。比如:你要在这些数值中,找到三个最相近的数,那么先把这些数值排序,然后每隔一个做减法取绝对值,然后在这些绝对值中取其最小值,那么这个最小值对应的三个数就是最后的答案。
我测试了下:
package test;
public class FindCloseNumbers {
public static void main(String[] args){
double nums[]= new double[10];
//product numbers randomly
for(int i=0;i<10;i++){
nums[i] = Math.random()*32;
System.out.println("):"+nums[i]);
}
//sort the array
for(int j=0;j<nums.length;j++){
for(int i=j+1;i<nums.length;i++){
if(nums[j]>nums[i]){
double temp = nums[i];
nums[i]= nums[j];
nums[j]=temp;
}
}
}
for(int i=0;i<10;i++){
System.out.println(")--(:"+nums[i]);
}
//check which three ones are close to each other
int count = 0;
double minerror = Math.abs(nums[0] -nums[3]);
for(int k=1;k<nums.length-3;k++){
double temperror = Math.abs(nums[k]-nums[k+3]);
if(temperror < minerror){
count = k;
}
}
System.out.println("count(:"+count);
//print four close numbers
for(int p=count;p<count+3;p++){
System.out.println("||:"+nums[p]);
}
}
}
结果还可以,用在项目上也比以前的效果好。虽然不能全部的问题,但是正确率提高了很多。在使用概率的算法之前,这个算是比较理想的了。多谢Day 。
突然觉得,我们之前写了那些程序,其实还有许多需要优化的,只不过老师要求从Java转到C++,才没有去认真的考虑。首先,项目是分工的,我们两个人一起写,命名方式都五花八门,更不用说一看变量名,就知道作具体用途啦。所以一旦在代码整合之后,发现很难调试。中间尝尽了不少苦头。所以在写C++之前,我们需要把需要的那些数据结构先定义好。避免后面又乱了。
还有就是,就是碰到不知道是程序代码问题,还是算法本身问题的时候。请不要想苍蝇那样到处乱撞。要学会用某种方法来辅助调试,打印中间运行结果,如果需要的话,可以人工计算与电脑计算相结合,比较中间可能出现的问题。有时候这一招很管用,至少可以让你知道是代码的错误还是算法本身的缺陷,因为如果比较复杂,事先可能考虑不周到,经验有限,所以只能使用这个比较笨的方法。
呵呵,又是周末,这学期课程增多,而且还是一些比较偏的课程,智能信息系统和计算机组成结构。够我折腾的。谁会SysemC的,可以帮忙指导下啊。还有很多琐碎的事情,哦,对了忘记了把TA作业带回来批改了,算了,也好,休息下先。
分享到:
相关推荐
回望期权 回望期权是一种强路径依赖期权,其收益依赖于期权有效期内标的资产的价格的最大值或最小值。一般分为回望看涨期权和回望看跌期权。 回望期权的概述: 回望期权是一种期权 phái生工具,它的价值取决于...
本文研究了在跳-扩散价格过程背景下,交易成本对回望期权定价的影响。在金融市场中,期权是一种重要的衍生金融工具,它给予持有者在特定时间以特定价格买卖标的资产的权利。根据到期日执行时间的不同,期权分为欧式...
回望期权(Lookback Option)是一种特殊的金融衍生工具,它赋予持有者在期权到期时可以选择在期权有效期内的最有利执行价格。这种期权的特性使得它对于市场波动性具有较高的吸引力,因为它允许投资者规避不利的价格...
餐饮行业深度分析-回望美国餐饮历程,看中国餐饮发展趋势.docx
本文将详细探讨蒙特卡洛方法在奇异期权,特别是美式期权、回望期权和障碍期权定价中的应用。 首先,我们要理解什么是蒙特卡洛方法。这是一种基于随机抽样或统计试验的计算方法,用于解决那些在解析解难以求得或者...
第一框 回望成长课件
CPU历史之旅--回望过去的脚步.mht CPU历史之旅--回望过去的脚步.mht CPU历史之旅--回望过去的脚步.mht CPU历史之旅--回望过去的脚步.mht CPU历史之旅--回望过去的脚步.mht
《回望专用记事本源码》是一款专为程序员和软件开发者设计的源代码资源,它提供了一种自定义的文本编辑工具的实现。这款记事本应用可能包含了一个简单的用户界面,支持基本的文本编辑功能,如字体选择、文本格式化、...
《回望专用记事本源码》是一款专为程序员和软件开发者设计的文本编辑工具,其特点是具有丰富的功能和高度的可定制性。这个压缩包文件包含的就是该记事本应用的完整源代码,这对于想要深入理解文本编辑器工作原理、...
### 圣威尔士saintwealth回望期权原理介绍 #### 一、套利原理概述 在当前不稳定的市场环境中,本文旨在介绍一种外汇期权的套利模型及其运作原理。该模型由作者的朋友发现,并经过一系列的实践验证。下面将详细介绍...
高中历史之图说历史回望太平天国素材
《回望专用记事本源码》是一款专为回顾与学习设计的文本编辑器源代码。这个压缩包中包含了该记事本应用的全部源代码,对于编程爱好者和IT从业者来说,是一个很好的学习和研究资源。以下是这款记事本源码的一些关键...
《回望专用记事本源码.e.rar》是一款基于编程语言开发的文本编辑器源代码,主要用于个人或专业程序员进行代码编写和文本编辑。这款记事本程序可能具有简洁的用户界面,支持基本的文本编辑功能,如字体设置、文本格式...
【回望2009】农电体制改革观察与思考.pdf
回望属于网络安全的2014——以产业为视角.pdf
部编版九年级道德与法治下册7.1回望成长教学设计.pdf
本文中提到的智能回望距离驾驶模型(Intelligent Back-looking Distance Driver Model, IBDM)便是为了解决在不同车辆环境下保持车流稳定性和控制车距的问题。 首先,需要了解传统的驾驶模型,如智能驾驶模型...