OpenLu是OpenFC的升级版本,OpenLu用Lu作为支持脚本。OpenLu力求消除冗余,简化计算。基本计算内容包括表达式计算、解非线性方程(组)、多元积分、微分方程求解、参数优化拟合、矩阵运算等等。 ) V. z2 H: l. t% V0 P' q, C OpenLu工作模式有三种,其即时编译计算模式特别适合于常用计算:在代码窗口写代码时,即时给出代码中的错误,若没有错误,将进行计算给出结果。: B7 q3 y/ d5 m. k4 [
OpenLu不仅支持整数、实数、复数、三维向量等基本运算,还可以自定义常量、函数、命令菜单等。按需定制,简化计算是OpenLu的基本特点。* w% ?3 I5 o( B- `5 P
1 E' y+ W. V' [$ T 本次升级,OpenLu简化了LuIMSL、LuOpt等扩展库,保留求方程(组)全部解、参数优化拟合等基本功能,函数用法也有诸多简化,以微分方程求解为例: J N% x" G! R6 I: [0 m" X' ?/ d. s9 X9 V# L: |' S* z
[例子] 设一阶微分方程组及初值为:( f0 G2 P( ]2 r( C& [2 Z
r'=2r-2rf, r(0)=1 # R) Y3 Y) o2 D& e' R5 y( P& ~9 h3 h f'=-f+rf, f(0)=3: `: p7 X% {& m* f; m0 Z& p
计算t=1,2,...,10时的r、f的值。$ e! I3 _" C% x7 \# s" L* B
g8 G3 @, C" b4 d+ F
程序如下:
!!!using["IMSL","math"];
; o+ V8 N/ q) i6 U. p) s! d\\" K
f(t,r,f,dr,df)={dr=2*r-2*r*f, df=-f+r*f}; //函数定义9 k* ~6 q' w. a