hubdog 的blog
使用gsl做最小二乘法的非线性拟合
由 hubdog 于 星期一, 2022-01-10 17:20 发表拟合的函数方程是
y=alpha*exp(-kappa*x);
拟合后能正确算出alpha和kappa的值,用gsl写这个玩意好啰嗦,用python的curve_fit10行代码就能搞定。
type PFitData=^TFitData; TFitData=record t:Pdouble; y:Pdouble; n:Integer; end; function market(alpha,kappa, t:double):double; begin result:=alpha*exp(-kappa*t); end; function func_f(x: Pgsl_vector; params: Pointer; f: Pgsl_vector): Integer;cdecl; var data:PFitData; alpha:double; kappa:double; i:Integer; t,yi,y:double; begin data:= PFitData(params); alpha := gsl_vector_get(x, 0);
Delphi无法引用Windows的DLL中Export的变量
由 hubdog 于 星期一, 2022-01-10 16:59 发表今天要调用gsl的dll中输出的variable结果失败了,一开始我当成函数去引用发现不行。
然后没有找到delphi中引用dll中输出的global变量的方法。
没办法改写了gsl dll中的变量为函数就可以了,真是很奇怪,以前一直没有注意到这个问题。
追记:也许可以直接用GetProcAdress获取变量直接映射为一个指针而不是函数,但是我没有测试,也许是可行的。
或者直接external '变量名',都没有测试,不清楚是否可行
如何创建一个Matlab自定义硬件的Simulink输入源Block
由 hubdog 于 星期五, 2021-12-03 11:28 发表Sketchup 的选取物体进行移动旋转的脚本
由 hubdog 于 星期三, 2021-10-27 12:24 发表
def rotate(ent, axis, angle) rv = ent.transformation.zaxis if axis == "z" rv = ent.transformation.yaxis if axis == "y" rv = ent.transformation.xaxis if axis == "x" rp = ent.transformation.origin ent.transform!(Geom::Transformation.rotation(rp, rv, angle)) end mod = Sketchup.active_model # Open model ent = mod.entities # All entities in model sel = mod.selection # Current selection componame="abc" compo = Sketchup.active_model.definitions[componame] if compo puts "#{componame} found: doing something else..."
很恶心的一个C++编译问题
由 hubdog 于 星期四, 2021-10-07 17:54 发表https://developercommunity.visualstudio.com/t/error-c2872-byte-ambiguous-symbol/93889
原因工程设置了C++17,std::byte是C++17中引入,导致了这个编译错误。
改成C++14就没有问题了
多IP系统中用Python使用指定IP进行外网访问
由 hubdog 于 星期五, 2021-09-24 16:17 发表AMD系统中安装Mac OSX虚拟机
由 hubdog 于 星期三, 2021-09-22 13:43 发表https://www.youtube.com/watch?v=ogEPiiufrO0
参考上面youtube视频
注意,windows home版中需要禁用hyper-v,需要修改注册表
https://kb.vmware.com/s/article/2146361?lang=zh_CN\
https://bhanuwriter.com/virtualized-amd-v-rvi-is-disabled/
bcdedit /set hypervisorlaunchtype off