应用MATLAB进行理论估算之后,应用QT 和 VS 解决程序修改的问题

工作上一直有一个很不顺心的问题,原因和一款软件有关

这款软件的输出结果是随机的,而既然随机的就有很多时候不利于自己

我想实现的方法就是对程序进行暗改,把里面添加一个检测字段的功能,然后把随机数的生成机制改一下

这个程序当中有这么一段话:

就是生成四个随机数,还有这么一段话:

所以我大概明白了,这个排序功能就是生成四个随机数,然后比较随机数的大小,对worker进行调换,达到随机排序的目的

我把这个代码换成了下面的样子:

虽然笨拙,但是有用,哈哈哈

中间有一个是否大于50的排定,就是让他以50%的概率变得很大,50%的概率变得很小

另外,为什么是57这个设定,是我根据蒙特卡洛方法算出来的,源码贴在下面

a1=0;
a2=0;
a3=0;
a4=0;

for i=1:10000000
    e=rand;
    if e>0.5
        a=rand*100+57;
    else
        a=rand*100-57;
    end
    b=rand*100;
    c=rand*100;
    d=rand*100;
    
    if a>b && a>c && a>d
        a1=a1+1;
    end
    
    if a>b && a>c && a<d || a>b && a<c && a>d || a<b && a>c && a>d
        a2=a2+1;
    end
    
    if a>b && a<c && a<d || a<b && a<c && a>d || a<b && a>c && a<d
        a3=a3+1;
    end
    
    if a<b && a<c && a<d
        a4=a4+1;
    end    
end
        

这个代码是MATLAB,不知道为啥csdn的代码风格设置里没有MATLAB

这是四个人的代码,当然还有三个人的:

a1=0;
a2=0;
a3=0;

for i=1:10000000
    e=rand;
    if e>0.5
        a=rand*100+43;
    else
        a=rand*100-43;
    end
    b=rand*100;
    c=rand*100;
    
    if a>b && a>c 
        a1=a1+1;
    end
    
    if a>b && a<c  || a<b && a>c 
        a2=a2+1;
    end
    
    if a<b && a<c
        a3=a3+1;
    end
end

可以看到,在这里三个人的版本改成了43,蒙特卡罗方法真的很棒啊,拯救了我的概率论学渣

好了,下面就是对程序进行修改了

这个程序是用QT和VS进行联合编译的,由于我本人只学过在VC6.0上面编程c++,对于qt和vs基本一窍不通,所以把我的探索经历写在下面:

运行exe文件(我手里有exe 和源码),弹出这个错误

似乎是运行环境没有配置好。

然后,我看到,在sln文件里面有一个这个:

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010

果断下载VS2010装起来,看来原作者是用了VS2010进行的编译

问题还是没有解决,还是不知道原作者用了哪个版本的QT进行编译

还是得先解决QT安装的问题,不然没有办法编译和调试这个程序

装了一个QT5.8.0 然后vs2010里面没有出现qt的选项卡或者菜单

后来查了一下,还需要装一个QT add in插件

好吧,查了一下,发现支持2010得插件,1.1.11可以做到

安装起来之后,再次打开2010,发现2010里面有这个选项卡了:

但是还是不行,QT option里面没有我安装的5.8.0版本的qt,说明没有自动检测成功

但是添加路径也不行,看来我安装的QT5.8.0不是一个支持2010的QT

网上找了一下,发现QT5.3.2可以用,也有对应的安装教程,好的,就是你了

安装之后,发现还是不支持,觉得可能是add in版本不对,所以下载了一个新版add in,1.2.3版本

安装之后就可以了,成功添加了路径

主要的步骤就是跟着这个走:https://www.cnblogs.com/liuguoyao514257665/articles/9344730.html

设置环境变量的看这个:https://jingyan.baidu.com/article/922554467f8f39851648f4a5.html

另外也可以参考这个:https://jingyan.baidu.com/article/37bce2be452d991003f3a247.html

然后好像配置环境就成功了

一开始用vs2010打开这个程序的sln文件,会提示程序已经过期啥的,配置好环境就没有了

另外还有一个问题就是,sln文件里面明明是:

可是在vcxproj

而且,右键点击项目,选中convert project to Qt Add-in project,这时候编译运行,也不会出现“error MSB6006: “cmd.exe”已退出,代码为 3”这样的错误了

可是出现了一些其他的错误:

今天写到这吧。。。后面陆续补充

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值