dotNet winform和matlab gui有些像,但更稳定,有vs加成,遇到科学计算的部分,也有成熟的库调用。本篇尝试使用numSharp开源库做一个布朗运动模拟的小app。
刚开始接触gui就是从matlab和python这来的。学py的时候有一个地方是用用个包做gui,虽然又出了很多包,但都感觉很弱(最近不知道咋样了),无意间发现了matlab做gui太容易了,一度沉迷于此,遇到科学计算方面的实现信手拈来,但生成独立的exe文件体积太夸张的大了,很不方便。对于在含有matlab的机器上运行还好些,可以缩减很多体积,但貌似也有版本等问题,即我写的gui代码拿到另一个机器会报小错。
这是一个摸索,在.net frame 4.72平台下,使用numSharp+Chart控件取代Matlab的GUI的功能。这个小尝试,是模拟带漂移的布朗运动,欢迎把玩和交流。
【下载地址】
链接:https://pan.baidu.com/s/1QZT0ryesG3cVJ5ZcvAZiWw
提取码:sq34
通常的win7以上,双击压缩包里的“BMsimulSetup.msi”即可安装。如果系统较低或者.net frame提示较老,需要升级一下。完全可以在更低的平台运行,只是我懒得改回去了。
【使用】
安装完成后,双击打开(请忽视粗糙的界面)
原始界面不大,但可以拖拽放大及最大化视窗。
填入漂移系数、波动率和模拟期数,点击“产生模拟序列”:
想要拿到模拟的数据,可以选择“打开csv数据”或“打开txt数据”
=============================================
因为是个摸索,遇坑不可避免,但不多,两个坑如下:
坑1:numpy.Net对于.net frame貌似不支持
大概只支持.net core?我这里不灵,于是换成numSharp包,用法基本无差
坑2:试图通过引用microsoft.office.interop.excel.dll输出xls或xlsx文件总报错
可能是我装的db的office原因。改为.csv和.txt输出
整个coding过程,和matlab的app designer或guide工作量差不多,二者简直太像了。科学计算部分使用的是numpy,打包为安装程序,非常小巧,安装到win系统下只需一个setup文件搞定,这方面比matlab方便很多。