SetConst(L"matrix",&Val); //设置整数常量, A) m, u' e/ R* |+ H! V) y
InsertKey("\0\0\0\0",4,luPubKey_User,LuMessage,NULL,NULL,1,v); //使Lu运行时可输出函数信息2 \6 N1 @7 T3 i, X! y! y! a
wcout.imbue(locale("chs")); //设置输出的locale为中文/ [' G: _% f( T& B
2 U6 q7 {, K' y- ?9 ~$ m1 N
ErrCode=LuCom(ForStr,0,0,0,hFor,nPara,pPara,ErrBegin,ErrEnd); //编译表达式( v- n, g, E& n% t2 X% h; i
if(ErrCode)& _, h) ]4 `1 ~4 }3 |! a' F
{ 0 F- f) u9 z' \ b
wcout<<L"表达式有错误!错误代码:"<<ErrCode<<endl; 4 _3 K1 }' C n2 h, ?1 C- R
} ' S& `8 m) }& A' p; M
else 4 R' T) b! m6 t( K3 M
{ b: J( M+ `( i, b. d+ f. O
LuCal(hFor,pPara); //计算表达式的值 U0 @1 q; S- ~: h. m
}9 g2 `' Z% ^) \+ ~+ x3 f* T3 y! \0 @
LockKey(Matrix,NULL,OpMatrix);//解锁键Matrix,本例中,该函数可以不用 8 ~" q, K t! ?
FreeLu(); //释放Lu+ S, c6 n2 v4 f
}
复制代码
习题:0 ^2 Z; F# l4 J9 j; i
, a9 {0 M: B3 F3 W2 Z: R (1)自定义矩阵的加、减、左除、右除、点左除等运算,自编测试字符串代码,重新编译运行程序,观察计算结果。 ! v9 X" r" Y+ u+ ^6 g3 c " v C. o) j: t! O. w+ {! U (2)小矩阵乘效率测试。编译运行以下Lu字符串代码: