我有大量的非线性函数。
3240910002558383085492736408270606958592 sin(x3_) 23950603179913084375 k10 x6_ 23950603179913084375 k9 x5_
------------------------------------------------- - ---------------------------- - ---------------------------
#4 25973015655783048675328 25973015655783048675328
2
816555808152780085063004140309315584 cos(x3_) sin(x3_) 64261963098890133504 k5 x1_ 64261963098890133504 k6 x2_
+ ------------------------------------------------------- + --------------------------- + ---------------------------
#2 #5 #5
2
64261963098890133504 k7 x3_ 64261963098890133504 k8 x4_ 2414846496921978125 k9 x5_ cos(x3_)
+ --------------------------- + --------------------------- + ------------------------------------
#5 #5 10625324586456701730816
我模拟成功了,这个模拟的结果是0.01到2左右。但是它的元素和计算太复杂了。我想简化它,然后使用该结果在 C 程序中运行。我也尝试使用 vpa,但由于大数和小值之间的差异,这是一个糟糕的结果,因此它对结果的近似值是错误的。
vpa = (2.6737e-21*(4.4485e90*sin(x3_) - 9.4197e86*x4_^2*sin(x3_) + 1.19e90*cos(x3_)*sin(x3_) - 5.9344e88*k1*x1_ ...
另一方面,我的想法是我可以做一些函数来获得如下因素:假设f = a1*sin(x)*y*y + a2*x*x/(cos(x)^3).
Matlab 中可以实现 a1、a2 的任何函数?
而且,在C语言中,int32的最大数量是有限的,所以我正在寻找这个问题的解决方案。请帮忙给我一些建议。预先感谢!