矩阵运算库 - MetaTrader 5程序库
- 显示:
- 1913
- 等级:
- 已发布:
- 2014.02.24 12:52
- 已更新:
- 2016.11.22 07:33
- 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
该库提供了简单矩阵运算:加,减,乘,求逆矩阵。
文件matrix.mqh必须放在文件夹terminal_data_folder/MQL5/Include/下面。
简单例子:
求F3矩阵的逆矩阵: F3=((F1+F2)*F2)/10-F2.
F1 和 F2 是 3х3 矩阵.
#include <Matrix.mqh> //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- CMatrix *F1; CMatrix *F2; CMatrix *F3; F1=new CMatrix(3,3); F2=new CMatrix(3,3); F3=new CMatrix(3,3); El(F1,0,0)=1; El(F1,0,1)=4; El(F1,0,2)=-2; El(F1,1,0)=-3; El(F1,1,1)=2; El(F1,1,2)=2; El(F1,2,0)=1; El(F1,2,1)=0; El(F1,2,2)=-2; El(F2,0,0)=2; El(F2,0,1)=2; El(F2,0,2)=-3; El(F2,1,0)=-1; El(F2,1,1)=1; El(F2,1,2)=7; El(F2,2,0)=3; El(F2,2,1)=2; El(F2,2,2)=10; F3.Add(F1,F2); // F3=F1+F2 F3.Mul(F2); // F3=F3*F2 F3.Mul(1./10); // F3=F3/10 F3.Sub(F2); // F3=F3-F2 double det=F3.Inv(); // Invert F3 printf("det=%5.3f F3[2,2]=%5.3f",det,El(F3,2,2)); delete F1; delete F2; delete F3; }
日志输出:
det=6.624 F3[2,2]=0.548
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/601